{
  "programs": [
    "Program {\n    span: 38..4417,\n    kind: Module,\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        _,\n        _,\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: 142..162,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 159..179,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 176..208,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 205..225,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 222..254,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 251..283,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 280..312,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 309..341,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 338..364,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 498..584,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 583..669,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 668..680,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 679..691,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 690..777,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 776..863,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 862..872,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 871..881,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 880..890,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 889..900,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 899..913,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 912..926,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 925..1001,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1000..1072,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1126..1131,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1130..1133,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1132..1158,\n        stmts: [],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1157..1160,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1162..1164,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 1159..1164,\n        label: Ident {\n            span: 1159..1160,\n            sym: \"k\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1163..1166,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1171..1247,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1246..1258,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1257..1268,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1267..1278,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1165..1288,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1333..1338,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1337..1340,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1341..1355,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1354..1362,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1356..1364,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1339..1365,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1364..1367,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1369..1371,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 1366..1371,\n        label: Ident {\n            span: 1366..1367,\n            sym: \"k\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1370..1373,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1378..1454,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1453..1461,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1372..1471,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1541..1551,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1550..1558,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1707..1737,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1734..1764,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1761..1791,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1788..1814,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1926..1946,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1943..1963,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1960..1976,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2084..2114,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2111..2141,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2138..2168,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2165..2191,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 2563..2600,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 2774..2797,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2764..2809,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 2741..2809,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 2803..2825,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 2958..2981,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3209..3216,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3274..3279,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3278..3314,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3445..3469,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3559..3574,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3694..3709,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3906..3921,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3926..3948,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3944..3964,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 3920..3966,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3965..3994,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4052..4060,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4120..4128,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4182..4190,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4249..4280,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 4390..4414,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4359..4416,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 4356..4417,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "For(\n    ForStmt {\n        span: 4326..4417,\n        head: Of(\n            ForOfHead {\n                is_await: false,\n                left: Decl(\n                    _,\n                ),\n                right: _,\n            },\n        ),\n        body: _,\n    },\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 38..374,\n        ident: Ident {\n            span: 47..49,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 366..1082,\n        ident: Ident {\n            span: 375..377,\n            sym: \"f2\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1463..1564,\n        ident: Ident {\n            span: 1472..1474,\n            sym: \"f4\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1560..1607,\n        ident: Ident {\n            span: 1565..1569,\n            sym: \"Item\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1599..1820,\n        ident: Ident {\n            span: 1608..1611,\n            sym: \"f10\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1816..1861,\n        ident: Ident {\n            span: 1821..1825,\n            sym: \"Dict\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1853..1986,\n        ident: Ident {\n            span: 1862..1865,\n            sym: \"f11\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1978..2221,\n        ident: Ident {\n            span: 1987..1990,\n            sym: \"f12\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2222..2275,\n        ident: Ident {\n            span: 2232..2238,\n            sym: \"Entity\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 2245..2267,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2245..2247,\n                            sym: \"id\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 2276..2322,\n        ident: Ident {\n            span: 2281..2285,\n            sym: \"IdOf\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2286..2287,\n                sym: \"E\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2323..2449,\n        ident: Ident {\n            span: 2333..2344,\n            sym: \"EntityState\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2345..2346,\n                sym: \"E\",\n            },\n        ],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 2369..2397,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2369..2372,\n                            sym: \"ids\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 2389..2440,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2389..2397,\n                            sym: \"entities\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2526..2569,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2526..2558,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2450..2608,\n        ident: Ident {\n            span: 2459..2473,\n            sym: \"getAllEntities\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2703..2743,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2703..2735,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2609..2858,\n        ident: Ident {\n            span: 2618..2627,\n            sym: \"getEntity\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2849..2911,\n        ident: Ident {\n            span: 2859..2863,\n            sym: \"Type\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 2870..2883,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2870..2871,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 2882..2901,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2882..2883,\n                            sym: \"b\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2903..3009,\n        ident: Ident {\n            span: 2912..2918,\n            sym: \"get123\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 3005..3083,\n        ident: Ident {\n            span: 3010..3023,\n            sym: \"StrictExtract\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3024..3025,\n                sym: \"T\",\n            },\n            Ident {\n                span: 3027..3028,\n                sym: \"U\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 3079..3153,\n        ident: Ident {\n            span: 3084..3097,\n            sym: \"StrictExclude\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3098..3099,\n                sym: \"T\",\n            },\n            Ident {\n                span: 3101..3102,\n                sym: \"U\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3306..3479,\n        ident: Ident {\n            span: 3315..3317,\n            sym: \"fn\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3471..3606,\n        ident: Ident {\n            span: 3480..3483,\n            sym: \"fn2\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3598..3719,\n        ident: Ident {\n            span: 3607..3610,\n            sym: \"fn3\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3750..3790,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3750..3782,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3787..3829,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3787..3827,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3711..3870,\n        ident: Ident {\n            span: 3720..3723,\n            sym: \"fn4\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4275..4329,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4275..4325,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4331..4346,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4331..4346,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 50..53,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 91..93,\n        sym: \"k0\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 100..102,\n        sym: \"k1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 115..117,\n        sym: \"k2\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 415..416,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 444..445,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 474..475,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 480..481,\n        sym: \"k\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 498..499,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 583..584,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 668..669,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 679..680,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 690..691,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 776..777,\n        sym: \"c\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1171..1172,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1246..1247,\n        sym: \"b\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1378..1379,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1453..1454,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1493..1494,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1526..1527,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1541..1542,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1550..1551,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1647..1650,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1655..1657,\n        sym: \"k1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1667..1669,\n        sym: \"k2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1683..1685,\n        sym: \"k3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1696..1698,\n        sym: \"k4\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1888..1891,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1899..1901,\n        sym: \"k1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1915..1917,\n        sym: \"k2\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 2036..2039,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2044..2046,\n        sym: \"k1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2060..2062,\n        sym: \"k2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2073..2075,\n        sym: \"k3\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 2492..2497,\n        sym: \"state\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 2532..2551,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 2534..2538,\n                    key: Ident {\n                        span: 2534..2537,\n                        sym: \"ids\",\n                    },\n                    value: None,\n                },\n            ),\n            Assign(\n                ObjectPatAssign {\n                    span: 2539..2549,\n                    key: Ident {\n                        span: 2539..2547,\n                        sym: \"entities\",\n                    },\n                    value: None,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2578..2580,\n        sym: \"id\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2646..2648,\n        sym: \"id\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2659..2664,\n        sym: \"state\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 2709..2728,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 2711..2715,\n                    key: Ident {\n                        span: 2711..2714,\n                        sym: \"ids\",\n                    },\n                    value: None,\n                },\n            ),\n            Assign(\n                ObjectPatAssign {\n                    span: 2716..2726,\n                    key: Ident {\n                        span: 2716..2724,\n                        sym: \"entities\",\n                    },\n                    value: None,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3383..3388,\n        sym: \"param\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3393..3395,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3509..3514,\n        sym: \"param\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3519..3521,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3644..3649,\n        sym: \"param\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3654..3656,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3754..3755,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3791..3792,\n        sym: \"y\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4281..4288,\n        sym: \"actions\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 4289..4325,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4337..4343,\n        sym: \"action\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4377..4378,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4380..4381,\n        sym: \"y\",\n    },\n)",
    "Expr(\n    _,\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 142..145,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 146..148,\n        sym: \"k0\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 145..151,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 152..153,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 150..154,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 159..162,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 163..165,\n        sym: \"k0\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 162..168,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 169..170,\n            value: 2.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 167..171,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 176..179,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 180..182,\n        sym: \"k0\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 179..185,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 186..189,\n            value: \"x\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 184..190,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 205..208,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 209..211,\n        sym: \"k1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 208..214,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 215..216,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 213..217,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 222..225,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 226..228,\n        sym: \"k1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 225..231,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 232..233,\n            value: 2.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 230..234,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 251..254,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 255..257,\n        sym: \"k1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 254..260,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 261..264,\n            value: \"x\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 259..265,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 280..283,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 284..286,\n        sym: \"k2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 283..289,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 290..291,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 288..292,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 309..312,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 313..315,\n        sym: \"k2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 312..318,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 319..320,\n            value: 2.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 317..321,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 338..341,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 342..344,\n        sym: \"k2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 341..347,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 348..351,\n            value: \"x\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 346..352,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 502..503,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 500..504,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 587..588,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 585..589,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 672..673,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 670..674,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 683..684,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 681..685,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 694..695,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 692..696,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 780..781,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 778..782,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 862..863,\n        sym: \"a\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 863..866,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 864..865,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 871..872,\n        sym: \"b\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 872..875,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 873..874,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 880..881,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 881..884,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 882..883,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 889..890,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 891..892,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 890..894,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 899..900,\n        sym: \"a\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 900..904,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 901..902,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 905..906,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 903..907,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 912..913,\n        sym: \"b\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 913..917,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 914..915,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 918..919,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 916..920,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 925..926,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 926..930,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 927..928,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 931..932,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 929..933,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1000..1001,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1002..1003,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1001..1006,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1007..1008,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1005..1009,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1129..1130,\n        sym: \"b\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 1126..1131,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1162..1163,\n        sym: \"K\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1175..1176,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1173..1177,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1250..1251,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1248..1252,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1257..1258,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1259..1260,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1258..1262,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1267..1268,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1269..1270,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1268..1273,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1274..1275,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1272..1276,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1336..1337,\n        sym: \"b\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 1333..1338,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1342..1343,\n        sym: \"P\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1347..1353,\n        sym: \"string\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1344..1354,\n        op: In,\n        left: _,\n        right: _,\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 1341..1355,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1356..1362,\n        sym: \"number\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1369..1370,\n        sym: \"K\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1382..1383,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1380..1384,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1457..1458,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1455..1459,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1545..1546,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1543..1547,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1554..1555,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1552..1556,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1707..1710,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1711..1713,\n        sym: \"k1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1710..1716,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1717..1720,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1715..1721,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1734..1737,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1738..1740,\n        sym: \"k2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1737..1743,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1744..1747,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1742..1748,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1761..1764,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1765..1767,\n        sym: \"k3\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1764..1770,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1771..1774,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1769..1775,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1788..1791,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1792..1794,\n        sym: \"k4\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1791..1797,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1798..1801,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1796..1802,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1926..1929,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1929..1935,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1930..1933,\n                sym: \"foo\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1936..1939,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1934..1940,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1943..1946,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1947..1949,\n        sym: \"k1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1946..1952,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1953..1956,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1951..1957,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1960..1963,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1964..1966,\n        sym: \"k2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1963..1969,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1970..1973,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1968..1974,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2084..2087,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2087..2093,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2088..2091,\n                sym: \"foo\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2094..2097,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 2092..2098,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2111..2114,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2115..2117,\n        sym: \"k1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2114..2120,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2121..2124,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 2119..2125,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2138..2141,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2142..2144,\n        sym: \"k2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2141..2147,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2148..2151,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 2146..2152,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2165..2168,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2169..2171,\n        sym: \"k3\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2168..2174,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2175..2178,\n            value: 123.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 2173..2179,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2552..2557,\n        sym: \"state\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2570..2573,\n        sym: \"ids\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2573..2578,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2574..2577,\n                sym: \"map\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2584..2592,\n        sym: \"entities\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2593..2595,\n        sym: \"id\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2592..2597,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 2578..2597,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2577..2598,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2729..2734,\n        sym: \"state\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2746..2749,\n        sym: \"ids\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2749..2759,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2750..2758,\n                sym: \"includes\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2759..2761,\n        sym: \"id\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2758..2763,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 2745..2763,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2781..2790,\n        sym: \"undefined\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2810..2818,\n        sym: \"entities\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2819..2821,\n        sym: \"id\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2818..2823,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2965..2968,\n            value: 123.0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 3275..3279,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 3279..3314,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3445..3447,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3448..3453,\n        sym: \"param\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3453..3463,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3454..3462,\n                sym: \"elements\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3463..3464,\n            value: 0.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 3462..3466,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3447..3467,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3559..3561,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3562..3567,\n        sym: \"param\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3568..3569,\n            value: 0.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 3567..3571,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3561..3572,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3694..3696,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3697..3702,\n        sym: \"param\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3703..3704,\n            value: 0.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 3702..3706,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3696..3707,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3776..3781,\n            value: \"abc\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3821..3826,\n            value: \"abc\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3906..3917,\n        sym: \"constructor\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3917..3921,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3926..3930,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3930..3934,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3931..3932,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3935..3938,\n            value: \"b\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 3933..3939,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3944..3948,\n        sym: \"this\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3949..3952,\n            value: \"a\",\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 3948..3955,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3956..3959,\n            value: \"b\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 3954..3960,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4292..4302,\n            value: \"resizeTo\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4304..4314,\n            value: \"resizeBy\",\n        },\n    ),\n)",
    "Array(\n    ArrayExpr {\n        span: 4291..4318,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "TsAs(\n    TsAsExpr {\n        span: 4316..4325,\n        expr: _,\n        ty: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4347..4354,\n        sym: \"actions\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4359..4365,\n        sym: \"window\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4366..4372,\n        sym: \"action\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4365..4375,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4390..4396,\n        sym: \"window\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4397..4403,\n        sym: \"action\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4396..4405,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4405..4406,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4408..4409,\n        sym: \"y\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4404..4411,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 4376..4416,\n        params: [\n            _,\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4374..4416,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)"
  ],
  "module_decls": [
    "ExportDecl(\n    ExportDecl {\n        span: 2215..2275,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 2269..2322,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 2316..2449,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 2443..2608,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 2602..2858,\n        decl: _,\n    },\n)"
  ],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1572..1597,\n        members: [\n            TsTypeMember {\n                span: 1574..1586,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1574..1575,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1585..1596,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1585..1586,\n                            sym: \"b\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1828..1851,\n        name: Ident {\n            span: 1828..1835,\n            sym: \"Record\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Union(\n    TsUnionType {\n        span: 2249..2265,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2306..2308,\n        name: Ident {\n            span: 2306..2308,\n            sym: \"E\",\n        },\n        type_args: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2308..2312,\n            value: \"id\",\n        },\n    ),\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 2306..2314,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2379..2381,\n        name: Ident {\n            span: 2379..2381,\n            sym: \"E\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2374..2382,\n        name: Ident {\n            span: 2374..2379,\n            sym: \"IdOf\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Array(\n    TsArrayType {\n        span: 2374..2384,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2416..2418,\n        name: Ident {\n            span: 2416..2418,\n            sym: \"E\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2434..2437,\n        name: Ident {\n            span: 2434..2437,\n            sym: \"E\",\n        },\n        type_args: [],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 2399..2438,\n        members: [\n            TsTypeMember {\n                span: 2401..2420,\n                kind: Index,\n                name: None,\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 2402..2405,\n                        name: Some(\n                            Ident {\n                                span: 2402..2405,\n                                sym: \"key\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 2419..2437,\n                kind: Index,\n                name: None,\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 2420..2423,\n                        name: Some(\n                            Ident {\n                                span: 2420..2423,\n                                sym: \"key\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2873..2876,\n            value: 123.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2885..2898,\n            value: \"some string\",\n        },\n    ),\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3032..3041,\n        name: Ident {\n            span: 3032..3041,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3042..3045,\n        name: Ident {\n            span: 3042..3045,\n            sym: \"U\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3046..3055,\n        name: Ident {\n            span: 3046..3055,\n            sym: \"U\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3056..3059,\n        name: Ident {\n            span: 3056..3059,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3060..3063,\n        name: Ident {\n            span: 3060..3063,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Never,\n)",
    "Conditional(\n    TsConditionalType {\n        span: 3046..3071,\n        check_type: _,\n        extends_type: _,\n        true_type: _,\n        false_type: _,\n    },\n)",
    "Keyword(\n    Never,\n)",
    "Conditional(\n    TsConditionalType {\n        span: 3032..3078,\n        check_type: _,\n        extends_type: _,\n        true_type: _,\n        false_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3106..3115,\n        name: Ident {\n            span: 3106..3115,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3130..3132,\n        name: Ident {\n            span: 3130..3132,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3133..3135,\n        name: Ident {\n            span: 3133..3135,\n            sym: \"U\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3116..3137,\n        name: Ident {\n            span: 3116..3130,\n            sym: \"StrictExtract\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Never,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3146..3148,\n        name: Ident {\n            span: 3146..3148,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Conditional(\n    TsConditionalType {\n        span: 3106..3148,\n        check_type: _,\n        extends_type: _,\n        true_type: _,\n        false_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 4319..4325,\n        name: Ident {\n            span: 4319..4325,\n            sym: \"const\",\n        },\n        type_args: [],\n    },\n)"
  ]
}
