(program [0, 0] - [88, 0] (import_statement [0, 0] - [0, 47] (import_clause [0, 7] - [0, 21] (named_imports [0, 7] - [0, 21] (import_specifier [0, 9] - [0, 19] name: (identifier [0, 9] - [0, 19])))) source: (string [0, 27] - [0, 46] (string_fragment [0, 28] - [0, 45]))) (import_statement [1, 0] - [1, 48] (import_clause [1, 7] - [1, 21] (named_imports [1, 7] - [1, 21] (import_specifier [1, 9] - [1, 19] name: (identifier [1, 9] - [1, 19])))) source: (string [1, 27] - [1, 47] (string_fragment [1, 28] - [1, 46]))) (import_statement [2, 0] - [2, 56] (import_clause [2, 7] - [2, 25] (named_imports [2, 7] - [2, 25] (import_specifier [2, 9] - [2, 23] name: (identifier [2, 9] - [2, 23])))) source: (string [2, 31] - [2, 55] (string_fragment [2, 32] - [2, 54]))) (export_statement [4, 0] - [43, 2] declaration: (lexical_declaration [4, 7] - [43, 2] (variable_declarator [4, 13] - [43, 1] name: (identifier [4, 13] - [4, 27]) value: (arrow_function [4, 30] - [43, 1] parameters: (formal_parameters [4, 30] - [10, 2] (required_parameter [4, 31] - [10, 1] pattern: (object_pattern [4, 31] - [7, 1] (shorthand_property_identifier_pattern [5, 2] - [5, 10]) (shorthand_property_identifier_pattern [6, 2] - [6, 7])) type: (type_annotation [7, 1] - [10, 1] (object_type [7, 3] - [10, 1] (property_signature [8, 2] - [8, 15] name: (property_identifier [8, 2] - [8, 10]) type: (type_annotation [8, 10] - [8, 15] (predefined_type [8, 12] - [8, 15]))) (property_signature [9, 2] - [9, 15] name: (property_identifier [9, 2] - [9, 7]) type: (type_annotation [9, 7] - [9, 15] (predefined_type [9, 9] - [9, 15]))))))) body: (statement_block [10, 6] - [43, 1] (return_statement [11, 2] - [42, 4] (parenthesized_expression [11, 9] - [42, 3] (jsx_element [12, 4] - [41, 11] open_tag: (jsx_opening_element [12, 4] - [12, 20] name: (identifier [12, 5] - [12, 9]) attribute: (jsx_attribute [12, 10] - [12, 19] (property_identifier [12, 10] - [12, 14]) (string [12, 15] - [12, 19] (string_fragment [12, 16] - [12, 18])))) (jsx_element [13, 6] - [36, 13] open_tag: (jsx_opening_element [13, 6] - [13, 12] name: (identifier [13, 7] - [13, 11])) (jsx_self_closing_element [14, 8] - [14, 32] name: (identifier [14, 9] - [14, 13]) attribute: (jsx_attribute [14, 14] - [14, 29] (property_identifier [14, 14] - [14, 21]) (string [14, 22] - [14, 29] (string_fragment [14, 23] - [14, 28])))) (jsx_self_closing_element [15, 8] - [18, 10] name: (identifier [15, 9] - [15, 13]) attribute: (jsx_attribute [16, 10] - [16, 25] (property_identifier [16, 10] - [16, 14]) (string [16, 15] - [16, 25] (string_fragment [16, 16] - [16, 24]))) attribute: (jsx_attribute [17, 10] - [17, 94] (property_identifier [17, 10] - [17, 17]) (string [17, 18] - [17, 94] (string_fragment [17, 19] - [17, 93])))) (jsx_self_closing_element [19, 8] - [19, 53] name: (identifier [19, 9] - [19, 13]) attribute: (jsx_attribute [19, 14] - [19, 32] (property_identifier [19, 14] - [19, 18]) (string [19, 19] - [19, 32] (string_fragment [19, 20] - [19, 31]))) attribute: (jsx_attribute [19, 33] - [19, 50] (property_identifier [19, 33] - [19, 40]) (string [19, 41] - [19, 50] (string_fragment [19, 42] - [19, 49])))) (jsx_element [20, 8] - [20, 41] open_tag: (jsx_opening_element [20, 8] - [20, 15] name: (identifier [20, 9] - [20, 14])) (jsx_expression [20, 15] - [20, 22] (identifier [20, 16] - [20, 21])) (jsx_text [20, 22] - [20, 33]) close_tag: (jsx_closing_element [20, 33] - [20, 41] name: (identifier [20, 35] - [20, 40]))) (jsx_element [21, 8] - [26, 16] open_tag: (jsx_opening_element [21, 8] - [21, 15] name: (identifier [21, 9] - [21, 14])) (jsx_expression [22, 10] - [25, 12] (template_string [22, 11] - [25, 11] (string_fragment [22, 12] - [23, 12]) (template_substitution [23, 12] - [23, 25] (identifier [23, 14] - [23, 24])) (string_fragment [23, 25] - [24, 12]) (template_substitution [24, 12] - [24, 25] (identifier [24, 14] - [24, 24])) (string_fragment [24, 25] - [25, 10]))) close_tag: (jsx_closing_element [26, 8] - [26, 16] name: (identifier [26, 10] - [26, 15]))) (jsx_expression [27, 8] - [27, 31] (comment [27, 9] - [27, 30])) (jsx_element [28, 8] - [32, 17] open_tag: (jsx_opening_element [28, 8] - [31, 9] name: (identifier [28, 9] - [28, 15]) attribute: (jsx_attribute [29, 10] - [29, 23] (property_identifier [29, 10] - [29, 14]) (string [29, 15] - [29, 23] (string_fragment [29, 16] - [29, 22]))) attribute: (jsx_attribute [30, 10] - [30, 101] (property_identifier [30, 10] - [30, 13]) (string [30, 14] - [30, 101] (string_fragment [30, 15] - [30, 100])))) close_tag: (jsx_closing_element [32, 8] - [32, 17] name: (identifier [32, 10] - [32, 16]))) (jsx_expression [33, 8] - [33, 93] (comment [33, 9] - [33, 92])) (jsx_element [34, 8] - [35, 17] open_tag: (jsx_opening_element [34, 8] - [34, 93] name: (identifier [34, 9] - [34, 15]) attribute: (jsx_attribute [34, 16] - [34, 92] (property_identifier [34, 16] - [34, 19]) (string [34, 20] - [34, 92] (string_fragment [34, 21] - [34, 91])))) close_tag: (jsx_closing_element [35, 8] - [35, 17] name: (identifier [35, 10] - [35, 16]))) close_tag: (jsx_closing_element [36, 6] - [36, 13] name: (identifier [36, 8] - [36, 12]))) (jsx_element [37, 6] - [40, 13] open_tag: (jsx_opening_element [37, 6] - [37, 12] name: (identifier [37, 7] - [37, 11])) (jsx_element [38, 8] - [38, 38] open_tag: (jsx_opening_element [38, 8] - [38, 32] name: (identifier [38, 9] - [38, 12]) attribute: (jsx_attribute [38, 13] - [38, 31] (property_identifier [38, 13] - [38, 15]) (string [38, 16] - [38, 31] (string_fragment [38, 17] - [38, 30])))) close_tag: (jsx_closing_element [38, 32] - [38, 38] name: (identifier [38, 34] - [38, 37]))) (jsx_expression [39, 8] - [39, 18] (identifier [39, 9] - [39, 17])) close_tag: (jsx_closing_element [40, 6] - [40, 13] name: (identifier [40, 8] - [40, 12]))) close_tag: (jsx_closing_element [41, 4] - [41, 11] name: (identifier [41, 6] - [41, 10])))))))))) (export_statement [45, 0] - [61, 2] declaration: (lexical_declaration [45, 7] - [61, 2] (variable_declarator [45, 13] - [61, 1] name: (identifier [45, 13] - [45, 31]) value: (arrow_function [45, 34] - [61, 1] parameters: (formal_parameters [45, 34] - [51, 2] (required_parameter [45, 35] - [51, 1] pattern: (object_pattern [45, 35] - [48, 1] (shorthand_property_identifier_pattern [46, 2] - [46, 10]) (shorthand_property_identifier_pattern [47, 2] - [47, 7])) type: (type_annotation [48, 1] - [51, 1] (object_type [48, 3] - [51, 1] (property_signature [49, 2] - [49, 15] name: (property_identifier [49, 2] - [49, 10]) type: (type_annotation [49, 10] - [49, 15] (predefined_type [49, 12] - [49, 15]))) (property_signature [50, 2] - [50, 15] name: (property_identifier [50, 2] - [50, 7]) type: (type_annotation [50, 7] - [50, 15] (predefined_type [50, 9] - [50, 15]))))))) body: (statement_block [51, 6] - [61, 1] (return_statement [52, 2] - [60, 4] (parenthesized_expression [52, 9] - [60, 3] (jsx_element [53, 4] - [59, 21] open_tag: (jsx_opening_element [53, 4] - [53, 34] name: (identifier [53, 5] - [53, 19]) attribute: (jsx_attribute [53, 20] - [53, 33] (property_identifier [53, 20] - [53, 25]) (jsx_expression [53, 26] - [53, 33] (identifier [53, 27] - [53, 32])))) (jsx_element [54, 6] - [58, 12] open_tag: (jsx_opening_element [54, 6] - [54, 39] name: (identifier [54, 7] - [54, 10]) attribute: (jsx_attribute [54, 11] - [54, 38] (property_identifier [54, 11] - [54, 16]) (string [54, 17] - [54, 38] (string_fragment [54, 18] - [54, 37])))) (jsx_element [55, 8] - [57, 14] open_tag: (jsx_opening_element [55, 8] - [55, 43] name: (identifier [55, 9] - [55, 12]) attribute: (jsx_attribute [55, 13] - [55, 30] (property_identifier [55, 13] - [55, 18]) (string [55, 19] - [55, 30] (string_fragment [55, 20] - [55, 29]))) attribute: (jsx_attribute [55, 31] - [55, 42] (property_identifier [55, 31] - [55, 42]))) (jsx_expression [56, 10] - [56, 20] (identifier [56, 11] - [56, 19])) close_tag: (jsx_closing_element [57, 8] - [57, 14] name: (identifier [57, 10] - [57, 13]))) close_tag: (jsx_closing_element [58, 6] - [58, 12] name: (identifier [58, 8] - [58, 11]))) close_tag: (jsx_closing_element [59, 4] - [59, 21] name: (identifier [59, 6] - [59, 20])))))))))) (export_statement [63, 0] - [87, 2] declaration: (lexical_declaration [63, 7] - [87, 2] (variable_declarator [63, 13] - [87, 1] name: (identifier [63, 13] - [63, 40]) value: (arrow_function [63, 43] - [87, 1] parameters: (formal_parameters [63, 43] - [73, 2] (required_parameter [63, 44] - [73, 1] pattern: (object_pattern [63, 44] - [68, 1] (shorthand_property_identifier_pattern [64, 2] - [64, 10]) (shorthand_property_identifier_pattern [65, 2] - [65, 7]) (shorthand_property_identifier_pattern [66, 2] - [66, 13]) (object_assignment_pattern [67, 2] - [67, 17] left: (shorthand_property_identifier_pattern [67, 2] - [67, 9]) right: (false [67, 12] - [67, 17]))) type: (type_annotation [68, 1] - [73, 1] (object_type [68, 3] - [73, 1] (property_signature [69, 2] - [69, 15] name: (property_identifier [69, 2] - [69, 10]) type: (type_annotation [69, 10] - [69, 15] (predefined_type [69, 12] - [69, 15]))) (property_signature [70, 2] - [70, 15] name: (property_identifier [70, 2] - [70, 7]) type: (type_annotation [70, 7] - [70, 15] (predefined_type [70, 9] - [70, 15]))) (property_signature [71, 2] - [71, 21] name: (property_identifier [71, 2] - [71, 13]) type: (type_annotation [71, 13] - [71, 21] (predefined_type [71, 15] - [71, 21]))) (property_signature [72, 2] - [72, 19] name: (property_identifier [72, 2] - [72, 9]) type: (type_annotation [72, 10] - [72, 19] (predefined_type [72, 12] - [72, 19]))))))) body: (statement_block [73, 6] - [87, 1] (return_statement [74, 2] - [86, 4] (parenthesized_expression [74, 9] - [86, 3] (jsx_element [75, 4] - [85, 21] open_tag: (jsx_opening_element [75, 4] - [75, 34] name: (identifier [75, 5] - [75, 19]) attribute: (jsx_attribute [75, 20] - [75, 33] (property_identifier [75, 20] - [75, 25]) (jsx_expression [75, 26] - [75, 33] (identifier [75, 27] - [75, 32])))) (jsx_element [76, 6] - [84, 12] open_tag: (jsx_opening_element [76, 6] - [76, 29] name: (identifier [76, 7] - [76, 10]) attribute: (jsx_attribute [76, 11] - [76, 28] (property_identifier [76, 11] - [76, 16]) (string [76, 17] - [76, 28] (string_fragment [76, 18] - [76, 27])))) (jsx_expression [77, 8] - [77, 26] (comment [77, 9] - [77, 25])) (jsx_self_closing_element [78, 8] - [78, 70] name: (identifier [78, 9] - [78, 23]) attribute: (jsx_attribute [78, 24] - [78, 49] (property_identifier [78, 24] - [78, 35]) (jsx_expression [78, 36] - [78, 49] (identifier [78, 37] - [78, 48]))) attribute: (jsx_attribute [78, 50] - [78, 67] (property_identifier [78, 50] - [78, 57]) (jsx_expression [78, 58] - [78, 67] (identifier [78, 59] - [78, 66])))) (jsx_expression [80, 8] - [80, 25] (comment [80, 9] - [80, 24])) (jsx_element [81, 8] - [83, 15] open_tag: (jsx_opening_element [81, 8] - [81, 35] name: (identifier [81, 9] - [81, 13]) attribute: (jsx_attribute [81, 14] - [81, 34] (property_identifier [81, 14] - [81, 19]) (string [81, 20] - [81, 34] (string_fragment [81, 21] - [81, 33])))) (jsx_expression [82, 10] - [82, 20] (identifier [82, 11] - [82, 19])) close_tag: (jsx_closing_element [83, 8] - [83, 15] name: (identifier [83, 10] - [83, 14]))) close_tag: (jsx_closing_element [84, 6] - [84, 12] name: (identifier [84, 8] - [84, 11]))) close_tag: (jsx_closing_element [85, 4] - [85, 21] name: (identifier [85, 6] - [85, 20])))))))))))