(program [0, 0] - [359, 0] (import_statement [0, 0] - [0, 56] (import_clause [0, 7] - [0, 28] (named_imports [0, 7] - [0, 28] (import_specifier [0, 9] - [0, 26] name: (identifier [0, 9] - [0, 26])))) source: (string [0, 34] - [0, 55] (string_fragment [0, 35] - [0, 54]))) (export_statement [2, 0] - [358, 2] declaration: (lexical_declaration [2, 7] - [358, 2] (variable_declarator [2, 13] - [358, 1] name: (identifier [2, 13] - [2, 37]) value: (arrow_function [2, 40] - [358, 1] parameters: (formal_parameters [2, 40] - [4, 1] (required_parameter [3, 2] - [3, 41] pattern: (object_pattern [3, 2] - [3, 17] (shorthand_property_identifier_pattern [3, 4] - [3, 15])) type: (type_annotation [3, 17] - [3, 41] (object_type [3, 19] - [3, 41] (property_signature [3, 21] - [3, 39] name: (property_identifier [3, 21] - [3, 32]) type: (type_annotation [3, 32] - [3, 39] (array_type [3, 34] - [3, 39] (predefined_type [3, 34] - [3, 37])))))))) body: (statement_block [4, 5] - [358, 1] (if_statement [5, 2] - [5, 60] condition: (parenthesized_expression [5, 5] - [5, 47] (binary_expression [5, 6] - [5, 46] left: (unary_expression [5, 6] - [5, 18] argument: (identifier [5, 7] - [5, 18])) right: (binary_expression [5, 22] - [5, 46] left: (member_expression [5, 22] - [5, 40] object: (identifier [5, 22] - [5, 33]) property: (property_identifier [5, 34] - [5, 40])) right: (number [5, 45] - [5, 46])))) consequence: (return_statement [5, 48] - [5, 60] (null [5, 55] - [5, 59]))) (lexical_declaration [7, 2] - [7, 25] (variable_declarator [7, 8] - [7, 24] name: (identifier [7, 8] - [7, 11]) value: (call_expression [7, 14] - [7, 24] function: (member_expression [7, 14] - [7, 22] object: (identifier [7, 14] - [7, 18]) property: (property_identifier [7, 19] - [7, 22])) arguments: (arguments [7, 22] - [7, 24])))) (lexical_declaration [8, 2] - [10, 4] (variable_declarator [8, 8] - [10, 3] name: (identifier [8, 8] - [8, 20]) value: (call_expression [8, 23] - [10, 3] function: (member_expression [8, 23] - [8, 41] object: (identifier [8, 23] - [8, 34]) property: (property_identifier [8, 35] - [8, 41])) arguments: (arguments [8, 41] - [10, 3] (arrow_function [8, 42] - [9, 59] parameters: (formal_parameters [8, 42] - [8, 45] (required_parameter [8, 43] - [8, 44] pattern: (identifier [8, 43] - [8, 44]))) body: (binary_expression [9, 4] - [9, 59] left: (unary_expression [9, 4] - [9, 17] argument: (member_expression [9, 5] - [9, 17] object: (identifier [9, 5] - [9, 6]) property: (property_identifier [9, 7] - [9, 17]))) right: (binary_expression [9, 21] - [9, 59] left: (call_expression [9, 21] - [9, 53] function: (member_expression [9, 21] - [9, 51] object: (new_expression [9, 21] - [9, 43] constructor: (identifier [9, 25] - [9, 29]) arguments: (arguments [9, 29] - [9, 43] (member_expression [9, 30] - [9, 42] object: (identifier [9, 30] - [9, 31]) property: (property_identifier [9, 32] - [9, 42])))) property: (property_identifier [9, 44] - [9, 51])) arguments: (arguments [9, 51] - [9, 53])) right: (identifier [9, 56] - [9, 59])))))))) (lexical_declaration [11, 2] - [13, 4] (variable_declarator [11, 8] - [13, 3] name: (identifier [11, 8] - [11, 21]) value: (call_expression [11, 24] - [13, 3] function: (member_expression [11, 24] - [11, 42] object: (identifier [11, 24] - [11, 35]) property: (property_identifier [11, 36] - [11, 42])) arguments: (arguments [11, 42] - [13, 3] (arrow_function [11, 43] - [12, 59] parameters: (formal_parameters [11, 43] - [11, 46] (required_parameter [11, 44] - [11, 45] pattern: (identifier [11, 44] - [11, 45]))) body: (binary_expression [12, 4] - [12, 59] left: (member_expression [12, 4] - [12, 16] object: (identifier [12, 4] - [12, 5]) property: (property_identifier [12, 6] - [12, 16])) right: (binary_expression [12, 20] - [12, 59] left: (call_expression [12, 20] - [12, 52] function: (member_expression [12, 20] - [12, 50] object: (new_expression [12, 20] - [12, 42] constructor: (identifier [12, 24] - [12, 28]) arguments: (arguments [12, 28] - [12, 42] (member_expression [12, 29] - [12, 41] object: (identifier [12, 29] - [12, 30]) property: (property_identifier [12, 31] - [12, 41])))) property: (property_identifier [12, 43] - [12, 50])) arguments: (arguments [12, 50] - [12, 52])) right: (identifier [12, 56] - [12, 59])))))))) (return_statement [15, 2] - [357, 4] (parenthesized_expression [15, 9] - [357, 3] (jsx_element [16, 4] - [356, 10] open_tag: (jsx_opening_element [16, 4] - [16, 38] name: (identifier [16, 5] - [16, 8]) attribute: (jsx_attribute [16, 9] - [16, 37] (property_identifier [16, 9] - [16, 14]) (string [16, 15] - [16, 37] (string_fragment [16, 16] - [16, 36])))) (jsx_element [17, 6] - [43, 12] open_tag: (jsx_opening_element [17, 6] - [17, 179] name: (identifier [17, 7] - [17, 10]) attribute: (jsx_attribute [17, 11] - [17, 178] (property_identifier [17, 11] - [17, 16]) (string [17, 17] - [17, 178] (string_fragment [17, 18] - [17, 177])))) (jsx_element [18, 8] - [20, 13] open_tag: (jsx_opening_element [18, 8] - [18, 97] name: (identifier [18, 9] - [18, 11]) attribute: (jsx_attribute [18, 12] - [18, 96] (property_identifier [18, 12] - [18, 17]) (string [18, 18] - [18, 96] (string_fragment [18, 19] - [18, 95])))) (jsx_text [18, 97] - [20, 8]) close_tag: (jsx_closing_element [20, 8] - [20, 13] name: (identifier [20, 10] - [20, 12]))) (jsx_element [21, 8] - [42, 14] open_tag: (jsx_opening_element [21, 8] - [21, 167] name: (identifier [21, 9] - [21, 12]) attribute: (jsx_attribute [21, 13] - [21, 166] (property_identifier [21, 13] - [21, 18]) (string [21, 19] - [21, 166] (string_fragment [21, 20] - [21, 165])))) (jsx_element [22, 10] - [31, 19] open_tag: (jsx_opening_element [22, 10] - [29, 11] name: (identifier [22, 11] - [22, 17]) attribute: (jsx_attribute [23, 12] - [23, 25] (property_identifier [23, 12] - [23, 16]) (string [23, 17] - [23, 25] (string_fragment [23, 18] - [23, 24]))) attribute: (jsx_attribute [24, 12] - [24, 29] (property_identifier [24, 12] - [24, 14]) (string [24, 15] - [24, 29] (string_fragment [24, 16] - [24, 28]))) attribute: (jsx_attribute [25, 12] - [25, 40] (property_identifier [25, 12] - [25, 17]) (string [25, 18] - [25, 40] (string_fragment [25, 19] - [25, 39]))) attribute: (jsx_attribute [26, 12] - [26, 46] (property_identifier [26, 12] - [26, 19]) (string [26, 20] - [26, 46] (string_fragment [26, 21] - [26, 45]))) attribute: (jsx_attribute [27, 12] - [27, 34] (property_identifier [27, 12] - [27, 22]) (string [27, 23] - [27, 34] (string_fragment [27, 24] - [27, 33]))) attribute: (jsx_attribute [28, 12] - [28, 31] (property_identifier [28, 12] - [28, 24]) (string [28, 25] - [28, 31] (string_fragment [28, 26] - [28, 30])))) (jsx_text [29, 11] - [31, 10]) close_tag: (jsx_closing_element [31, 10] - [31, 19] name: (identifier [31, 12] - [31, 18]))) (jsx_element [32, 10] - [41, 19] open_tag: (jsx_opening_element [32, 10] - [39, 11] name: (identifier [32, 11] - [32, 17]) attribute: (jsx_attribute [33, 12] - [33, 25] (property_identifier [33, 12] - [33, 16]) (string [33, 17] - [33, 25] (string_fragment [33, 18] - [33, 24]))) attribute: (jsx_attribute [34, 12] - [34, 32] (property_identifier [34, 12] - [34, 14]) (string [34, 15] - [34, 32] (string_fragment [34, 16] - [34, 31]))) attribute: (jsx_attribute [35, 12] - [35, 33] (property_identifier [35, 12] - [35, 17]) (string [35, 18] - [35, 33] (string_fragment [35, 19] - [35, 32]))) attribute: (jsx_attribute [36, 12] - [36, 49] (property_identifier [36, 12] - [36, 19]) (string [36, 20] - [36, 49] (string_fragment [36, 21] - [36, 48]))) attribute: (jsx_attribute [37, 12] - [37, 37] (property_identifier [37, 12] - [37, 22]) (string [37, 23] - [37, 37] (string_fragment [37, 24] - [37, 36]))) attribute: (jsx_attribute [38, 12] - [38, 32] (property_identifier [38, 12] - [38, 24]) (string [38, 25] - [38, 32] (string_fragment [38, 26] - [38, 31])))) (jsx_text [39, 11] - [41, 10]) close_tag: (jsx_closing_element [41, 10] - [41, 19] name: (identifier [41, 12] - [41, 18]))) close_tag: (jsx_closing_element [42, 8] - [42, 14] name: (identifier [42, 10] - [42, 13]))) close_tag: (jsx_closing_element [43, 6] - [43, 12] name: (identifier [43, 8] - [43, 11]))) (jsx_element [45, 6] - [303, 12] open_tag: (jsx_opening_element [45, 6] - [45, 53] name: (identifier [45, 7] - [45, 10]) attribute: (jsx_attribute [45, 11] - [45, 34] (property_identifier [45, 11] - [45, 13]) (string [45, 14] - [45, 34] (string_fragment [45, 15] - [45, 33]))) attribute: (jsx_attribute [45, 35] - [45, 52] (property_identifier [45, 35] - [45, 40]) (string [45, 41] - [45, 52] (string_fragment [45, 42] - [45, 51])))) (jsx_expression [46, 8] - [302, 11] (call_expression [46, 9] - [302, 10] function: (member_expression [46, 9] - [46, 25] object: (identifier [46, 9] - [46, 21]) property: (property_identifier [46, 22] - [46, 25])) arguments: (arguments [46, 25] - [302, 10] (arrow_function [46, 26] - [302, 9] parameters: (formal_parameters [46, 26] - [46, 33] (required_parameter [46, 27] - [46, 32] pattern: (identifier [46, 27] - [46, 32]))) body: (statement_block [46, 37] - [302, 9] (lexical_declaration [47, 10] - [47, 53] (variable_declarator [47, 16] - [47, 52] name: (identifier [47, 16] - [47, 23]) value: (new_expression [47, 26] - [47, 52] constructor: (identifier [47, 30] - [47, 34]) arguments: (arguments [47, 34] - [47, 52] (member_expression [47, 35] - [47, 51] object: (identifier [47, 35] - [47, 40]) property: (property_identifier [47, 41] - [47, 51])))))) (lexical_declaration [48, 10] - [51, 13] (variable_declarator [48, 16] - [51, 12] name: (identifier [48, 16] - [48, 26]) value: (call_expression [48, 29] - [51, 12] function: (member_expression [48, 29] - [48, 55] object: (identifier [48, 29] - [48, 36]) property: (property_identifier [48, 37] - [48, 55])) arguments: (arguments [48, 55] - [51, 12] (array [48, 56] - [48, 58]) (object [48, 60] - [51, 11] (pair [49, 12] - [49, 27] key: (property_identifier [49, 12] - [49, 16]) value: (string [49, 18] - [49, 27] (string_fragment [49, 19] - [49, 26]))) (pair [50, 12] - [50, 29] key: (property_identifier [50, 12] - [50, 18]) value: (string [50, 20] - [50, 29] (string_fragment [50, 21] - [50, 28])))))))) (return_statement [53, 10] - [301, 12] (parenthesized_expression [53, 17] - [301, 11] (jsx_element [54, 12] - [300, 18] open_tag: (jsx_opening_element [54, 12] - [58, 13] name: (identifier [54, 13] - [54, 16]) attribute: (jsx_attribute [55, 14] - [55, 28] (property_identifier [55, 14] - [55, 17]) (jsx_expression [55, 18] - [55, 28] (member_expression [55, 19] - [55, 27] object: (identifier [55, 19] - [55, 24]) property: (property_identifier [55, 25] - [55, 27])))) attribute: (jsx_attribute [56, 14] - [56, 37] (property_identifier [56, 14] - [56, 19]) (string [56, 20] - [56, 37] (string_fragment [56, 21] - [56, 36]))) attribute: (jsx_attribute [57, 14] - [57, 71] (property_identifier [57, 14] - [57, 19]) (string [57, 20] - [57, 71] (string_fragment [57, 21] - [57, 70])))) (jsx_element [59, 14] - [72, 20] open_tag: (jsx_opening_element [59, 14] - [59, 45] name: (identifier [59, 15] - [59, 18]) attribute: (jsx_attribute [59, 19] - [59, 44] (property_identifier [59, 19] - [59, 24]) (string [59, 25] - [59, 44] (string_fragment [59, 26] - [59, 43])))) (jsx_element [60, 16] - [70, 22] open_tag: (jsx_opening_element [60, 16] - [60, 21] name: (identifier [60, 17] - [60, 20])) (jsx_element [61, 18] - [63, 23] open_tag: (jsx_opening_element [61, 18] - [61, 100] name: (identifier [61, 19] - [61, 21]) attribute: (jsx_attribute [61, 22] - [61, 99] (property_identifier [61, 22] - [61, 27]) (string [61, 28] - [61, 99] (string_fragment [61, 29] - [61, 98])))) (jsx_expression [62, 20] - [62, 32] (member_expression [62, 21] - [62, 31] object: (identifier [62, 21] - [62, 26]) property: (property_identifier [62, 27] - [62, 31]))) close_tag: (jsx_closing_element [63, 18] - [63, 23] name: (identifier [63, 20] - [63, 22]))) (jsx_element [64, 18] - [69, 24] open_tag: (jsx_opening_element [64, 18] - [67, 19] name: (identifier [64, 19] - [64, 22]) attribute: (jsx_attribute [65, 20] - [65, 42] (property_identifier [65, 20] - [65, 25]) (string [65, 26] - [65, 42] (string_fragment [65, 27] - [65, 41]))) attribute: (jsx_attribute [66, 20] - [66, 54] (property_identifier [66, 20] - [66, 35]) (jsx_expression [66, 36] - [66, 54] (member_expression [66, 37] - [66, 53] object: (identifier [66, 37] - [66, 42]) property: (property_identifier [66, 43] - [66, 53]))))) (jsx_text [67, 19] - [68, 47]) (jsx_expression [68, 47] - [68, 59] (identifier [68, 48] - [68, 58])) (jsx_text [68, 59] - [69, 18]) close_tag: (jsx_closing_element [69, 18] - [69, 24] name: (identifier [69, 20] - [69, 23]))) close_tag: (jsx_closing_element [70, 16] - [70, 22] name: (identifier [70, 18] - [70, 21]))) (jsx_element [71, 16] - [71, 76] open_tag: (jsx_opening_element [71, 16] - [71, 63] name: (identifier [71, 17] - [71, 21]) attribute: (jsx_attribute [71, 22] - [71, 62] (property_identifier [71, 22] - [71, 27]) (string [71, 28] - [71, 62] (string_fragment [71, 29] - [71, 61])))) (jsx_text [71, 63] - [71, 69]) close_tag: (jsx_closing_element [71, 69] - [71, 76] name: (identifier [71, 71] - [71, 75]))) close_tag: (jsx_closing_element [72, 14] - [72, 20] name: (identifier [72, 16] - [72, 19]))) (jsx_expression [74, 14] - [74, 44] (comment [74, 15] - [74, 43])) (jsx_element [75, 14] - [96, 20] open_tag: (jsx_opening_element [75, 14] - [75, 48] name: (identifier [75, 15] - [75, 18]) attribute: (jsx_attribute [75, 19] - [75, 47] (property_identifier [75, 19] - [75, 24]) (string [75, 25] - [75, 47] (string_fragment [75, 26] - [75, 46])))) (jsx_element [76, 16] - [82, 22] open_tag: (jsx_opening_element [76, 16] - [76, 149] name: (identifier [76, 17] - [76, 20]) attribute: (jsx_attribute [76, 21] - [76, 148] (property_identifier [76, 21] - [76, 26]) (string [76, 27] - [76, 148] (string_fragment [76, 28] - [76, 147])))) (jsx_element [77, 18] - [77, 44] open_tag: (jsx_opening_element [77, 18] - [77, 24] name: (identifier [77, 19] - [77, 23])) (jsx_text [77, 24] - [77, 37]) close_tag: (jsx_closing_element [77, 37] - [77, 44] name: (identifier [77, 39] - [77, 43]))) (jsx_element [78, 18] - [81, 27] open_tag: (jsx_opening_element [78, 18] - [78, 62] name: (identifier [78, 19] - [78, 25]) attribute: (jsx_attribute [78, 26] - [78, 61] (property_identifier [78, 26] - [78, 31]) (string [78, 32] - [78, 61] (string_fragment [78, 33] - [78, 60])))) (jsx_expression [79, 20] - [79, 41] (member_expression [79, 21] - [79, 40] object: (identifier [79, 21] - [79, 26]) property: (property_identifier [79, 27] - [79, 40]))) (jsx_text [79, 41] - [79, 43]) (jsx_expression [79, 43] - [79, 48] (string [79, 44] - [79, 47] (string_fragment [79, 45] - [79, 46]))) (jsx_expression [80, 20] - [80, 69] (ternary_expression [80, 21] - [80, 68] condition: (binary_expression [80, 21] - [80, 42] left: (member_expression [80, 21] - [80, 36] object: (identifier [80, 21] - [80, 26]) property: (property_identifier [80, 27] - [80, 36])) right: (number [80, 41] - [80, 42])) consequence: (string [80, 45] - [80, 50] (string_fragment [80, 46] - [80, 49])) alternative: (member_expression [80, 53] - [80, 68] object: (identifier [80, 53] - [80, 58]) property: (property_identifier [80, 59] - [80, 68])))) close_tag: (jsx_closing_element [81, 18] - [81, 27] name: (identifier [81, 20] - [81, 26]))) close_tag: (jsx_closing_element [82, 16] - [82, 22] name: (identifier [82, 18] - [82, 21]))) (jsx_element [83, 16] - [95, 22] open_tag: (jsx_opening_element [83, 16] - [83, 127] name: (identifier [83, 17] - [83, 20]) attribute: (jsx_attribute [83, 21] - [83, 126] (property_identifier [83, 21] - [83, 26]) (string [83, 27] - [83, 126] (string_fragment [83, 28] - [83, 125])))) (jsx_element [84, 18] - [94, 24] open_tag: (jsx_opening_element [84, 18] - [93, 19] name: (identifier [84, 19] - [84, 22]) attribute: (jsx_attribute [85, 20] - [92, 25] (property_identifier [85, 20] - [85, 25]) (jsx_expression [85, 26] - [92, 25] (template_string [85, 27] - [92, 24] (string_fragment [85, 28] - [85, 77]) (template_substitution [85, 77] - [92, 21] (ternary_expression [86, 22] - [91, 29] condition: (binary_expression [86, 22] - [86, 41] left: (member_expression [86, 22] - [86, 37] object: (identifier [86, 22] - [86, 27]) property: (property_identifier [86, 28] - [86, 37])) right: (number [86, 40] - [86, 41])) consequence: (call_expression [87, 26] - [90, 25] function: (member_expression [87, 26] - [87, 34] object: (identifier [87, 26] - [87, 30]) property: (property_identifier [87, 31] - [87, 34])) arguments: (arguments [87, 34] - [90, 25] (binary_expression [88, 26] - [88, 71] left: (parenthesized_expression [88, 26] - [88, 65] (binary_expression [88, 27] - [88, 64] left: (member_expression [88, 27] - [88, 46] object: (identifier [88, 27] - [88, 32]) property: (property_identifier [88, 33] - [88, 46])) right: (member_expression [88, 49] - [88, 64] object: (identifier [88, 49] - [88, 54]) property: (property_identifier [88, 55] - [88, 64])))) right: (number [88, 68] - [88, 71])) (number [89, 26] - [89, 29]))) alternative: (number [91, 26] - [91, 29]))) (string_fragment [92, 21] - [92, 23]))))) close_tag: (jsx_closing_element [94, 18] - [94, 24] name: (identifier [94, 20] - [94, 23]))) close_tag: (jsx_closing_element [95, 16] - [95, 22] name: (identifier [95, 18] - [95, 21]))) close_tag: (jsx_closing_element [96, 14] - [96, 20] name: (identifier [96, 16] - [96, 19]))) (jsx_expression [98, 14] - [98, 41] (comment [98, 15] - [98, 40])) (jsx_element [99, 14] - [192, 20] open_tag: (jsx_opening_element [99, 14] - [102, 15] name: (identifier [99, 15] - [99, 18]) attribute: (jsx_attribute [100, 16] - [100, 43] (property_identifier [100, 16] - [100, 21]) (string [100, 22] - [100, 43] (string_fragment [100, 23] - [100, 42]))) attribute: (jsx_attribute [101, 16] - [101, 96] (property_identifier [101, 16] - [101, 21]) (string [101, 22] - [101, 96] (string_fragment [101, 23] - [101, 95])))) (jsx_element [103, 16] - [123, 22] open_tag: (jsx_opening_element [103, 16] - [103, 78] name: (identifier [103, 17] - [103, 20]) attribute: (jsx_attribute [103, 21] - [103, 77] (property_identifier [103, 21] - [103, 26]) (string [103, 27] - [103, 77] (string_fragment [103, 28] - [103, 76])))) (jsx_element [104, 18] - [106, 25] open_tag: (jsx_opening_element [104, 18] - [104, 108] name: (identifier [104, 19] - [104, 23]) attribute: (jsx_attribute [104, 24] - [104, 107] (property_identifier [104, 24] - [104, 29]) (string [104, 30] - [104, 107] (string_fragment [104, 31] - [104, 106])))) (jsx_text [104, 108] - [106, 18]) close_tag: (jsx_closing_element [106, 18] - [106, 25] name: (identifier [106, 20] - [106, 24]))) (jsx_element [107, 18] - [112, 25] open_tag: (jsx_opening_element [107, 18] - [110, 19] name: (identifier [107, 19] - [107, 23]) attribute: (jsx_attribute [108, 20] - [108, 212] (property_identifier [108, 20] - [108, 25]) (string [108, 26] - [108, 212] (string_fragment [108, 27] - [108, 211]))) attribute: (jsx_attribute [109, 20] - [109, 42] (property_identifier [109, 20] - [109, 22]) (jsx_expression [109, 23] - [109, 42] (template_string [109, 24] - [109, 41] (string_fragment [109, 25] - [109, 29]) (template_substitution [109, 29] - [109, 40] (member_expression [109, 31] - [109, 39] object: (identifier [109, 31] - [109, 36]) property: (property_identifier [109, 37] - [109, 39]))))))) (jsx_expression [111, 20] - [111, 36] (member_expression [111, 21] - [111, 35] object: (identifier [111, 21] - [111, 26]) property: (property_identifier [111, 27] - [111, 35]))) close_tag: (jsx_closing_element [112, 18] - [112, 25] name: (identifier [112, 20] - [112, 24]))) (jsx_element [113, 18] - [122, 27] open_tag: (jsx_opening_element [113, 18] - [120, 19] name: (identifier [113, 19] - [113, 25]) attribute: (jsx_attribute [114, 20] - [114, 33] (property_identifier [114, 20] - [114, 24]) (string [114, 25] - [114, 33] (string_fragment [114, 26] - [114, 32]))) attribute: (jsx_attribute [115, 20] - [115, 39] (property_identifier [115, 20] - [115, 25]) (string [115, 26] - [115, 39] (string_fragment [115, 27] - [115, 38]))) attribute: (jsx_attribute [116, 20] - [116, 66] (property_identifier [116, 20] - [116, 30]) (jsx_expression [116, 31] - [116, 66] (template_string [116, 32] - [116, 65] (string_fragment [116, 33] - [116, 51]) (template_substitution [116, 51] - [116, 64] (member_expression [116, 53] - [116, 63] object: (identifier [116, 53] - [116, 58]) property: (property_identifier [116, 59] - [116, 63])))))) attribute: (jsx_attribute [117, 20] - [117, 90] (property_identifier [117, 20] - [117, 25]) (string [117, 26] - [117, 90] (string_fragment [117, 27] - [117, 89]))) attribute: (jsx_attribute [118, 20] - [118, 31] (property_identifier [118, 20] - [118, 31])) attribute: (jsx_attribute [119, 20] - [119, 61] (property_identifier [119, 20] - [119, 27]) (jsx_expression [119, 28] - [119, 61] (template_string [119, 29] - [119, 60] (string_fragment [119, 30] - [119, 40]) (template_substitution [119, 40] - [119, 57] (member_expression [119, 42] - [119, 56] object: (identifier [119, 42] - [119, 47]) property: (property_identifier [119, 48] - [119, 56]))) (string_fragment [119, 57] - [119, 59]))))) (jsx_text [120, 19] - [122, 18]) close_tag: (jsx_closing_element [122, 18] - [122, 27] name: (identifier [122, 20] - [122, 26]))) close_tag: (jsx_closing_element [123, 16] - [123, 22] name: (identifier [123, 18] - [123, 21]))) (jsx_element [124, 16] - [145, 22] open_tag: (jsx_opening_element [124, 16] - [124, 78] name: (identifier [124, 17] - [124, 20]) attribute: (jsx_attribute [124, 21] - [124, 77] (property_identifier [124, 21] - [124, 26]) (string [124, 27] - [124, 77] (string_fragment [124, 28] - [124, 76])))) (jsx_element [125, 18] - [127, 25] open_tag: (jsx_opening_element [125, 18] - [125, 108] name: (identifier [125, 19] - [125, 23]) attribute: (jsx_attribute [125, 24] - [125, 107] (property_identifier [125, 24] - [125, 29]) (string [125, 30] - [125, 107] (string_fragment [125, 31] - [125, 106])))) (jsx_text [125, 108] - [127, 18]) close_tag: (jsx_closing_element [127, 18] - [127, 25] name: (identifier [127, 20] - [127, 24]))) (jsx_element [128, 18] - [133, 25] open_tag: (jsx_opening_element [128, 18] - [131, 19] name: (identifier [128, 19] - [128, 23]) attribute: (jsx_attribute [129, 20] - [129, 48] (property_identifier [129, 20] - [129, 22]) (jsx_expression [129, 23] - [129, 48] (template_string [129, 24] - [129, 47] (string_fragment [129, 25] - [129, 35]) (template_substitution [129, 35] - [129, 46] (member_expression [129, 37] - [129, 45] object: (identifier [129, 37] - [129, 42]) property: (property_identifier [129, 43] - [129, 45])))))) attribute: (jsx_attribute [130, 20] - [130, 236] (property_identifier [130, 20] - [130, 25]) (string [130, 26] - [130, 236] (string_fragment [130, 27] - [130, 235])))) (jsx_text [131, 19] - [132, 23]) (jsx_expression [132, 23] - [132, 35] (member_expression [132, 24] - [132, 34] object: (identifier [132, 24] - [132, 29]) property: (property_identifier [132, 30] - [132, 34]))) close_tag: (jsx_closing_element [133, 18] - [133, 25] name: (identifier [133, 20] - [133, 24]))) (jsx_element [134, 18] - [144, 27] open_tag: (jsx_opening_element [134, 18] - [142, 19] name: (identifier [134, 19] - [134, 25]) attribute: (jsx_attribute [135, 20] - [135, 33] (property_identifier [135, 20] - [135, 24]) (string [135, 25] - [135, 33] (string_fragment [135, 26] - [135, 32]))) attribute: (jsx_attribute [136, 20] - [136, 47] (property_identifier [136, 20] - [136, 22]) (jsx_expression [136, 23] - [136, 47] (template_string [136, 24] - [136, 46] (string_fragment [136, 25] - [136, 34]) (template_substitution [136, 34] - [136, 45] (member_expression [136, 36] - [136, 44] object: (identifier [136, 36] - [136, 41]) property: (property_identifier [136, 42] - [136, 44])))))) attribute: (jsx_attribute [137, 20] - [137, 39] (property_identifier [137, 20] - [137, 25]) (string [137, 26] - [137, 39] (string_fragment [137, 27] - [137, 38]))) attribute: (jsx_attribute [138, 20] - [138, 69] (property_identifier [138, 20] - [138, 30]) (jsx_expression [138, 31] - [138, 69] (template_string [138, 32] - [138, 68] (string_fragment [138, 33] - [138, 54]) (template_substitution [138, 54] - [138, 67] (member_expression [138, 56] - [138, 66] object: (identifier [138, 56] - [138, 61]) property: (property_identifier [138, 62] - [138, 66])))))) attribute: (jsx_attribute [139, 20] - [139, 90] (property_identifier [139, 20] - [139, 25]) (string [139, 26] - [139, 90] (string_fragment [139, 27] - [139, 89]))) attribute: (jsx_attribute [140, 20] - [140, 31] (property_identifier [140, 20] - [140, 31])) attribute: (jsx_attribute [141, 20] - [141, 85] (property_identifier [141, 20] - [141, 27]) (jsx_expression [141, 28] - [141, 85] (template_string [141, 29] - [141, 84] (string_fragment [141, 30] - [141, 68]) (template_substitution [141, 68] - [141, 81] (member_expression [141, 70] - [141, 80] object: (identifier [141, 70] - [141, 75]) property: (property_identifier [141, 76] - [141, 80]))) (string_fragment [141, 81] - [141, 83]))))) (jsx_text [142, 19] - [144, 18]) close_tag: (jsx_closing_element [144, 18] - [144, 27] name: (identifier [144, 20] - [144, 26]))) close_tag: (jsx_closing_element [145, 16] - [145, 22] name: (identifier [145, 18] - [145, 21]))) (jsx_element [147, 16] - [191, 26] open_tag: (jsx_opening_element [147, 16] - [150, 17] name: (identifier [147, 17] - [147, 24]) attribute: (jsx_attribute [148, 18] - [148, 37] (property_identifier [148, 18] - [148, 23]) (string [148, 24] - [148, 37] (string_fragment [148, 25] - [148, 36]))) attribute: (jsx_attribute [149, 18] - [149, 58] (property_identifier [149, 18] - [149, 23]) (string [149, 24] - [149, 58] (string_fragment [149, 25] - [149, 57])))) (jsx_element [151, 18] - [177, 28] open_tag: (jsx_opening_element [151, 18] - [151, 120] name: (identifier [151, 19] - [151, 26]) attribute: (jsx_attribute [151, 27] - [151, 119] (property_identifier [151, 27] - [151, 32]) (string [151, 33] - [151, 119] (string_fragment [151, 34] - [151, 118])))) (jsx_element [152, 20] - [154, 27] open_tag: (jsx_opening_element [152, 20] - [152, 110] name: (identifier [152, 21] - [152, 25]) attribute: (jsx_attribute [152, 26] - [152, 109] (property_identifier [152, 26] - [152, 31]) (string [152, 32] - [152, 109] (string_fragment [152, 33] - [152, 108])))) (jsx_text [152, 110] - [154, 20]) close_tag: (jsx_closing_element [154, 20] - [154, 27] name: (identifier [154, 22] - [154, 26]))) (jsx_element [155, 20] - [162, 27] open_tag: (jsx_opening_element [155, 20] - [158, 21] name: (identifier [155, 21] - [155, 25]) attribute: (jsx_attribute [156, 22] - [156, 49] (property_identifier [156, 22] - [156, 24]) (jsx_expression [156, 25] - [156, 49] (template_string [156, 26] - [156, 48] (string_fragment [156, 27] - [156, 36]) (template_substitution [156, 36] - [156, 47] (member_expression [156, 38] - [156, 46] object: (identifier [156, 38] - [156, 43]) property: (property_identifier [156, 44] - [156, 46])))))) attribute: (jsx_attribute [157, 22] - [157, 255] (property_identifier [157, 22] - [157, 27]) (string [157, 28] - [157, 255] (string_fragment [157, 29] - [157, 254])))) (jsx_text [158, 21] - [159, 32]) (jsx_expression [159, 32] - [161, 29] (ternary_expression [159, 33] - [161, 28] condition: (call_expression [159, 33] - [159, 54] function: (member_expression [159, 33] - [159, 45] object: (member_expression [159, 33] - [159, 41] object: (identifier [159, 33] - [159, 37]) property: (property_identifier [159, 38] - [159, 41])) property: (property_identifier [159, 42] - [159, 45])) arguments: (arguments [159, 45] - [159, 54] (string [159, 46] - [159, 53] (string_fragment [159, 47] - [159, 52])))) consequence: (template_string [160, 26] - [160, 60] (string_fragment [160, 27] - [160, 35]) (template_substitution [160, 35] - [160, 59] (call_expression [160, 37] - [160, 58] function: (member_expression [160, 37] - [160, 49] object: (member_expression [160, 37] - [160, 45] object: (identifier [160, 37] - [160, 41]) property: (property_identifier [160, 42] - [160, 45])) property: (property_identifier [160, 46] - [160, 49])) arguments: (arguments [160, 49] - [160, 58] (string [160, 50] - [160, 57] (string_fragment [160, 51] - [160, 56])))))) alternative: (string [161, 26] - [161, 28]))) (jsx_text [161, 29] - [161, 35]) (jsx_expression [161, 35] - [161, 47] (member_expression [161, 36] - [161, 46] object: (identifier [161, 36] - [161, 41]) property: (property_identifier [161, 42] - [161, 46]))) (jsx_text [161, 47] - [162, 20]) close_tag: (jsx_closing_element [162, 20] - [162, 27] name: (identifier [162, 22] - [162, 26]))) (jsx_element [163, 20] - [173, 29] open_tag: (jsx_opening_element [163, 20] - [171, 21] name: (identifier [163, 21] - [163, 27]) attribute: (jsx_attribute [164, 22] - [164, 35] (property_identifier [164, 22] - [164, 26]) (string [164, 27] - [164, 35] (string_fragment [164, 28] - [164, 34]))) attribute: (jsx_attribute [165, 22] - [165, 48] (property_identifier [165, 22] - [165, 24]) (jsx_expression [165, 25] - [165, 48] (template_string [165, 26] - [165, 47] (string_fragment [165, 27] - [165, 35]) (template_substitution [165, 35] - [165, 46] (member_expression [165, 37] - [165, 45] object: (identifier [165, 37] - [165, 42]) property: (property_identifier [165, 43] - [165, 45])))))) attribute: (jsx_attribute [166, 22] - [166, 41] (property_identifier [166, 22] - [166, 27]) (string [166, 28] - [166, 41] (string_fragment [166, 29] - [166, 40]))) attribute: (jsx_attribute [167, 22] - [167, 71] (property_identifier [167, 22] - [167, 32]) (jsx_expression [167, 33] - [167, 71] (template_string [167, 34] - [167, 70] (string_fragment [167, 35] - [167, 56]) (template_substitution [167, 56] - [167, 69] (member_expression [167, 58] - [167, 68] object: (identifier [167, 58] - [167, 63]) property: (property_identifier [167, 64] - [167, 68])))))) attribute: (jsx_attribute [168, 22] - [168, 92] (property_identifier [168, 22] - [168, 27]) (string [168, 28] - [168, 92] (string_fragment [168, 29] - [168, 91]))) attribute: (jsx_attribute [169, 22] - [169, 33] (property_identifier [169, 22] - [169, 33])) attribute: (jsx_attribute [170, 22] - [170, 161] (property_identifier [170, 22] - [170, 29]) (jsx_expression [170, 30] - [170, 161] (template_string [170, 31] - [170, 160] (string_fragment [170, 32] - [170, 113]) (template_substitution [170, 113] - [170, 126] (member_expression [170, 115] - [170, 125] object: (identifier [170, 115] - [170, 120]) property: (property_identifier [170, 121] - [170, 125]))) (string_fragment [170, 126] - [170, 159]))))) (jsx_text [171, 21] - [173, 20]) close_tag: (jsx_closing_element [173, 20] - [173, 29] name: (identifier [173, 22] - [173, 28]))) (jsx_element [174, 20] - [176, 27] open_tag: (jsx_opening_element [174, 20] - [174, 78] name: (identifier [174, 21] - [174, 25]) attribute: (jsx_attribute [174, 26] - [174, 77] (property_identifier [174, 26] - [174, 31]) (string [174, 32] - [174, 77] (string_fragment [174, 33] - [174, 76])))) (jsx_text [174, 78] - [176, 20]) close_tag: (jsx_closing_element [176, 20] - [176, 27] name: (identifier [176, 22] - [176, 26]))) close_tag: (jsx_closing_element [177, 18] - [177, 28] name: (identifier [177, 20] - [177, 27]))) (jsx_element [178, 18] - [190, 29] open_tag: (jsx_opening_element [178, 18] - [184, 19] name: (identifier [178, 19] - [178, 27]) attribute: (jsx_attribute [179, 20] - [179, 51] (property_identifier [179, 20] - [179, 22]) (jsx_expression [179, 23] - [179, 51] (template_string [179, 24] - [179, 50] (string_fragment [179, 25] - [179, 38]) (template_substitution [179, 38] - [179, 49] (member_expression [179, 40] - [179, 48] object: (identifier [179, 40] - [179, 45]) property: (property_identifier [179, 46] - [179, 48])))))) attribute: (jsx_attribute [180, 20] - [180, 28] (property_identifier [180, 20] - [180, 28])) attribute: (jsx_attribute [181, 20] - [181, 28] (property_identifier [181, 20] - [181, 24]) (jsx_expression [181, 25] - [181, 28] (number [181, 26] - [181, 27]))) attribute: (jsx_attribute [182, 20] - [182, 305] (property_identifier [182, 20] - [182, 25]) (string [182, 26] - [182, 305] (string_fragment [182, 27] - [182, 304]))) attribute: (jsx_attribute [183, 20] - [183, 43] (property_identifier [183, 20] - [183, 27]) (string [183, 28] - [183, 43] (string_fragment [183, 29] - [183, 42])))) (jsx_expression [185, 20] - [189, 73] (template_string [185, 21] - [189, 72] (string_fragment [185, 22] - [185, 32]) (template_substitution [185, 32] - [189, 21] (ternary_expression [186, 22] - [188, 28] condition: (call_expression [186, 22] - [186, 43] function: (member_expression [186, 22] - [186, 34] object: (member_expression [186, 22] - [186, 30] object: (identifier [186, 22] - [186, 26]) property: (property_identifier [186, 27] - [186, 30])) property: (property_identifier [186, 31] - [186, 34])) arguments: (arguments [186, 34] - [186, 43] (string [186, 35] - [186, 42] (string_fragment [186, 36] - [186, 41])))) consequence: (template_string [187, 26] - [187, 60] (string_fragment [187, 27] - [187, 35]) (template_substitution [187, 35] - [187, 59] (call_expression [187, 37] - [187, 58] function: (member_expression [187, 37] - [187, 49] object: (member_expression [187, 37] - [187, 45] object: (identifier [187, 37] - [187, 41]) property: (property_identifier [187, 42] - [187, 45])) property: (property_identifier [187, 46] - [187, 49])) arguments: (arguments [187, 49] - [187, 58] (string [187, 50] - [187, 57] (string_fragment [187, 51] - [187, 56])))))) alternative: (string [188, 26] - [188, 28]))) (string_fragment [189, 21] - [189, 27]) (template_substitution [189, 27] - [189, 40] (member_expression [189, 29] - [189, 39] object: (identifier [189, 29] - [189, 34]) property: (property_identifier [189, 35] - [189, 39]))) (string_fragment [189, 40] - [189, 71]))) close_tag: (jsx_closing_element [190, 18] - [190, 29] name: (identifier [190, 20] - [190, 28]))) close_tag: (jsx_closing_element [191, 16] - [191, 26] name: (identifier [191, 18] - [191, 25]))) close_tag: (jsx_closing_element [192, 14] - [192, 20] name: (identifier [192, 16] - [192, 19]))) (jsx_expression [194, 14] - [194, 37] (comment [194, 15] - [194, 36])) (jsx_element [195, 14] - [247, 20] open_tag: (jsx_opening_element [195, 14] - [195, 46] name: (identifier [195, 15] - [195, 18]) attribute: (jsx_attribute [195, 19] - [195, 45] (property_identifier [195, 19] - [195, 24]) (string [195, 25] - [195, 45] (string_fragment [195, 26] - [195, 44])))) (jsx_element [196, 16] - [217, 22] open_tag: (jsx_opening_element [196, 16] - [196, 112] name: (identifier [196, 17] - [196, 20]) attribute: (jsx_attribute [196, 21] - [196, 111] (property_identifier [196, 21] - [196, 26]) (string [196, 27] - [196, 111] (string_fragment [196, 28] - [196, 110])))) (jsx_element [197, 18] - [207, 27] open_tag: (jsx_opening_element [197, 18] - [205, 19] name: (identifier [197, 19] - [197, 25]) attribute: (jsx_attribute [198, 20] - [198, 33] (property_identifier [198, 20] - [198, 24]) (string [198, 25] - [198, 33] (string_fragment [198, 26] - [198, 32]))) attribute: (jsx_attribute [199, 20] - [199, 39] (property_identifier [199, 20] - [199, 25]) (string [199, 26] - [199, 39] (string_fragment [199, 27] - [199, 38]))) attribute: (jsx_attribute [200, 20] - [200, 69] (property_identifier [200, 20] - [200, 30]) (jsx_expression [200, 31] - [200, 69] (template_string [200, 32] - [200, 68] (string_fragment [200, 33] - [200, 54]) (template_substitution [200, 54] - [200, 67] (member_expression [200, 56] - [200, 66] object: (identifier [200, 56] - [200, 61]) property: (property_identifier [200, 62] - [200, 66])))))) attribute: (jsx_attribute [201, 20] - [201, 90] (property_identifier [201, 20] - [201, 25]) (string [201, 26] - [201, 90] (string_fragment [201, 27] - [201, 89]))) attribute: (jsx_attribute [202, 20] - [204, 25] (property_identifier [202, 20] - [202, 27]) (jsx_expression [202, 28] - [204, 25] (template_string [202, 29] - [204, 24] (string_fragment [202, 30] - [202, 51]) (template_substitution [202, 51] - [202, 62] (member_expression [202, 53] - [202, 61] object: (identifier [202, 53] - [202, 58]) property: (property_identifier [202, 59] - [202, 61]))) (string_fragment [202, 62] - [202, 66]) (template_substitution [202, 66] - [204, 21] (call_expression [203, 22] - [203, 53] function: (member_expression [203, 22] - [203, 40] object: (member_expression [203, 22] - [203, 32] object: (identifier [203, 22] - [203, 27]) property: (property_identifier [203, 28] - [203, 32])) property: (property_identifier [203, 33] - [203, 40])) arguments: (arguments [203, 40] - [203, 53] (regex [203, 41] - [203, 45] pattern: (regex_pattern [203, 42] - [203, 43]) flags: (regex_flags [203, 44] - [203, 45])) (string [203, 47] - [203, 52] (escape_sequence [203, 48] - [203, 50]) (string_fragment [203, 50] - [203, 51]))))) (string_fragment [204, 21] - [204, 23]))))) (jsx_text [205, 19] - [206, 40]) (jsx_expression [206, 40] - [206, 61] (member_expression [206, 41] - [206, 60] object: (identifier [206, 41] - [206, 46]) property: (property_identifier [206, 47] - [206, 60]))) (jsx_text [206, 61] - [207, 18]) close_tag: (jsx_closing_element [207, 18] - [207, 27] name: (identifier [207, 20] - [207, 26]))) (jsx_element [208, 18] - [216, 27] open_tag: (jsx_opening_element [208, 18] - [214, 19] name: (identifier [208, 19] - [208, 25]) attribute: (jsx_attribute [209, 20] - [209, 33] (property_identifier [209, 20] - [209, 24]) (string [209, 25] - [209, 33] (string_fragment [209, 26] - [209, 32]))) attribute: (jsx_attribute [210, 20] - [210, 39] (property_identifier [210, 20] - [210, 25]) (string [210, 26] - [210, 39] (string_fragment [210, 27] - [210, 38]))) attribute: (jsx_attribute [211, 20] - [211, 63] (property_identifier [211, 20] - [211, 30]) (jsx_expression [211, 31] - [211, 63] (template_string [211, 32] - [211, 62] (string_fragment [211, 33] - [211, 48]) (template_substitution [211, 48] - [211, 61] (member_expression [211, 50] - [211, 60] object: (identifier [211, 50] - [211, 55]) property: (property_identifier [211, 56] - [211, 60])))))) attribute: (jsx_attribute [212, 20] - [212, 90] (property_identifier [212, 20] - [212, 25]) (string [212, 26] - [212, 90] (string_fragment [212, 27] - [212, 89]))) attribute: (jsx_attribute [213, 20] - [213, 61] (property_identifier [213, 20] - [213, 27]) (jsx_expression [213, 28] - [213, 61] (template_string [213, 29] - [213, 60] (string_fragment [213, 30] - [213, 43]) (template_substitution [213, 43] - [213, 54] (member_expression [213, 45] - [213, 53] object: (identifier [213, 45] - [213, 50]) property: (property_identifier [213, 51] - [213, 53]))) (string_fragment [213, 54] - [213, 59]))))) (jsx_text [214, 19] - [216, 18]) close_tag: (jsx_closing_element [216, 18] - [216, 27] name: (identifier [216, 20] - [216, 26]))) close_tag: (jsx_closing_element [217, 16] - [217, 22] name: (identifier [217, 18] - [217, 21]))) (jsx_element [218, 16] - [246, 22] open_tag: (jsx_opening_element [218, 16] - [218, 93] name: (identifier [218, 17] - [218, 20]) attribute: (jsx_attribute [218, 21] - [218, 92] (property_identifier [218, 21] - [218, 26]) (string [218, 27] - [218, 92] (string_fragment [218, 28] - [218, 91])))) (jsx_element [219, 18] - [227, 27] open_tag: (jsx_opening_element [219, 18] - [225, 19] name: (identifier [219, 19] - [219, 25]) attribute: (jsx_attribute [220, 20] - [220, 33] (property_identifier [220, 20] - [220, 24]) (string [220, 25] - [220, 33] (string_fragment [220, 26] - [220, 32]))) attribute: (jsx_attribute [221, 20] - [221, 39] (property_identifier [221, 20] - [221, 25]) (string [221, 26] - [221, 39] (string_fragment [221, 27] - [221, 38]))) attribute: (jsx_attribute [222, 20] - [222, 63] (property_identifier [222, 20] - [222, 30]) (jsx_expression [222, 31] - [222, 63] (template_string [222, 32] - [222, 62] (string_fragment [222, 33] - [222, 48]) (template_substitution [222, 48] - [222, 61] (member_expression [222, 50] - [222, 60] object: (identifier [222, 50] - [222, 55]) property: (property_identifier [222, 56] - [222, 60])))))) attribute: (jsx_attribute [223, 20] - [223, 110] (property_identifier [223, 20] - [223, 25]) (string [223, 26] - [223, 110] (string_fragment [223, 27] - [223, 109]))) attribute: (jsx_attribute [224, 20] - [224, 56] (property_identifier [224, 20] - [224, 27]) (jsx_expression [224, 28] - [224, 56] (template_string [224, 29] - [224, 55] (string_fragment [224, 30] - [224, 41]) (template_substitution [224, 41] - [224, 52] (member_expression [224, 43] - [224, 51] object: (identifier [224, 43] - [224, 48]) property: (property_identifier [224, 49] - [224, 51]))) (string_fragment [224, 52] - [224, 54]))))) (jsx_text [225, 19] - [227, 18]) close_tag: (jsx_closing_element [227, 18] - [227, 27] name: (identifier [227, 20] - [227, 26]))) (jsx_element [228, 18] - [236, 27] open_tag: (jsx_opening_element [228, 18] - [234, 19] name: (identifier [228, 19] - [228, 25]) attribute: (jsx_attribute [229, 20] - [229, 33] (property_identifier [229, 20] - [229, 24]) (string [229, 25] - [229, 33] (string_fragment [229, 26] - [229, 32]))) attribute: (jsx_attribute [230, 20] - [230, 56] (property_identifier [230, 20] - [230, 25]) (string [230, 26] - [230, 56] (string_fragment [230, 27] - [230, 55]))) attribute: (jsx_attribute [231, 20] - [231, 44] (property_identifier [231, 20] - [231, 33]) (jsx_expression [231, 34] - [231, 44] (member_expression [231, 35] - [231, 43] object: (identifier [231, 35] - [231, 40]) property: (property_identifier [231, 41] - [231, 43])))) attribute: (jsx_attribute [232, 20] - [232, 78] (property_identifier [232, 20] - [232, 30]) (jsx_expression [232, 31] - [232, 78] (template_string [232, 32] - [232, 77] (string_fragment [232, 33] - [232, 63]) (template_substitution [232, 63] - [232, 76] (member_expression [232, 65] - [232, 75] object: (identifier [232, 65] - [232, 70]) property: (property_identifier [232, 71] - [232, 75])))))) attribute: (jsx_attribute [233, 20] - [233, 110] (property_identifier [233, 20] - [233, 25]) (string [233, 26] - [233, 110] (string_fragment [233, 27] - [233, 109])))) (jsx_text [234, 19] - [236, 18]) close_tag: (jsx_closing_element [236, 18] - [236, 27] name: (identifier [236, 20] - [236, 26]))) (jsx_element [237, 18] - [245, 27] open_tag: (jsx_opening_element [237, 18] - [243, 19] name: (identifier [237, 19] - [237, 25]) attribute: (jsx_attribute [238, 20] - [238, 33] (property_identifier [238, 20] - [238, 24]) (string [238, 25] - [238, 33] (string_fragment [238, 26] - [238, 32]))) attribute: (jsx_attribute [239, 20] - [239, 52] (property_identifier [239, 20] - [239, 25]) (string [239, 26] - [239, 52] (string_fragment [239, 27] - [239, 51]))) attribute: (jsx_attribute [240, 20] - [240, 44] (property_identifier [240, 20] - [240, 33]) (jsx_expression [240, 34] - [240, 44] (member_expression [240, 35] - [240, 43] object: (identifier [240, 35] - [240, 40]) property: (property_identifier [240, 41] - [240, 43])))) attribute: (jsx_attribute [241, 20] - [241, 83] (property_identifier [241, 20] - [241, 30]) (jsx_expression [241, 31] - [241, 83] (template_string [241, 32] - [241, 82] (string_fragment [241, 33] - [241, 43]) (template_substitution [241, 43] - [241, 56] (member_expression [241, 45] - [241, 55] object: (identifier [241, 45] - [241, 50]) property: (property_identifier [241, 51] - [241, 55]))) (string_fragment [241, 56] - [241, 81])))) attribute: (jsx_attribute [242, 20] - [242, 110] (property_identifier [242, 20] - [242, 25]) (string [242, 26] - [242, 110] (string_fragment [242, 27] - [242, 109])))) (jsx_text [243, 19] - [245, 18]) close_tag: (jsx_closing_element [245, 18] - [245, 27] name: (identifier [245, 20] - [245, 26]))) close_tag: (jsx_closing_element [246, 16] - [246, 22] name: (identifier [246, 18] - [246, 21]))) close_tag: (jsx_closing_element [247, 14] - [247, 20] name: (identifier [247, 16] - [247, 19]))) (jsx_expression [249, 14] - [249, 37] (comment [249, 15] - [249, 36])) (jsx_element [250, 14] - [299, 20] open_tag: (jsx_opening_element [250, 14] - [250, 52] name: (identifier [250, 15] - [250, 18]) attribute: (jsx_attribute [250, 19] - [250, 51] (property_identifier [250, 19] - [250, 24]) (string [250, 25] - [250, 51] (string_fragment [250, 26] - [250, 50])))) (jsx_element [251, 16] - [278, 22] open_tag: (jsx_opening_element [251, 16] - [251, 43] name: (identifier [251, 17] - [251, 20]) attribute: (jsx_attribute [251, 21] - [251, 42] (property_identifier [251, 21] - [251, 26]) (string [251, 27] - [251, 42] (string_fragment [251, 28] - [251, 41])))) (jsx_element [252, 18] - [261, 25] open_tag: (jsx_opening_element [252, 18] - [256, 19] name: (identifier [252, 19] - [252, 23]) attribute: (jsx_attribute [253, 20] - [253, 40] (property_identifier [253, 20] - [253, 25]) (string [253, 26] - [253, 40] (string_fragment [253, 27] - [253, 39]))) attribute: (jsx_attribute [254, 20] - [254, 31] (property_identifier [254, 20] - [254, 31])) attribute: (jsx_attribute [255, 20] - [255, 61] (property_identifier [255, 20] - [255, 27]) (jsx_expression [255, 28] - [255, 61] (template_string [255, 29] - [255, 60] (string_fragment [255, 30] - [255, 40]) (template_substitution [255, 40] - [255, 57] (member_expression [255, 42] - [255, 56] object: (identifier [255, 42] - [255, 47]) property: (property_identifier [255, 48] - [255, 56]))) (string_fragment [255, 57] - [255, 59]))))) (jsx_text [256, 19] - [257, 24]) (jsx_expression [257, 24] - [257, 29] (string [257, 25] - [257, 28] (string_fragment [257, 26] - [257, 27]))) (jsx_element [258, 20] - [258, 80] open_tag: (jsx_opening_element [258, 20] - [258, 57] name: (identifier [258, 21] - [258, 25]) attribute: (jsx_attribute [258, 26] - [258, 56] (property_identifier [258, 26] - [258, 28]) (jsx_expression [258, 29] - [258, 56] (template_string [258, 30] - [258, 55] (string_fragment [258, 31] - [258, 43]) (template_substitution [258, 43] - [258, 54] (member_expression [258, 45] - [258, 53] object: (identifier [258, 45] - [258, 50]) property: (property_identifier [258, 51] - [258, 53]))))))) (jsx_expression [258, 57] - [258, 73] (member_expression [258, 58] - [258, 72] object: (identifier [258, 58] - [258, 63]) property: (property_identifier [258, 64] - [258, 72]))) close_tag: (jsx_closing_element [258, 73] - [258, 80] name: (identifier [258, 75] - [258, 79]))) (jsx_expression [259, 20] - [259, 25] (string [259, 21] - [259, 24] (string_fragment [259, 22] - [259, 23]))) (jsx_text [259, 25] - [261, 18]) close_tag: (jsx_closing_element [261, 18] - [261, 25] name: (identifier [261, 20] - [261, 24]))) (jsx_element [262, 18] - [269, 25] open_tag: (jsx_opening_element [262, 18] - [267, 19] name: (identifier [262, 19] - [262, 23]) attribute: (jsx_attribute [263, 20] - [263, 51] (property_identifier [263, 20] - [263, 22]) (jsx_expression [263, 23] - [263, 51] (template_string [263, 24] - [263, 50] (string_fragment [263, 25] - [263, 38]) (template_substitution [263, 38] - [263, 49] (member_expression [263, 40] - [263, 48] object: (identifier [263, 40] - [263, 45]) property: (property_identifier [263, 46] - [263, 48])))))) attribute: (jsx_attribute [264, 20] - [264, 40] (property_identifier [264, 20] - [264, 25]) (string [264, 26] - [264, 40] (string_fragment [264, 27] - [264, 39]))) attribute: (jsx_attribute [265, 20] - [265, 31] (property_identifier [265, 20] - [265, 31])) attribute: (jsx_attribute [266, 20] - [266, 85] (property_identifier [266, 20] - [266, 27]) (jsx_expression [266, 28] - [266, 85] (template_string [266, 29] - [266, 84] (string_fragment [266, 30] - [266, 68]) (template_substitution [266, 68] - [266, 81] (member_expression [266, 70] - [266, 80] object: (identifier [266, 70] - [266, 75]) property: (property_identifier [266, 76] - [266, 80]))) (string_fragment [266, 81] - [266, 83]))))) (jsx_text [267, 19] - [269, 18]) close_tag: (jsx_closing_element [269, 18] - [269, 25] name: (identifier [269, 20] - [269, 24]))) (jsx_element [270, 18] - [277, 25] open_tag: (jsx_opening_element [270, 18] - [275, 19] name: (identifier [270, 19] - [270, 23]) attribute: (jsx_attribute [271, 20] - [271, 50] (property_identifier [271, 20] - [271, 22]) (jsx_expression [271, 23] - [271, 50] (template_string [271, 24] - [271, 49] (string_fragment [271, 25] - [271, 37]) (template_substitution [271, 37] - [271, 48] (member_expression [271, 39] - [271, 47] object: (identifier [271, 39] - [271, 44]) property: (property_identifier [271, 45] - [271, 47])))))) attribute: (jsx_attribute [272, 20] - [272, 40] (property_identifier [272, 20] - [272, 25]) (string [272, 26] - [272, 40] (string_fragment [272, 27] - [272, 39]))) attribute: (jsx_attribute [273, 20] - [273, 31] (property_identifier [273, 20] - [273, 31])) attribute: (jsx_attribute [274, 20] - [274, 134] (property_identifier [274, 20] - [274, 27]) (jsx_expression [274, 28] - [274, 134] (template_string [274, 29] - [274, 133] (string_fragment [274, 30] - [274, 86]) (template_substitution [274, 86] - [274, 99] (member_expression [274, 88] - [274, 98] object: (identifier [274, 88] - [274, 93]) property: (property_identifier [274, 94] - [274, 98]))) (string_fragment [274, 99] - [274, 132]))))) (jsx_text [275, 19] - [277, 18]) close_tag: (jsx_closing_element [277, 18] - [277, 25] name: (identifier [277, 20] - [277, 24]))) close_tag: (jsx_closing_element [278, 16] - [278, 22] name: (identifier [278, 18] - [278, 21]))) (jsx_element [279, 16] - [298, 22] open_tag: (jsx_opening_element [279, 16] - [279, 51] name: (identifier [279, 17] - [279, 20]) attribute: (jsx_attribute [279, 21] - [279, 50] (property_identifier [279, 21] - [279, 26]) (string [279, 27] - [279, 50] (string_fragment [279, 28] - [279, 49])))) (jsx_element [280, 18] - [289, 27] open_tag: (jsx_opening_element [280, 18] - [287, 19] name: (identifier [280, 19] - [280, 25]) attribute: (jsx_attribute [281, 20] - [281, 33] (property_identifier [281, 20] - [281, 24]) (string [281, 25] - [281, 33] (string_fragment [281, 26] - [281, 32]))) attribute: (jsx_attribute [282, 20] - [282, 39] (property_identifier [282, 20] - [282, 25]) (string [282, 26] - [282, 39] (string_fragment [282, 27] - [282, 38]))) attribute: (jsx_attribute [283, 20] - [283, 89] (property_identifier [283, 20] - [283, 25]) (string [283, 26] - [283, 89] (string_fragment [283, 27] - [283, 88]))) attribute: (jsx_attribute [284, 20] - [286, 25] (property_identifier [284, 20] - [284, 27]) (jsx_expression [284, 28] - [286, 25] (template_string [284, 29] - [286, 24] (string_fragment [284, 30] - [284, 51]) (template_substitution [284, 51] - [284, 62] (member_expression [284, 53] - [284, 61] object: (identifier [284, 53] - [284, 58]) property: (property_identifier [284, 59] - [284, 61]))) (string_fragment [284, 62] - [284, 66]) (template_substitution [284, 66] - [286, 21] (call_expression [285, 22] - [285, 53] function: (member_expression [285, 22] - [285, 40] object: (member_expression [285, 22] - [285, 32] object: (identifier [285, 22] - [285, 27]) property: (property_identifier [285, 28] - [285, 32])) property: (property_identifier [285, 33] - [285, 40])) arguments: (arguments [285, 40] - [285, 53] (regex [285, 41] - [285, 45] pattern: (regex_pattern [285, 42] - [285, 43]) flags: (regex_flags [285, 44] - [285, 45])) (string [285, 47] - [285, 52] (escape_sequence [285, 48] - [285, 50]) (string_fragment [285, 50] - [285, 51]))))) (string_fragment [286, 21] - [286, 23]))))) (jsx_text [287, 19] - [288, 33]) (jsx_expression [288, 33] - [288, 54] (member_expression [288, 34] - [288, 53] object: (identifier [288, 34] - [288, 39]) property: (property_identifier [288, 40] - [288, 53]))) (jsx_text [288, 54] - [289, 18]) close_tag: (jsx_closing_element [289, 18] - [289, 27] name: (identifier [289, 20] - [289, 26]))) (jsx_element [290, 18] - [297, 27] open_tag: (jsx_opening_element [290, 18] - [295, 19] name: (identifier [290, 19] - [290, 25]) attribute: (jsx_attribute [291, 20] - [291, 33] (property_identifier [291, 20] - [291, 24]) (string [291, 25] - [291, 33] (string_fragment [291, 26] - [291, 32]))) attribute: (jsx_attribute [292, 20] - [292, 56] (property_identifier [292, 20] - [292, 25]) (string [292, 26] - [292, 56] (string_fragment [292, 27] - [292, 55]))) attribute: (jsx_attribute [293, 20] - [293, 44] (property_identifier [293, 20] - [293, 33]) (jsx_expression [293, 34] - [293, 44] (member_expression [293, 35] - [293, 43] object: (identifier [293, 35] - [293, 40]) property: (property_identifier [293, 41] - [293, 43])))) attribute: (jsx_attribute [294, 20] - [294, 89] (property_identifier [294, 20] - [294, 25]) (string [294, 26] - [294, 89] (string_fragment [294, 27] - [294, 88])))) (jsx_text [295, 19] - [297, 18]) close_tag: (jsx_closing_element [297, 18] - [297, 27] name: (identifier [297, 20] - [297, 26]))) close_tag: (jsx_closing_element [298, 16] - [298, 22] name: (identifier [298, 18] - [298, 21]))) close_tag: (jsx_closing_element [299, 14] - [299, 20] name: (identifier [299, 16] - [299, 19]))) close_tag: (jsx_closing_element [300, 12] - [300, 18] name: (identifier [300, 14] - [300, 17])))))))))) close_tag: (jsx_closing_element [303, 6] - [303, 12] name: (identifier [303, 8] - [303, 11]))) (jsx_expression [305, 6] - [305, 48] (comment [305, 7] - [305, 47])) (jsx_expression [306, 6] - [353, 8] (binary_expression [306, 7] - [353, 7] left: (binary_expression [306, 7] - [306, 31] left: (member_expression [306, 7] - [306, 27] object: (identifier [306, 7] - [306, 20]) property: (property_identifier [306, 21] - [306, 27])) right: (number [306, 30] - [306, 31])) right: (parenthesized_expression [306, 35] - [353, 7] (jsx_element [307, 8] - [352, 18] open_tag: (jsx_opening_element [307, 8] - [307, 175] name: (identifier [307, 9] - [307, 16]) attribute: (jsx_attribute [307, 17] - [307, 174] (property_identifier [307, 17] - [307, 22]) (string [307, 23] - [307, 174] (string_fragment [307, 24] - [307, 173])))) (jsx_element [308, 10] - [310, 20] open_tag: (jsx_opening_element [308, 10] - [308, 112] name: (identifier [308, 11] - [308, 18]) attribute: (jsx_attribute [308, 19] - [308, 111] (property_identifier [308, 19] - [308, 24]) (string [308, 25] - [308, 111] (string_fragment [308, 26] - [308, 110])))) (jsx_text [308, 112] - [309, 33]) (jsx_expression [309, 33] - [309, 55] (member_expression [309, 34] - [309, 54] object: (identifier [309, 34] - [309, 47]) property: (property_identifier [309, 48] - [309, 54]))) (jsx_text [309, 55] - [310, 10]) close_tag: (jsx_closing_element [310, 10] - [310, 20] name: (identifier [310, 12] - [310, 19]))) (jsx_element [311, 10] - [351, 16] open_tag: (jsx_opening_element [311, 10] - [311, 94] name: (identifier [311, 11] - [311, 14]) attribute: (jsx_attribute [311, 15] - [311, 93] (property_identifier [311, 15] - [311, 20]) (string [311, 21] - [311, 93] (string_fragment [311, 22] - [311, 92])))) (jsx_expression [312, 12] - [350, 15] (call_expression [312, 13] - [350, 14] function: (member_expression [312, 13] - [312, 30] object: (identifier [312, 13] - [312, 26]) property: (property_identifier [312, 27] - [312, 30])) arguments: (arguments [312, 30] - [350, 14] (arrow_function [312, 31] - [350, 13] parameters: (formal_parameters [312, 31] - [312, 38] (required_parameter [312, 32] - [312, 37] pattern: (identifier [312, 32] - [312, 37]))) body: (parenthesized_expression [312, 42] - [350, 13] (jsx_element [313, 14] - [349, 20] open_tag: (jsx_opening_element [313, 14] - [317, 15] name: (identifier [313, 15] - [313, 18]) attribute: (jsx_attribute [314, 16] - [314, 30] (property_identifier [314, 16] - [314, 19]) (jsx_expression [314, 20] - [314, 30] (member_expression [314, 21] - [314, 29] object: (identifier [314, 21] - [314, 26]) property: (property_identifier [314, 27] - [314, 29])))) attribute: (jsx_attribute [315, 16] - [315, 28] (property_identifier [315, 16] - [315, 21]) (string [315, 22] - [315, 28] (string_fragment [315, 23] - [315, 27]))) attribute: (jsx_attribute [316, 16] - [316, 213] (property_identifier [316, 16] - [316, 21]) (string [316, 22] - [316, 213] (string_fragment [316, 23] - [316, 212])))) (jsx_element [318, 16] - [330, 22] open_tag: (jsx_opening_element [318, 16] - [318, 21] name: (identifier [318, 17] - [318, 20])) (jsx_element [319, 18] - [324, 24] open_tag: (jsx_opening_element [319, 18] - [319, 104] name: (identifier [319, 19] - [319, 22]) attribute: (jsx_attribute [319, 23] - [319, 103] (property_identifier [319, 23] - [319, 28]) (string [319, 29] - [319, 103] (string_fragment [319, 30] - [319, 102])))) (jsx_element [320, 20] - [322, 29] open_tag: (jsx_opening_element [320, 20] - [320, 84] name: (identifier [320, 21] - [320, 27]) attribute: (jsx_attribute [320, 28] - [320, 83] (property_identifier [320, 28] - [320, 33]) (string [320, 34] - [320, 83] (string_fragment [320, 35] - [320, 82])))) (jsx_expression [321, 22] - [321, 34] (member_expression [321, 23] - [321, 33] object: (identifier [321, 23] - [321, 28]) property: (property_identifier [321, 29] - [321, 33]))) close_tag: (jsx_closing_element [322, 20] - [322, 29] name: (identifier [322, 22] - [322, 28]))) (jsx_element [323, 20] - [323, 70] open_tag: (jsx_opening_element [323, 20] - [323, 56] name: (identifier [323, 21] - [323, 25]) attribute: (jsx_attribute [323, 26] - [323, 55] (property_identifier [323, 26] - [323, 31]) (string [323, 32] - [323, 55] (string_fragment [323, 33] - [323, 54])))) (jsx_text [323, 56] - [323, 63]) close_tag: (jsx_closing_element [323, 63] - [323, 70] name: (identifier [323, 65] - [323, 69]))) close_tag: (jsx_closing_element [324, 18] - [324, 24] name: (identifier [324, 20] - [324, 23]))) (jsx_element [325, 18] - [329, 24] open_tag: (jsx_opening_element [325, 18] - [325, 80] name: (identifier [325, 19] - [325, 22]) attribute: (jsx_attribute [325, 23] - [325, 79] (property_identifier [325, 23] - [325, 28]) (string [325, 29] - [325, 79] (string_fragment [325, 30] - [325, 78])))) (jsx_text [325, 80] - [326, 28]) (jsx_expression [326, 28] - [326, 77] (call_expression [326, 29] - [326, 76] function: (member_expression [326, 29] - [326, 74] object: (new_expression [326, 29] - [326, 55] constructor: (identifier [326, 33] - [326, 37]) arguments: (arguments [326, 37] - [326, 55] (member_expression [326, 38] - [326, 54] object: (identifier [326, 38] - [326, 43]) property: (property_identifier [326, 44] - [326, 54])))) property: (property_identifier [326, 56] - [326, 74])) arguments: (arguments [326, 74] - [326, 76]))) (jsx_text [326, 77] - [327, 20]) (jsx_expression [327, 20] - [327, 25] (string [327, 21] - [327, 24] (string_fragment [327, 22] - [327, 23]))) (jsx_expression [328, 20] - [328, 41] (member_expression [328, 21] - [328, 40] object: (identifier [328, 21] - [328, 26]) property: (property_identifier [328, 27] - [328, 40]))) (jsx_text [328, 41] - [329, 18]) close_tag: (jsx_closing_element [329, 18] - [329, 24] name: (identifier [329, 20] - [329, 23]))) close_tag: (jsx_closing_element [330, 16] - [330, 22] name: (identifier [330, 18] - [330, 21]))) (jsx_element [331, 16] - [348, 22] open_tag: (jsx_opening_element [331, 16] - [331, 78] name: (identifier [331, 17] - [331, 20]) attribute: (jsx_attribute [331, 21] - [331, 77] (property_identifier [331, 21] - [331, 26]) (string [331, 27] - [331, 77] (string_fragment [331, 28] - [331, 76])))) (jsx_element [332, 18] - [339, 27] open_tag: (jsx_opening_element [332, 18] - [337, 19] name: (identifier [332, 19] - [332, 25]) attribute: (jsx_attribute [333, 20] - [333, 33] (property_identifier [333, 20] - [333, 24]) (string [333, 25] - [333, 33] (string_fragment [333, 26] - [333, 32]))) attribute: (jsx_attribute [334, 20] - [334, 56] (property_identifier [334, 20] - [334, 25]) (string [334, 26] - [334, 56] (string_fragment [334, 27] - [334, 55]))) attribute: (jsx_attribute [335, 20] - [335, 44] (property_identifier [335, 20] - [335, 33]) (jsx_expression [335, 34] - [335, 44] (member_expression [335, 35] - [335, 43] object: (identifier [335, 35] - [335, 40]) property: (property_identifier [335, 41] - [335, 43])))) attribute: (jsx_attribute [336, 20] - [336, 89] (property_identifier [336, 20] - [336, 25]) (string [336, 26] - [336, 89] (string_fragment [336, 27] - [336, 88])))) (jsx_text [337, 19] - [339, 18]) close_tag: (jsx_closing_element [339, 18] - [339, 27] name: (identifier [339, 20] - [339, 26]))) (jsx_element [340, 18] - [347, 27] open_tag: (jsx_opening_element [340, 18] - [345, 19] name: (identifier [340, 19] - [340, 25]) attribute: (jsx_attribute [341, 20] - [341, 33] (property_identifier [341, 20] - [341, 24]) (string [341, 25] - [341, 33] (string_fragment [341, 26] - [341, 32]))) attribute: (jsx_attribute [342, 20] - [342, 52] (property_identifier [342, 20] - [342, 25]) (string [342, 26] - [342, 52] (string_fragment [342, 27] - [342, 51]))) attribute: (jsx_attribute [343, 20] - [343, 44] (property_identifier [343, 20] - [343, 33]) (jsx_expression [343, 34] - [343, 44] (member_expression [343, 35] - [343, 43] object: (identifier [343, 35] - [343, 40]) property: (property_identifier [343, 41] - [343, 43])))) attribute: (jsx_attribute [344, 20] - [344, 89] (property_identifier [344, 20] - [344, 25]) (string [344, 26] - [344, 89] (string_fragment [344, 27] - [344, 88])))) (jsx_text [345, 19] - [347, 18]) close_tag: (jsx_closing_element [347, 18] - [347, 27] name: (identifier [347, 20] - [347, 26]))) close_tag: (jsx_closing_element [348, 16] - [348, 22] name: (identifier [348, 18] - [348, 21]))) close_tag: (jsx_closing_element [349, 14] - [349, 20] name: (identifier [349, 16] - [349, 19])))))))) close_tag: (jsx_closing_element [351, 10] - [351, 16] name: (identifier [351, 12] - [351, 15]))) close_tag: (jsx_closing_element [352, 8] - [352, 18] name: (identifier [352, 10] - [352, 17])))))) (jsx_element [355, 6] - [355, 40] open_tag: (jsx_opening_element [355, 6] - [355, 13] name: (identifier [355, 7] - [355, 12])) (jsx_expression [355, 13] - [355, 32] (identifier [355, 14] - [355, 31])) close_tag: (jsx_closing_element [355, 32] - [355, 40] name: (identifier [355, 34] - [355, 39]))) close_tag: (jsx_closing_element [356, 4] - [356, 10] name: (identifier [356, 6] - [356, 9])))))))))))