{
  "programs": [
    "Program {\n    span: 152..742,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 197..221,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 217..262,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 258..280,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 344..367,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 361..378,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 282..439,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 453..465,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 525..548,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 542..555,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 488..560,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 597..635,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 152..284,\n        ident: Ident {\n            span: 161..163,\n            sym: \"Cp\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 431..491,\n        ident: Ident {\n            span: 440..443,\n            sym: \"Cpp\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 557..579,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 557..579,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 576..599,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 576..599,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 632..682,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 632..682,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 679..726,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 679..726,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 723..742,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 723..742,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 164..165,\n        sym: \"t\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 444..445,\n        sym: \"t\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 561..563,\n        sym: \"cp\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 564..579,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 580..583,\n        sym: \"cpp\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 584..599,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 636..640,\n        sym: \"cppn\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 641..682,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 683..686,\n        sym: \"cpn\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 687..726,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 727..730,\n        sym: \"cpn\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 731..742,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 197..201,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 201..207,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 202..205,\n                sym: \"dit\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 208..212,\n        sym: \"this\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 206..221,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 217..221,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 221..225,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 222..223,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 226..227,\n        sym: \"t\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 224..262,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 258..262,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 262..267,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 263..265,\n                sym: \"m3\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 274..278,\n        sym: \"this\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 268..280,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 266..280,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 282..284,\n        sym: \"Cp\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 284..296,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 285..294,\n                sym: \"prototype\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 344..348,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 348..352,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 349..350,\n                sym: \"z\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 353..357,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 357..360,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 358..359,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 351..360,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 368..372,\n        sym: \"this\",\n    },\n)",
    "Function(\n    _,\n)",
    "Object(\n    ObjectExpr {\n        span: 297..439,\n        props: [\n            KeyValueProp {\n                span: 329..380,\n                key: Ident(\n                    Ident {\n                        span: 329..331,\n                        sym: \"m4\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 295..439,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 453..457,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 457..461,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 458..459,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 462..463,\n        sym: \"t\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 460..465,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 488..491,\n        sym: \"Cpp\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 491..502,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 492..501,\n                sym: \"prototype\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 501..506,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 502..504,\n                sym: \"m2\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 525..529,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 529..533,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 530..531,\n                sym: \"z\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 534..538,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 538..541,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 539..540,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 532..541,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 549..553,\n        sym: \"this\",\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 505..560,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 570..572,\n        sym: \"Cp\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 573..574,\n            value: 1.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 572..579,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 566..579,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 590..593,\n        sym: \"Cpp\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 594..595,\n            value: 2.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 593..599,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 586..599,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 597..599,\n        sym: \"cp\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 599..635,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 600..603,\n                sym: \"dit\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 643..646,\n        sym: \"cpp\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 646..650,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 647..649,\n                sym: \"m2\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 649..682,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 689..691,\n        sym: \"cp\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 691..695,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 692..694,\n                sym: \"m3\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 694..726,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 733..735,\n        sym: \"cp\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 735..739,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 736..738,\n                sym: \"m4\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 738..742,\n        callee: _,\n        args: [],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 329..380,\n    params: [],\n    body: [\n        _,\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 507..560,\n    params: [],\n    body: [\n        _,\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
