(program [0, 0] - [172, 0] (import_statement [0, 0] - [0, 68] (import_clause [0, 7] - [0, 30] (named_imports [0, 7] - [0, 30] (import_specifier [0, 9] - [0, 28] name: (identifier [0, 9] - [0, 28])))) source: (string [0, 36] - [0, 67] (string_fragment [0, 37] - [0, 66]))) (export_statement [2, 0] - [171, 2] declaration: (lexical_declaration [2, 7] - [171, 2] (variable_declarator [2, 13] - [171, 1] name: (identifier [2, 13] - [2, 33]) value: (arrow_function [2, 36] - [171, 1] parameters: (formal_parameters [2, 36] - [6, 2] (required_parameter [2, 37] - [6, 1] pattern: (object_pattern [2, 37] - [4, 1] (shorthand_property_identifier_pattern [3, 2] - [3, 6])) type: (type_annotation [4, 1] - [6, 1] (object_type [4, 3] - [6, 1] (property_signature [5, 2] - [5, 13] name: (property_identifier [5, 2] - [5, 6]) type: (type_annotation [5, 6] - [5, 13] (array_type [5, 8] - [5, 13] (predefined_type [5, 8] - [5, 11])))))))) body: (statement_block [6, 6] - [171, 1] (return_statement [7, 2] - [170, 4] (parenthesized_expression [7, 9] - [170, 3] (jsx_element [8, 4] - [169, 26] open_tag: (jsx_opening_element [8, 4] - [8, 76] name: (identifier [8, 5] - [8, 24]) attribute: (jsx_attribute [8, 25] - [8, 43] (property_identifier [8, 25] - [8, 30]) (string [8, 31] - [8, 43] (string_fragment [8, 32] - [8, 42]))) attribute: (jsx_attribute [8, 44] - [8, 75] (property_identifier [8, 44] - [8, 55]) (string [8, 56] - [8, 75] (string_fragment [8, 57] - [8, 74])))) (jsx_element [9, 6] - [41, 12] open_tag: (jsx_opening_element [9, 6] - [9, 142] name: (identifier [9, 7] - [9, 10]) attribute: (jsx_attribute [9, 11] - [9, 141] (property_identifier [9, 11] - [9, 16]) (string [9, 17] - [9, 141] (string_fragment [9, 18] - [9, 140])))) (jsx_element [10, 8] - [18, 14] open_tag: (jsx_opening_element [10, 8] - [10, 13] name: (identifier [10, 9] - [10, 12])) (jsx_element [11, 10] - [13, 15] open_tag: (jsx_opening_element [11, 10] - [11, 110] name: (identifier [11, 11] - [11, 13]) attribute: (jsx_attribute [11, 14] - [11, 109] (property_identifier [11, 14] - [11, 19]) (string [11, 20] - [11, 109] (string_fragment [11, 21] - [11, 108])))) (jsx_text [11, 110] - [13, 10]) close_tag: (jsx_closing_element [13, 10] - [13, 15] name: (identifier [13, 12] - [13, 14]))) (jsx_element [14, 10] - [17, 14] open_tag: (jsx_opening_element [14, 10] - [14, 82] name: (identifier [14, 11] - [14, 12]) attribute: (jsx_attribute [14, 13] - [14, 81] (property_identifier [14, 13] - [14, 18]) (string [14, 19] - [14, 81] (string_fragment [14, 20] - [14, 80])))) (jsx_text [14, 82] - [17, 10]) close_tag: (jsx_closing_element [17, 10] - [17, 14] name: (identifier [17, 12] - [17, 13]))) close_tag: (jsx_closing_element [18, 8] - [18, 14] name: (identifier [18, 10] - [18, 13]))) (jsx_element [20, 8] - [40, 14] open_tag: (jsx_opening_element [20, 8] - [20, 90] name: (identifier [20, 9] - [20, 12]) attribute: (jsx_attribute [20, 13] - [20, 89] (property_identifier [20, 13] - [20, 18]) (string [20, 19] - [20, 89] (string_fragment [20, 20] - [20, 88])))) (jsx_self_closing_element [21, 10] - [27, 12] name: (identifier [21, 11] - [21, 16]) attribute: (jsx_attribute [22, 12] - [22, 23] (property_identifier [22, 12] - [22, 16]) (string [22, 17] - [22, 23] (string_fragment [22, 18] - [22, 22]))) attribute: (jsx_attribute [23, 12] - [23, 33] (property_identifier [23, 12] - [23, 14]) (string [23, 15] - [23, 33] (string_fragment [23, 16] - [23, 32]))) attribute: (jsx_attribute [24, 12] - [24, 52] (property_identifier [24, 12] - [24, 23]) (string [24, 24] - [24, 52] (string_fragment [24, 25] - [24, 51]))) attribute: (jsx_attribute [25, 12] - [25, 39] (property_identifier [25, 12] - [25, 19]) (string [25, 20] - [25, 39] (string_fragment [25, 21] - [25, 38]))) attribute: (jsx_attribute [26, 12] - [26, 90] (property_identifier [26, 12] - [26, 17]) (string [26, 18] - [26, 90] (string_fragment [26, 19] - [26, 89])))) (jsx_element [28, 10] - [39, 16] open_tag: (jsx_opening_element [28, 10] - [36, 11] name: (identifier [28, 11] - [28, 14]) attribute: (jsx_attribute [29, 12] - [29, 22] (property_identifier [29, 12] - [29, 17]) (string [29, 18] - [29, 22] (string_fragment [29, 19] - [29, 21]))) attribute: (jsx_attribute [30, 12] - [30, 23] (property_identifier [30, 12] - [30, 18]) (string [30, 19] - [30, 23] (string_fragment [30, 20] - [30, 22]))) attribute: (jsx_attribute [31, 12] - [31, 31] (property_identifier [31, 12] - [31, 19]) (string [31, 20] - [31, 31] (string_fragment [31, 21] - [31, 30]))) attribute: (jsx_attribute [32, 12] - [32, 23] (property_identifier [32, 12] - [32, 16]) (string [32, 17] - [32, 23] (string_fragment [32, 18] - [32, 22]))) attribute: (jsx_attribute [33, 12] - [33, 33] (property_identifier [33, 12] - [33, 18]) (string [33, 19] - [33, 33] (string_fragment [33, 20] - [33, 32]))) attribute: (jsx_attribute [34, 12] - [34, 28] (property_identifier [34, 12] - [34, 24]) (string [34, 25] - [34, 28] (string_fragment [34, 26] - [34, 27]))) attribute: (jsx_attribute [35, 12] - [35, 141] (property_identifier [35, 12] - [35, 17]) (string [35, 18] - [35, 141] (string_fragment [35, 19] - [35, 140])))) (jsx_element [37, 12] - [37, 51] open_tag: (jsx_opening_element [37, 12] - [37, 42] name: (identifier [37, 13] - [37, 19]) attribute: (jsx_attribute [37, 20] - [37, 27] (property_identifier [37, 20] - [37, 22]) (string [37, 23] - [37, 27] (string_fragment [37, 24] - [37, 26]))) attribute: (jsx_attribute [37, 28] - [37, 35] (property_identifier [37, 28] - [37, 30]) (string [37, 31] - [37, 35] (string_fragment [37, 32] - [37, 34]))) attribute: (jsx_attribute [37, 36] - [37, 41] (property_identifier [37, 36] - [37, 37]) (string [37, 38] - [37, 41] (string_fragment [37, 39] - [37, 40])))) close_tag: (jsx_closing_element [37, 42] - [37, 51] name: (identifier [37, 44] - [37, 50]))) (jsx_element [38, 12] - [38, 63] open_tag: (jsx_opening_element [38, 12] - [38, 56] name: (identifier [38, 13] - [38, 17]) attribute: (jsx_attribute [38, 18] - [38, 25] (property_identifier [38, 18] - [38, 20]) (string [38, 21] - [38, 25] (string_fragment [38, 22] - [38, 24]))) attribute: (jsx_attribute [38, 26] - [38, 33] (property_identifier [38, 26] - [38, 28]) (string [38, 29] - [38, 33] (string_fragment [38, 30] - [38, 32]))) attribute: (jsx_attribute [38, 34] - [38, 44] (property_identifier [38, 34] - [38, 36]) (string [38, 37] - [38, 44] (string_fragment [38, 38] - [38, 43]))) attribute: (jsx_attribute [38, 45] - [38, 55] (property_identifier [38, 45] - [38, 47]) (string [38, 48] - [38, 55] (string_fragment [38, 49] - [38, 54])))) close_tag: (jsx_closing_element [38, 56] - [38, 63] name: (identifier [38, 58] - [38, 62]))) close_tag: (jsx_closing_element [39, 10] - [39, 16] name: (identifier [39, 12] - [39, 15]))) close_tag: (jsx_closing_element [40, 8] - [40, 14] name: (identifier [40, 10] - [40, 13]))) close_tag: (jsx_closing_element [41, 6] - [41, 12] name: (identifier [41, 8] - [41, 11]))) (jsx_expression [43, 6] - [43, 38] (comment [43, 7] - [43, 37])) (jsx_element [44, 6] - [103, 12] open_tag: (jsx_opening_element [44, 6] - [44, 60] name: (identifier [44, 7] - [44, 10]) attribute: (jsx_attribute [44, 11] - [44, 36] (property_identifier [44, 11] - [44, 16]) (string [44, 17] - [44, 36] (string_fragment [44, 18] - [44, 35]))) attribute: (jsx_attribute [44, 37] - [44, 59] (property_identifier [44, 37] - [44, 42]) (string [44, 43] - [44, 59] (string_fragment [44, 44] - [44, 58])))) (jsx_element [45, 8] - [102, 14] open_tag: (jsx_opening_element [45, 8] - [45, 37] name: (identifier [45, 9] - [45, 12]) attribute: (jsx_attribute [45, 13] - [45, 36] (property_identifier [45, 13] - [45, 18]) (string [45, 19] - [45, 36] (string_fragment [45, 20] - [45, 35])))) (jsx_element [46, 10] - [101, 18] open_tag: (jsx_opening_element [46, 10] - [46, 33] name: (identifier [46, 11] - [46, 16]) attribute: (jsx_attribute [46, 17] - [46, 32] (property_identifier [46, 17] - [46, 19]) (string [46, 20] - [46, 32] (string_fragment [46, 21] - [46, 31])))) (jsx_element [47, 12] - [55, 20] open_tag: (jsx_opening_element [47, 12] - [47, 19] name: (identifier [47, 13] - [47, 18])) (jsx_element [48, 14] - [54, 19] open_tag: (jsx_opening_element [48, 14] - [48, 18] name: (identifier [48, 15] - [48, 17])) (jsx_element [49, 16] - [49, 34] open_tag: (jsx_opening_element [49, 16] - [49, 20] name: (identifier [49, 17] - [49, 19])) (jsx_text [49, 20] - [49, 29]) close_tag: (jsx_closing_element [49, 29] - [49, 34] name: (identifier [49, 31] - [49, 33]))) (jsx_element [50, 16] - [50, 37] open_tag: (jsx_opening_element [50, 16] - [50, 20] name: (identifier [50, 17] - [50, 19])) (jsx_text [50, 20] - [50, 32]) close_tag: (jsx_closing_element [50, 32] - [50, 37] name: (identifier [50, 34] - [50, 36]))) (jsx_element [51, 16] - [51, 39] open_tag: (jsx_opening_element [51, 16] - [51, 20] name: (identifier [51, 17] - [51, 19])) (jsx_text [51, 20] - [51, 34]) close_tag: (jsx_closing_element [51, 34] - [51, 39] name: (identifier [51, 36] - [51, 38]))) (jsx_element [52, 16] - [52, 33] open_tag: (jsx_opening_element [52, 16] - [52, 20] name: (identifier [52, 17] - [52, 19])) (jsx_text [52, 20] - [52, 28]) close_tag: (jsx_closing_element [52, 28] - [52, 33] name: (identifier [52, 30] - [52, 32]))) (jsx_element [53, 16] - [53, 35] open_tag: (jsx_opening_element [53, 16] - [53, 20] name: (identifier [53, 17] - [53, 19])) (jsx_text [53, 20] - [53, 30]) close_tag: (jsx_closing_element [53, 30] - [53, 35] name: (identifier [53, 32] - [53, 34]))) close_tag: (jsx_closing_element [54, 14] - [54, 19] name: (identifier [54, 16] - [54, 18]))) close_tag: (jsx_closing_element [55, 12] - [55, 20] name: (identifier [55, 14] - [55, 19]))) (jsx_element [56, 12] - [100, 20] open_tag: (jsx_opening_element [56, 12] - [56, 19] name: (identifier [56, 13] - [56, 18])) (jsx_expression [57, 14] - [99, 17] (call_expression [57, 15] - [99, 16] function: (member_expression [57, 15] - [57, 23] object: (identifier [57, 15] - [57, 19]) property: (property_identifier [57, 20] - [57, 23])) arguments: (arguments [57, 23] - [99, 16] (arrow_function [57, 24] - [99, 15] parameters: (formal_parameters [57, 24] - [57, 29] (required_parameter [57, 25] - [57, 28] pattern: (identifier [57, 25] - [57, 28]))) body: (statement_block [57, 33] - [99, 15] (lexical_declaration [58, 16] - [59, 48] (variable_declarator [58, 22] - [59, 47] name: (identifier [58, 22] - [58, 28]) value: (binary_expression [58, 31] - [59, 47] left: (call_expression [58, 31] - [58, 58] function: (member_expression [58, 31] - [58, 50] object: (member_expression [58, 31] - [58, 41] object: (identifier [58, 31] - [58, 34]) property: (property_identifier [58, 35] - [58, 41])) property: (property_identifier [58, 42] - [58, 50])) arguments: (arguments [58, 50] - [58, 58] (string [58, 51] - [58, 57] (string_fragment [58, 52] - [58, 56])))) right: (call_expression [59, 18] - [59, 47] function: (member_expression [59, 18] - [59, 37] object: (member_expression [59, 18] - [59, 28] object: (identifier [59, 18] - [59, 21]) property: (property_identifier [59, 22] - [59, 28])) property: (property_identifier [59, 29] - [59, 37])) arguments: (arguments [59, 37] - [59, 47] (string [59, 38] - [59, 46] (string_fragment [59, 39] - [59, 45]))))))) (lexical_declaration [60, 16] - [63, 49] (variable_declarator [60, 22] - [63, 48] name: (identifier [60, 22] - [60, 31]) value: (binary_expression [60, 34] - [63, 48] left: (binary_expression [60, 34] - [62, 49] left: (binary_expression [60, 34] - [61, 47] left: (call_expression [60, 34] - [60, 64] function: (member_expression [60, 34] - [60, 53] object: (member_expression [60, 34] - [60, 44] object: (identifier [60, 34] - [60, 37]) property: (property_identifier [60, 38] - [60, 44])) property: (property_identifier [60, 45] - [60, 53])) arguments: (arguments [60, 53] - [60, 64] (string [60, 54] - [60, 63] (string_fragment [60, 55] - [60, 62])))) right: (call_expression [61, 18] - [61, 47] function: (member_expression [61, 18] - [61, 37] object: (member_expression [61, 18] - [61, 28] object: (identifier [61, 18] - [61, 21]) property: (property_identifier [61, 22] - [61, 28])) property: (property_identifier [61, 29] - [61, 37])) arguments: (arguments [61, 37] - [61, 47] (string [61, 38] - [61, 46] (string_fragment [61, 39] - [61, 45]))))) right: (call_expression [62, 18] - [62, 49] function: (member_expression [62, 18] - [62, 37] object: (member_expression [62, 18] - [62, 28] object: (identifier [62, 18] - [62, 21]) property: (property_identifier [62, 22] - [62, 28])) property: (property_identifier [62, 29] - [62, 37])) arguments: (arguments [62, 37] - [62, 49] (string [62, 38] - [62, 48] (string_fragment [62, 39] - [62, 47]))))) right: (call_expression [63, 18] - [63, 48] function: (member_expression [63, 18] - [63, 37] object: (member_expression [63, 18] - [63, 28] object: (identifier [63, 18] - [63, 21]) property: (property_identifier [63, 22] - [63, 28])) property: (property_identifier [63, 29] - [63, 37])) arguments: (arguments [63, 37] - [63, 48] (string [63, 38] - [63, 47] (string_fragment [63, 39] - [63, 46]))))))) (lexical_declaration [64, 16] - [68, 33] (variable_declarator [64, 22] - [68, 32] name: (identifier [64, 22] - [64, 32]) value: (ternary_expression [64, 35] - [68, 32] condition: (identifier [64, 35] - [64, 41]) consequence: (string [65, 20] - [65, 34] (string_fragment [65, 21] - [65, 33])) alternative: (ternary_expression [66, 20] - [68, 32] condition: (identifier [66, 20] - [66, 29]) consequence: (string [67, 20] - [67, 35] (string_fragment [67, 21] - [67, 34])) alternative: (string [68, 20] - [68, 32] (string_fragment [68, 21] - [68, 31])))))) (return_statement [70, 16] - [98, 18] (parenthesized_expression [70, 23] - [98, 17] (jsx_element [71, 18] - [97, 23] open_tag: (jsx_opening_element [71, 18] - [77, 19] name: (identifier [71, 19] - [71, 21]) attribute: (jsx_attribute [72, 20] - [72, 32] (property_identifier [72, 20] - [72, 23]) (jsx_expression [72, 24] - [72, 32] (member_expression [72, 25] - [72, 31] object: (identifier [72, 25] - [72, 28]) property: (property_identifier [72, 29] - [72, 31])))) attribute: (jsx_attribute [73, 20] - [73, 35] (property_identifier [73, 20] - [73, 25]) (string [73, 26] - [73, 35] (string_fragment [73, 27] - [73, 34]))) attribute: (jsx_attribute [74, 20] - [76, 61] (property_identifier [74, 20] - [74, 31]) (jsx_expression [74, 32] - [76, 61] (call_expression [74, 33] - [76, 60] function: (member_expression [74, 33] - [76, 58] object: (template_string [74, 33] - [76, 46] (template_substitution [74, 34] - [74, 47] (member_expression [74, 36] - [74, 46] object: (identifier [74, 36] - [74, 39]) property: (property_identifier [74, 40] - [74, 46]))) (string_fragment [74, 47] - [74, 48]) (template_substitution [74, 48] - [74, 71] (binary_expression [74, 50] - [74, 70] left: (member_expression [74, 50] - [74, 58] object: (identifier [74, 50] - [74, 53]) property: (property_identifier [74, 54] - [74, 58])) right: (string [74, 62] - [74, 70] (string_fragment [74, 63] - [74, 69])))) (string_fragment [74, 71] - [74, 72]) (template_substitution [74, 72] - [76, 21] (binary_expression [75, 22] - [75, 40] left: (member_expression [75, 22] - [75, 34] object: (identifier [75, 22] - [75, 25]) property: (property_identifier [75, 26] - [75, 34])) right: (string [75, 38] - [75, 40]))) (string_fragment [76, 21] - [76, 22]) (template_substitution [76, 22] - [76, 45] (binary_expression [76, 24] - [76, 44] left: (member_expression [76, 24] - [76, 38] object: (identifier [76, 24] - [76, 27]) property: (property_identifier [76, 28] - [76, 38])) right: (string [76, 42] - [76, 44])))) property: (property_identifier [76, 47] - [76, 58])) arguments: (arguments [76, 58] - [76, 60]))))) (jsx_element [78, 20] - [80, 25] open_tag: (jsx_opening_element [78, 20] - [78, 98] name: (identifier [78, 21] - [78, 23]) attribute: (jsx_attribute [78, 24] - [78, 97] (property_identifier [78, 24] - [78, 29]) (string [78, 30] - [78, 97] (string_fragment [78, 31] - [78, 96])))) (jsx_expression [79, 22] - [79, 65] (call_expression [79, 23] - [79, 64] function: (member_expression [79, 23] - [79, 62] object: (new_expression [79, 23] - [79, 47] constructor: (identifier [79, 27] - [79, 31]) arguments: (arguments [79, 31] - [79, 47] (member_expression [79, 32] - [79, 46] object: (identifier [79, 32] - [79, 35]) property: (property_identifier [79, 36] - [79, 46])))) property: (property_identifier [79, 48] - [79, 62])) arguments: (arguments [79, 62] - [79, 64]))) close_tag: (jsx_closing_element [80, 20] - [80, 25] name: (identifier [80, 22] - [80, 24]))) (jsx_element [81, 20] - [85, 25] open_tag: (jsx_opening_element [81, 20] - [81, 24] name: (identifier [81, 21] - [81, 23])) (jsx_element [82, 22] - [84, 29] open_tag: (jsx_opening_element [82, 22] - [82, 58] name: (identifier [82, 23] - [82, 27]) attribute: (jsx_attribute [82, 28] - [82, 57] (property_identifier [82, 28] - [82, 33]) (jsx_expression [82, 34] - [82, 57] (template_string [82, 35] - [82, 56] (string_fragment [82, 36] - [82, 42]) (template_substitution [82, 42] - [82, 55] (identifier [82, 44] - [82, 54])))))) (jsx_expression [83, 24] - [83, 36] (member_expression [83, 25] - [83, 35] object: (identifier [83, 25] - [83, 28]) property: (property_identifier [83, 29] - [83, 35]))) close_tag: (jsx_closing_element [84, 22] - [84, 29] name: (identifier [84, 24] - [84, 28]))) close_tag: (jsx_closing_element [85, 20] - [85, 25] name: (identifier [85, 22] - [85, 24]))) (jsx_element [86, 20] - [90, 25] open_tag: (jsx_opening_element [86, 20] - [86, 24] name: (identifier [86, 21] - [86, 23])) (jsx_element [87, 22] - [89, 31] open_tag: (jsx_opening_element [87, 22] - [87, 66] name: (identifier [87, 23] - [87, 29]) attribute: (jsx_attribute [87, 30] - [87, 65] (property_identifier [87, 30] - [87, 35]) (string [87, 36] - [87, 65] (string_fragment [87, 37] - [87, 64])))) (jsx_expression [88, 24] - [88, 46] (binary_expression [88, 25] - [88, 45] left: (member_expression [88, 25] - [88, 33] object: (identifier [88, 25] - [88, 28]) property: (property_identifier [88, 29] - [88, 33])) right: (string [88, 37] - [88, 45] (string_fragment [88, 38] - [88, 44])))) close_tag: (jsx_closing_element [89, 22] - [89, 31] name: (identifier [89, 24] - [89, 30]))) close_tag: (jsx_closing_element [90, 20] - [90, 25] name: (identifier [90, 22] - [90, 24]))) (jsx_element [91, 20] - [93, 25] open_tag: (jsx_opening_element [91, 20] - [91, 62] name: (identifier [91, 21] - [91, 23]) attribute: (jsx_attribute [91, 24] - [91, 61] (property_identifier [91, 24] - [91, 29]) (string [91, 30] - [91, 61] (string_fragment [91, 31] - [91, 60])))) (jsx_expression [92, 22] - [92, 43] (binary_expression [92, 23] - [92, 42] left: (member_expression [92, 23] - [92, 35] object: (identifier [92, 23] - [92, 26]) property: (property_identifier [92, 27] - [92, 35])) right: (string [92, 39] - [92, 42] (string_fragment [92, 40] - [92, 41])))) close_tag: (jsx_closing_element [93, 20] - [93, 25] name: (identifier [93, 22] - [93, 24]))) (jsx_element [94, 20] - [96, 25] open_tag: (jsx_opening_element [94, 20] - [94, 106] name: (identifier [94, 21] - [94, 23]) attribute: (jsx_attribute [94, 24] - [94, 105] (property_identifier [94, 24] - [94, 29]) (string [94, 30] - [94, 105] (string_fragment [94, 31] - [94, 104])))) (jsx_expression [95, 22] - [95, 45] (binary_expression [95, 23] - [95, 44] left: (member_expression [95, 23] - [95, 37] object: (identifier [95, 23] - [95, 26]) property: (property_identifier [95, 27] - [95, 37])) right: (string [95, 41] - [95, 44] (string_fragment [95, 42] - [95, 43])))) close_tag: (jsx_closing_element [96, 20] - [96, 25] name: (identifier [96, 22] - [96, 24]))) close_tag: (jsx_closing_element [97, 18] - [97, 23] name: (identifier [97, 20] - [97, 22])))))))))) close_tag: (jsx_closing_element [100, 12] - [100, 20] name: (identifier [100, 14] - [100, 19]))) close_tag: (jsx_closing_element [101, 10] - [101, 18] name: (identifier [101, 12] - [101, 17]))) close_tag: (jsx_closing_element [102, 8] - [102, 14] name: (identifier [102, 10] - [102, 13]))) close_tag: (jsx_closing_element [103, 6] - [103, 12] name: (identifier [103, 8] - [103, 11]))) (jsx_expression [105, 6] - [105, 40] (comment [105, 7] - [105, 39])) (jsx_element [106, 6] - [153, 12] open_tag: (jsx_opening_element [106, 6] - [110, 7] name: (identifier [106, 7] - [106, 10]) attribute: (jsx_attribute [107, 8] - [107, 28] (property_identifier [107, 8] - [107, 10]) (string [107, 11] - [107, 28] (string_fragment [107, 12] - [107, 27]))) attribute: (jsx_attribute [108, 8] - [108, 27] (property_identifier [108, 8] - [108, 13]) (string [108, 14] - [108, 27] (string_fragment [108, 15] - [108, 26]))) attribute: (jsx_attribute [109, 8] - [109, 65] (property_identifier [109, 8] - [109, 13]) (string [109, 14] - [109, 65] (string_fragment [109, 15] - [109, 64])))) (jsx_expression [111, 8] - [152, 11] (call_expression [111, 9] - [152, 10] function: (member_expression [111, 9] - [111, 17] object: (identifier [111, 9] - [111, 13]) property: (property_identifier [111, 14] - [111, 17])) arguments: (arguments [111, 17] - [152, 10] (arrow_function [111, 18] - [152, 9] parameters: (formal_parameters [111, 18] - [111, 23] (required_parameter [111, 19] - [111, 22] pattern: (identifier [111, 19] - [111, 22]))) body: (statement_block [111, 27] - [152, 9] (lexical_declaration [112, 10] - [113, 42] (variable_declarator [112, 16] - [113, 41] name: (identifier [112, 16] - [112, 22]) value: (binary_expression [112, 25] - [113, 41] left: (call_expression [112, 25] - [112, 52] function: (member_expression [112, 25] - [112, 44] object: (member_expression [112, 25] - [112, 35] object: (identifier [112, 25] - [112, 28]) property: (property_identifier [112, 29] - [112, 35])) property: (property_identifier [112, 36] - [112, 44])) arguments: (arguments [112, 44] - [112, 52] (string [112, 45] - [112, 51] (string_fragment [112, 46] - [112, 50])))) right: (call_expression [113, 12] - [113, 41] function: (member_expression [113, 12] - [113, 31] object: (member_expression [113, 12] - [113, 22] object: (identifier [113, 12] - [113, 15]) property: (property_identifier [113, 16] - [113, 22])) property: (property_identifier [113, 23] - [113, 31])) arguments: (arguments [113, 31] - [113, 41] (string [113, 32] - [113, 40] (string_fragment [113, 33] - [113, 39]))))))) (lexical_declaration [114, 10] - [117, 43] (variable_declarator [114, 16] - [117, 42] name: (identifier [114, 16] - [114, 25]) value: (binary_expression [114, 28] - [117, 42] left: (binary_expression [114, 28] - [116, 43] left: (binary_expression [114, 28] - [115, 41] left: (call_expression [114, 28] - [114, 58] function: (member_expression [114, 28] - [114, 47] object: (member_expression [114, 28] - [114, 38] object: (identifier [114, 28] - [114, 31]) property: (property_identifier [114, 32] - [114, 38])) property: (property_identifier [114, 39] - [114, 47])) arguments: (arguments [114, 47] - [114, 58] (string [114, 48] - [114, 57] (string_fragment [114, 49] - [114, 56])))) right: (call_expression [115, 12] - [115, 41] function: (member_expression [115, 12] - [115, 31] object: (member_expression [115, 12] - [115, 22] object: (identifier [115, 12] - [115, 15]) property: (property_identifier [115, 16] - [115, 22])) property: (property_identifier [115, 23] - [115, 31])) arguments: (arguments [115, 31] - [115, 41] (string [115, 32] - [115, 40] (string_fragment [115, 33] - [115, 39]))))) right: (call_expression [116, 12] - [116, 43] function: (member_expression [116, 12] - [116, 31] object: (member_expression [116, 12] - [116, 22] object: (identifier [116, 12] - [116, 15]) property: (property_identifier [116, 16] - [116, 22])) property: (property_identifier [116, 23] - [116, 31])) arguments: (arguments [116, 31] - [116, 43] (string [116, 32] - [116, 42] (string_fragment [116, 33] - [116, 41]))))) right: (call_expression [117, 12] - [117, 42] function: (member_expression [117, 12] - [117, 31] object: (member_expression [117, 12] - [117, 22] object: (identifier [117, 12] - [117, 15]) property: (property_identifier [117, 16] - [117, 22])) property: (property_identifier [117, 23] - [117, 31])) arguments: (arguments [117, 31] - [117, 42] (string [117, 32] - [117, 41] (string_fragment [117, 33] - [117, 40]))))))) (lexical_declaration [118, 10] - [122, 27] (variable_declarator [118, 16] - [122, 26] name: (identifier [118, 16] - [118, 26]) value: (ternary_expression [118, 29] - [122, 26] condition: (identifier [118, 29] - [118, 35]) consequence: (string [119, 14] - [119, 28] (string_fragment [119, 15] - [119, 27])) alternative: (ternary_expression [120, 14] - [122, 26] condition: (identifier [120, 14] - [120, 23]) consequence: (string [121, 14] - [121, 29] (string_fragment [121, 15] - [121, 28])) alternative: (string [122, 14] - [122, 26] (string_fragment [122, 15] - [122, 25])))))) (return_statement [124, 10] - [151, 12] (parenthesized_expression [124, 17] - [151, 11] (jsx_element [125, 12] - [150, 18] open_tag: (jsx_opening_element [125, 12] - [132, 13] name: (identifier [125, 13] - [125, 16]) attribute: (jsx_attribute [126, 14] - [126, 35] (property_identifier [126, 14] - [126, 19]) (string [126, 20] - [126, 35] (string_fragment [126, 21] - [126, 34]))) attribute: (jsx_attribute [127, 14] - [127, 26] (property_identifier [127, 14] - [127, 17]) (jsx_expression [127, 18] - [127, 26] (member_expression [127, 19] - [127, 25] object: (identifier [127, 19] - [127, 22]) property: (property_identifier [127, 23] - [127, 25])))) attribute: (jsx_attribute [128, 14] - [130, 55] (property_identifier [128, 14] - [128, 25]) (jsx_expression [128, 26] - [130, 55] (call_expression [128, 27] - [130, 54] function: (member_expression [128, 27] - [130, 52] object: (template_string [128, 27] - [130, 40] (template_substitution [128, 28] - [128, 41] (member_expression [128, 30] - [128, 40] object: (identifier [128, 30] - [128, 33]) property: (property_identifier [128, 34] - [128, 40]))) (string_fragment [128, 41] - [128, 42]) (template_substitution [128, 42] - [128, 65] (binary_expression [128, 44] - [128, 64] left: (member_expression [128, 44] - [128, 52] object: (identifier [128, 44] - [128, 47]) property: (property_identifier [128, 48] - [128, 52])) right: (string [128, 56] - [128, 64] (string_fragment [128, 57] - [128, 63])))) (string_fragment [128, 65] - [128, 66]) (template_substitution [128, 66] - [130, 15] (binary_expression [129, 16] - [129, 34] left: (member_expression [129, 16] - [129, 28] object: (identifier [129, 16] - [129, 19]) property: (property_identifier [129, 20] - [129, 28])) right: (string [129, 32] - [129, 34]))) (string_fragment [130, 15] - [130, 16]) (template_substitution [130, 16] - [130, 39] (binary_expression [130, 18] - [130, 38] left: (member_expression [130, 18] - [130, 32] object: (identifier [130, 18] - [130, 21]) property: (property_identifier [130, 22] - [130, 32])) right: (string [130, 36] - [130, 38])))) property: (property_identifier [130, 41] - [130, 52])) arguments: (arguments [130, 52] - [130, 54])))) attribute: (jsx_attribute [131, 14] - [131, 39] (property_identifier [131, 14] - [131, 19]) (string [131, 20] - [131, 39] (string_fragment [131, 21] - [131, 38])))) (jsx_element [133, 14] - [140, 20] open_tag: (jsx_opening_element [133, 14] - [133, 122] name: (identifier [133, 15] - [133, 18]) attribute: (jsx_attribute [133, 19] - [133, 121] (property_identifier [133, 19] - [133, 24]) (string [133, 25] - [133, 121] (string_fragment [133, 26] - [133, 120])))) (jsx_element [134, 16] - [136, 23] open_tag: (jsx_opening_element [134, 16] - [134, 52] name: (identifier [134, 17] - [134, 21]) attribute: (jsx_attribute [134, 22] - [134, 51] (property_identifier [134, 22] - [134, 27]) (jsx_expression [134, 28] - [134, 51] (template_string [134, 29] - [134, 50] (string_fragment [134, 30] - [134, 36]) (template_substitution [134, 36] - [134, 49] (identifier [134, 38] - [134, 48])))))) (jsx_expression [135, 18] - [135, 30] (member_expression [135, 19] - [135, 29] object: (identifier [135, 19] - [135, 22]) property: (property_identifier [135, 23] - [135, 29]))) close_tag: (jsx_closing_element [136, 16] - [136, 23] name: (identifier [136, 18] - [136, 22]))) (jsx_element [137, 16] - [139, 23] open_tag: (jsx_opening_element [137, 16] - [137, 76] name: (identifier [137, 17] - [137, 21]) attribute: (jsx_attribute [137, 22] - [137, 75] (property_identifier [137, 22] - [137, 27]) (string [137, 28] - [137, 75] (string_fragment [137, 29] - [137, 74])))) (jsx_expression [138, 18] - [138, 65] (call_expression [138, 19] - [138, 64] function: (member_expression [138, 19] - [138, 62] object: (new_expression [138, 19] - [138, 43] constructor: (identifier [138, 23] - [138, 27]) arguments: (arguments [138, 27] - [138, 43] (member_expression [138, 28] - [138, 42] object: (identifier [138, 28] - [138, 31]) property: (property_identifier [138, 32] - [138, 42])))) property: (property_identifier [138, 44] - [138, 62])) arguments: (arguments [138, 62] - [138, 64]))) close_tag: (jsx_closing_element [139, 16] - [139, 23] name: (identifier [139, 18] - [139, 22]))) close_tag: (jsx_closing_element [140, 14] - [140, 20] name: (identifier [140, 16] - [140, 19]))) (jsx_element [141, 14] - [143, 20] open_tag: (jsx_opening_element [141, 14] - [141, 97] name: (identifier [141, 15] - [141, 18]) attribute: (jsx_attribute [141, 19] - [141, 96] (property_identifier [141, 19] - [141, 24]) (string [141, 25] - [141, 96] (string_fragment [141, 26] - [141, 95])))) (jsx_expression [142, 16] - [142, 38] (binary_expression [142, 17] - [142, 37] left: (member_expression [142, 17] - [142, 25] object: (identifier [142, 17] - [142, 20]) property: (property_identifier [142, 21] - [142, 25])) right: (string [142, 29] - [142, 37] (string_fragment [142, 30] - [142, 36])))) close_tag: (jsx_closing_element [143, 14] - [143, 20] name: (identifier [143, 16] - [143, 19]))) (jsx_element [144, 14] - [146, 20] open_tag: (jsx_opening_element [144, 14] - [144, 101] name: (identifier [144, 15] - [144, 18]) attribute: (jsx_attribute [144, 19] - [144, 100] (property_identifier [144, 19] - [144, 24]) (string [144, 25] - [144, 100] (string_fragment [144, 26] - [144, 99])))) (jsx_text [144, 101] - [145, 26]) (jsx_expression [145, 26] - [145, 47] (binary_expression [145, 27] - [145, 46] left: (member_expression [145, 27] - [145, 39] object: (identifier [145, 27] - [145, 30]) property: (property_identifier [145, 31] - [145, 39])) right: (string [145, 43] - [145, 46] (string_fragment [145, 44] - [145, 45])))) close_tag: (jsx_closing_element [146, 14] - [146, 20] name: (identifier [146, 16] - [146, 19]))) (jsx_element [147, 14] - [149, 20] open_tag: (jsx_opening_element [147, 14] - [147, 96] name: (identifier [147, 15] - [147, 18]) attribute: (jsx_attribute [147, 19] - [147, 95] (property_identifier [147, 19] - [147, 24]) (string [147, 25] - [147, 95] (string_fragment [147, 26] - [147, 94])))) (jsx_text [147, 96] - [148, 20]) (jsx_expression [148, 20] - [148, 43] (binary_expression [148, 21] - [148, 42] left: (member_expression [148, 21] - [148, 35] object: (identifier [148, 21] - [148, 24]) property: (property_identifier [148, 25] - [148, 35])) right: (string [148, 39] - [148, 42] (string_fragment [148, 40] - [148, 41])))) close_tag: (jsx_closing_element [149, 14] - [149, 20] name: (identifier [149, 16] - [149, 19]))) close_tag: (jsx_closing_element [150, 12] - [150, 18] name: (identifier [150, 14] - [150, 17])))))))))) close_tag: (jsx_closing_element [153, 6] - [153, 12] name: (identifier [153, 8] - [153, 11]))) (jsx_element [155, 6] - [166, 14] open_tag: (jsx_opening_element [155, 6] - [155, 13] name: (identifier [155, 7] - [155, 12])) (jsx_expression [156, 8] - [165, 10] (template_string [156, 9] - [165, 9] (string_fragment [156, 10] - [165, 8]))) close_tag: (jsx_closing_element [166, 6] - [166, 14] name: (identifier [166, 8] - [166, 13]))) (jsx_element [168, 6] - [168, 54] open_tag: (jsx_opening_element [168, 6] - [168, 45] name: (identifier [168, 7] - [168, 13]) attribute: (jsx_attribute [168, 14] - [168, 44] (property_identifier [168, 14] - [168, 17]) (string [168, 18] - [168, 44] (string_fragment [168, 19] - [168, 43])))) close_tag: (jsx_closing_element [168, 45] - [168, 54] name: (identifier [168, 47] - [168, 53]))) close_tag: (jsx_closing_element [169, 4] - [169, 26] name: (identifier [169, 6] - [169, 25])))))))))))