Token { kind: LeftBrace, position: Position { index: 54, line: 7, col: 1 } }
Token { kind: At, position: Position { index: 60, line: 8, col: 5 } }
Token { kind: Identifier("foo"), position: Position { index: 61, line: 8, col: 6 } }
Token { kind: At, position: Position { index: 75, line: 8, col: 20 } }
Token { kind: Identifier("optional"), position: Position { index: 76, line: 8, col: 21 } }
Token { kind: At, position: Position { index: 89, line: 9, col: 5 } }
Token { kind: Identifier("null"), position: Position { index: 90, line: 9, col: 6 } }
Token { kind: LeftParen, position: Position { index: 94, line: 9, col: 10 } }
Token { kind: Identifier("null"), position: Position { index: 95, line: 9, col: 11 } }
Token { kind: RightParen, position: Position { index: 99, line: 9, col: 15 } }
Token { kind: At, position: Position { index: 128, line: 10, col: 5 } }
Token { kind: Identifier("bool"), position: Position { index: 129, line: 10, col: 6 } }
Token { kind: LeftParen, position: Position { index: 133, line: 10, col: 10 } }
Token { kind: Identifier("true"), position: Position { index: 134, line: 10, col: 11 } }
Token { kind: RightParen, position: Position { index: 138, line: 10, col: 15 } }
Token { kind: At, position: Position { index: 144, line: 11, col: 5 } }
Token { kind: Identifier("float"), position: Position { index: 145, line: 11, col: 6 } }
Token { kind: LeftParen, position: Position { index: 150, line: 11, col: 11 } }
Token { kind: FloatLiteral(3.14), position: Position { index: 151, line: 11, col: 12 } }
Token { kind: RightParen, position: Position { index: 155, line: 11, col: 16 } }
Token { kind: At, position: Position { index: 161, line: 12, col: 5 } }
Token { kind: Identifier("number"), position: Position { index: 162, line: 12, col: 6 } }
Token { kind: LeftParen, position: Position { index: 168, line: 12, col: 12 } }
Token { kind: IntegerLiteral(-3), position: Position { index: 169, line: 12, col: 13 } }
Token { kind: RightParen, position: Position { index: 171, line: 12, col: 15 } }
Token { kind: At, position: Position { index: 177, line: 13, col: 5 } }
Token { kind: Identifier("string"), position: Position { index: 178, line: 13, col: 6 } }
Token { kind: LeftParen, position: Position { index: 184, line: 13, col: 12 } }
Token { kind: StringLiteral("abc \"def\" ghi"), position: Position { index: 185, line: 13, col: 13 } }
Token { kind: RightParen, position: Position { index: 200, line: 13, col: 28 } }
Token { kind: At, position: Position { index: 206, line: 14, col: 5 } }
Token { kind: Identifier("array"), position: Position { index: 207, line: 14, col: 6 } }
Token { kind: LeftParen, position: Position { index: 212, line: 14, col: 11 } }
Token { kind: LeftBracket, position: Position { index: 213, line: 14, col: 12 } }
Token { kind: IntegerLiteral(3), position: Position { index: 214, line: 14, col: 13 } }
Token { kind: Comma, position: Position { index: 215, line: 14, col: 14 } }
Token { kind: IntegerLiteral(4), position: Position { index: 216, line: 14, col: 15 } }
Token { kind: RightBracket, position: Position { index: 217, line: 14, col: 16 } }
Token { kind: RightParen, position: Position { index: 218, line: 14, col: 17 } }
Token { kind: At, position: Position { index: 224, line: 15, col: 5 } }
Token { kind: Identifier("object"), position: Position { index: 225, line: 15, col: 6 } }
Token { kind: LeftParen, position: Position { index: 231, line: 15, col: 12 } }
Token { kind: LeftBrace, position: Position { index: 232, line: 15, col: 13 } }
Token { kind: Identifier("k"), position: Position { index: 233, line: 15, col: 14 } }
Token { kind: Colon, position: Position { index: 234, line: 15, col: 15 } }
Token { kind: StringLiteral("v"), position: Position { index: 236, line: 15, col: 17 } }
Token { kind: RightBrace, position: Position { index: 239, line: 15, col: 20 } }
Token { kind: RightParen, position: Position { index: 240, line: 15, col: 21 } }
Token { kind: Identifier("nullValue"), position: Position { index: 247, line: 17, col: 5 } }
Token { kind: Colon, position: Position { index: 256, line: 17, col: 14 } }
Token { kind: Identifier("null"), position: Position { index: 258, line: 17, col: 16 } }
Token { kind: Comma, position: Position { index: 262, line: 17, col: 20 } }
Token { kind: Identifier("boolTrue"), position: Position { index: 268, line: 18, col: 5 } }
Token { kind: Colon, position: Position { index: 276, line: 18, col: 13 } }
Token { kind: Identifier("true"), position: Position { index: 278, line: 18, col: 15 } }
Token { kind: Comma, position: Position { index: 282, line: 18, col: 19 } }
Token { kind: Identifier("boolFale"), position: Position { index: 288, line: 19, col: 5 } }
Token { kind: Colon, position: Position { index: 296, line: 19, col: 13 } }
Token { kind: Identifier("false"), position: Position { index: 298, line: 19, col: 15 } }
Token { kind: Comma, position: Position { index: 303, line: 19, col: 20 } }
Token { kind: Identifier("float"), position: Position { index: 309, line: 20, col: 5 } }
Token { kind: Colon, position: Position { index: 314, line: 20, col: 10 } }
Token { kind: FloatLiteral(3.14), position: Position { index: 316, line: 20, col: 12 } }
Token { kind: Comma, position: Position { index: 320, line: 20, col: 16 } }
Token { kind: Identifier("floatNegative"), position: Position { index: 326, line: 21, col: 5 } }
Token { kind: Colon, position: Position { index: 339, line: 21, col: 18 } }
Token { kind: FloatLiteral(-3.14), position: Position { index: 341, line: 21, col: 20 } }
Token { kind: Comma, position: Position { index: 346, line: 21, col: 25 } }
Token { kind: Identifier("floatNegativeWithoutInteger"), position: Position { index: 352, line: 22, col: 5 } }
Token { kind: Colon, position: Position { index: 379, line: 22, col: 32 } }
Token { kind: FloatLiteral(-0.14), position: Position { index: 381, line: 22, col: 34 } }
Token { kind: Comma, position: Position { index: 385, line: 22, col: 38 } }
Token { kind: Identifier("floatNegativeWithoutDecimal"), position: Position { index: 391, line: 23, col: 5 } }
Token { kind: Colon, position: Position { index: 418, line: 23, col: 32 } }
Token { kind: FloatLiteral(-3.0), position: Position { index: 420, line: 23, col: 34 } }
Token { kind: Comma, position: Position { index: 423, line: 23, col: 37 } }
Token { kind: Identifier("integer"), position: Position { index: 429, line: 24, col: 5 } }
Token { kind: Colon, position: Position { index: 436, line: 24, col: 12 } }
Token { kind: IntegerLiteral(3), position: Position { index: 438, line: 24, col: 14 } }
Token { kind: Comma, position: Position { index: 439, line: 24, col: 15 } }
Token { kind: Identifier("hex"), position: Position { index: 445, line: 25, col: 5 } }
Token { kind: Colon, position: Position { index: 448, line: 25, col: 8 } }
Token { kind: IntegerLiteral(26), position: Position { index: 450, line: 25, col: 10 } }
Token { kind: Comma, position: Position { index: 454, line: 25, col: 14 } }
Token { kind: Identifier("binary"), position: Position { index: 460, line: 26, col: 5 } }
Token { kind: Colon, position: Position { index: 466, line: 26, col: 11 } }
Token { kind: IntegerLiteral(1), position: Position { index: 468, line: 26, col: 13 } }
Token { kind: Comma, position: Position { index: 472, line: 26, col: 17 } }
Token { kind: Identifier("otcal"), position: Position { index: 478, line: 27, col: 5 } }
Token { kind: Colon, position: Position { index: 483, line: 27, col: 10 } }
Token { kind: IntegerLiteral(10), position: Position { index: 485, line: 27, col: 12 } }
Token { kind: Comma, position: Position { index: 489, line: 27, col: 16 } }
Token { kind: Identifier("integerNegative"), position: Position { index: 495, line: 28, col: 5 } }
Token { kind: Colon, position: Position { index: 510, line: 28, col: 20 } }
Token { kind: IntegerLiteral(-3), position: Position { index: 512, line: 28, col: 22 } }
Token { kind: Comma, position: Position { index: 514, line: 28, col: 24 } }
Token { kind: Identifier("stringSingleQuota"), position: Position { index: 520, line: 29, col: 5 } }
Token { kind: Colon, position: Position { index: 537, line: 29, col: 22 } }
Token { kind: StringLiteral("abc \"def\" ghi"), position: Position { index: 539, line: 29, col: 24 } }
Token { kind: Comma, position: Position { index: 554, line: 29, col: 39 } }
Token { kind: Identifier("stringDoubleQuota"), position: Position { index: 560, line: 30, col: 5 } }
Token { kind: Colon, position: Position { index: 577, line: 30, col: 22 } }
Token { kind: StringLiteral("abc \'def\' ghi"), position: Position { index: 579, line: 30, col: 24 } }
Token { kind: Comma, position: Position { index: 594, line: 30, col: 39 } }
Token { kind: Identifier("stringBacktick"), position: Position { index: 600, line: 31, col: 5 } }
Token { kind: Colon, position: Position { index: 614, line: 31, col: 19 } }
Token { kind: StringLiteral("abc\ndef `\nxyz"), position: Position { index: 616, line: 31, col: 21 } }
Token { kind: Comma, position: Position { index: 632, line: 33, col: 5 } }
Token { kind: Identifier("stringEscaple1"), position: Position { index: 638, line: 34, col: 5 } }
Token { kind: Colon, position: Position { index: 652, line: 34, col: 19 } }
Token { kind: StringLiteral("\u{0}\u{8}\u{c}\n\r\t\u{b}\'\\©©你"), position: Position { index: 654, line: 34, col: 21 } }
Token { kind: Comma, position: Position { index: 697, line: 34, col: 64 } }
Token { kind: Identifier("stringEscaple2"), position: Position { index: 703, line: 35, col: 5 } }
Token { kind: Colon, position: Position { index: 717, line: 35, col: 19 } }
Token { kind: StringLiteral("\u{0}\u{8}\u{c}\n\r\t\u{b}\'\\©©你"), position: Position { index: 719, line: 35, col: 21 } }
Token { kind: Comma, position: Position { index: 762, line: 35, col: 64 } }
Token { kind: Identifier("stringEscaple3"), position: Position { index: 768, line: 36, col: 5 } }
Token { kind: Colon, position: Position { index: 782, line: 36, col: 19 } }
Token { kind: StringLiteral("\u{0}\u{8}\u{c}\n\r\t\u{b}\'\\©©你"), position: Position { index: 784, line: 36, col: 21 } }
Token { kind: Comma, position: Position { index: 827, line: 36, col: 64 } }
Token { kind: Identifier("arrayEmpty"), position: Position { index: 833, line: 37, col: 5 } }
Token { kind: Colon, position: Position { index: 843, line: 37, col: 15 } }
Token { kind: LeftBracket, position: Position { index: 845, line: 37, col: 17 } }
Token { kind: RightBracket, position: Position { index: 846, line: 37, col: 18 } }
Token { kind: Comma, position: Position { index: 847, line: 37, col: 19 } }
Token { kind: Identifier("arrayEmptyMultiLine"), position: Position { index: 854, line: 38, col: 5 } }
Token { kind: Colon, position: Position { index: 873, line: 38, col: 24 } }
Token { kind: LeftBracket, position: Position { index: 875, line: 38, col: 26 } }
Token { kind: At, position: Position { index: 877, line: 38, col: 28 } }
Token { kind: Identifier("array"), position: Position { index: 878, line: 38, col: 29 } }
Token { kind: RightBracket, position: Position { index: 888, line: 39, col: 5 } }
Token { kind: Comma, position: Position { index: 889, line: 39, col: 6 } }
Token { kind: Identifier("arrayEmptyWithAnnotation"), position: Position { index: 895, line: 40, col: 5 } }
Token { kind: Colon, position: Position { index: 919, line: 40, col: 29 } }
Token { kind: LeftBracket, position: Position { index: 921, line: 40, col: 31 } }
Token { kind: RightBracket, position: Position { index: 922, line: 40, col: 32 } }
Token { kind: Comma, position: Position { index: 923, line: 40, col: 33 } }
Token { kind: Identifier("arraySimple"), position: Position { index: 940, line: 41, col: 5 } }
Token { kind: Colon, position: Position { index: 951, line: 41, col: 16 } }
Token { kind: LeftBracket, position: Position { index: 953, line: 41, col: 18 } }
Token { kind: At, position: Position { index: 955, line: 41, col: 20 } }
Token { kind: Identifier("array"), position: Position { index: 956, line: 41, col: 21 } }
Token { kind: StringLiteral("a"), position: Position { index: 970, line: 42, col: 9 } }
Token { kind: Comma, position: Position { index: 973, line: 42, col: 12 } }
Token { kind: At, position: Position { index: 975, line: 42, col: 14 } }
Token { kind: Identifier("upper"), position: Position { index: 976, line: 42, col: 15 } }
Token { kind: StringLiteral("b"), position: Position { index: 990, line: 43, col: 9 } }
Token { kind: Comma, position: Position { index: 993, line: 43, col: 12 } }
Token { kind: RightBracket, position: Position { index: 999, line: 44, col: 5 } }
Token { kind: Comma, position: Position { index: 1000, line: 44, col: 6 } }
Token { kind: Identifier("arrayOneline"), position: Position { index: 1006, line: 45, col: 5 } }
Token { kind: Colon, position: Position { index: 1018, line: 45, col: 17 } }
Token { kind: LeftBracket, position: Position { index: 1020, line: 45, col: 19 } }
Token { kind: StringLiteral("a"), position: Position { index: 1021, line: 45, col: 20 } }
Token { kind: Comma, position: Position { index: 1024, line: 45, col: 23 } }
Token { kind: StringLiteral("b"), position: Position { index: 1026, line: 45, col: 25 } }
Token { kind: RightBracket, position: Position { index: 1029, line: 45, col: 28 } }
Token { kind: Comma, position: Position { index: 1030, line: 45, col: 29 } }
Token { kind: At, position: Position { index: 1032, line: 45, col: 31 } }
Token { kind: Identifier("array"), position: Position { index: 1033, line: 45, col: 32 } }
Token { kind: Identifier("arrayExtraComma"), position: Position { index: 1043, line: 46, col: 5 } }
Token { kind: Colon, position: Position { index: 1058, line: 46, col: 20 } }
Token { kind: LeftBracket, position: Position { index: 1060, line: 46, col: 22 } }
Token { kind: StringLiteral("a"), position: Position { index: 1061, line: 46, col: 23 } }
Token { kind: Comma, position: Position { index: 1064, line: 46, col: 26 } }
Token { kind: StringLiteral("b"), position: Position { index: 1066, line: 46, col: 28 } }
Token { kind: Comma, position: Position { index: 1069, line: 46, col: 31 } }
Token { kind: RightBracket, position: Position { index: 1070, line: 46, col: 32 } }
Token { kind: Comma, position: Position { index: 1071, line: 46, col: 33 } }
Token { kind: Identifier("objectEmpty"), position: Position { index: 1077, line: 47, col: 5 } }
Token { kind: Colon, position: Position { index: 1088, line: 47, col: 16 } }
Token { kind: LeftBrace, position: Position { index: 1090, line: 47, col: 18 } }
Token { kind: RightBrace, position: Position { index: 1091, line: 47, col: 19 } }
Token { kind: Comma, position: Position { index: 1092, line: 47, col: 20 } }
Token { kind: Identifier("objectEmptyMultiLine"), position: Position { index: 1098, line: 48, col: 5 } }
Token { kind: Colon, position: Position { index: 1118, line: 48, col: 25 } }
Token { kind: LeftBrace, position: Position { index: 1120, line: 48, col: 27 } }
Token { kind: At, position: Position { index: 1122, line: 48, col: 29 } }
Token { kind: Identifier("object"), position: Position { index: 1123, line: 48, col: 30 } }
Token { kind: RightBrace, position: Position { index: 1134, line: 49, col: 5 } }
Token { kind: Comma, position: Position { index: 1135, line: 49, col: 6 } }
Token { kind: Identifier("objectEmptyWithAnnotation"), position: Position { index: 1141, line: 50, col: 5 } }
Token { kind: Colon, position: Position { index: 1166, line: 50, col: 30 } }
Token { kind: LeftBrace, position: Position { index: 1168, line: 50, col: 32 } }
Token { kind: RightBrace, position: Position { index: 1169, line: 50, col: 33 } }
Token { kind: Comma, position: Position { index: 1170, line: 50, col: 34 } }
Token { kind: At, position: Position { index: 1172, line: 50, col: 36 } }
Token { kind: Identifier("use"), position: Position { index: 1173, line: 50, col: 37 } }
Token { kind: LeftParen, position: Position { index: 1176, line: 50, col: 40 } }
Token { kind: StringLiteral("Object4"), position: Position { index: 1177, line: 50, col: 41 } }
Token { kind: RightParen, position: Position { index: 1186, line: 50, col: 50 } }
Token { kind: Identifier("objectSimple"), position: Position { index: 1192, line: 51, col: 5 } }
Token { kind: Colon, position: Position { index: 1204, line: 51, col: 17 } }
Token { kind: LeftBrace, position: Position { index: 1206, line: 51, col: 19 } }
Token { kind: At, position: Position { index: 1208, line: 51, col: 21 } }
Token { kind: Identifier("save"), position: Position { index: 1209, line: 51, col: 22 } }
Token { kind: LeftParen, position: Position { index: 1213, line: 51, col: 26 } }
Token { kind: StringLiteral("Object4"), position: Position { index: 1214, line: 51, col: 27 } }
Token { kind: RightParen, position: Position { index: 1223, line: 51, col: 36 } }
Token { kind: Identifier("k1"), position: Position { index: 1233, line: 52, col: 9 } }
Token { kind: Colon, position: Position { index: 1235, line: 52, col: 11 } }
Token { kind: StringLiteral("v1"), position: Position { index: 1237, line: 52, col: 13 } }
Token { kind: Comma, position: Position { index: 1241, line: 52, col: 17 } }
Token { kind: At, position: Position { index: 1243, line: 52, col: 19 } }
Token { kind: Identifier("upper"), position: Position { index: 1244, line: 52, col: 20 } }
Token { kind: Identifier("k2"), position: Position { index: 1258, line: 53, col: 9 } }
Token { kind: Colon, position: Position { index: 1260, line: 53, col: 11 } }
Token { kind: StringLiteral("v2"), position: Position { index: 1262, line: 53, col: 13 } }
Token { kind: Comma, position: Position { index: 1266, line: 53, col: 17 } }
Token { kind: RightBrace, position: Position { index: 1272, line: 54, col: 5 } }
Token { kind: Comma, position: Position { index: 1273, line: 54, col: 6 } }
Token { kind: Identifier("objectOneLine"), position: Position { index: 1279, line: 55, col: 5 } }
Token { kind: Colon, position: Position { index: 1292, line: 55, col: 18 } }
Token { kind: LeftBrace, position: Position { index: 1294, line: 55, col: 20 } }
Token { kind: Identifier("k1"), position: Position { index: 1296, line: 55, col: 22 } }
Token { kind: Colon, position: Position { index: 1298, line: 55, col: 24 } }
Token { kind: StringLiteral("v1"), position: Position { index: 1300, line: 55, col: 26 } }
Token { kind: Comma, position: Position { index: 1304, line: 55, col: 30 } }
Token { kind: Identifier("k2"), position: Position { index: 1306, line: 55, col: 32 } }
Token { kind: Colon, position: Position { index: 1308, line: 55, col: 34 } }
Token { kind: StringLiteral("v2"), position: Position { index: 1310, line: 55, col: 36 } }
Token { kind: RightBrace, position: Position { index: 1315, line: 55, col: 41 } }
Token { kind: Comma, position: Position { index: 1316, line: 55, col: 42 } }
Token { kind: At, position: Position { index: 1318, line: 55, col: 44 } }
Token { kind: Identifier("object"), position: Position { index: 1319, line: 55, col: 45 } }
Token { kind: Identifier("objectExtraComma"), position: Position { index: 1330, line: 56, col: 5 } }
Token { kind: Colon, position: Position { index: 1346, line: 56, col: 21 } }
Token { kind: LeftBrace, position: Position { index: 1348, line: 56, col: 23 } }
Token { kind: Identifier("k1"), position: Position { index: 1350, line: 56, col: 25 } }
Token { kind: Colon, position: Position { index: 1352, line: 56, col: 27 } }
Token { kind: StringLiteral("v1"), position: Position { index: 1354, line: 56, col: 29 } }
Token { kind: Comma, position: Position { index: 1358, line: 56, col: 33 } }
Token { kind: Identifier("k2"), position: Position { index: 1360, line: 56, col: 35 } }
Token { kind: Colon, position: Position { index: 1362, line: 56, col: 37 } }
Token { kind: StringLiteral("v2"), position: Position { index: 1364, line: 56, col: 39 } }
Token { kind: Comma, position: Position { index: 1368, line: 56, col: 43 } }
Token { kind: RightBrace, position: Position { index: 1370, line: 56, col: 45 } }
Token { kind: Comma, position: Position { index: 1371, line: 56, col: 46 } }
Token { kind: RightBrace, position: Position { index: 1373, line: 57, col: 1 } }
Token { kind: Eof, position: Position { index: 1375, line: 58, col: 1 } }
