{
  "programs": [
    "Program {\n    span: 1..2010,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 29..36,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 618..648,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 612..653,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 660..688,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 654..691,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 576..691,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 731..761,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 725..766,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 773..801,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 767..804,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 689..804,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 849..884,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 843..889,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 896..943,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 890..946,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 802..946,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 984..1012,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 978..1017,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1024..1043,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1018..1047,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 944..1047,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 1080..1121,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 1122..1403,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1045..1403,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1443..1471,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1437..1476,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1483..1513,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1477..1516,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1401..1516,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1556..1584,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1550..1589,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1596..1626,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1590..1629,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1514..1629,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1674..1721,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1668..1726,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1733..1768,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1727..1771,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1627..1771,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1809..1828,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1803..1833,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1840..1868,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1834..1872,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1769..1872,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 1905..1972,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 1973..2010,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1870..2010,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 33..53,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 33..49,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 50..72,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 50..68,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 69..89,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 69..85,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 86..120,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 86..116,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 117..153,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 117..149,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 150..185,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 150..185,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 182..232,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 182..228,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 229..256,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 229..252,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 253..280,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 253..276,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 277..306,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 277..302,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 303..578,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 303..312,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1086..1116,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1086..1108,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1128..1184,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1128..1163,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1911..1967,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1911..1946,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1979..2009,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1979..2001,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 37..40,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 54..58,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 73..76,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 90..98,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 121..130,\n        sym: \"strOrBool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 154..163,\n        sym: \"numOrBool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 186..200,\n        sym: \"strOrNumOrBool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 233..239,\n        sym: \"strOrC\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 257..263,\n        sym: \"numOrC\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 281..288,\n        sym: \"boolOrC\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 307..308,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 618..622,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 660..663,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 731..735,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 773..776,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 849..853,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 896..904,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 984..988,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1024..1025,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1090..1092,\n        sym: \"z1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1132..1134,\n        sym: \"z2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1443..1446,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1483..1487,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1556..1559,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1596..1600,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1674..1682,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1733..1737,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1809..1810,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1840..1844,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1915..1917,\n        sym: \"z1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1983..1985,\n        sym: \"z2\",\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 587..596,\n        sym: \"strOrBool\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 580..600,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 601..610,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 597..611,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 625..634,\n        sym: \"strOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 623..635,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 666..675,\n        sym: \"strOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 664..676,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 700..709,\n        sym: \"numOrBool\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 693..713,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 714..723,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 710..724,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 738..747,\n        sym: \"numOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 736..748,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 779..788,\n        sym: \"numOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 777..789,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 813..827,\n        sym: \"strOrNumOrBool\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 806..831,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 832..841,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 828..842,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 856..870,\n        sym: \"strOrNumOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 854..871,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 907..921,\n        sym: \"strOrNumOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 905..922,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 955..962,\n        sym: \"boolOrC\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 948..966,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 967..976,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 963..977,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 991..998,\n        sym: \"boolOrC\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 989..999,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1028..1035,\n        sym: \"boolOrC\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1026..1036,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1056..1064,\n        sym: \"strOrNum\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1049..1068,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1069..1078,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1065..1079,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1099..1107,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1154..1162,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1412..1421,\n        sym: \"strOrBool\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1405..1425,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1426..1435,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1422..1436,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1449..1458,\n        sym: \"strOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1447..1459,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1490..1499,\n        sym: \"strOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1488..1500,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1525..1534,\n        sym: \"numOrBool\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1518..1538,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1539..1548,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1535..1549,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1562..1571,\n        sym: \"numOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1560..1572,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1603..1612,\n        sym: \"numOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1601..1613,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1638..1652,\n        sym: \"strOrNumOrBool\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1631..1656,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1657..1666,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1653..1667,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1685..1699,\n        sym: \"strOrNumOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1683..1700,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1740..1754,\n        sym: \"strOrNumOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1738..1755,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1780..1787,\n        sym: \"boolOrC\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1773..1791,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1792..1801,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1788..1802,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1813..1820,\n        sym: \"boolOrC\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1811..1821,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1847..1854,\n        sym: \"boolOrC\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1845..1855,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1881..1889,\n        sym: \"strOrNum\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1874..1893,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1894..1903,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1890..1904,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1937..1945,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1992..2000,\n        sym: \"strOrNum\",\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
