#include "tree_sitter/parser.h"
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif
#define LANGUAGE_VERSION 15
#define STATE_COUNT 288
#define LARGE_STATE_COUNT 2
#define SYMBOL_COUNT 90
#define ALIAS_COUNT 2
#define TOKEN_COUNT 49
#define EXTERNAL_TOKEN_COUNT 4
#define FIELD_COUNT 0
#define MAX_ALIAS_SEQUENCE_LENGTH 8
#define MAX_RESERVED_WORD_SET_SIZE 0
#define PRODUCTION_ID_COUNT 7
#define SUPERTYPE_COUNT 0
enum ts_symbol_identifiers {
anon_sym_BANG_BANG_BANG = 1,
anon_sym_XML = 2,
aux_sym_doctype_token1 = 3,
aux_sym_doctype_token2 = 4,
aux_sym_doctype_token3 = 5,
anon_sym_GT = 6,
anon_sym_LT = 7,
anon_sym_SLASH = 8,
anon_sym_SPACE = 9,
anon_sym_LPAREN = 10,
anon_sym_RPAREN = 11,
anon_sym_LBRACK = 12,
anon_sym_COMMA = 13,
aux_sym_object_reference_token1 = 14,
anon_sym_RBRACK = 15,
sym_tag_name = 16,
aux_sym_class_or_id_value_token1 = 17,
anon_sym_POUND = 18,
anon_sym_DOT = 19,
anon_sym_DASH_POUND = 20,
sym_attribute_name = 21,
anon_sym_EQ = 22,
anon_sym_SQUOTE = 23,
anon_sym_DQUOTE = 24,
sym__text = 25,
sym_verbatim_string = 26,
anon_sym_BSLASH = 27,
anon_sym_BANG_EQ = 28,
anon_sym_AMP_EQ = 29,
anon_sym_TILDE = 30,
anon_sym_DASH = 31,
sym_ruby_code = 32,
anon_sym_LBRACE = 33,
aux_sym_ruby_expression_token1 = 34,
anon_sym_RBRACE = 35,
anon_sym_AT_AT = 36,
aux_sym_ruby_class_variable_token1 = 37,
anon_sym_AT = 38,
aux_sym_ruby_instance_variable_token1 = 39,
anon_sym_DOLLAR = 40,
sym_ruby_constant = 41,
sym_ruby_local_variable = 42,
sym__html_identifier = 43,
anon_sym_COLON = 44,
sym__newline = 45,
sym__indent = 46,
sym__dedent = 47,
sym_ruby_attributes = 48,
sym_source_file = 49,
sym_doctype = 50,
sym_tag = 51,
sym__children = 52,
sym__children_choice = 53,
sym_html_attributes = 54,
sym_attributes = 55,
sym_object_reference = 56,
sym_class_or_id_value = 57,
sym_id = 58,
sym_class = 59,
sym_class_name = 60,
sym_comment = 61,
sym__comment_line = 62,
sym__comment_block = 63,
sym_comment_condition = 64,
sym_attribute = 65,
sym_quoted_attribute_value = 66,
sym_escaped_text = 67,
sym_ruby_block_output = 68,
sym_ruby_block_output_nuke = 69,
sym_ruby_block_sanitized = 70,
sym_ruby_block_preserve = 71,
sym_ruby_block_run = 72,
sym_ruby_interpolation = 73,
sym_ruby_expression = 74,
sym_ruby_class_variable = 75,
sym_ruby_instance_variable = 76,
sym_ruby_global_variable = 77,
sym_ruby_value_ref = 78,
sym_filter = 79,
sym_filter_body = 80,
aux_sym_source_file_repeat1 = 81,
aux_sym_tag_repeat1 = 82,
aux_sym__children_repeat1 = 83,
aux_sym_html_attributes_repeat1 = 84,
aux_sym_attributes_repeat1 = 85,
aux_sym__comment_line_repeat1 = 86,
aux_sym_quoted_attribute_value_repeat1 = 87,
aux_sym_ruby_expression_repeat1 = 88,
aux_sym_filter_body_repeat1 = 89,
alias_sym_filter_name = 90,
alias_sym_self_close_slash = 91,
};
static const char * const ts_symbol_names[] = {
[ts_builtin_sym_end] = "end",
[anon_sym_BANG_BANG_BANG] = "!!!",
[anon_sym_XML] = "doctype_xml",
[aux_sym_doctype_token1] = "doctype_xml_encoding",
[aux_sym_doctype_token2] = "doctype_version",
[aux_sym_doctype_token3] = "doctype_name",
[anon_sym_GT] = "nuke_outer_whitespace",
[anon_sym_LT] = "nuke_inner_whitespace",
[anon_sym_SLASH] = "/",
[anon_sym_SPACE] = " ",
[anon_sym_LPAREN] = "(",
[anon_sym_RPAREN] = ")",
[anon_sym_LBRACK] = "[",
[anon_sym_COMMA] = ",",
[aux_sym_object_reference_token1] = "object_prefix",
[anon_sym_RBRACK] = "]",
[sym_tag_name] = "tag_name",
[aux_sym_class_or_id_value_token1] = "class_or_id_value_token1",
[anon_sym_POUND] = "#",
[anon_sym_DOT] = ".",
[anon_sym_DASH_POUND] = "-#",
[sym_attribute_name] = "attribute_name",
[anon_sym_EQ] = "=",
[anon_sym_SQUOTE] = "'",
[anon_sym_DQUOTE] = "\"",
[sym__text] = "_text",
[sym_verbatim_string] = "verbatim_string",
[anon_sym_BSLASH] = "\\",
[anon_sym_BANG_EQ] = "!=",
[anon_sym_AMP_EQ] = "&=",
[anon_sym_TILDE] = "~",
[anon_sym_DASH] = "-",
[sym_ruby_code] = "ruby_code",
[anon_sym_LBRACE] = "{",
[aux_sym_ruby_expression_token1] = "ruby_expression_token1",
[anon_sym_RBRACE] = "}",
[anon_sym_AT_AT] = "@@",
[aux_sym_ruby_class_variable_token1] = "ruby_class_variable_token1",
[anon_sym_AT] = "@",
[aux_sym_ruby_instance_variable_token1] = "ruby_instance_variable_token1",
[anon_sym_DOLLAR] = "$",
[sym_ruby_constant] = "ruby_constant",
[sym_ruby_local_variable] = "ruby_local_variable",
[sym__html_identifier] = "attribute_value",
[anon_sym_COLON] = ":",
[sym__newline] = "_newline",
[sym__indent] = "_indent",
[sym__dedent] = "_dedent",
[sym_ruby_attributes] = "ruby_attributes",
[sym_source_file] = "source_file",
[sym_doctype] = "doctype",
[sym_tag] = "tag",
[sym__children] = "_children",
[sym__children_choice] = "_children_choice",
[sym_html_attributes] = "html_attributes",
[sym_attributes] = "attributes",
[sym_object_reference] = "object_reference",
[sym_class_or_id_value] = "id",
[sym_id] = "id",
[sym_class] = "class",
[sym_class_name] = "class_name",
[sym_comment] = "comment",
[sym__comment_line] = "_comment_line",
[sym__comment_block] = "_comment_block",
[sym_comment_condition] = "comment_condition",
[sym_attribute] = "attribute",
[sym_quoted_attribute_value] = "quoted_attribute_value",
[sym_escaped_text] = "escaped_text",
[sym_ruby_block_output] = "ruby_block_output",
[sym_ruby_block_output_nuke] = "ruby_block_output_nuke",
[sym_ruby_block_sanitized] = "ruby_block_sanitized",
[sym_ruby_block_preserve] = "ruby_block_preserve",
[sym_ruby_block_run] = "ruby_block_run",
[sym_ruby_interpolation] = "ruby_interpolation",
[sym_ruby_expression] = "ruby_expression",
[sym_ruby_class_variable] = "ruby_class_variable",
[sym_ruby_instance_variable] = "ruby_instance_variable",
[sym_ruby_global_variable] = "ruby_global_variable",
[sym_ruby_value_ref] = "ruby_value_ref",
[sym_filter] = "filter",
[sym_filter_body] = "filter_body",
[aux_sym_source_file_repeat1] = "source_file_repeat1",
[aux_sym_tag_repeat1] = "tag_repeat1",
[aux_sym__children_repeat1] = "_children_repeat1",
[aux_sym_html_attributes_repeat1] = "html_attributes_repeat1",
[aux_sym_attributes_repeat1] = "attributes_repeat1",
[aux_sym__comment_line_repeat1] = "_comment_line_repeat1",
[aux_sym_quoted_attribute_value_repeat1] = "quoted_attribute_value_repeat1",
[aux_sym_ruby_expression_repeat1] = "ruby_expression_repeat1",
[aux_sym_filter_body_repeat1] = "filter_body_repeat1",
[alias_sym_filter_name] = "filter_name",
[alias_sym_self_close_slash] = "self_close_slash",
};
static const TSSymbol ts_symbol_map[] = {
[ts_builtin_sym_end] = ts_builtin_sym_end,
[anon_sym_BANG_BANG_BANG] = anon_sym_BANG_BANG_BANG,
[anon_sym_XML] = anon_sym_XML,
[aux_sym_doctype_token1] = aux_sym_doctype_token1,
[aux_sym_doctype_token2] = aux_sym_doctype_token2,
[aux_sym_doctype_token3] = aux_sym_doctype_token3,
[anon_sym_GT] = anon_sym_GT,
[anon_sym_LT] = anon_sym_LT,
[anon_sym_SLASH] = anon_sym_SLASH,
[anon_sym_SPACE] = anon_sym_SPACE,
[anon_sym_LPAREN] = anon_sym_LPAREN,
[anon_sym_RPAREN] = anon_sym_RPAREN,
[anon_sym_LBRACK] = anon_sym_LBRACK,
[anon_sym_COMMA] = anon_sym_COMMA,
[aux_sym_object_reference_token1] = aux_sym_object_reference_token1,
[anon_sym_RBRACK] = anon_sym_RBRACK,
[sym_tag_name] = sym_tag_name,
[aux_sym_class_or_id_value_token1] = aux_sym_class_or_id_value_token1,
[anon_sym_POUND] = anon_sym_POUND,
[anon_sym_DOT] = anon_sym_DOT,
[anon_sym_DASH_POUND] = anon_sym_DASH_POUND,
[sym_attribute_name] = sym_attribute_name,
[anon_sym_EQ] = anon_sym_EQ,
[anon_sym_SQUOTE] = anon_sym_SQUOTE,
[anon_sym_DQUOTE] = anon_sym_DQUOTE,
[sym__text] = sym__text,
[sym_verbatim_string] = sym_verbatim_string,
[anon_sym_BSLASH] = anon_sym_BSLASH,
[anon_sym_BANG_EQ] = anon_sym_BANG_EQ,
[anon_sym_AMP_EQ] = anon_sym_AMP_EQ,
[anon_sym_TILDE] = anon_sym_TILDE,
[anon_sym_DASH] = anon_sym_DASH,
[sym_ruby_code] = sym_ruby_code,
[anon_sym_LBRACE] = anon_sym_LBRACE,
[aux_sym_ruby_expression_token1] = aux_sym_ruby_expression_token1,
[anon_sym_RBRACE] = anon_sym_RBRACE,
[anon_sym_AT_AT] = anon_sym_AT_AT,
[aux_sym_ruby_class_variable_token1] = aux_sym_ruby_class_variable_token1,
[anon_sym_AT] = anon_sym_AT,
[aux_sym_ruby_instance_variable_token1] = aux_sym_ruby_instance_variable_token1,
[anon_sym_DOLLAR] = anon_sym_DOLLAR,
[sym_ruby_constant] = sym_ruby_constant,
[sym_ruby_local_variable] = sym_ruby_local_variable,
[sym__html_identifier] = sym__html_identifier,
[anon_sym_COLON] = anon_sym_COLON,
[sym__newline] = sym__newline,
[sym__indent] = sym__indent,
[sym__dedent] = sym__dedent,
[sym_ruby_attributes] = sym_ruby_attributes,
[sym_source_file] = sym_source_file,
[sym_doctype] = sym_doctype,
[sym_tag] = sym_tag,
[sym__children] = sym__children,
[sym__children_choice] = sym__children_choice,
[sym_html_attributes] = sym_html_attributes,
[sym_attributes] = sym_attributes,
[sym_object_reference] = sym_object_reference,
[sym_class_or_id_value] = sym_class_or_id_value,
[sym_id] = sym_id,
[sym_class] = sym_class,
[sym_class_name] = sym_class_name,
[sym_comment] = sym_comment,
[sym__comment_line] = sym__comment_line,
[sym__comment_block] = sym__comment_block,
[sym_comment_condition] = sym_comment_condition,
[sym_attribute] = sym_attribute,
[sym_quoted_attribute_value] = sym_quoted_attribute_value,
[sym_escaped_text] = sym_escaped_text,
[sym_ruby_block_output] = sym_ruby_block_output,
[sym_ruby_block_output_nuke] = sym_ruby_block_output_nuke,
[sym_ruby_block_sanitized] = sym_ruby_block_sanitized,
[sym_ruby_block_preserve] = sym_ruby_block_preserve,
[sym_ruby_block_run] = sym_ruby_block_run,
[sym_ruby_interpolation] = sym_ruby_interpolation,
[sym_ruby_expression] = sym_ruby_expression,
[sym_ruby_class_variable] = sym_ruby_class_variable,
[sym_ruby_instance_variable] = sym_ruby_instance_variable,
[sym_ruby_global_variable] = sym_ruby_global_variable,
[sym_ruby_value_ref] = sym_ruby_value_ref,
[sym_filter] = sym_filter,
[sym_filter_body] = sym_filter_body,
[aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
[aux_sym_tag_repeat1] = aux_sym_tag_repeat1,
[aux_sym__children_repeat1] = aux_sym__children_repeat1,
[aux_sym_html_attributes_repeat1] = aux_sym_html_attributes_repeat1,
[aux_sym_attributes_repeat1] = aux_sym_attributes_repeat1,
[aux_sym__comment_line_repeat1] = aux_sym__comment_line_repeat1,
[aux_sym_quoted_attribute_value_repeat1] = aux_sym_quoted_attribute_value_repeat1,
[aux_sym_ruby_expression_repeat1] = aux_sym_ruby_expression_repeat1,
[aux_sym_filter_body_repeat1] = aux_sym_filter_body_repeat1,
[alias_sym_filter_name] = alias_sym_filter_name,
[alias_sym_self_close_slash] = alias_sym_self_close_slash,
};
static const TSSymbolMetadata ts_symbol_metadata[] = {
[ts_builtin_sym_end] = {
.visible = false,
.named = true,
},
[anon_sym_BANG_BANG_BANG] = {
.visible = true,
.named = false,
},
[anon_sym_XML] = {
.visible = true,
.named = true,
},
[aux_sym_doctype_token1] = {
.visible = true,
.named = true,
},
[aux_sym_doctype_token2] = {
.visible = true,
.named = true,
},
[aux_sym_doctype_token3] = {
.visible = true,
.named = true,
},
[anon_sym_GT] = {
.visible = true,
.named = true,
},
[anon_sym_LT] = {
.visible = true,
.named = true,
},
[anon_sym_SLASH] = {
.visible = true,
.named = false,
},
[anon_sym_SPACE] = {
.visible = true,
.named = false,
},
[anon_sym_LPAREN] = {
.visible = true,
.named = false,
},
[anon_sym_RPAREN] = {
.visible = true,
.named = false,
},
[anon_sym_LBRACK] = {
.visible = true,
.named = false,
},
[anon_sym_COMMA] = {
.visible = true,
.named = false,
},
[aux_sym_object_reference_token1] = {
.visible = true,
.named = true,
},
[anon_sym_RBRACK] = {
.visible = true,
.named = false,
},
[sym_tag_name] = {
.visible = true,
.named = true,
},
[aux_sym_class_or_id_value_token1] = {
.visible = false,
.named = false,
},
[anon_sym_POUND] = {
.visible = true,
.named = false,
},
[anon_sym_DOT] = {
.visible = true,
.named = false,
},
[anon_sym_DASH_POUND] = {
.visible = true,
.named = false,
},
[sym_attribute_name] = {
.visible = true,
.named = true,
},
[anon_sym_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_SQUOTE] = {
.visible = true,
.named = false,
},
[anon_sym_DQUOTE] = {
.visible = true,
.named = false,
},
[sym__text] = {
.visible = false,
.named = true,
},
[sym_verbatim_string] = {
.visible = true,
.named = true,
},
[anon_sym_BSLASH] = {
.visible = true,
.named = false,
},
[anon_sym_BANG_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_AMP_EQ] = {
.visible = true,
.named = false,
},
[anon_sym_TILDE] = {
.visible = true,
.named = false,
},
[anon_sym_DASH] = {
.visible = true,
.named = false,
},
[sym_ruby_code] = {
.visible = true,
.named = true,
},
[anon_sym_LBRACE] = {
.visible = true,
.named = false,
},
[aux_sym_ruby_expression_token1] = {
.visible = false,
.named = false,
},
[anon_sym_RBRACE] = {
.visible = true,
.named = false,
},
[anon_sym_AT_AT] = {
.visible = true,
.named = false,
},
[aux_sym_ruby_class_variable_token1] = {
.visible = false,
.named = false,
},
[anon_sym_AT] = {
.visible = true,
.named = false,
},
[aux_sym_ruby_instance_variable_token1] = {
.visible = false,
.named = false,
},
[anon_sym_DOLLAR] = {
.visible = true,
.named = false,
},
[sym_ruby_constant] = {
.visible = true,
.named = true,
},
[sym_ruby_local_variable] = {
.visible = true,
.named = true,
},
[sym__html_identifier] = {
.visible = true,
.named = true,
},
[anon_sym_COLON] = {
.visible = true,
.named = false,
},
[sym__newline] = {
.visible = false,
.named = true,
},
[sym__indent] = {
.visible = false,
.named = true,
},
[sym__dedent] = {
.visible = false,
.named = true,
},
[sym_ruby_attributes] = {
.visible = true,
.named = true,
},
[sym_source_file] = {
.visible = true,
.named = true,
},
[sym_doctype] = {
.visible = true,
.named = true,
},
[sym_tag] = {
.visible = true,
.named = true,
},
[sym__children] = {
.visible = false,
.named = true,
},
[sym__children_choice] = {
.visible = false,
.named = true,
},
[sym_html_attributes] = {
.visible = true,
.named = true,
},
[sym_attributes] = {
.visible = true,
.named = true,
},
[sym_object_reference] = {
.visible = true,
.named = true,
},
[sym_class_or_id_value] = {
.visible = true,
.named = false,
},
[sym_id] = {
.visible = true,
.named = true,
},
[sym_class] = {
.visible = true,
.named = true,
},
[sym_class_name] = {
.visible = true,
.named = true,
},
[sym_comment] = {
.visible = true,
.named = true,
},
[sym__comment_line] = {
.visible = false,
.named = true,
},
[sym__comment_block] = {
.visible = false,
.named = true,
},
[sym_comment_condition] = {
.visible = true,
.named = true,
},
[sym_attribute] = {
.visible = true,
.named = true,
},
[sym_quoted_attribute_value] = {
.visible = true,
.named = true,
},
[sym_escaped_text] = {
.visible = true,
.named = true,
},
[sym_ruby_block_output] = {
.visible = true,
.named = true,
},
[sym_ruby_block_output_nuke] = {
.visible = true,
.named = true,
},
[sym_ruby_block_sanitized] = {
.visible = true,
.named = true,
},
[sym_ruby_block_preserve] = {
.visible = true,
.named = true,
},
[sym_ruby_block_run] = {
.visible = true,
.named = true,
},
[sym_ruby_interpolation] = {
.visible = true,
.named = true,
},
[sym_ruby_expression] = {
.visible = true,
.named = true,
},
[sym_ruby_class_variable] = {
.visible = true,
.named = true,
},
[sym_ruby_instance_variable] = {
.visible = true,
.named = true,
},
[sym_ruby_global_variable] = {
.visible = true,
.named = true,
},
[sym_ruby_value_ref] = {
.visible = true,
.named = true,
},
[sym_filter] = {
.visible = true,
.named = true,
},
[sym_filter_body] = {
.visible = true,
.named = true,
},
[aux_sym_source_file_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_tag_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym__children_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_html_attributes_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_attributes_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym__comment_line_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_quoted_attribute_value_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_ruby_expression_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_filter_body_repeat1] = {
.visible = false,
.named = false,
},
[alias_sym_filter_name] = {
.visible = true,
.named = true,
},
[alias_sym_self_close_slash] = {
.visible = true,
.named = true,
},
};
static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
[0] = {0},
[1] = {
[1] = alias_sym_self_close_slash,
},
[2] = {
[1] = alias_sym_filter_name,
},
[3] = {
[2] = alias_sym_self_close_slash,
},
[4] = {
[3] = alias_sym_self_close_slash,
},
[5] = {
[4] = alias_sym_self_close_slash,
},
[6] = {
[5] = alias_sym_self_close_slash,
},
};
static const uint16_t ts_non_terminal_alias_map[] = {
0,
};
static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[0] = 0,
[1] = 1,
[2] = 2,
[3] = 3,
[4] = 2,
[5] = 5,
[6] = 5,
[7] = 7,
[8] = 8,
[9] = 9,
[10] = 10,
[11] = 10,
[12] = 9,
[13] = 13,
[14] = 14,
[15] = 15,
[16] = 16,
[17] = 17,
[18] = 18,
[19] = 19,
[20] = 20,
[21] = 21,
[22] = 22,
[23] = 23,
[24] = 24,
[25] = 25,
[26] = 26,
[27] = 27,
[28] = 28,
[29] = 29,
[30] = 30,
[31] = 27,
[32] = 32,
[33] = 33,
[34] = 34,
[35] = 30,
[36] = 34,
[37] = 37,
[38] = 38,
[39] = 39,
[40] = 39,
[41] = 41,
[42] = 42,
[43] = 43,
[44] = 44,
[45] = 45,
[46] = 46,
[47] = 47,
[48] = 48,
[49] = 49,
[50] = 50,
[51] = 51,
[52] = 52,
[53] = 53,
[54] = 54,
[55] = 55,
[56] = 56,
[57] = 37,
[58] = 58,
[59] = 59,
[60] = 60,
[61] = 61,
[62] = 62,
[63] = 63,
[64] = 64,
[65] = 65,
[66] = 66,
[67] = 67,
[68] = 68,
[69] = 69,
[70] = 70,
[71] = 71,
[72] = 72,
[73] = 73,
[74] = 14,
[75] = 25,
[76] = 26,
[77] = 20,
[78] = 29,
[79] = 21,
[80] = 15,
[81] = 28,
[82] = 16,
[83] = 22,
[84] = 13,
[85] = 23,
[86] = 18,
[87] = 24,
[88] = 19,
[89] = 17,
[90] = 90,
[91] = 91,
[92] = 92,
[93] = 93,
[94] = 32,
[95] = 66,
[96] = 47,
[97] = 71,
[98] = 48,
[99] = 49,
[100] = 50,
[101] = 41,
[102] = 51,
[103] = 52,
[104] = 53,
[105] = 54,
[106] = 73,
[107] = 55,
[108] = 56,
[109] = 67,
[110] = 58,
[111] = 59,
[112] = 60,
[113] = 61,
[114] = 62,
[115] = 64,
[116] = 65,
[117] = 72,
[118] = 68,
[119] = 69,
[120] = 42,
[121] = 63,
[122] = 43,
[123] = 123,
[124] = 70,
[125] = 44,
[126] = 45,
[127] = 46,
[128] = 128,
[129] = 129,
[130] = 130,
[131] = 131,
[132] = 132,
[133] = 129,
[134] = 130,
[135] = 132,
[136] = 136,
[137] = 137,
[138] = 138,
[139] = 139,
[140] = 140,
[141] = 141,
[142] = 142,
[143] = 141,
[144] = 144,
[145] = 145,
[146] = 138,
[147] = 137,
[148] = 142,
[149] = 149,
[150] = 150,
[151] = 151,
[152] = 152,
[153] = 152,
[154] = 154,
[155] = 150,
[156] = 149,
[157] = 154,
[158] = 151,
[159] = 159,
[160] = 160,
[161] = 161,
[162] = 162,
[163] = 163,
[164] = 164,
[165] = 161,
[166] = 166,
[167] = 162,
[168] = 162,
[169] = 169,
[170] = 161,
[171] = 171,
[172] = 162,
[173] = 161,
[174] = 174,
[175] = 175,
[176] = 176,
[177] = 176,
[178] = 72,
[179] = 179,
[180] = 180,
[181] = 70,
[182] = 182,
[183] = 71,
[184] = 175,
[185] = 185,
[186] = 71,
[187] = 187,
[188] = 188,
[189] = 189,
[190] = 190,
[191] = 191,
[192] = 192,
[193] = 193,
[194] = 194,
[195] = 195,
[196] = 194,
[197] = 70,
[198] = 193,
[199] = 185,
[200] = 192,
[201] = 201,
[202] = 202,
[203] = 203,
[204] = 202,
[205] = 203,
[206] = 206,
[207] = 207,
[208] = 208,
[209] = 209,
[210] = 210,
[211] = 211,
[212] = 212,
[213] = 213,
[214] = 214,
[215] = 207,
[216] = 216,
[217] = 208,
[218] = 209,
[219] = 219,
[220] = 220,
[221] = 221,
[222] = 222,
[223] = 223,
[224] = 224,
[225] = 225,
[226] = 226,
[227] = 219,
[228] = 228,
[229] = 229,
[230] = 230,
[231] = 231,
[232] = 232,
[233] = 230,
[234] = 231,
[235] = 232,
[236] = 236,
[237] = 237,
[238] = 238,
[239] = 239,
[240] = 236,
[241] = 241,
[242] = 242,
[243] = 243,
[244] = 226,
[245] = 237,
[246] = 238,
[247] = 247,
[248] = 239,
[249] = 249,
[250] = 225,
[251] = 220,
[252] = 252,
[253] = 224,
[254] = 254,
[255] = 255,
[256] = 256,
[257] = 242,
[258] = 258,
[259] = 255,
[260] = 260,
[261] = 261,
[262] = 262,
[263] = 222,
[264] = 264,
[265] = 265,
[266] = 249,
[267] = 223,
[268] = 268,
[269] = 269,
[270] = 270,
[271] = 241,
[272] = 272,
[273] = 269,
[274] = 256,
[275] = 221,
[276] = 264,
[277] = 229,
[278] = 252,
[279] = 260,
[280] = 280,
[281] = 228,
[282] = 243,
[283] = 261,
[284] = 280,
[285] = 262,
[286] = 254,
[287] = 287,
};
static bool ts_lex(TSLexer *lexer, TSStateId state) {
START_LEXER();
eof = lexer->eof(lexer);
switch (state) {
case 0:
if (eof) ADVANCE(30);
ADVANCE_MAP(
'!', 7,
'"', 65,
'#', 55,
'$', 110,
'%', 26,
'&', 13,
'\'', 64,
'(', 45,
')', 46,
',', 49,
'-', 92,
'.', 57,
'/', 42,
':', 114,
'<', 41,
'=', 62,
'>', 40,
'@', 108,
'X', 104,
'[', 47,
'\\', 84,
']', 51,
'{', 98,
'}', 101,
'~', 90,
);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(0);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(36);
if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(105);
if (lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(106);
END_STATE();
case 1:
if (lookahead == '\n') SKIP(1);
if (lookahead == '!') ADVANCE(79);
if (lookahead == '#') ADVANCE(55);
if (lookahead == '%') ADVANCE(82);
if (lookahead == '&') ADVANCE(81);
if (lookahead == '-') ADVANCE(92);
if (lookahead == '.') ADVANCE(57);
if (lookahead == '/') ADVANCE(42);
if (lookahead == ':') ADVANCE(114);
if (lookahead == '=') ADVANCE(62);
if (lookahead == '\\') ADVANCE(84);
if (lookahead == '~') ADVANCE(90);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(75);
if (lookahead != 0) ADVANCE(83);
END_STATE();
case 2:
if (lookahead == '\n') SKIP(2);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(96);
if (lookahead != 0) ADVANCE(97);
END_STATE();
case 3:
if (lookahead == '\n') SKIP(3);
if (lookahead == '!') ADVANCE(80);
if (lookahead == '#') ADVANCE(55);
if (lookahead == '%') ADVANCE(82);
if (lookahead == '&') ADVANCE(81);
if (lookahead == '-') ADVANCE(92);
if (lookahead == '.') ADVANCE(57);
if (lookahead == '/') ADVANCE(42);
if (lookahead == ':') ADVANCE(114);
if (lookahead == '=') ADVANCE(62);
if (lookahead == '\\') ADVANCE(84);
if (lookahead == '~') ADVANCE(90);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(76);
if (lookahead != 0) ADVANCE(83);
END_STATE();
case 4:
if (lookahead == '\n') SKIP(4);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(77);
if (lookahead != 0) ADVANCE(83);
END_STATE();
case 5:
ADVANCE_MAP(
' ', 44,
'!', 12,
'#', 55,
'%', 26,
'&', 13,
'(', 45,
'.', 57,
'/', 42,
'<', 41,
'=', 62,
'>', 40,
'[', 47,
'~', 90,
);
if (('\t' <= lookahead && lookahead <= '\r')) SKIP(5);
END_STATE();
case 6:
if (lookahead == ' ') ADVANCE(44);
if (lookahead == '#') ADVANCE(27);
if (lookahead == ')') ADVANCE(46);
if (lookahead == '=') ADVANCE(62);
if (('\t' <= lookahead && lookahead <= '\r')) SKIP(6);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('@' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(61);
END_STATE();
case 7:
if (lookahead == '!') ADVANCE(8);
if (lookahead == '=') ADVANCE(86);
END_STATE();
case 8:
if (lookahead == '!') ADVANCE(31);
END_STATE();
case 9:
if (lookahead == '"') ADVANCE(65);
if (lookahead == '#') ADVANCE(55);
if (lookahead == '\'') ADVANCE(64);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(9);
if (('-' <= lookahead && lookahead <= ':') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(113);
END_STATE();
case 10:
if (lookahead == '"') ADVANCE(65);
if (lookahead == '$') ADVANCE(110);
if (lookahead == '\'') ADVANCE(64);
if (lookahead == ':') ADVANCE(23);
if (lookahead == '@') ADVANCE(108);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(10);
if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(25);
if (lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(24);
END_STATE();
case 11:
if (lookahead == '#') ADVANCE(27);
if (lookahead == ')') ADVANCE(46);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(11);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('@' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(61);
END_STATE();
case 12:
if (lookahead == '=') ADVANCE(86);
END_STATE();
case 13:
if (lookahead == '=') ADVANCE(88);
END_STATE();
case 14:
if (lookahead == 'L') ADVANCE(33);
END_STATE();
case 15:
if (lookahead == 'M') ADVANCE(14);
if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(39);
END_STATE();
case 16:
if (lookahead == '{') ADVANCE(98);
if (lookahead == '}') ADVANCE(101);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(99);
if (lookahead != 0) ADVANCE(100);
END_STATE();
case 17:
if (lookahead == '{') ADVANCE(98);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(17);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('@' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(54);
END_STATE();
case 18:
if (lookahead == '\t' ||
lookahead == ' ') ADVANCE(95);
if (lookahead != 0 &&
lookahead != '\t' &&
lookahead != '\n') ADVANCE(97);
END_STATE();
case 19:
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(19);
if (lookahead != 0) ADVANCE(35);
END_STATE();
case 20:
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(20);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(106);
END_STATE();
case 21:
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(21);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(109);
END_STATE();
case 22:
if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(39);
END_STATE();
case 23:
if (lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
END_STATE();
case 24:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(112);
END_STATE();
case 25:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(111);
END_STATE();
case 26:
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(52);
END_STATE();
case 27:
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('@' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(61);
END_STATE();
case 28:
if (eof) ADVANCE(30);
if (lookahead == '\n') SKIP(28);
if (lookahead == '!') ADVANCE(79);
if (lookahead == '#') ADVANCE(55);
if (lookahead == '%') ADVANCE(82);
if (lookahead == '&') ADVANCE(81);
if (lookahead == '-') ADVANCE(92);
if (lookahead == '.') ADVANCE(57);
if (lookahead == '/') ADVANCE(42);
if (lookahead == ':') ADVANCE(114);
if (lookahead == '=') ADVANCE(62);
if (lookahead == '\\') ADVANCE(84);
if (lookahead == '~') ADVANCE(90);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(75);
if (lookahead != 0) ADVANCE(83);
END_STATE();
case 29:
if (eof) ADVANCE(30);
ADVANCE_MAP(
'!', 7,
'#', 55,
'$', 110,
'%', 26,
'&', 13,
'-', 92,
'.', 57,
'/', 42,
':', 114,
'=', 62,
'@', 107,
'X', 15,
'\\', 84,
'~', 90,
);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(29);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37);
if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(22);
if (lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(24);
END_STATE();
case 30:
ACCEPT_TOKEN(ts_builtin_sym_end);
END_STATE();
case 31:
ACCEPT_TOKEN(anon_sym_BANG_BANG_BANG);
END_STATE();
case 32:
ACCEPT_TOKEN(anon_sym_BANG_BANG_BANG);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 33:
ACCEPT_TOKEN(anon_sym_XML);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(19);
END_STATE();
case 34:
ACCEPT_TOKEN(anon_sym_XML);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(106);
END_STATE();
case 35:
ACCEPT_TOKEN(aux_sym_doctype_token1);
if (lookahead != 0 &&
(lookahead < '\t' || '\r' < lookahead) &&
lookahead != ' ') ADVANCE(35);
END_STATE();
case 36:
ACCEPT_TOKEN(aux_sym_doctype_token2);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(36);
if (('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(106);
END_STATE();
case 37:
ACCEPT_TOKEN(aux_sym_doctype_token2);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37);
END_STATE();
case 38:
ACCEPT_TOKEN(aux_sym_doctype_token3);
if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(38);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_') ADVANCE(106);
END_STATE();
case 39:
ACCEPT_TOKEN(aux_sym_doctype_token3);
if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(39);
END_STATE();
case 40:
ACCEPT_TOKEN(anon_sym_GT);
END_STATE();
case 41:
ACCEPT_TOKEN(anon_sym_LT);
END_STATE();
case 42:
ACCEPT_TOKEN(anon_sym_SLASH);
END_STATE();
case 43:
ACCEPT_TOKEN(anon_sym_SLASH);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 44:
ACCEPT_TOKEN(anon_sym_SPACE);
if (lookahead == ' ') ADVANCE(44);
END_STATE();
case 45:
ACCEPT_TOKEN(anon_sym_LPAREN);
END_STATE();
case 46:
ACCEPT_TOKEN(anon_sym_RPAREN);
END_STATE();
case 47:
ACCEPT_TOKEN(anon_sym_LBRACK);
END_STATE();
case 48:
ACCEPT_TOKEN(anon_sym_LBRACK);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 49:
ACCEPT_TOKEN(anon_sym_COMMA);
END_STATE();
case 50:
ACCEPT_TOKEN(aux_sym_object_reference_token1);
if (lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
END_STATE();
case 51:
ACCEPT_TOKEN(anon_sym_RBRACK);
END_STATE();
case 52:
ACCEPT_TOKEN(sym_tag_name);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(52);
END_STATE();
case 53:
ACCEPT_TOKEN(sym_tag_name);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(53);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 54:
ACCEPT_TOKEN(aux_sym_class_or_id_value_token1);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('@' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(54);
END_STATE();
case 55:
ACCEPT_TOKEN(anon_sym_POUND);
END_STATE();
case 56:
ACCEPT_TOKEN(anon_sym_POUND);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 57:
ACCEPT_TOKEN(anon_sym_DOT);
END_STATE();
case 58:
ACCEPT_TOKEN(anon_sym_DOT);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 59:
ACCEPT_TOKEN(anon_sym_DASH_POUND);
END_STATE();
case 60:
ACCEPT_TOKEN(anon_sym_DASH_POUND);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 61:
ACCEPT_TOKEN(sym_attribute_name);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('@' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(61);
END_STATE();
case 62:
ACCEPT_TOKEN(anon_sym_EQ);
END_STATE();
case 63:
ACCEPT_TOKEN(anon_sym_EQ);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 64:
ACCEPT_TOKEN(anon_sym_SQUOTE);
END_STATE();
case 65:
ACCEPT_TOKEN(anon_sym_DQUOTE);
END_STATE();
case 66:
ACCEPT_TOKEN(sym__text);
ADVANCE_MAP(
'!', 67,
'#', 56,
'%', 72,
'&', 69,
'-', 93,
'.', 58,
'/', 43,
':', 115,
'=', 63,
'\\', 85,
'~', 91,
);
if (lookahead == '\t' ||
(0x0b <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(66);
if (lookahead != 0 &&
(lookahead < '\t' || '\r' < lookahead)) ADVANCE(73);
END_STATE();
case 67:
ACCEPT_TOKEN(sym__text);
if (lookahead == '!') ADVANCE(68);
if (lookahead == '=') ADVANCE(87);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 68:
ACCEPT_TOKEN(sym__text);
if (lookahead == '!') ADVANCE(32);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 69:
ACCEPT_TOKEN(sym__text);
if (lookahead == '=') ADVANCE(89);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 70:
ACCEPT_TOKEN(sym__text);
if (lookahead == '[') ADVANCE(48);
if (lookahead == '\t' ||
(0x0b <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(70);
if (lookahead != 0 &&
(lookahead < '\t' || '\r' < lookahead)) ADVANCE(73);
END_STATE();
case 71:
ACCEPT_TOKEN(sym__text);
if (lookahead == '\t' ||
(0x0b <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(71);
if (lookahead != 0 &&
(lookahead < '\t' || '\r' < lookahead)) ADVANCE(73);
END_STATE();
case 72:
ACCEPT_TOKEN(sym__text);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(53);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 73:
ACCEPT_TOKEN(sym__text);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 74:
ACCEPT_TOKEN(sym__text);
if (eof) ADVANCE(30);
ADVANCE_MAP(
'!', 67,
'#', 56,
'%', 72,
'&', 69,
'-', 93,
'.', 58,
'/', 43,
':', 115,
'=', 63,
'\\', 85,
'~', 91,
);
if (lookahead == '\t' ||
(0x0b <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(66);
if (lookahead != 0 &&
(lookahead < '\t' || '\r' < lookahead)) ADVANCE(73);
END_STATE();
case 75:
ACCEPT_TOKEN(sym_verbatim_string);
if (lookahead == '\n') SKIP(1);
if (lookahead == '!') ADVANCE(79);
if (lookahead == '#') ADVANCE(55);
if (lookahead == '%') ADVANCE(82);
if (lookahead == '&') ADVANCE(81);
if (lookahead == '-') ADVANCE(92);
if (lookahead == '.') ADVANCE(57);
if (lookahead == '/') ADVANCE(42);
if (lookahead == ':') ADVANCE(114);
if (lookahead == '=') ADVANCE(62);
if (lookahead == '\\') ADVANCE(84);
if (lookahead == '~') ADVANCE(90);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(75);
if (lookahead != 0) ADVANCE(83);
END_STATE();
case 76:
ACCEPT_TOKEN(sym_verbatim_string);
if (lookahead == '\n') SKIP(3);
if (lookahead == '!') ADVANCE(80);
if (lookahead == '#') ADVANCE(55);
if (lookahead == '%') ADVANCE(82);
if (lookahead == '&') ADVANCE(81);
if (lookahead == '-') ADVANCE(92);
if (lookahead == '.') ADVANCE(57);
if (lookahead == '/') ADVANCE(42);
if (lookahead == ':') ADVANCE(114);
if (lookahead == '=') ADVANCE(62);
if (lookahead == '\\') ADVANCE(84);
if (lookahead == '~') ADVANCE(90);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(76);
if (lookahead != 0) ADVANCE(83);
END_STATE();
case 77:
ACCEPT_TOKEN(sym_verbatim_string);
if (lookahead == '\n') SKIP(4);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(77);
if (lookahead != 0) ADVANCE(83);
END_STATE();
case 78:
ACCEPT_TOKEN(sym_verbatim_string);
if (lookahead == '!') ADVANCE(31);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(83);
END_STATE();
case 79:
ACCEPT_TOKEN(sym_verbatim_string);
if (lookahead == '!') ADVANCE(78);
if (lookahead == '=') ADVANCE(86);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(83);
END_STATE();
case 80:
ACCEPT_TOKEN(sym_verbatim_string);
if (lookahead == '=') ADVANCE(86);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(83);
END_STATE();
case 81:
ACCEPT_TOKEN(sym_verbatim_string);
if (lookahead == '=') ADVANCE(88);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(83);
END_STATE();
case 82:
ACCEPT_TOKEN(sym_verbatim_string);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= ':') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(52);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(83);
END_STATE();
case 83:
ACCEPT_TOKEN(sym_verbatim_string);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(83);
END_STATE();
case 84:
ACCEPT_TOKEN(anon_sym_BSLASH);
END_STATE();
case 85:
ACCEPT_TOKEN(anon_sym_BSLASH);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 86:
ACCEPT_TOKEN(anon_sym_BANG_EQ);
END_STATE();
case 87:
ACCEPT_TOKEN(anon_sym_BANG_EQ);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 88:
ACCEPT_TOKEN(anon_sym_AMP_EQ);
END_STATE();
case 89:
ACCEPT_TOKEN(anon_sym_AMP_EQ);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 90:
ACCEPT_TOKEN(anon_sym_TILDE);
END_STATE();
case 91:
ACCEPT_TOKEN(anon_sym_TILDE);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 92:
ACCEPT_TOKEN(anon_sym_DASH);
if (lookahead == '#') ADVANCE(59);
END_STATE();
case 93:
ACCEPT_TOKEN(anon_sym_DASH);
if (lookahead == '#') ADVANCE(60);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
case 94:
ACCEPT_TOKEN(sym_ruby_code);
if (lookahead == '\n') ADVANCE(18);
if (lookahead == ',') ADVANCE(94);
if (lookahead == '\t' ||
lookahead == ' ') ADVANCE(94);
if (lookahead != 0) ADVANCE(97);
END_STATE();
case 95:
ACCEPT_TOKEN(sym_ruby_code);
if (lookahead == ',') ADVANCE(94);
if (lookahead == '\t' ||
lookahead == ' ') ADVANCE(95);
if (lookahead != 0 &&
lookahead != '\t' &&
lookahead != '\n') ADVANCE(97);
END_STATE();
case 96:
ACCEPT_TOKEN(sym_ruby_code);
if (lookahead == ',') ADVANCE(94);
if (lookahead == '\t' ||
(0x0b <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(96);
if (lookahead != 0 &&
(lookahead < '\t' || '\r' < lookahead)) ADVANCE(97);
END_STATE();
case 97:
ACCEPT_TOKEN(sym_ruby_code);
if (lookahead == ',') ADVANCE(94);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(97);
END_STATE();
case 98:
ACCEPT_TOKEN(anon_sym_LBRACE);
END_STATE();
case 99:
ACCEPT_TOKEN(aux_sym_ruby_expression_token1);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') ADVANCE(99);
if (lookahead != 0 &&
lookahead != '{' &&
lookahead != '}') ADVANCE(100);
END_STATE();
case 100:
ACCEPT_TOKEN(aux_sym_ruby_expression_token1);
if (lookahead != 0 &&
lookahead != '{' &&
lookahead != '}') ADVANCE(100);
END_STATE();
case 101:
ACCEPT_TOKEN(anon_sym_RBRACE);
END_STATE();
case 102:
ACCEPT_TOKEN(anon_sym_AT_AT);
END_STATE();
case 103:
ACCEPT_TOKEN(aux_sym_ruby_class_variable_token1);
if (lookahead == 'L') ADVANCE(34);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(106);
END_STATE();
case 104:
ACCEPT_TOKEN(aux_sym_ruby_class_variable_token1);
if (lookahead == 'M') ADVANCE(103);
if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(38);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_') ADVANCE(106);
END_STATE();
case 105:
ACCEPT_TOKEN(aux_sym_ruby_class_variable_token1);
if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(38);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_') ADVANCE(106);
END_STATE();
case 106:
ACCEPT_TOKEN(aux_sym_ruby_class_variable_token1);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(106);
END_STATE();
case 107:
ACCEPT_TOKEN(anon_sym_AT);
END_STATE();
case 108:
ACCEPT_TOKEN(anon_sym_AT);
if (lookahead == '@') ADVANCE(102);
END_STATE();
case 109:
ACCEPT_TOKEN(aux_sym_ruby_instance_variable_token1);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(109);
END_STATE();
case 110:
ACCEPT_TOKEN(anon_sym_DOLLAR);
END_STATE();
case 111:
ACCEPT_TOKEN(sym_ruby_constant);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(111);
END_STATE();
case 112:
ACCEPT_TOKEN(sym_ruby_local_variable);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(112);
END_STATE();
case 113:
ACCEPT_TOKEN(sym__html_identifier);
if (('-' <= lookahead && lookahead <= ':') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
('a' <= lookahead && lookahead <= 'z')) ADVANCE(113);
END_STATE();
case 114:
ACCEPT_TOKEN(anon_sym_COLON);
END_STATE();
case 115:
ACCEPT_TOKEN(anon_sym_COLON);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(73);
END_STATE();
default:
return false;
}
}
static const TSLexerMode ts_lex_modes[STATE_COUNT] = {
[0] = {.lex_state = 0, .external_lex_state = 1},
[1] = {.lex_state = 0},
[2] = {.lex_state = 28, .external_lex_state = 2},
[3] = {.lex_state = 28, .external_lex_state = 2},
[4] = {.lex_state = 28, .external_lex_state = 2},
[5] = {.lex_state = 3, .external_lex_state = 3},
[6] = {.lex_state = 3, .external_lex_state = 3},
[7] = {.lex_state = 0},
[8] = {.lex_state = 0},
[9] = {.lex_state = 5, .external_lex_state = 4},
[10] = {.lex_state = 5, .external_lex_state = 4},
[11] = {.lex_state = 5, .external_lex_state = 4},
[12] = {.lex_state = 5, .external_lex_state = 4},
[13] = {.lex_state = 28, .external_lex_state = 5},
[14] = {.lex_state = 28, .external_lex_state = 5},
[15] = {.lex_state = 28, .external_lex_state = 5},
[16] = {.lex_state = 28, .external_lex_state = 5},
[17] = {.lex_state = 28, .external_lex_state = 5},
[18] = {.lex_state = 28, .external_lex_state = 5},
[19] = {.lex_state = 28, .external_lex_state = 5},
[20] = {.lex_state = 28, .external_lex_state = 5},
[21] = {.lex_state = 28, .external_lex_state = 5},
[22] = {.lex_state = 28, .external_lex_state = 5},
[23] = {.lex_state = 28, .external_lex_state = 5},
[24] = {.lex_state = 28, .external_lex_state = 5},
[25] = {.lex_state = 28, .external_lex_state = 5},
[26] = {.lex_state = 28, .external_lex_state = 5},
[27] = {.lex_state = 74, .external_lex_state = 2},
[28] = {.lex_state = 28, .external_lex_state = 5},
[29] = {.lex_state = 28, .external_lex_state = 5},
[30] = {.lex_state = 74, .external_lex_state = 2},
[31] = {.lex_state = 74, .external_lex_state = 2},
[32] = {.lex_state = 28, .external_lex_state = 5},
[33] = {.lex_state = 5, .external_lex_state = 4},
[34] = {.lex_state = 5, .external_lex_state = 4},
[35] = {.lex_state = 74, .external_lex_state = 2},
[36] = {.lex_state = 5, .external_lex_state = 4},
[37] = {.lex_state = 74, .external_lex_state = 2},
[38] = {.lex_state = 29},
[39] = {.lex_state = 5, .external_lex_state = 4},
[40] = {.lex_state = 5, .external_lex_state = 4},
[41] = {.lex_state = 28, .external_lex_state = 2},
[42] = {.lex_state = 28, .external_lex_state = 2},
[43] = {.lex_state = 28, .external_lex_state = 2},
[44] = {.lex_state = 28, .external_lex_state = 2},
[45] = {.lex_state = 28, .external_lex_state = 2},
[46] = {.lex_state = 28, .external_lex_state = 2},
[47] = {.lex_state = 28, .external_lex_state = 2},
[48] = {.lex_state = 28, .external_lex_state = 2},
[49] = {.lex_state = 28, .external_lex_state = 2},
[50] = {.lex_state = 28, .external_lex_state = 2},
[51] = {.lex_state = 28, .external_lex_state = 2},
[52] = {.lex_state = 28, .external_lex_state = 2},
[53] = {.lex_state = 28, .external_lex_state = 2},
[54] = {.lex_state = 28, .external_lex_state = 2},
[55] = {.lex_state = 28, .external_lex_state = 2},
[56] = {.lex_state = 28, .external_lex_state = 2},
[57] = {.lex_state = 74, .external_lex_state = 2},
[58] = {.lex_state = 28, .external_lex_state = 2},
[59] = {.lex_state = 28, .external_lex_state = 2},
[60] = {.lex_state = 28, .external_lex_state = 2},
[61] = {.lex_state = 28, .external_lex_state = 2},
[62] = {.lex_state = 28, .external_lex_state = 2},
[63] = {.lex_state = 28, .external_lex_state = 2},
[64] = {.lex_state = 28, .external_lex_state = 2},
[65] = {.lex_state = 28, .external_lex_state = 2},
[66] = {.lex_state = 28, .external_lex_state = 2},
[67] = {.lex_state = 28, .external_lex_state = 2},
[68] = {.lex_state = 28, .external_lex_state = 2},
[69] = {.lex_state = 28, .external_lex_state = 2},
[70] = {.lex_state = 28, .external_lex_state = 2},
[71] = {.lex_state = 28, .external_lex_state = 2},
[72] = {.lex_state = 28, .external_lex_state = 2},
[73] = {.lex_state = 28, .external_lex_state = 2},
[74] = {.lex_state = 0, .external_lex_state = 6},
[75] = {.lex_state = 0, .external_lex_state = 6},
[76] = {.lex_state = 0, .external_lex_state = 6},
[77] = {.lex_state = 0, .external_lex_state = 6},
[78] = {.lex_state = 0, .external_lex_state = 6},
[79] = {.lex_state = 0, .external_lex_state = 6},
[80] = {.lex_state = 0, .external_lex_state = 6},
[81] = {.lex_state = 0, .external_lex_state = 6},
[82] = {.lex_state = 0, .external_lex_state = 6},
[83] = {.lex_state = 0, .external_lex_state = 6},
[84] = {.lex_state = 0, .external_lex_state = 6},
[85] = {.lex_state = 0, .external_lex_state = 6},
[86] = {.lex_state = 0, .external_lex_state = 6},
[87] = {.lex_state = 0, .external_lex_state = 6},
[88] = {.lex_state = 0, .external_lex_state = 6},
[89] = {.lex_state = 0, .external_lex_state = 6},
[90] = {.lex_state = 5, .external_lex_state = 4},
[91] = {.lex_state = 5, .external_lex_state = 4},
[92] = {.lex_state = 5, .external_lex_state = 4},
[93] = {.lex_state = 5, .external_lex_state = 4},
[94] = {.lex_state = 0, .external_lex_state = 6},
[95] = {.lex_state = 0},
[96] = {.lex_state = 0},
[97] = {.lex_state = 0},
[98] = {.lex_state = 0},
[99] = {.lex_state = 0},
[100] = {.lex_state = 0},
[101] = {.lex_state = 0},
[102] = {.lex_state = 0},
[103] = {.lex_state = 0},
[104] = {.lex_state = 0},
[105] = {.lex_state = 0},
[106] = {.lex_state = 0},
[107] = {.lex_state = 0},
[108] = {.lex_state = 0},
[109] = {.lex_state = 0},
[110] = {.lex_state = 0},
[111] = {.lex_state = 0},
[112] = {.lex_state = 0},
[113] = {.lex_state = 0},
[114] = {.lex_state = 0},
[115] = {.lex_state = 0},
[116] = {.lex_state = 0},
[117] = {.lex_state = 0},
[118] = {.lex_state = 0},
[119] = {.lex_state = 0},
[120] = {.lex_state = 0},
[121] = {.lex_state = 0},
[122] = {.lex_state = 0},
[123] = {.lex_state = 0},
[124] = {.lex_state = 0},
[125] = {.lex_state = 0},
[126] = {.lex_state = 0},
[127] = {.lex_state = 0},
[128] = {.lex_state = 5, .external_lex_state = 4},
[129] = {.lex_state = 5, .external_lex_state = 3},
[130] = {.lex_state = 5, .external_lex_state = 3},
[131] = {.lex_state = 5, .external_lex_state = 4},
[132] = {.lex_state = 5, .external_lex_state = 3},
[133] = {.lex_state = 5, .external_lex_state = 3},
[134] = {.lex_state = 5, .external_lex_state = 3},
[135] = {.lex_state = 5, .external_lex_state = 3},
[136] = {.lex_state = 10},
[137] = {.lex_state = 5, .external_lex_state = 3},
[138] = {.lex_state = 5, .external_lex_state = 3},
[139] = {.lex_state = 5, .external_lex_state = 4},
[140] = {.lex_state = 5, .external_lex_state = 4},
[141] = {.lex_state = 5, .external_lex_state = 3},
[142] = {.lex_state = 5, .external_lex_state = 3},
[143] = {.lex_state = 5, .external_lex_state = 3},
[144] = {.lex_state = 5, .external_lex_state = 4},
[145] = {.lex_state = 5, .external_lex_state = 4},
[146] = {.lex_state = 5, .external_lex_state = 3},
[147] = {.lex_state = 5, .external_lex_state = 3},
[148] = {.lex_state = 5, .external_lex_state = 3},
[149] = {.lex_state = 5, .external_lex_state = 3},
[150] = {.lex_state = 5, .external_lex_state = 3},
[151] = {.lex_state = 5, .external_lex_state = 3},
[152] = {.lex_state = 5, .external_lex_state = 3},
[153] = {.lex_state = 5, .external_lex_state = 3},
[154] = {.lex_state = 5, .external_lex_state = 3},
[155] = {.lex_state = 5, .external_lex_state = 3},
[156] = {.lex_state = 5, .external_lex_state = 3},
[157] = {.lex_state = 5, .external_lex_state = 3},
[158] = {.lex_state = 5, .external_lex_state = 3},
[159] = {.lex_state = 9},
[160] = {.lex_state = 9},
[161] = {.lex_state = 16},
[162] = {.lex_state = 16},
[163] = {.lex_state = 9},
[164] = {.lex_state = 16},
[165] = {.lex_state = 16},
[166] = {.lex_state = 29},
[167] = {.lex_state = 16},
[168] = {.lex_state = 16},
[169] = {.lex_state = 9},
[170] = {.lex_state = 16},
[171] = {.lex_state = 9},
[172] = {.lex_state = 16},
[173] = {.lex_state = 16},
[174] = {.lex_state = 11},
[175] = {.lex_state = 70, .external_lex_state = 3},
[176] = {.lex_state = 17},
[177] = {.lex_state = 17},
[178] = {.lex_state = 9},
[179] = {.lex_state = 6},
[180] = {.lex_state = 11},
[181] = {.lex_state = 9},
[182] = {.lex_state = 11},
[183] = {.lex_state = 9},
[184] = {.lex_state = 70, .external_lex_state = 3},
[185] = {.lex_state = 71, .external_lex_state = 7},
[186] = {.lex_state = 16},
[187] = {.lex_state = 6},
[188] = {.lex_state = 6},
[189] = {.lex_state = 6},
[190] = {.lex_state = 6},
[191] = {.lex_state = 71, .external_lex_state = 7},
[192] = {.lex_state = 71, .external_lex_state = 7},
[193] = {.lex_state = 71, .external_lex_state = 3},
[194] = {.lex_state = 71, .external_lex_state = 7},
[195] = {.lex_state = 6},
[196] = {.lex_state = 71, .external_lex_state = 7},
[197] = {.lex_state = 16},
[198] = {.lex_state = 71, .external_lex_state = 3},
[199] = {.lex_state = 71, .external_lex_state = 7},
[200] = {.lex_state = 71, .external_lex_state = 7},
[201] = {.lex_state = 6},
[202] = {.lex_state = 6},
[203] = {.lex_state = 6},
[204] = {.lex_state = 0},
[205] = {.lex_state = 0},
[206] = {.lex_state = 0},
[207] = {.lex_state = 71},
[208] = {.lex_state = 71},
[209] = {.lex_state = 71},
[210] = {.lex_state = 17},
[211] = {.lex_state = 10},
[212] = {.lex_state = 0},
[213] = {.lex_state = 17},
[214] = {.lex_state = 71, .external_lex_state = 7},
[215] = {.lex_state = 71},
[216] = {.lex_state = 11},
[217] = {.lex_state = 71},
[218] = {.lex_state = 71},
[219] = {.lex_state = 2},
[220] = {.lex_state = 4},
[221] = {.lex_state = 2},
[222] = {.lex_state = 0, .external_lex_state = 3},
[223] = {.lex_state = 4},
[224] = {.lex_state = 4},
[225] = {.lex_state = 0, .external_lex_state = 3},
[226] = {.lex_state = 20},
[227] = {.lex_state = 2},
[228] = {.lex_state = 4},
[229] = {.lex_state = 2},
[230] = {.lex_state = 0, .external_lex_state = 3},
[231] = {.lex_state = 0, .external_lex_state = 3},
[232] = {.lex_state = 0, .external_lex_state = 3},
[233] = {.lex_state = 0, .external_lex_state = 3},
[234] = {.lex_state = 0, .external_lex_state = 3},
[235] = {.lex_state = 0, .external_lex_state = 3},
[236] = {.lex_state = 0, .external_lex_state = 3},
[237] = {.lex_state = 0, .external_lex_state = 3},
[238] = {.lex_state = 0, .external_lex_state = 3},
[239] = {.lex_state = 0, .external_lex_state = 3},
[240] = {.lex_state = 0, .external_lex_state = 3},
[241] = {.lex_state = 4},
[242] = {.lex_state = 4},
[243] = {.lex_state = 21},
[244] = {.lex_state = 20},
[245] = {.lex_state = 0, .external_lex_state = 3},
[246] = {.lex_state = 0, .external_lex_state = 3},
[247] = {.lex_state = 71},
[248] = {.lex_state = 0, .external_lex_state = 3},
[249] = {.lex_state = 4},
[250] = {.lex_state = 0, .external_lex_state = 3},
[251] = {.lex_state = 4},
[252] = {.lex_state = 2},
[253] = {.lex_state = 4},
[254] = {.lex_state = 0, .external_lex_state = 3},
[255] = {.lex_state = 4},
[256] = {.lex_state = 71},
[257] = {.lex_state = 4},
[258] = {.lex_state = 0},
[259] = {.lex_state = 4},
[260] = {.lex_state = 71},
[261] = {.lex_state = 4},
[262] = {.lex_state = 0, .external_lex_state = 6},
[263] = {.lex_state = 0, .external_lex_state = 3},
[264] = {.lex_state = 4},
[265] = {.lex_state = 0},
[266] = {.lex_state = 4},
[267] = {.lex_state = 4},
[268] = {.lex_state = 0, .external_lex_state = 3},
[269] = {.lex_state = 2},
[270] = {.lex_state = 0, .external_lex_state = 3},
[271] = {.lex_state = 4},
[272] = {.lex_state = 20},
[273] = {.lex_state = 2},
[274] = {.lex_state = 71},
[275] = {.lex_state = 2},
[276] = {.lex_state = 4},
[277] = {.lex_state = 2},
[278] = {.lex_state = 2},
[279] = {.lex_state = 71},
[280] = {.lex_state = 0, .external_lex_state = 6},
[281] = {.lex_state = 4},
[282] = {.lex_state = 21},
[283] = {.lex_state = 4},
[284] = {.lex_state = 0, .external_lex_state = 6},
[285] = {.lex_state = 0, .external_lex_state = 6},
[286] = {.lex_state = 0, .external_lex_state = 3},
[287] = {.lex_state = 0},
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[STATE(0)] = {
[ts_builtin_sym_end] = ACTIONS(1),
[anon_sym_BANG_BANG_BANG] = ACTIONS(1),
[anon_sym_XML] = ACTIONS(1),
[aux_sym_doctype_token2] = ACTIONS(1),
[aux_sym_doctype_token3] = ACTIONS(1),
[anon_sym_GT] = ACTIONS(1),
[anon_sym_LT] = ACTIONS(1),
[anon_sym_SLASH] = ACTIONS(1),
[anon_sym_LPAREN] = ACTIONS(1),
[anon_sym_RPAREN] = ACTIONS(1),
[anon_sym_LBRACK] = ACTIONS(1),
[anon_sym_COMMA] = ACTIONS(1),
[anon_sym_RBRACK] = ACTIONS(1),
[sym_tag_name] = ACTIONS(1),
[anon_sym_POUND] = ACTIONS(1),
[anon_sym_DOT] = ACTIONS(1),
[anon_sym_DASH_POUND] = ACTIONS(1),
[anon_sym_EQ] = ACTIONS(1),
[anon_sym_SQUOTE] = ACTIONS(1),
[anon_sym_DQUOTE] = ACTIONS(1),
[anon_sym_BSLASH] = ACTIONS(1),
[anon_sym_BANG_EQ] = ACTIONS(1),
[anon_sym_AMP_EQ] = ACTIONS(1),
[anon_sym_TILDE] = ACTIONS(1),
[anon_sym_DASH] = ACTIONS(1),
[anon_sym_LBRACE] = ACTIONS(1),
[anon_sym_RBRACE] = ACTIONS(1),
[anon_sym_AT_AT] = ACTIONS(1),
[aux_sym_ruby_class_variable_token1] = ACTIONS(1),
[anon_sym_AT] = ACTIONS(1),
[aux_sym_ruby_instance_variable_token1] = ACTIONS(1),
[anon_sym_DOLLAR] = ACTIONS(1),
[sym_ruby_constant] = ACTIONS(1),
[sym_ruby_local_variable] = ACTIONS(1),
[anon_sym_COLON] = ACTIONS(1),
[sym__newline] = ACTIONS(1),
[sym__indent] = ACTIONS(1),
[sym__dedent] = ACTIONS(1),
[sym_ruby_attributes] = ACTIONS(1),
},
[STATE(1)] = {
[sym_source_file] = STATE(265),
[sym_doctype] = STATE(8),
[sym_tag] = STATE(8),
[sym_id] = STATE(11),
[sym_class] = STATE(11),
[sym_comment] = STATE(8),
[sym__comment_line] = STATE(121),
[sym__comment_block] = STATE(121),
[sym_escaped_text] = STATE(8),
[sym_ruby_block_output] = STATE(8),
[sym_ruby_block_output_nuke] = STATE(8),
[sym_ruby_block_sanitized] = STATE(8),
[sym_ruby_block_preserve] = STATE(8),
[sym_ruby_block_run] = STATE(8),
[sym_ruby_interpolation] = STATE(8),
[sym_filter] = STATE(8),
[aux_sym_source_file_repeat1] = STATE(8),
[ts_builtin_sym_end] = ACTIONS(3),
[anon_sym_BANG_BANG_BANG] = ACTIONS(5),
[anon_sym_SLASH] = ACTIONS(7),
[sym_tag_name] = ACTIONS(9),
[anon_sym_POUND] = ACTIONS(11),
[anon_sym_DOT] = ACTIONS(13),
[anon_sym_DASH_POUND] = ACTIONS(7),
[anon_sym_EQ] = ACTIONS(15),
[anon_sym_BSLASH] = ACTIONS(17),
[anon_sym_BANG_EQ] = ACTIONS(19),
[anon_sym_AMP_EQ] = ACTIONS(21),
[anon_sym_TILDE] = ACTIONS(23),
[anon_sym_DASH] = ACTIONS(25),
[anon_sym_COLON] = ACTIONS(27),
},
};
static const uint16_t ts_small_parse_table[] = {
[0] = 19,
ACTIONS(29), 1,
ts_builtin_sym_end,
ACTIONS(31), 1,
anon_sym_BANG_BANG_BANG,
ACTIONS(35), 1,
sym_tag_name,
ACTIONS(37), 1,
anon_sym_POUND,
ACTIONS(39), 1,
anon_sym_DOT,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(43), 1,
sym_verbatim_string,
ACTIONS(45), 1,
anon_sym_BSLASH,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(53), 1,
anon_sym_DASH,
ACTIONS(55), 1,
anon_sym_COLON,
ACTIONS(57), 1,
sym__newline,
ACTIONS(59), 1,
sym__dedent,
ACTIONS(33), 2,
anon_sym_SLASH,
anon_sym_DASH_POUND,
STATE(10), 2,
sym_id,
sym_class,
STATE(63), 2,
sym__comment_line,
sym__comment_block,
STATE(3), 12,
sym_tag,
sym__children_choice,
sym_comment,
sym_escaped_text,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
sym_ruby_block_run,
sym_ruby_interpolation,
sym_filter,
aux_sym__children_repeat1,
[72] = 18,
ACTIONS(63), 1,
anon_sym_BANG_BANG_BANG,
ACTIONS(68), 1,
sym_tag_name,
ACTIONS(71), 1,
anon_sym_POUND,
ACTIONS(74), 1,
anon_sym_DOT,
ACTIONS(77), 1,
anon_sym_EQ,
ACTIONS(80), 1,
sym_verbatim_string,
ACTIONS(83), 1,
anon_sym_BSLASH,
ACTIONS(86), 1,
anon_sym_BANG_EQ,
ACTIONS(89), 1,
anon_sym_AMP_EQ,
ACTIONS(92), 1,
anon_sym_TILDE,
ACTIONS(95), 1,
anon_sym_DASH,
ACTIONS(98), 1,
anon_sym_COLON,
ACTIONS(101), 1,
sym__newline,
ACTIONS(61), 2,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(65), 2,
anon_sym_SLASH,
anon_sym_DASH_POUND,
STATE(10), 2,
sym_id,
sym_class,
STATE(63), 2,
sym__comment_line,
sym__comment_block,
STATE(3), 12,
sym_tag,
sym__children_choice,
sym_comment,
sym_escaped_text,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
sym_ruby_block_run,
sym_ruby_interpolation,
sym_filter,
aux_sym__children_repeat1,
[142] = 19,
ACTIONS(29), 1,
ts_builtin_sym_end,
ACTIONS(31), 1,
anon_sym_BANG_BANG_BANG,
ACTIONS(35), 1,
sym_tag_name,
ACTIONS(37), 1,
anon_sym_POUND,
ACTIONS(39), 1,
anon_sym_DOT,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(43), 1,
sym_verbatim_string,
ACTIONS(45), 1,
anon_sym_BSLASH,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(53), 1,
anon_sym_DASH,
ACTIONS(55), 1,
anon_sym_COLON,
ACTIONS(57), 1,
sym__newline,
ACTIONS(104), 1,
sym__dedent,
ACTIONS(33), 2,
anon_sym_SLASH,
anon_sym_DASH_POUND,
STATE(10), 2,
sym_id,
sym_class,
STATE(63), 2,
sym__comment_line,
sym__comment_block,
STATE(3), 12,
sym_tag,
sym__children_choice,
sym_comment,
sym_escaped_text,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
sym_ruby_block_run,
sym_ruby_interpolation,
sym_filter,
aux_sym__children_repeat1,
[214] = 16,
ACTIONS(35), 1,
sym_tag_name,
ACTIONS(37), 1,
anon_sym_POUND,
ACTIONS(39), 1,
anon_sym_DOT,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(45), 1,
anon_sym_BSLASH,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(53), 1,
anon_sym_DASH,
ACTIONS(55), 1,
anon_sym_COLON,
ACTIONS(106), 1,
sym_verbatim_string,
ACTIONS(108), 1,
sym__newline,
ACTIONS(33), 2,
anon_sym_SLASH,
anon_sym_DASH_POUND,
STATE(10), 2,
sym_id,
sym_class,
STATE(63), 2,
sym__comment_line,
sym__comment_block,
STATE(4), 12,
sym_tag,
sym__children_choice,
sym_comment,
sym_escaped_text,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
sym_ruby_block_run,
sym_ruby_interpolation,
sym_filter,
aux_sym__children_repeat1,
[277] = 16,
ACTIONS(35), 1,
sym_tag_name,
ACTIONS(37), 1,
anon_sym_POUND,
ACTIONS(39), 1,
anon_sym_DOT,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(45), 1,
anon_sym_BSLASH,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(53), 1,
anon_sym_DASH,
ACTIONS(55), 1,
anon_sym_COLON,
ACTIONS(110), 1,
sym_verbatim_string,
ACTIONS(112), 1,
sym__newline,
ACTIONS(33), 2,
anon_sym_SLASH,
anon_sym_DASH_POUND,
STATE(10), 2,
sym_id,
sym_class,
STATE(63), 2,
sym__comment_line,
sym__comment_block,
STATE(2), 12,
sym_tag,
sym__children_choice,
sym_comment,
sym_escaped_text,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
sym_ruby_block_run,
sym_ruby_interpolation,
sym_filter,
aux_sym__children_repeat1,
[340] = 16,
ACTIONS(114), 1,
ts_builtin_sym_end,
ACTIONS(116), 1,
anon_sym_BANG_BANG_BANG,
ACTIONS(122), 1,
sym_tag_name,
ACTIONS(125), 1,
anon_sym_POUND,
ACTIONS(128), 1,
anon_sym_DOT,
ACTIONS(131), 1,
anon_sym_EQ,
ACTIONS(134), 1,
anon_sym_BSLASH,
ACTIONS(137), 1,
anon_sym_BANG_EQ,
ACTIONS(140), 1,
anon_sym_AMP_EQ,
ACTIONS(143), 1,
anon_sym_TILDE,
ACTIONS(146), 1,
anon_sym_DASH,
ACTIONS(149), 1,
anon_sym_COLON,
ACTIONS(119), 2,
anon_sym_SLASH,
anon_sym_DASH_POUND,
STATE(11), 2,
sym_id,
sym_class,
STATE(121), 2,
sym__comment_line,
sym__comment_block,
STATE(7), 12,
sym_doctype,
sym_tag,
sym_comment,
sym_escaped_text,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
sym_ruby_block_run,
sym_ruby_interpolation,
sym_filter,
aux_sym_source_file_repeat1,
[403] = 16,
ACTIONS(5), 1,
anon_sym_BANG_BANG_BANG,
ACTIONS(9), 1,
sym_tag_name,
ACTIONS(11), 1,
anon_sym_POUND,
ACTIONS(13), 1,
anon_sym_DOT,
ACTIONS(15), 1,
anon_sym_EQ,
ACTIONS(17), 1,
anon_sym_BSLASH,
ACTIONS(19), 1,
anon_sym_BANG_EQ,
ACTIONS(21), 1,
anon_sym_AMP_EQ,
ACTIONS(23), 1,
anon_sym_TILDE,
ACTIONS(25), 1,
anon_sym_DASH,
ACTIONS(27), 1,
anon_sym_COLON,
ACTIONS(152), 1,
ts_builtin_sym_end,
ACTIONS(7), 2,
anon_sym_SLASH,
anon_sym_DASH_POUND,
STATE(11), 2,
sym_id,
sym_class,
STATE(121), 2,
sym__comment_line,
sym__comment_block,
STATE(7), 12,
sym_doctype,
sym_tag,
sym_comment,
sym_escaped_text,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
sym_ruby_block_run,
sym_ruby_interpolation,
sym_filter,
aux_sym_source_file_repeat1,
[466] = 19,
ACTIONS(39), 1,
anon_sym_DOT,
ACTIONS(156), 1,
anon_sym_SLASH,
ACTIONS(158), 1,
anon_sym_SPACE,
ACTIONS(160), 1,
anon_sym_LPAREN,
ACTIONS(162), 1,
anon_sym_LBRACK,
ACTIONS(164), 1,
sym_tag_name,
ACTIONS(166), 1,
anon_sym_POUND,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(176), 1,
sym__newline,
ACTIONS(178), 1,
sym_ruby_attributes,
STATE(34), 1,
sym_object_reference,
STATE(129), 1,
sym_attributes,
ACTIONS(154), 2,
anon_sym_GT,
anon_sym_LT,
STATE(128), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
STATE(33), 3,
sym_id,
sym_class,
aux_sym_tag_repeat1,
STATE(120), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[531] = 19,
ACTIONS(39), 1,
anon_sym_DOT,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(160), 1,
anon_sym_LPAREN,
ACTIONS(162), 1,
anon_sym_LBRACK,
ACTIONS(166), 1,
anon_sym_POUND,
ACTIONS(178), 1,
sym_ruby_attributes,
ACTIONS(182), 1,
anon_sym_SLASH,
ACTIONS(184), 1,
anon_sym_SPACE,
ACTIONS(186), 1,
sym_tag_name,
ACTIONS(188), 1,
sym__newline,
STATE(40), 1,
sym_object_reference,
STATE(134), 1,
sym_attributes,
ACTIONS(180), 2,
anon_sym_GT,
anon_sym_LT,
STATE(128), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
STATE(12), 3,
sym_id,
sym_class,
aux_sym_tag_repeat1,
STATE(67), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[596] = 19,
ACTIONS(39), 1,
anon_sym_DOT,
ACTIONS(160), 1,
anon_sym_LPAREN,
ACTIONS(162), 1,
anon_sym_LBRACK,
ACTIONS(166), 1,
anon_sym_POUND,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(178), 1,
sym_ruby_attributes,
ACTIONS(192), 1,
anon_sym_SLASH,
ACTIONS(194), 1,
anon_sym_SPACE,
ACTIONS(196), 1,
sym_tag_name,
ACTIONS(198), 1,
sym__newline,
STATE(39), 1,
sym_object_reference,
STATE(130), 1,
sym_attributes,
ACTIONS(190), 2,
anon_sym_GT,
anon_sym_LT,
STATE(128), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
STATE(9), 3,
sym_id,
sym_class,
aux_sym_tag_repeat1,
STATE(109), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[661] = 19,
ACTIONS(39), 1,
anon_sym_DOT,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(160), 1,
anon_sym_LPAREN,
ACTIONS(162), 1,
anon_sym_LBRACK,
ACTIONS(164), 1,
sym_tag_name,
ACTIONS(166), 1,
anon_sym_POUND,
ACTIONS(178), 1,
sym_ruby_attributes,
ACTIONS(202), 1,
anon_sym_SLASH,
ACTIONS(204), 1,
anon_sym_SPACE,
ACTIONS(206), 1,
sym__newline,
STATE(36), 1,
sym_object_reference,
STATE(133), 1,
sym_attributes,
ACTIONS(200), 2,
anon_sym_GT,
anon_sym_LT,
STATE(128), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
STATE(33), 3,
sym_id,
sym_class,
aux_sym_tag_repeat1,
STATE(42), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[726] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(49), 1,
sym__children,
ACTIONS(208), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(210), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[754] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(51), 1,
sym__children,
ACTIONS(214), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(216), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[782] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(50), 1,
sym__children,
ACTIONS(218), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(220), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[810] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(48), 1,
sym__children,
ACTIONS(222), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(224), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[838] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(45), 1,
sym__children,
ACTIONS(226), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(228), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[866] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(41), 1,
sym__children,
ACTIONS(230), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(232), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[894] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(42), 1,
sym__children,
ACTIONS(234), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(236), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[922] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(47), 1,
sym__children,
ACTIONS(238), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(240), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[950] = 4,
ACTIONS(246), 1,
sym__indent,
STATE(52), 1,
sym_filter_body,
ACTIONS(242), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(244), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[978] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(73), 1,
sym__children,
ACTIONS(248), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(250), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1006] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(55), 1,
sym__children,
ACTIONS(252), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(254), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1034] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(65), 1,
sym__children,
ACTIONS(256), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(258), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1062] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(60), 1,
sym__children,
ACTIONS(260), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(262), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1090] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(61), 1,
sym__children,
ACTIONS(264), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(266), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1118] = 6,
ACTIONS(268), 1,
ts_builtin_sym_end,
ACTIONS(272), 1,
sym__text,
ACTIONS(274), 1,
sym__newline,
ACTIONS(276), 1,
sym__dedent,
STATE(30), 1,
aux_sym_filter_body_repeat1,
ACTIONS(270), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1150] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(66), 1,
sym__children,
ACTIONS(278), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(280), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1178] = 4,
ACTIONS(212), 1,
sym__indent,
STATE(69), 1,
sym__children,
ACTIONS(282), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(284), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1206] = 5,
ACTIONS(290), 1,
sym__text,
ACTIONS(293), 1,
sym__newline,
STATE(30), 1,
aux_sym_filter_body_repeat1,
ACTIONS(286), 2,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(288), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1236] = 6,
ACTIONS(268), 1,
ts_builtin_sym_end,
ACTIONS(296), 1,
sym__text,
ACTIONS(298), 1,
sym__newline,
ACTIONS(300), 1,
sym__dedent,
STATE(35), 1,
aux_sym_filter_body_repeat1,
ACTIONS(270), 13,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1267] = 3,
ACTIONS(306), 1,
sym__indent,
ACTIONS(302), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(304), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1292] = 6,
ACTIONS(312), 1,
sym_tag_name,
ACTIONS(315), 1,
anon_sym_POUND,
ACTIONS(318), 1,
anon_sym_DOT,
ACTIONS(310), 3,
sym__newline,
sym_ruby_attributes,
anon_sym_SPACE,
STATE(33), 3,
sym_id,
sym_class,
aux_sym_tag_repeat1,
ACTIONS(308), 9,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_LPAREN,
anon_sym_LBRACK,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[1323] = 13,
ACTIONS(160), 1,
anon_sym_LPAREN,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(178), 1,
sym_ruby_attributes,
ACTIONS(323), 1,
anon_sym_SLASH,
ACTIONS(325), 1,
anon_sym_SPACE,
ACTIONS(327), 1,
sym__newline,
STATE(132), 1,
sym_attributes,
ACTIONS(321), 2,
anon_sym_GT,
anon_sym_LT,
STATE(128), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
STATE(126), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[1368] = 5,
ACTIONS(329), 1,
sym__text,
ACTIONS(332), 1,
sym__newline,
STATE(35), 1,
aux_sym_filter_body_repeat1,
ACTIONS(286), 2,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(288), 13,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1397] = 13,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(160), 1,
anon_sym_LPAREN,
ACTIONS(178), 1,
sym_ruby_attributes,
ACTIONS(337), 1,
anon_sym_SLASH,
ACTIONS(339), 1,
anon_sym_SPACE,
ACTIONS(341), 1,
sym__newline,
STATE(135), 1,
sym_attributes,
ACTIONS(335), 2,
anon_sym_GT,
anon_sym_LT,
STATE(128), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
STATE(45), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[1442] = 2,
ACTIONS(286), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(288), 15,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym__text,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1465] = 4,
ACTIONS(345), 1,
anon_sym_XML,
ACTIONS(349), 1,
anon_sym_DASH,
ACTIONS(347), 3,
aux_sym_doctype_token1,
aux_sym_doctype_token2,
aux_sym_doctype_token3,
ACTIONS(343), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[1492] = 13,
ACTIONS(156), 1,
anon_sym_SLASH,
ACTIONS(158), 1,
anon_sym_SPACE,
ACTIONS(160), 1,
anon_sym_LPAREN,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(176), 1,
sym__newline,
ACTIONS(178), 1,
sym_ruby_attributes,
STATE(129), 1,
sym_attributes,
ACTIONS(154), 2,
anon_sym_GT,
anon_sym_LT,
STATE(128), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
STATE(120), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[1537] = 13,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(160), 1,
anon_sym_LPAREN,
ACTIONS(178), 1,
sym_ruby_attributes,
ACTIONS(202), 1,
anon_sym_SLASH,
ACTIONS(204), 1,
anon_sym_SPACE,
ACTIONS(206), 1,
sym__newline,
STATE(133), 1,
sym_attributes,
ACTIONS(200), 2,
anon_sym_GT,
anon_sym_LT,
STATE(128), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
STATE(42), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[1582] = 2,
ACTIONS(351), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(353), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1604] = 2,
ACTIONS(226), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(228), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1626] = 2,
ACTIONS(238), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(240), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1648] = 2,
ACTIONS(355), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(357), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1670] = 2,
ACTIONS(252), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(254), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1692] = 2,
ACTIONS(248), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(250), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1714] = 2,
ACTIONS(359), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(361), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1736] = 2,
ACTIONS(363), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(365), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1758] = 2,
ACTIONS(367), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(369), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1780] = 2,
ACTIONS(371), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(373), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1802] = 2,
ACTIONS(375), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(377), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1824] = 2,
ACTIONS(379), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(381), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1846] = 2,
ACTIONS(383), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(385), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1868] = 2,
ACTIONS(387), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(389), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1890] = 2,
ACTIONS(264), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(266), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1912] = 2,
ACTIONS(260), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(262), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1934] = 2,
ACTIONS(286), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(288), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym__text,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1956] = 2,
ACTIONS(391), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(393), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[1978] = 2,
ACTIONS(395), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(397), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2000] = 2,
ACTIONS(399), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(401), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2022] = 2,
ACTIONS(278), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(280), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2044] = 2,
ACTIONS(256), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(258), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2066] = 2,
ACTIONS(403), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(405), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2088] = 2,
ACTIONS(407), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(409), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2110] = 2,
ACTIONS(411), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(413), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2132] = 2,
ACTIONS(415), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(417), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2154] = 2,
ACTIONS(234), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(236), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2176] = 2,
ACTIONS(282), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(284), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2198] = 2,
ACTIONS(419), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(421), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2220] = 2,
ACTIONS(423), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(425), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2242] = 2,
ACTIONS(427), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(429), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2264] = 2,
ACTIONS(431), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(433), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2286] = 2,
ACTIONS(435), 3,
sym__newline,
sym__dedent,
ts_builtin_sym_end,
ACTIONS(437), 14,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
sym_verbatim_string,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_DASH,
anon_sym_COLON,
[2308] = 4,
ACTIONS(216), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(102), 1,
sym__children,
ACTIONS(214), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2333] = 4,
ACTIONS(262), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(112), 1,
sym__children,
ACTIONS(260), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2358] = 4,
ACTIONS(266), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(113), 1,
sym__children,
ACTIONS(264), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2383] = 4,
ACTIONS(240), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(96), 1,
sym__children,
ACTIONS(238), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2408] = 4,
ACTIONS(284), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(119), 1,
sym__children,
ACTIONS(282), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2433] = 4,
ACTIONS(244), 1,
anon_sym_DASH,
ACTIONS(441), 1,
sym__indent,
STATE(103), 1,
sym_filter_body,
ACTIONS(242), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2458] = 4,
ACTIONS(220), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(100), 1,
sym__children,
ACTIONS(218), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2483] = 4,
ACTIONS(280), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(95), 1,
sym__children,
ACTIONS(278), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2508] = 4,
ACTIONS(224), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(98), 1,
sym__children,
ACTIONS(222), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2533] = 4,
ACTIONS(250), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(106), 1,
sym__children,
ACTIONS(248), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2558] = 4,
ACTIONS(210), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(99), 1,
sym__children,
ACTIONS(208), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2583] = 4,
ACTIONS(254), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(107), 1,
sym__children,
ACTIONS(252), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2608] = 4,
ACTIONS(232), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(101), 1,
sym__children,
ACTIONS(230), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2633] = 4,
ACTIONS(258), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(116), 1,
sym__children,
ACTIONS(256), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2658] = 4,
ACTIONS(236), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(120), 1,
sym__children,
ACTIONS(234), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2683] = 4,
ACTIONS(228), 1,
anon_sym_DASH,
ACTIONS(439), 1,
sym__indent,
STATE(126), 1,
sym__children,
ACTIONS(226), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2708] = 2,
ACTIONS(445), 3,
sym__newline,
sym_ruby_attributes,
anon_sym_SPACE,
ACTIONS(443), 12,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_LPAREN,
anon_sym_LBRACK,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[2728] = 2,
ACTIONS(449), 3,
sym__newline,
sym_ruby_attributes,
anon_sym_SPACE,
ACTIONS(447), 12,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_LPAREN,
anon_sym_LBRACK,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[2748] = 2,
ACTIONS(453), 3,
sym__newline,
sym_ruby_attributes,
anon_sym_SPACE,
ACTIONS(451), 12,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_LPAREN,
anon_sym_LBRACK,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[2768] = 2,
ACTIONS(457), 3,
sym__newline,
sym_ruby_attributes,
anon_sym_SPACE,
ACTIONS(455), 12,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_LPAREN,
anon_sym_LBRACK,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[2788] = 3,
ACTIONS(304), 1,
anon_sym_DASH,
ACTIONS(459), 1,
sym__indent,
ACTIONS(302), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2810] = 2,
ACTIONS(417), 1,
anon_sym_DASH,
ACTIONS(415), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2829] = 2,
ACTIONS(361), 1,
anon_sym_DASH,
ACTIONS(359), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2848] = 2,
ACTIONS(429), 1,
anon_sym_DASH,
ACTIONS(427), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2867] = 2,
ACTIONS(365), 1,
anon_sym_DASH,
ACTIONS(363), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2886] = 2,
ACTIONS(369), 1,
anon_sym_DASH,
ACTIONS(367), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2905] = 2,
ACTIONS(373), 1,
anon_sym_DASH,
ACTIONS(371), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2924] = 2,
ACTIONS(353), 1,
anon_sym_DASH,
ACTIONS(351), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2943] = 2,
ACTIONS(377), 1,
anon_sym_DASH,
ACTIONS(375), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2962] = 2,
ACTIONS(381), 1,
anon_sym_DASH,
ACTIONS(379), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[2981] = 2,
ACTIONS(385), 1,
anon_sym_DASH,
ACTIONS(383), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3000] = 2,
ACTIONS(389), 1,
anon_sym_DASH,
ACTIONS(387), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3019] = 2,
ACTIONS(437), 1,
anon_sym_DASH,
ACTIONS(435), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3038] = 2,
ACTIONS(266), 1,
anon_sym_DASH,
ACTIONS(264), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3057] = 2,
ACTIONS(262), 1,
anon_sym_DASH,
ACTIONS(260), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3076] = 2,
ACTIONS(236), 1,
anon_sym_DASH,
ACTIONS(234), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3095] = 2,
ACTIONS(393), 1,
anon_sym_DASH,
ACTIONS(391), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3114] = 2,
ACTIONS(397), 1,
anon_sym_DASH,
ACTIONS(395), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3133] = 2,
ACTIONS(401), 1,
anon_sym_DASH,
ACTIONS(399), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3152] = 2,
ACTIONS(280), 1,
anon_sym_DASH,
ACTIONS(278), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3171] = 2,
ACTIONS(258), 1,
anon_sym_DASH,
ACTIONS(256), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3190] = 2,
ACTIONS(409), 1,
anon_sym_DASH,
ACTIONS(407), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3209] = 2,
ACTIONS(413), 1,
anon_sym_DASH,
ACTIONS(411), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3228] = 2,
ACTIONS(433), 1,
anon_sym_DASH,
ACTIONS(431), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3247] = 2,
ACTIONS(284), 1,
anon_sym_DASH,
ACTIONS(282), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3266] = 2,
ACTIONS(421), 1,
anon_sym_DASH,
ACTIONS(419), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3285] = 2,
ACTIONS(228), 1,
anon_sym_DASH,
ACTIONS(226), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3304] = 2,
ACTIONS(405), 1,
anon_sym_DASH,
ACTIONS(403), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3323] = 2,
ACTIONS(240), 1,
anon_sym_DASH,
ACTIONS(238), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3342] = 2,
ACTIONS(463), 1,
anon_sym_DASH,
ACTIONS(461), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3361] = 2,
ACTIONS(425), 1,
anon_sym_DASH,
ACTIONS(423), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3380] = 2,
ACTIONS(357), 1,
anon_sym_DASH,
ACTIONS(355), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3399] = 2,
ACTIONS(254), 1,
anon_sym_DASH,
ACTIONS(252), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3418] = 2,
ACTIONS(250), 1,
anon_sym_DASH,
ACTIONS(248), 13,
ts_builtin_sym_end,
anon_sym_BANG_BANG_BANG,
anon_sym_SLASH,
sym_tag_name,
anon_sym_POUND,
anon_sym_DOT,
anon_sym_DASH_POUND,
anon_sym_EQ,
anon_sym_BSLASH,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
anon_sym_COLON,
[3437] = 5,
ACTIONS(160), 1,
anon_sym_LPAREN,
ACTIONS(469), 1,
sym_ruby_attributes,
ACTIONS(467), 2,
sym__newline,
anon_sym_SPACE,
STATE(131), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
ACTIONS(465), 7,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[3461] = 9,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(323), 1,
anon_sym_SLASH,
ACTIONS(325), 1,
anon_sym_SPACE,
ACTIONS(327), 1,
sym__newline,
ACTIONS(321), 2,
anon_sym_GT,
anon_sym_LT,
STATE(126), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3493] = 9,
ACTIONS(156), 1,
anon_sym_SLASH,
ACTIONS(158), 1,
anon_sym_SPACE,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(176), 1,
sym__newline,
ACTIONS(154), 2,
anon_sym_GT,
anon_sym_LT,
STATE(120), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3525] = 5,
ACTIONS(475), 1,
anon_sym_LPAREN,
ACTIONS(478), 1,
sym_ruby_attributes,
ACTIONS(473), 2,
sym__newline,
anon_sym_SPACE,
STATE(131), 2,
sym_html_attributes,
aux_sym_attributes_repeat1,
ACTIONS(471), 7,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[3549] = 9,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(483), 1,
anon_sym_SLASH,
ACTIONS(485), 1,
anon_sym_SPACE,
ACTIONS(487), 1,
sym__newline,
ACTIONS(481), 2,
anon_sym_GT,
anon_sym_LT,
STATE(107), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3581] = 9,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(337), 1,
anon_sym_SLASH,
ACTIONS(339), 1,
anon_sym_SPACE,
ACTIONS(341), 1,
sym__newline,
ACTIONS(335), 2,
anon_sym_GT,
anon_sym_LT,
STATE(45), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3613] = 9,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(202), 1,
anon_sym_SLASH,
ACTIONS(204), 1,
anon_sym_SPACE,
ACTIONS(206), 1,
sym__newline,
ACTIONS(200), 2,
anon_sym_GT,
anon_sym_LT,
STATE(42), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3645] = 9,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(491), 1,
anon_sym_SLASH,
ACTIONS(493), 1,
anon_sym_SPACE,
ACTIONS(495), 1,
sym__newline,
ACTIONS(489), 2,
anon_sym_GT,
anon_sym_LT,
STATE(55), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3677] = 8,
ACTIONS(497), 1,
anon_sym_SQUOTE,
ACTIONS(499), 1,
anon_sym_DQUOTE,
ACTIONS(501), 1,
anon_sym_AT_AT,
ACTIONS(503), 1,
anon_sym_AT,
ACTIONS(505), 1,
anon_sym_DOLLAR,
ACTIONS(507), 2,
sym_ruby_constant,
sym_ruby_local_variable,
STATE(189), 2,
sym_quoted_attribute_value,
sym_ruby_value_ref,
STATE(187), 3,
sym_ruby_class_variable,
sym_ruby_instance_variable,
sym_ruby_global_variable,
[3706] = 8,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(323), 1,
anon_sym_SLASH,
ACTIONS(325), 1,
anon_sym_SPACE,
ACTIONS(327), 1,
sym__newline,
STATE(126), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3734] = 8,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(483), 1,
anon_sym_SLASH,
ACTIONS(485), 1,
anon_sym_SPACE,
ACTIONS(487), 1,
sym__newline,
STATE(107), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3762] = 2,
ACTIONS(511), 3,
sym__newline,
sym_ruby_attributes,
anon_sym_SPACE,
ACTIONS(509), 8,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_LPAREN,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[3778] = 2,
ACTIONS(515), 3,
sym__newline,
sym_ruby_attributes,
anon_sym_SPACE,
ACTIONS(513), 8,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_LPAREN,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[3794] = 8,
ACTIONS(156), 1,
anon_sym_SLASH,
ACTIONS(158), 1,
anon_sym_SPACE,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(176), 1,
sym__newline,
STATE(120), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3822] = 8,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(517), 1,
anon_sym_SLASH,
ACTIONS(519), 1,
anon_sym_SPACE,
ACTIONS(521), 1,
sym__newline,
STATE(113), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3850] = 8,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(202), 1,
anon_sym_SLASH,
ACTIONS(204), 1,
anon_sym_SPACE,
ACTIONS(206), 1,
sym__newline,
STATE(42), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3878] = 2,
ACTIONS(525), 3,
sym__newline,
sym_ruby_attributes,
anon_sym_SPACE,
ACTIONS(523), 8,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_LPAREN,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[3894] = 2,
ACTIONS(529), 3,
sym__newline,
sym_ruby_attributes,
anon_sym_SPACE,
ACTIONS(527), 8,
anon_sym_GT,
anon_sym_LT,
anon_sym_SLASH,
anon_sym_LPAREN,
anon_sym_EQ,
anon_sym_BANG_EQ,
anon_sym_AMP_EQ,
anon_sym_TILDE,
[3910] = 8,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(491), 1,
anon_sym_SLASH,
ACTIONS(493), 1,
anon_sym_SPACE,
ACTIONS(495), 1,
sym__newline,
STATE(55), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3938] = 8,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(337), 1,
anon_sym_SLASH,
ACTIONS(339), 1,
anon_sym_SPACE,
ACTIONS(341), 1,
sym__newline,
STATE(45), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3966] = 8,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(531), 1,
anon_sym_SLASH,
ACTIONS(533), 1,
anon_sym_SPACE,
ACTIONS(535), 1,
sym__newline,
STATE(61), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[3994] = 7,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(537), 1,
anon_sym_SPACE,
ACTIONS(539), 1,
sym__newline,
STATE(127), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4019] = 7,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(541), 1,
anon_sym_SPACE,
ACTIONS(543), 1,
sym__newline,
STATE(68), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4044] = 7,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(545), 1,
anon_sym_SPACE,
ACTIONS(547), 1,
sym__newline,
STATE(114), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4069] = 7,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(549), 1,
anon_sym_SPACE,
ACTIONS(551), 1,
sym__newline,
STATE(122), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4094] = 7,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(553), 1,
anon_sym_SPACE,
ACTIONS(555), 1,
sym__newline,
STATE(43), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4119] = 7,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(557), 1,
anon_sym_SPACE,
ACTIONS(559), 1,
sym__newline,
STATE(108), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4144] = 7,
ACTIONS(168), 1,
anon_sym_EQ,
ACTIONS(170), 1,
anon_sym_BANG_EQ,
ACTIONS(172), 1,
anon_sym_AMP_EQ,
ACTIONS(174), 1,
anon_sym_TILDE,
ACTIONS(561), 1,
anon_sym_SPACE,
ACTIONS(563), 1,
sym__newline,
STATE(118), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4169] = 7,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(565), 1,
anon_sym_SPACE,
ACTIONS(567), 1,
sym__newline,
STATE(46), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4194] = 7,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(569), 1,
anon_sym_SPACE,
ACTIONS(571), 1,
sym__newline,
STATE(56), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4219] = 7,
ACTIONS(41), 1,
anon_sym_EQ,
ACTIONS(47), 1,
anon_sym_BANG_EQ,
ACTIONS(49), 1,
anon_sym_AMP_EQ,
ACTIONS(51), 1,
anon_sym_TILDE,
ACTIONS(573), 1,
anon_sym_SPACE,
ACTIONS(575), 1,
sym__newline,
STATE(62), 4,
sym_ruby_block_output,
sym_ruby_block_output_nuke,
sym_ruby_block_sanitized,
sym_ruby_block_preserve,
[4244] = 4,
ACTIONS(577), 1,
anon_sym_POUND,
ACTIONS(582), 1,
sym__html_identifier,
ACTIONS(580), 2,
anon_sym_SQUOTE,
anon_sym_DQUOTE,
STATE(159), 2,
sym_ruby_interpolation,
aux_sym_quoted_attribute_value_repeat1,
[4259] = 4,
ACTIONS(585), 1,
anon_sym_POUND,
ACTIONS(587), 1,
anon_sym_SQUOTE,
ACTIONS(589), 1,
sym__html_identifier,
STATE(159), 2,
sym_ruby_interpolation,
aux_sym_quoted_attribute_value_repeat1,
[4273] = 4,
ACTIONS(591), 1,
anon_sym_LBRACE,
ACTIONS(593), 1,
aux_sym_ruby_expression_token1,
ACTIONS(595), 1,
anon_sym_RBRACE,
STATE(164), 2,
sym_ruby_expression,
aux_sym_ruby_expression_repeat1,
[4287] = 4,
ACTIONS(591), 1,
anon_sym_LBRACE,
ACTIONS(597), 1,
aux_sym_ruby_expression_token1,
ACTIONS(599), 1,
anon_sym_RBRACE,
STATE(165), 2,
sym_ruby_expression,
aux_sym_ruby_expression_repeat1,
[4301] = 4,
ACTIONS(585), 1,
anon_sym_POUND,
ACTIONS(601), 1,
anon_sym_SQUOTE,
ACTIONS(603), 1,
sym__html_identifier,
STATE(160), 2,
sym_ruby_interpolation,
aux_sym_quoted_attribute_value_repeat1,
[4315] = 4,
ACTIONS(605), 1,
anon_sym_LBRACE,
ACTIONS(608), 1,
aux_sym_ruby_expression_token1,
ACTIONS(611), 1,
anon_sym_RBRACE,
STATE(164), 2,
sym_ruby_expression,
aux_sym_ruby_expression_repeat1,
[4329] = 4,
ACTIONS(591), 1,
anon_sym_LBRACE,
ACTIONS(593), 1,
aux_sym_ruby_expression_token1,
ACTIONS(613), 1,
anon_sym_RBRACE,
STATE(164), 2,
sym_ruby_expression,
aux_sym_ruby_expression_repeat1,
[4343] = 4,
ACTIONS(615), 1,
anon_sym_AT,
ACTIONS(617), 1,
anon_sym_DOLLAR,
ACTIONS(619), 1,
sym_ruby_local_variable,
STATE(206), 2,
sym_ruby_instance_variable,
sym_ruby_global_variable,
[4357] = 4,
ACTIONS(591), 1,
anon_sym_LBRACE,
ACTIONS(621), 1,
aux_sym_ruby_expression_token1,
ACTIONS(623), 1,
anon_sym_RBRACE,
STATE(170), 2,
sym_ruby_expression,
aux_sym_ruby_expression_repeat1,
[4371] = 4,
ACTIONS(591), 1,
anon_sym_LBRACE,
ACTIONS(625), 1,
aux_sym_ruby_expression_token1,
ACTIONS(627), 1,
anon_sym_RBRACE,
STATE(161), 2,
sym_ruby_expression,
aux_sym_ruby_expression_repeat1,
[4385] = 4,
ACTIONS(585), 1,
anon_sym_POUND,
ACTIONS(601), 1,
anon_sym_DQUOTE,
ACTIONS(629), 1,
sym__html_identifier,
STATE(171), 2,
sym_ruby_interpolation,
aux_sym_quoted_attribute_value_repeat1,
[4399] = 4,
ACTIONS(591), 1,
anon_sym_LBRACE,
ACTIONS(593), 1,
aux_sym_ruby_expression_token1,
ACTIONS(631), 1,
anon_sym_RBRACE,
STATE(164), 2,
sym_ruby_expression,
aux_sym_ruby_expression_repeat1,
[4413] = 4,
ACTIONS(585), 1,
anon_sym_POUND,
ACTIONS(587), 1,
anon_sym_DQUOTE,
ACTIONS(589), 1,
sym__html_identifier,
STATE(159), 2,
sym_ruby_interpolation,
aux_sym_quoted_attribute_value_repeat1,
[4427] = 4,
ACTIONS(591), 1,
anon_sym_LBRACE,
ACTIONS(633), 1,
aux_sym_ruby_expression_token1,
ACTIONS(635), 1,
anon_sym_RBRACE,
STATE(173), 2,
sym_ruby_expression,
aux_sym_ruby_expression_repeat1,
[4441] = 4,
ACTIONS(591), 1,
anon_sym_LBRACE,
ACTIONS(593), 1,
aux_sym_ruby_expression_token1,
ACTIONS(637), 1,
anon_sym_RBRACE,
STATE(164), 2,
sym_ruby_expression,
aux_sym_ruby_expression_repeat1,
[4455] = 4,
ACTIONS(639), 1,
anon_sym_RPAREN,
ACTIONS(641), 1,
sym_attribute_name,
STATE(174), 1,
aux_sym_html_attributes_repeat1,
STATE(190), 1,
sym_attribute,
[4468] = 4,
ACTIONS(644), 1,
anon_sym_LBRACK,
ACTIONS(646), 1,
sym__text,
ACTIONS(648), 1,
sym__newline,
STATE(254), 1,
sym_comment_condition,
[4481] = 4,
ACTIONS(650), 1,
aux_sym_class_or_id_value_token1,
ACTIONS(652), 1,
anon_sym_LBRACE,
STATE(93), 1,
sym_class_or_id_value,
STATE(117), 1,
sym_ruby_expression,
[4494] = 4,
ACTIONS(650), 1,
aux_sym_class_or_id_value_token1,
ACTIONS(654), 1,
anon_sym_LBRACE,
STATE(72), 1,
sym_ruby_expression,
STATE(93), 1,
sym_class_or_id_value,
[4507] = 1,
ACTIONS(431), 4,
anon_sym_POUND,
anon_sym_SQUOTE,
anon_sym_DQUOTE,
sym__html_identifier,
[4514] = 3,
ACTIONS(656), 1,
anon_sym_SPACE,
ACTIONS(660), 1,
anon_sym_EQ,
ACTIONS(658), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4525] = 4,
ACTIONS(662), 1,
anon_sym_RPAREN,
ACTIONS(664), 1,
sym_attribute_name,
STATE(174), 1,
aux_sym_html_attributes_repeat1,
STATE(190), 1,
sym_attribute,
[4538] = 1,
ACTIONS(423), 4,
anon_sym_POUND,
anon_sym_SQUOTE,
anon_sym_DQUOTE,
sym__html_identifier,
[4545] = 4,
ACTIONS(664), 1,
sym_attribute_name,
ACTIONS(666), 1,
anon_sym_RPAREN,
STATE(180), 1,
aux_sym_html_attributes_repeat1,
STATE(190), 1,
sym_attribute,
[4558] = 1,
ACTIONS(427), 4,
anon_sym_POUND,
anon_sym_SQUOTE,
anon_sym_DQUOTE,
sym__html_identifier,
[4565] = 4,
ACTIONS(644), 1,
anon_sym_LBRACK,
ACTIONS(668), 1,
sym__text,
ACTIONS(670), 1,
sym__newline,
STATE(286), 1,
sym_comment_condition,
[4578] = 3,
ACTIONS(672), 1,
sym__text,
ACTIONS(674), 1,
sym__dedent,
STATE(191), 1,
aux_sym__comment_line_repeat1,
[4588] = 2,
ACTIONS(427), 1,
aux_sym_ruby_expression_token1,
ACTIONS(429), 2,
anon_sym_LBRACE,
anon_sym_RBRACE,
[4596] = 2,
ACTIONS(676), 1,
anon_sym_SPACE,
ACTIONS(678), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4604] = 2,
ACTIONS(680), 1,
anon_sym_SPACE,
ACTIONS(682), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4612] = 2,
ACTIONS(684), 1,
anon_sym_SPACE,
ACTIONS(686), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4620] = 2,
ACTIONS(688), 1,
anon_sym_SPACE,
ACTIONS(690), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4628] = 3,
ACTIONS(692), 1,
sym__text,
ACTIONS(695), 1,
sym__dedent,
STATE(191), 1,
aux_sym__comment_line_repeat1,
[4638] = 3,
ACTIONS(672), 1,
sym__text,
ACTIONS(697), 1,
sym__dedent,
STATE(191), 1,
aux_sym__comment_line_repeat1,
[4648] = 3,
ACTIONS(699), 1,
sym__text,
ACTIONS(701), 1,
sym__newline,
STATE(31), 1,
aux_sym_filter_body_repeat1,
[4658] = 3,
ACTIONS(672), 1,
sym__text,
ACTIONS(703), 1,
sym__dedent,
STATE(191), 1,
aux_sym__comment_line_repeat1,
[4668] = 2,
ACTIONS(705), 1,
anon_sym_SPACE,
ACTIONS(707), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4676] = 3,
ACTIONS(672), 1,
sym__text,
ACTIONS(709), 1,
sym__dedent,
STATE(191), 1,
aux_sym__comment_line_repeat1,
[4686] = 2,
ACTIONS(423), 1,
aux_sym_ruby_expression_token1,
ACTIONS(425), 2,
anon_sym_LBRACE,
anon_sym_RBRACE,
[4694] = 3,
ACTIONS(711), 1,
sym__text,
ACTIONS(713), 1,
sym__newline,
STATE(27), 1,
aux_sym_filter_body_repeat1,
[4704] = 3,
ACTIONS(672), 1,
sym__text,
ACTIONS(715), 1,
sym__dedent,
STATE(191), 1,
aux_sym__comment_line_repeat1,
[4714] = 3,
ACTIONS(672), 1,
sym__text,
ACTIONS(717), 1,
sym__dedent,
STATE(191), 1,
aux_sym__comment_line_repeat1,
[4724] = 2,
ACTIONS(719), 1,
anon_sym_SPACE,
ACTIONS(721), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4732] = 2,
ACTIONS(723), 1,
anon_sym_SPACE,
ACTIONS(725), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4740] = 2,
ACTIONS(727), 1,
anon_sym_SPACE,
ACTIONS(729), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4748] = 1,
ACTIONS(723), 2,
anon_sym_COMMA,
anon_sym_RBRACK,
[4753] = 1,
ACTIONS(727), 2,
anon_sym_COMMA,
anon_sym_RBRACK,
[4758] = 2,
ACTIONS(731), 1,
anon_sym_COMMA,
ACTIONS(733), 1,
anon_sym_RBRACK,
[4765] = 2,
ACTIONS(672), 1,
sym__text,
STATE(194), 1,
aux_sym__comment_line_repeat1,
[4772] = 2,
ACTIONS(672), 1,
sym__text,
STATE(185), 1,
aux_sym__comment_line_repeat1,
[4779] = 2,
ACTIONS(672), 1,
sym__text,
STATE(192), 1,
aux_sym__comment_line_repeat1,
[4786] = 2,
ACTIONS(735), 1,
aux_sym_class_or_id_value_token1,
STATE(92), 1,
sym_class_name,
[4793] = 1,
ACTIONS(737), 2,
aux_sym_object_reference_token1,
sym_ruby_local_variable,
[4798] = 2,
ACTIONS(739), 1,
anon_sym_LBRACE,
STATE(178), 1,
sym_ruby_expression,
[4805] = 2,
ACTIONS(650), 1,
aux_sym_class_or_id_value_token1,
STATE(93), 1,
sym_class_or_id_value,
[4812] = 1,
ACTIONS(695), 2,
sym__dedent,
sym__text,
[4817] = 2,
ACTIONS(672), 1,
sym__text,
STATE(196), 1,
aux_sym__comment_line_repeat1,
[4824] = 1,
ACTIONS(639), 2,
anon_sym_RPAREN,
sym_attribute_name,
[4829] = 2,
ACTIONS(672), 1,
sym__text,
STATE(199), 1,
aux_sym__comment_line_repeat1,
[4836] = 2,
ACTIONS(672), 1,
sym__text,
STATE(200), 1,
aux_sym__comment_line_repeat1,
[4843] = 1,
ACTIONS(741), 1,
sym_ruby_code,
[4847] = 1,
ACTIONS(743), 1,
sym_verbatim_string,
[4851] = 1,
ACTIONS(745), 1,
sym_ruby_code,
[4855] = 1,
ACTIONS(747), 1,
sym__newline,
[4859] = 1,
ACTIONS(749), 1,
sym_verbatim_string,
[4863] = 1,
ACTIONS(751), 1,
sym_verbatim_string,
[4867] = 1,
ACTIONS(753), 1,
sym__newline,
[4871] = 1,
ACTIONS(755), 1,
aux_sym_ruby_class_variable_token1,
[4875] = 1,
ACTIONS(757), 1,
sym_ruby_code,
[4879] = 1,
ACTIONS(759), 1,
sym_verbatim_string,
[4883] = 1,
ACTIONS(761), 1,
sym_ruby_code,
[4887] = 1,
ACTIONS(763), 1,
sym__newline,
[4891] = 1,
ACTIONS(765), 1,
sym__newline,
[4895] = 1,
ACTIONS(767), 1,
sym__newline,
[4899] = 1,
ACTIONS(769), 1,
sym__newline,
[4903] = 1,
ACTIONS(771), 1,
sym__newline,
[4907] = 1,
ACTIONS(773), 1,
sym__newline,
[4911] = 1,
ACTIONS(775), 1,
sym__newline,
[4915] = 1,
ACTIONS(777), 1,
sym__newline,
[4919] = 1,
ACTIONS(779), 1,
sym__newline,
[4923] = 1,
ACTIONS(781), 1,
sym__newline,
[4927] = 1,
ACTIONS(783), 1,
sym__newline,
[4931] = 1,
ACTIONS(785), 1,
sym_verbatim_string,
[4935] = 1,
ACTIONS(787), 1,
sym_verbatim_string,
[4939] = 1,
ACTIONS(789), 1,
aux_sym_ruby_instance_variable_token1,
[4943] = 1,
ACTIONS(791), 1,
aux_sym_ruby_class_variable_token1,
[4947] = 1,
ACTIONS(793), 1,
sym__newline,
[4951] = 1,
ACTIONS(795), 1,
sym__newline,
[4955] = 1,
ACTIONS(797), 1,
sym__text,
[4959] = 1,
ACTIONS(799), 1,
sym__newline,
[4963] = 1,
ACTIONS(801), 1,
sym_verbatim_string,
[4967] = 1,
ACTIONS(803), 1,
sym__newline,
[4971] = 1,
ACTIONS(805), 1,
sym_verbatim_string,
[4975] = 1,
ACTIONS(807), 1,
sym_ruby_code,
[4979] = 1,
ACTIONS(809), 1,
sym_verbatim_string,
[4983] = 1,
ACTIONS(811), 1,
sym__newline,
[4987] = 1,
ACTIONS(813), 1,
sym_verbatim_string,
[4991] = 1,
ACTIONS(815), 1,
sym__text,
[4995] = 1,
ACTIONS(817), 1,
sym_verbatim_string,
[4999] = 1,
ACTIONS(819), 1,
anon_sym_RBRACK,
[5003] = 1,
ACTIONS(821), 1,
sym_verbatim_string,
[5007] = 1,
ACTIONS(823), 1,
sym__text,
[5011] = 1,
ACTIONS(825), 1,
sym_verbatim_string,
[5015] = 1,
ACTIONS(827), 1,
sym__indent,
[5019] = 1,
ACTIONS(829), 1,
sym__newline,
[5023] = 1,
ACTIONS(831), 1,
sym_verbatim_string,
[5027] = 1,
ACTIONS(833), 1,
ts_builtin_sym_end,
[5031] = 1,
ACTIONS(835), 1,
sym_verbatim_string,
[5035] = 1,
ACTIONS(837), 1,
sym_verbatim_string,
[5039] = 1,
ACTIONS(839), 1,
sym__newline,
[5043] = 1,
ACTIONS(841), 1,
sym_ruby_code,
[5047] = 1,
ACTIONS(843), 1,
sym__newline,
[5051] = 1,
ACTIONS(845), 1,
sym_verbatim_string,
[5055] = 1,
ACTIONS(847), 1,
aux_sym_ruby_class_variable_token1,
[5059] = 1,
ACTIONS(849), 1,
sym_ruby_code,
[5063] = 1,
ACTIONS(851), 1,
sym__text,
[5067] = 1,
ACTIONS(853), 1,
sym_ruby_code,
[5071] = 1,
ACTIONS(855), 1,
sym_verbatim_string,
[5075] = 1,
ACTIONS(857), 1,
sym_ruby_code,
[5079] = 1,
ACTIONS(859), 1,
sym_ruby_code,
[5083] = 1,
ACTIONS(861), 1,
sym__text,
[5087] = 1,
ACTIONS(863), 1,
sym__indent,
[5091] = 1,
ACTIONS(865), 1,
sym_verbatim_string,
[5095] = 1,
ACTIONS(867), 1,
aux_sym_ruby_instance_variable_token1,
[5099] = 1,
ACTIONS(869), 1,
sym_verbatim_string,
[5103] = 1,
ACTIONS(871), 1,
sym__indent,
[5107] = 1,
ACTIONS(873), 1,
sym__indent,
[5111] = 1,
ACTIONS(875), 1,
sym__newline,
[5115] = 1,
ACTIONS(877), 1,
anon_sym_RBRACK,
};
static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(2)] = 0,
[SMALL_STATE(3)] = 72,
[SMALL_STATE(4)] = 142,
[SMALL_STATE(5)] = 214,
[SMALL_STATE(6)] = 277,
[SMALL_STATE(7)] = 340,
[SMALL_STATE(8)] = 403,
[SMALL_STATE(9)] = 466,
[SMALL_STATE(10)] = 531,
[SMALL_STATE(11)] = 596,
[SMALL_STATE(12)] = 661,
[SMALL_STATE(13)] = 726,
[SMALL_STATE(14)] = 754,
[SMALL_STATE(15)] = 782,
[SMALL_STATE(16)] = 810,
[SMALL_STATE(17)] = 838,
[SMALL_STATE(18)] = 866,
[SMALL_STATE(19)] = 894,
[SMALL_STATE(20)] = 922,
[SMALL_STATE(21)] = 950,
[SMALL_STATE(22)] = 978,
[SMALL_STATE(23)] = 1006,
[SMALL_STATE(24)] = 1034,
[SMALL_STATE(25)] = 1062,
[SMALL_STATE(26)] = 1090,
[SMALL_STATE(27)] = 1118,
[SMALL_STATE(28)] = 1150,
[SMALL_STATE(29)] = 1178,
[SMALL_STATE(30)] = 1206,
[SMALL_STATE(31)] = 1236,
[SMALL_STATE(32)] = 1267,
[SMALL_STATE(33)] = 1292,
[SMALL_STATE(34)] = 1323,
[SMALL_STATE(35)] = 1368,
[SMALL_STATE(36)] = 1397,
[SMALL_STATE(37)] = 1442,
[SMALL_STATE(38)] = 1465,
[SMALL_STATE(39)] = 1492,
[SMALL_STATE(40)] = 1537,
[SMALL_STATE(41)] = 1582,
[SMALL_STATE(42)] = 1604,
[SMALL_STATE(43)] = 1626,
[SMALL_STATE(44)] = 1648,
[SMALL_STATE(45)] = 1670,
[SMALL_STATE(46)] = 1692,
[SMALL_STATE(47)] = 1714,
[SMALL_STATE(48)] = 1736,
[SMALL_STATE(49)] = 1758,
[SMALL_STATE(50)] = 1780,
[SMALL_STATE(51)] = 1802,
[SMALL_STATE(52)] = 1824,
[SMALL_STATE(53)] = 1846,
[SMALL_STATE(54)] = 1868,
[SMALL_STATE(55)] = 1890,
[SMALL_STATE(56)] = 1912,
[SMALL_STATE(57)] = 1934,
[SMALL_STATE(58)] = 1956,
[SMALL_STATE(59)] = 1978,
[SMALL_STATE(60)] = 2000,
[SMALL_STATE(61)] = 2022,
[SMALL_STATE(62)] = 2044,
[SMALL_STATE(63)] = 2066,
[SMALL_STATE(64)] = 2088,
[SMALL_STATE(65)] = 2110,
[SMALL_STATE(66)] = 2132,
[SMALL_STATE(67)] = 2154,
[SMALL_STATE(68)] = 2176,
[SMALL_STATE(69)] = 2198,
[SMALL_STATE(70)] = 2220,
[SMALL_STATE(71)] = 2242,
[SMALL_STATE(72)] = 2264,
[SMALL_STATE(73)] = 2286,
[SMALL_STATE(74)] = 2308,
[SMALL_STATE(75)] = 2333,
[SMALL_STATE(76)] = 2358,
[SMALL_STATE(77)] = 2383,
[SMALL_STATE(78)] = 2408,
[SMALL_STATE(79)] = 2433,
[SMALL_STATE(80)] = 2458,
[SMALL_STATE(81)] = 2483,
[SMALL_STATE(82)] = 2508,
[SMALL_STATE(83)] = 2533,
[SMALL_STATE(84)] = 2558,
[SMALL_STATE(85)] = 2583,
[SMALL_STATE(86)] = 2608,
[SMALL_STATE(87)] = 2633,
[SMALL_STATE(88)] = 2658,
[SMALL_STATE(89)] = 2683,
[SMALL_STATE(90)] = 2708,
[SMALL_STATE(91)] = 2728,
[SMALL_STATE(92)] = 2748,
[SMALL_STATE(93)] = 2768,
[SMALL_STATE(94)] = 2788,
[SMALL_STATE(95)] = 2810,
[SMALL_STATE(96)] = 2829,
[SMALL_STATE(97)] = 2848,
[SMALL_STATE(98)] = 2867,
[SMALL_STATE(99)] = 2886,
[SMALL_STATE(100)] = 2905,
[SMALL_STATE(101)] = 2924,
[SMALL_STATE(102)] = 2943,
[SMALL_STATE(103)] = 2962,
[SMALL_STATE(104)] = 2981,
[SMALL_STATE(105)] = 3000,
[SMALL_STATE(106)] = 3019,
[SMALL_STATE(107)] = 3038,
[SMALL_STATE(108)] = 3057,
[SMALL_STATE(109)] = 3076,
[SMALL_STATE(110)] = 3095,
[SMALL_STATE(111)] = 3114,
[SMALL_STATE(112)] = 3133,
[SMALL_STATE(113)] = 3152,
[SMALL_STATE(114)] = 3171,
[SMALL_STATE(115)] = 3190,
[SMALL_STATE(116)] = 3209,
[SMALL_STATE(117)] = 3228,
[SMALL_STATE(118)] = 3247,
[SMALL_STATE(119)] = 3266,
[SMALL_STATE(120)] = 3285,
[SMALL_STATE(121)] = 3304,
[SMALL_STATE(122)] = 3323,
[SMALL_STATE(123)] = 3342,
[SMALL_STATE(124)] = 3361,
[SMALL_STATE(125)] = 3380,
[SMALL_STATE(126)] = 3399,
[SMALL_STATE(127)] = 3418,
[SMALL_STATE(128)] = 3437,
[SMALL_STATE(129)] = 3461,
[SMALL_STATE(130)] = 3493,
[SMALL_STATE(131)] = 3525,
[SMALL_STATE(132)] = 3549,
[SMALL_STATE(133)] = 3581,
[SMALL_STATE(134)] = 3613,
[SMALL_STATE(135)] = 3645,
[SMALL_STATE(136)] = 3677,
[SMALL_STATE(137)] = 3706,
[SMALL_STATE(138)] = 3734,
[SMALL_STATE(139)] = 3762,
[SMALL_STATE(140)] = 3778,
[SMALL_STATE(141)] = 3794,
[SMALL_STATE(142)] = 3822,
[SMALL_STATE(143)] = 3850,
[SMALL_STATE(144)] = 3878,
[SMALL_STATE(145)] = 3894,
[SMALL_STATE(146)] = 3910,
[SMALL_STATE(147)] = 3938,
[SMALL_STATE(148)] = 3966,
[SMALL_STATE(149)] = 3994,
[SMALL_STATE(150)] = 4019,
[SMALL_STATE(151)] = 4044,
[SMALL_STATE(152)] = 4069,
[SMALL_STATE(153)] = 4094,
[SMALL_STATE(154)] = 4119,
[SMALL_STATE(155)] = 4144,
[SMALL_STATE(156)] = 4169,
[SMALL_STATE(157)] = 4194,
[SMALL_STATE(158)] = 4219,
[SMALL_STATE(159)] = 4244,
[SMALL_STATE(160)] = 4259,
[SMALL_STATE(161)] = 4273,
[SMALL_STATE(162)] = 4287,
[SMALL_STATE(163)] = 4301,
[SMALL_STATE(164)] = 4315,
[SMALL_STATE(165)] = 4329,
[SMALL_STATE(166)] = 4343,
[SMALL_STATE(167)] = 4357,
[SMALL_STATE(168)] = 4371,
[SMALL_STATE(169)] = 4385,
[SMALL_STATE(170)] = 4399,
[SMALL_STATE(171)] = 4413,
[SMALL_STATE(172)] = 4427,
[SMALL_STATE(173)] = 4441,
[SMALL_STATE(174)] = 4455,
[SMALL_STATE(175)] = 4468,
[SMALL_STATE(176)] = 4481,
[SMALL_STATE(177)] = 4494,
[SMALL_STATE(178)] = 4507,
[SMALL_STATE(179)] = 4514,
[SMALL_STATE(180)] = 4525,
[SMALL_STATE(181)] = 4538,
[SMALL_STATE(182)] = 4545,
[SMALL_STATE(183)] = 4558,
[SMALL_STATE(184)] = 4565,
[SMALL_STATE(185)] = 4578,
[SMALL_STATE(186)] = 4588,
[SMALL_STATE(187)] = 4596,
[SMALL_STATE(188)] = 4604,
[SMALL_STATE(189)] = 4612,
[SMALL_STATE(190)] = 4620,
[SMALL_STATE(191)] = 4628,
[SMALL_STATE(192)] = 4638,
[SMALL_STATE(193)] = 4648,
[SMALL_STATE(194)] = 4658,
[SMALL_STATE(195)] = 4668,
[SMALL_STATE(196)] = 4676,
[SMALL_STATE(197)] = 4686,
[SMALL_STATE(198)] = 4694,
[SMALL_STATE(199)] = 4704,
[SMALL_STATE(200)] = 4714,
[SMALL_STATE(201)] = 4724,
[SMALL_STATE(202)] = 4732,
[SMALL_STATE(203)] = 4740,
[SMALL_STATE(204)] = 4748,
[SMALL_STATE(205)] = 4753,
[SMALL_STATE(206)] = 4758,
[SMALL_STATE(207)] = 4765,
[SMALL_STATE(208)] = 4772,
[SMALL_STATE(209)] = 4779,
[SMALL_STATE(210)] = 4786,
[SMALL_STATE(211)] = 4793,
[SMALL_STATE(212)] = 4798,
[SMALL_STATE(213)] = 4805,
[SMALL_STATE(214)] = 4812,
[SMALL_STATE(215)] = 4817,
[SMALL_STATE(216)] = 4824,
[SMALL_STATE(217)] = 4829,
[SMALL_STATE(218)] = 4836,
[SMALL_STATE(219)] = 4843,
[SMALL_STATE(220)] = 4847,
[SMALL_STATE(221)] = 4851,
[SMALL_STATE(222)] = 4855,
[SMALL_STATE(223)] = 4859,
[SMALL_STATE(224)] = 4863,
[SMALL_STATE(225)] = 4867,
[SMALL_STATE(226)] = 4871,
[SMALL_STATE(227)] = 4875,
[SMALL_STATE(228)] = 4879,
[SMALL_STATE(229)] = 4883,
[SMALL_STATE(230)] = 4887,
[SMALL_STATE(231)] = 4891,
[SMALL_STATE(232)] = 4895,
[SMALL_STATE(233)] = 4899,
[SMALL_STATE(234)] = 4903,
[SMALL_STATE(235)] = 4907,
[SMALL_STATE(236)] = 4911,
[SMALL_STATE(237)] = 4915,
[SMALL_STATE(238)] = 4919,
[SMALL_STATE(239)] = 4923,
[SMALL_STATE(240)] = 4927,
[SMALL_STATE(241)] = 4931,
[SMALL_STATE(242)] = 4935,
[SMALL_STATE(243)] = 4939,
[SMALL_STATE(244)] = 4943,
[SMALL_STATE(245)] = 4947,
[SMALL_STATE(246)] = 4951,
[SMALL_STATE(247)] = 4955,
[SMALL_STATE(248)] = 4959,
[SMALL_STATE(249)] = 4963,
[SMALL_STATE(250)] = 4967,
[SMALL_STATE(251)] = 4971,
[SMALL_STATE(252)] = 4975,
[SMALL_STATE(253)] = 4979,
[SMALL_STATE(254)] = 4983,
[SMALL_STATE(255)] = 4987,
[SMALL_STATE(256)] = 4991,
[SMALL_STATE(257)] = 4995,
[SMALL_STATE(258)] = 4999,
[SMALL_STATE(259)] = 5003,
[SMALL_STATE(260)] = 5007,
[SMALL_STATE(261)] = 5011,
[SMALL_STATE(262)] = 5015,
[SMALL_STATE(263)] = 5019,
[SMALL_STATE(264)] = 5023,
[SMALL_STATE(265)] = 5027,
[SMALL_STATE(266)] = 5031,
[SMALL_STATE(267)] = 5035,
[SMALL_STATE(268)] = 5039,
[SMALL_STATE(269)] = 5043,
[SMALL_STATE(270)] = 5047,
[SMALL_STATE(271)] = 5051,
[SMALL_STATE(272)] = 5055,
[SMALL_STATE(273)] = 5059,
[SMALL_STATE(274)] = 5063,
[SMALL_STATE(275)] = 5067,
[SMALL_STATE(276)] = 5071,
[SMALL_STATE(277)] = 5075,
[SMALL_STATE(278)] = 5079,
[SMALL_STATE(279)] = 5083,
[SMALL_STATE(280)] = 5087,
[SMALL_STATE(281)] = 5091,
[SMALL_STATE(282)] = 5095,
[SMALL_STATE(283)] = 5099,
[SMALL_STATE(284)] = 5103,
[SMALL_STATE(285)] = 5107,
[SMALL_STATE(286)] = 5111,
[SMALL_STATE(287)] = 5115,
};
static const TSParseActionEntry ts_parse_actions[] = {
[0] = {.entry = {.count = 0, .reusable = false}},
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
[3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0),
[5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
[7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
[11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176),
[13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
[15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269),
[17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256),
[19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
[21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
[23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229),
[25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252),
[27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260),
[29] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__children, 2, 0, 0),
[31] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__children, 2, 0, 0),
[33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184),
[35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10),
[37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(177),
[39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210),
[41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273),
[43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3),
[45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(274),
[47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275),
[49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219),
[51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277),
[53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278),
[55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279),
[57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
[59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
[61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0),
[63] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0),
[65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(184),
[68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(10),
[71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(177),
[74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(210),
[77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(273),
[80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(3),
[83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(274),
[86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(275),
[89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(219),
[92] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(277),
[95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(278),
[98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(279),
[101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__children_repeat1, 2, 0, 0), SHIFT_REPEAT(3),
[104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
[106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4),
[108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
[110] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2),
[112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
[114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0),
[116] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(38),
[119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(175),
[122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(11),
[125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(176),
[128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(210),
[131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(269),
[134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(256),
[137] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(221),
[140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(227),
[143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(229),
[146] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(252),
[149] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(260),
[152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0),
[154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137),
[156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149),
[158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271),
[160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182),
[162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166),
[164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33),
[166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213),
[168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269),
[170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221),
[172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227),
[174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229),
[176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
[178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
[180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143),
[182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153),
[184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
[186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12),
[188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
[190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141),
[192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152),
[194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281),
[196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9),
[198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
[200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147),
[202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156),
[204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241),
[206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
[208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_nuke, 3, 0, 0),
[210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_output_nuke, 3, 0, 0),
[212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
[214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_run, 3, 0, 0),
[216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_run, 3, 0, 0),
[218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_sanitized, 3, 0, 0),
[220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_sanitized, 3, 0, 0),
[222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 3, 0, 0),
[224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_output, 3, 0, 0),
[226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 3, 0, 0),
[228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 3, 0, 0),
[230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_preserve, 3, 0, 0),
[232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_preserve, 3, 0, 0),
[234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 2, 0, 0),
[236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 2, 0, 0),
[238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 3, 0, 1),
[240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 3, 0, 1),
[242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_filter, 3, 0, 2),
[244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_filter, 3, 0, 2),
[246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198),
[248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 4, 0, 3),
[250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 4, 0, 3),
[252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 4, 0, 0),
[254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 4, 0, 0),
[256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 6, 0, 5),
[258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 6, 0, 5),
[260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 5, 0, 4),
[262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 5, 0, 4),
[264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 5, 0, 0),
[266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 5, 0, 0),
[268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_filter_body, 2, 0, 0),
[270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_filter_body, 2, 0, 0),
[272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(263),
[274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
[276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
[278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 6, 0, 0),
[280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 6, 0, 0),
[282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 7, 0, 6),
[284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 7, 0, 6),
[286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_filter_body_repeat1, 2, 0, 0),
[288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_filter_body_repeat1, 2, 0, 0),
[290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_filter_body_repeat1, 2, 0, 0), SHIFT_REPEAT(263),
[293] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_filter_body_repeat1, 2, 0, 0), SHIFT_REPEAT(30),
[296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(222),
[298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
[300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
[302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comment_line, 3, 0, 0),
[304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__comment_line, 3, 0, 0),
[306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
[308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tag_repeat1, 2, 0, 0),
[310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tag_repeat1, 2, 0, 0),
[312] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(33),
[315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(213),
[318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(210),
[321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138),
[323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154),
[325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224),
[327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
[329] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_filter_body_repeat1, 2, 0, 0), SHIFT_REPEAT(222),
[332] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_filter_body_repeat1, 2, 0, 0), SHIFT_REPEAT(35),
[335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146),
[337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157),
[339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253),
[341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
[343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 1, 0, 0),
[345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123),
[347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
[349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctype, 1, 0, 0),
[351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_preserve, 4, 0, 0),
[353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_preserve, 4, 0, 0),
[355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_escaped_text, 3, 0, 0),
[357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_escaped_text, 3, 0, 0),
[359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 4, 0, 1),
[361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 4, 0, 1),
[363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 4, 0, 0),
[365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_output, 4, 0, 0),
[367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_nuke, 4, 0, 0),
[369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_output_nuke, 4, 0, 0),
[371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_sanitized, 4, 0, 0),
[373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_sanitized, 4, 0, 0),
[375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_run, 4, 0, 0),
[377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_block_run, 4, 0, 0),
[379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_filter, 4, 0, 2),
[381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_filter, 4, 0, 2),
[383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comment_block, 5, 0, 0),
[385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__comment_block, 5, 0, 0),
[387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__children, 3, 0, 0),
[389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__children, 3, 0, 0),
[391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comment_line, 6, 0, 0),
[393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__comment_line, 6, 0, 0),
[395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comment_block, 6, 0, 0),
[397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__comment_block, 6, 0, 0),
[399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 6, 0, 4),
[401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 6, 0, 4),
[403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 1, 0, 0),
[405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 1, 0, 0),
[407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_filter_body, 3, 0, 0),
[409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_filter_body, 3, 0, 0),
[411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 7, 0, 5),
[413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 7, 0, 5),
[415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 7, 0, 0),
[417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 7, 0, 0),
[419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 8, 0, 6),
[421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 8, 0, 6),
[423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_expression, 2, 0, 0),
[425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_expression, 2, 0, 0),
[427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_expression, 3, 0, 0),
[429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_expression, 3, 0, 0),
[431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_interpolation, 2, 0, 0),
[433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_interpolation, 2, 0, 0),
[435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 5, 0, 3),
[437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 5, 0, 3),
[439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
[441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193),
[443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 1, 0, 0),
[445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 1, 0, 0),
[447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_or_id_value, 1, 0, 0),
[449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_or_id_value, 1, 0, 0),
[451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class, 2, 0, 0),
[453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class, 2, 0, 0),
[455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_id, 2, 0, 0),
[457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_id, 2, 0, 0),
[459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208),
[461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 2, 0, 0),
[463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctype, 2, 0, 0),
[465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributes, 1, 0, 0),
[467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributes, 1, 0, 0),
[469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
[471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributes_repeat1, 2, 0, 0),
[473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributes_repeat1, 2, 0, 0),
[475] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(182),
[478] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(131),
[481] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142),
[483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151),
[485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283),
[487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
[489] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148),
[491] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158),
[493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261),
[495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
[497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
[499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
[501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272),
[503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243),
[505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244),
[507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187),
[509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_reference, 3, 0, 0),
[511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_reference, 3, 0, 0),
[513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_reference, 5, 0, 0),
[515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_reference, 5, 0, 0),
[517] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155),
[519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249),
[521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
[523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_html_attributes, 2, 0, 0),
[525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_attributes, 2, 0, 0),
[527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_html_attributes, 3, 0, 0),
[529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_attributes, 3, 0, 0),
[531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150),
[533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266),
[535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
[537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220),
[539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
[541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267),
[543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
[545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276),
[547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
[549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257),
[551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
[553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242),
[555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
[557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255),
[559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
[561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223),
[563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
[565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251),
[567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
[569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
[571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
[573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264),
[575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
[577] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_attribute_value_repeat1, 2, 0, 0), SHIFT_REPEAT(212),
[580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_quoted_attribute_value_repeat1, 2, 0, 0),
[582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_attribute_value_repeat1, 2, 0, 0), SHIFT_REPEAT(159),
[585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
[587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
[589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159),
[591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162),
[593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
[595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97),
[597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
[599] = {.entry = {.count = 1, .reusable = false}}, SHIFT(197),
[601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201),
[603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160),
[605] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_ruby_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(162),
[608] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_ruby_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(164),
[611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_ruby_expression_repeat1, 2, 0, 0),
[613] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186),
[615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
[617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226),
[619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
[621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170),
[623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70),
[625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
[627] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124),
[629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171),
[631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71),
[633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
[635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181),
[637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183),
[639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_html_attributes_repeat1, 2, 0, 0),
[641] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_html_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(179),
[644] = {.entry = {.count = 1, .reusable = false}}, SHIFT(247),
[646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250),
[648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280),
[650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
[652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168),
[654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
[656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 0),
[658] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 1, 0, 0),
[660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136),
[662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145),
[664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
[666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
[668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225),
[670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284),
[672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268),
[674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
[676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_value_ref, 1, 0, 0),
[678] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_value_ref, 1, 0, 0),
[680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_class_variable, 2, 0, 0),
[682] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_class_variable, 2, 0, 0),
[684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 0),
[686] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 3, 0, 0),
[688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216),
[690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_html_attributes_repeat1, 1, 0, 0),
[692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__comment_line_repeat1, 2, 0, 0), SHIFT_REPEAT(268),
[695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__comment_line_repeat1, 2, 0, 0),
[697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
[699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222),
[701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
[703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
[705] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 3, 0, 0),
[707] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_attribute_value, 3, 0, 0),
[709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
[711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263),
[713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
[715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
[717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
[719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 2, 0, 0),
[721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_attribute_value, 2, 0, 0),
[723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_global_variable, 2, 0, 0),
[725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_global_variable, 2, 0, 0),
[727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_instance_variable, 2, 0, 0),
[729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ruby_instance_variable, 2, 0, 0),
[731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
[733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
[735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
[737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258),
[739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
[741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236),
[743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106),
[745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
[747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
[749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
[751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
[753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
[755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204),
[757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
[759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
[761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245),
[763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
[765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
[767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
[769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
[771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
[773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
[775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
[777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
[779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
[781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
[783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
[785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
[787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
[789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203),
[791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
[793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
[795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
[797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287),
[799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
[801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
[803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
[805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
[807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246),
[809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
[811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262),
[813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
[815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
[817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
[819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140),
[821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
[823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248),
[825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
[827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
[829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
[831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
[833] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
[835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
[837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
[839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214),
[841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230),
[843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment_condition, 3, 0, 0),
[845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
[847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
[849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
[851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
[853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235),
[855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
[857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
[859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
[861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
[863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207),
[865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
[867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
[869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
[871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215),
[873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218),
[875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285),
[877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270),
};
enum ts_external_scanner_symbol_identifiers {
ts_external_token__newline = 0,
ts_external_token__indent = 1,
ts_external_token__dedent = 2,
ts_external_token_ruby_attributes = 3,
};
static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
[ts_external_token__newline] = sym__newline,
[ts_external_token__indent] = sym__indent,
[ts_external_token__dedent] = sym__dedent,
[ts_external_token_ruby_attributes] = sym_ruby_attributes,
};
static const bool ts_external_scanner_states[8][EXTERNAL_TOKEN_COUNT] = {
[1] = {
[ts_external_token__newline] = true,
[ts_external_token__indent] = true,
[ts_external_token__dedent] = true,
[ts_external_token_ruby_attributes] = true,
},
[2] = {
[ts_external_token__newline] = true,
[ts_external_token__dedent] = true,
},
[3] = {
[ts_external_token__newline] = true,
},
[4] = {
[ts_external_token__newline] = true,
[ts_external_token_ruby_attributes] = true,
},
[5] = {
[ts_external_token__newline] = true,
[ts_external_token__indent] = true,
[ts_external_token__dedent] = true,
},
[6] = {
[ts_external_token__indent] = true,
},
[7] = {
[ts_external_token__dedent] = true,
},
};
#ifdef __cplusplus
extern "C" {
#endif
void *tree_sitter_haml_external_scanner_create(void);
void tree_sitter_haml_external_scanner_destroy(void *);
bool tree_sitter_haml_external_scanner_scan(void *, TSLexer *, const bool *);
unsigned tree_sitter_haml_external_scanner_serialize(void *, char *);
void tree_sitter_haml_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_haml(void) {
static const TSLanguage language = {
.abi_version = LANGUAGE_VERSION,
.symbol_count = SYMBOL_COUNT,
.alias_count = ALIAS_COUNT,
.token_count = TOKEN_COUNT,
.external_token_count = EXTERNAL_TOKEN_COUNT,
.state_count = STATE_COUNT,
.large_state_count = LARGE_STATE_COUNT,
.production_id_count = PRODUCTION_ID_COUNT,
.supertype_count = SUPERTYPE_COUNT,
.field_count = FIELD_COUNT,
.max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
.parse_table = &ts_parse_table[0][0],
.small_parse_table = ts_small_parse_table,
.small_parse_table_map = ts_small_parse_table_map,
.parse_actions = ts_parse_actions,
.symbol_names = ts_symbol_names,
.symbol_metadata = ts_symbol_metadata,
.public_symbol_map = ts_symbol_map,
.alias_map = ts_non_terminal_alias_map,
.alias_sequences = &ts_alias_sequences[0][0],
.lex_modes = (const void*)ts_lex_modes,
.lex_fn = ts_lex,
.external_scanner = {
&ts_external_scanner_states[0][0],
ts_external_scanner_symbol_map,
tree_sitter_haml_external_scanner_create,
tree_sitter_haml_external_scanner_destroy,
tree_sitter_haml_external_scanner_scan,
tree_sitter_haml_external_scanner_serialize,
tree_sitter_haml_external_scanner_deserialize,
},
.primary_state_ids = ts_primary_state_ids,
.name = "haml",
.max_reserved_word_set_size = 0,
.metadata = {
.major_version = 0,
.minor_version = 0,
.patch_version = 6,
},
};
return &language;
}
#ifdef __cplusplus
}
#endif