@elaraai/east 1.0.68 → 1.0.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/ast.d.ts +2 -0
- package/dist/src/ast.d.ts.map +1 -1
- package/dist/src/ast_to_ir.d.ts +7 -3
- package/dist/src/ast_to_ir.d.ts.map +1 -1
- package/dist/src/ast_to_ir.js +62 -15
- package/dist/src/ast_to_ir.js.map +1 -1
- package/dist/src/builtins.d.ts +1 -1
- package/dist/src/builtins.d.ts.map +1 -1
- package/dist/src/builtins.js +7 -0
- package/dist/src/builtins.js.map +1 -1
- package/dist/src/codegen/codegen.spec.d.ts +6 -0
- package/dist/src/codegen/codegen.spec.d.ts.map +1 -0
- package/dist/src/codegen/codegen.spec.js +763 -0
- package/dist/src/codegen/codegen.spec.js.map +1 -0
- package/dist/src/codegen/doc.d.ts +111 -0
- package/dist/src/codegen/doc.d.ts.map +1 -0
- package/dist/src/codegen/doc.js +350 -0
- package/dist/src/codegen/doc.js.map +1 -0
- package/dist/src/codegen/doc.spec.d.ts +6 -0
- package/dist/src/codegen/doc.spec.d.ts.map +1 -0
- package/dist/src/codegen/doc.spec.js +86 -0
- package/dist/src/codegen/doc.spec.js.map +1 -0
- package/dist/src/codegen/index.d.ts +15 -0
- package/dist/src/codegen/index.d.ts.map +1 -0
- package/dist/src/codegen/index.js +15 -0
- package/dist/src/codegen/index.js.map +1 -0
- package/dist/src/codegen/printer.d.ts +63 -0
- package/dist/src/codegen/printer.d.ts.map +1 -0
- package/dist/src/codegen/printer.js +1529 -0
- package/dist/src/codegen/printer.js.map +1 -0
- package/dist/src/codegen/spellings.d.ts +73 -0
- package/dist/src/codegen/spellings.d.ts.map +1 -0
- package/dist/src/codegen/spellings.js +299 -0
- package/dist/src/codegen/spellings.js.map +1 -0
- package/dist/src/codegen/spellings.spec.d.ts +6 -0
- package/dist/src/codegen/spellings.spec.d.ts.map +1 -0
- package/dist/src/codegen/spellings.spec.js +191 -0
- package/dist/src/codegen/spellings.spec.js.map +1 -0
- package/dist/src/codegen/types.d.ts +67 -0
- package/dist/src/codegen/types.d.ts.map +1 -0
- package/dist/src/codegen/types.js +173 -0
- package/dist/src/codegen/types.js.map +1 -0
- package/dist/src/compile.d.ts.map +1 -1
- package/dist/src/compile.js +50 -2
- package/dist/src/compile.js.map +1 -1
- package/dist/src/compile.open_beast.spec.d.ts +6 -0
- package/dist/src/compile.open_beast.spec.d.ts.map +1 -0
- package/dist/src/compile.open_beast.spec.js +99 -0
- package/dist/src/compile.open_beast.spec.js.map +1 -0
- package/dist/src/expr/blob.d.ts +41 -1
- package/dist/src/expr/blob.d.ts.map +1 -1
- package/dist/src/expr/blob.js +52 -0
- package/dist/src/expr/blob.js.map +1 -1
- package/dist/src/expr/block.d.ts +148 -0
- package/dist/src/expr/block.d.ts.map +1 -1
- package/dist/src/expr/block.js +168 -4
- package/dist/src/expr/block.js.map +1 -1
- package/dist/src/expr/index.d.ts +155 -2
- package/dist/src/expr/index.d.ts.map +1 -1
- package/dist/src/expr/index.js +155 -2
- package/dist/src/expr/index.js.map +1 -1
- package/dist/src/expr/libs/datetime.d.ts +11 -0
- package/dist/src/expr/libs/datetime.d.ts.map +1 -1
- package/dist/src/expr/libs/datetime.js +11 -0
- package/dist/src/expr/libs/datetime.js.map +1 -1
- package/dist/src/functions.crossimport.spec.d.ts +6 -0
- package/dist/src/functions.crossimport.spec.d.ts.map +1 -0
- package/dist/src/functions.crossimport.spec.js +45 -0
- package/dist/src/functions.crossimport.spec.js.map +1 -0
- package/dist/src/functions.d.ts +4103 -0
- package/dist/src/functions.d.ts.map +1 -0
- package/dist/src/functions.js +443 -0
- package/dist/src/functions.js.map +1 -0
- package/dist/src/functions.spec.d.ts +6 -0
- package/dist/src/functions.spec.d.ts.map +1 -0
- package/dist/src/functions.spec.js +123 -0
- package/dist/src/functions.spec.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/naming.d.ts +50 -0
- package/dist/src/naming.d.ts.map +1 -0
- package/dist/src/naming.js +194 -0
- package/dist/src/naming.js.map +1 -0
- package/dist/src/naming.spec.d.ts +6 -0
- package/dist/src/naming.spec.d.ts.map +1 -0
- package/dist/src/naming.spec.js +154 -0
- package/dist/src/naming.spec.js.map +1 -0
- package/dist/src/serialization/beast2/index.d.ts +16 -1
- package/dist/src/serialization/beast2/index.d.ts.map +1 -1
- package/dist/src/serialization/beast2/index.js +24 -3
- package/dist/src/serialization/beast2/index.js.map +1 -1
- package/dist/src/serialization/beast2/index.spec.js +25 -0
- package/dist/src/serialization/beast2/index.spec.js.map +1 -1
- package/dist/src/serialization/beast2/shared.d.ts +1 -1
- package/dist/src/serialization/beast2/shared.d.ts.map +1 -1
- package/dist/src/serialization/beast2/shared.js +9 -1
- package/dist/src/serialization/beast2/shared.js.map +1 -1
- package/dist/src/serialization/beast2/v4/container.d.ts +10 -0
- package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v4/container.js +13 -0
- package/dist/src/serialization/beast2/v4/container.js.map +1 -1
- package/dist/src/serialization/beast2/v5/frames.d.ts +17 -0
- package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/frames.js +40 -0
- package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
- package/dist/src/serialization/beast2/v5/geometry.d.ts +10 -113
- package/dist/src/serialization/beast2/v5/geometry.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/geometry.js +7 -151
- package/dist/src/serialization/beast2/v5/geometry.js.map +1 -1
- package/dist/src/serialization/beast2/v5/lazy.d.ts +8 -2
- package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/lazy.js +9 -3
- package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
- package/dist/src/serialization/beast2/v5/range.d.ts +201 -0
- package/dist/src/serialization/beast2/v5/range.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/range.js +252 -0
- package/dist/src/serialization/beast2/v5/range.js.map +1 -0
- package/dist/src/serialization/beast2/v5/stream.d.ts +29 -5
- package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/stream.js +86 -19
- package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
- package/dist/src/serialization/beast2/v5/sync-reader.spec.d.ts +6 -0
- package/dist/src/serialization/beast2/v5/sync-reader.spec.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/sync-reader.spec.js +228 -0
- package/dist/src/serialization/beast2/v5/sync-reader.spec.js.map +1 -0
- package/dist/src/serialization/index.d.ts +1 -1
- package/dist/src/serialization/index.d.ts.map +1 -1
- package/dist/src/serialization/index.js +1 -1
- package/dist/src/serialization/index.js.map +1 -1
- package/package.json +11 -2
package/dist/src/ast.d.ts
CHANGED
|
@@ -42,6 +42,8 @@ export type VariableAST = {
|
|
|
42
42
|
type: EastType;
|
|
43
43
|
loc_id: bigint;
|
|
44
44
|
mutable: boolean;
|
|
45
|
+
/** The authoring name (#639), when the builder could read it; the lowering keeps it unique. */
|
|
46
|
+
name?: string | undefined;
|
|
45
47
|
};
|
|
46
48
|
/** @internal */
|
|
47
49
|
export type LetAST = {
|
package/dist/src/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/ast.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQhE,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;CACd,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,GAAG,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;CACtE,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/ast.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQhE,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;CACd,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,GAAG,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;CACtE,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,+FAA+F;IAC/F,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAGF,gBAAgB;AAChB,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;CACf,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;CACf,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;CACtB,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,GAAG,EAAE,CAAC;CACnB,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE;QACH,SAAS,EAAE,GAAG,CAAC;QACf,IAAI,EAAE,GAAG,CAAC;KACX,EAAE,CAAC;IACJ,SAAS,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,eAAe;AACf,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC5B,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC5B,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf;6FACyF;IACzF,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;CACf,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,GAAG,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC"}
|
package/dist/src/ast_to_ir.d.ts
CHANGED
|
@@ -10,6 +10,11 @@ export declare class OutOfScopeException extends Error {
|
|
|
10
10
|
definedLocation: bigint;
|
|
11
11
|
constructor(definedLocation: bigint);
|
|
12
12
|
}
|
|
13
|
+
/** The names one body binds, and the body it sits in — the scope chain the authoring names are unique within (#639). */
|
|
14
|
+
type Scope = {
|
|
15
|
+
names: Set<string>;
|
|
16
|
+
parent: Scope | null;
|
|
17
|
+
};
|
|
13
18
|
type Ctx = {
|
|
14
19
|
local_ctx: Map<VariableAST, VariableIR>;
|
|
15
20
|
parent_ctx: Map<VariableAST, VariableIR>;
|
|
@@ -17,6 +22,8 @@ type Ctx = {
|
|
|
17
22
|
loop_ctx: Map<Label, IRLabel>;
|
|
18
23
|
recursiveASTs?: Set<any>;
|
|
19
24
|
n_vars: number;
|
|
25
|
+
/** the body's scope: the authoring names it binds, and the enclosing bodies' */
|
|
26
|
+
scope: Scope;
|
|
20
27
|
n_loops: number;
|
|
21
28
|
inputs: EastType[];
|
|
22
29
|
output: EastType;
|
|
@@ -37,9 +44,6 @@ type Ctx = {
|
|
|
37
44
|
* @internal
|
|
38
45
|
*/
|
|
39
46
|
export declare function coerce_to(value_ir: IR, source_type: EastType, target_type: EastType, loc_id: bigint, visited?: Set<string>): IR;
|
|
40
|
-
/** Perform scope resolution and type checking on `AST`, produce `IR` ready for serialization, compilation or evaluation.
|
|
41
|
-
*
|
|
42
|
-
* @internal */
|
|
43
47
|
export declare function ast_to_ir(ast: AST, ctx?: Ctx): IR;
|
|
44
48
|
export {};
|
|
45
49
|
//# sourceMappingURL=ast_to_ir.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast_to_ir.d.ts","sourceRoot":"","sources":["../../src/ast_to_ir.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGvD,OAAO,EAAuB,KAAK,QAAQ,EAAsJ,MAAM,YAAY,CAAC;AAKpN,0EAA0E;AAC1E,qBAAa,mBAAoB,SAAQ,KAAK;IACzB,eAAe,EAAE,MAAM;gBAAvB,eAAe,EAAE,MAAM;CAG3C;AAED,KAAK,GAAG,GAAG;IACT,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACxC,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACzC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAA;AAGD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,EAAE,EACZ,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,EAAE,CA+DJ;
|
|
1
|
+
{"version":3,"file":"ast_to_ir.d.ts","sourceRoot":"","sources":["../../src/ast_to_ir.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGvD,OAAO,EAAuB,KAAK,QAAQ,EAAsJ,MAAM,YAAY,CAAC;AAKpN,0EAA0E;AAC1E,qBAAa,mBAAoB,SAAQ,KAAK;IACzB,eAAe,EAAE,MAAM;gBAAvB,eAAe,EAAE,MAAM;CAG3C;AAED,wHAAwH;AACxH,KAAK,KAAK,GAAG;IAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,CAAC;AAE1D,KAAK,GAAG,GAAG;IACT,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACxC,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACzC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAA;AAGD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,EAAE,EACZ,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,EAAE,CA+DJ;AAqCD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAE,GAA8M,GAAG,EAAE,CAm1B3P"}
|
package/dist/src/ast_to_ir.js
CHANGED
|
@@ -89,7 +89,37 @@ export function coerce_to(value_ir, source_type, target_type, loc_id, visited) {
|
|
|
89
89
|
/** Perform scope resolution and type checking on `AST`, produce `IR` ready for serialization, compilation or evaluation.
|
|
90
90
|
*
|
|
91
91
|
* @internal */
|
|
92
|
-
|
|
92
|
+
/** A body's own scope, inside `parent`. */
|
|
93
|
+
function childScope(parent) {
|
|
94
|
+
return { names: new Set(), parent };
|
|
95
|
+
}
|
|
96
|
+
function inScope(scope, name) {
|
|
97
|
+
for (let s = scope; s !== null; s = s.parent) {
|
|
98
|
+
if (s.names.has(name))
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* The IR name of a variable bound in `scope`: its authoring name when the
|
|
105
|
+
* builder read one (#639), else the synthetic `_N`. The compilers resolve
|
|
106
|
+
* variables lexically, so a name is unique within its scope chain: sibling
|
|
107
|
+
* bodies reuse names freely (three callbacks each naming their element `x`
|
|
108
|
+
* are three `x`s), but a name still in scope from an enclosing body takes a
|
|
109
|
+
* `_2`, `_3`… suffix — an alias to the outer variable used inside the inner
|
|
110
|
+
* body would otherwise resolve to the inner one.
|
|
111
|
+
*/
|
|
112
|
+
function variableName(ctx, scope, hint) {
|
|
113
|
+
if (hint === undefined || !/^[A-Za-z_$][\w$]*$/.test(hint) || /^_\d+$/.test(hint) || hint === "$") {
|
|
114
|
+
return `_${ctx.n_vars}`;
|
|
115
|
+
}
|
|
116
|
+
let name = hint;
|
|
117
|
+
for (let n = 2; inScope(scope, name); n++)
|
|
118
|
+
name = `${hint}_${n}`;
|
|
119
|
+
scope.names.add(name);
|
|
120
|
+
return name;
|
|
121
|
+
}
|
|
122
|
+
export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map(), captures: new Set(), loop_ctx: new Map(), n_vars: 0, scope: { names: new Set(), parent: null }, n_loops: 0, inputs: [], output: NeverType, async: false }) {
|
|
93
123
|
try {
|
|
94
124
|
if (ast.ast_type === "Variable") {
|
|
95
125
|
if (ctx.local_ctx.has(ast)) {
|
|
@@ -112,7 +142,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
112
142
|
// Create a new variable
|
|
113
143
|
const variable = variant("Variable", {
|
|
114
144
|
type: toEastTypeValue(ast.variable.type),
|
|
115
|
-
name:
|
|
145
|
+
name: variableName(ctx, ctx.scope, ast.variable.name),
|
|
116
146
|
loc_id: ast.variable.loc_id,
|
|
117
147
|
mutable: ast.variable.mutable,
|
|
118
148
|
captured: false,
|
|
@@ -243,10 +273,11 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
243
273
|
});
|
|
244
274
|
}
|
|
245
275
|
else if (ast.ast_type === "Function") {
|
|
276
|
+
const scope = childScope(ctx.scope);
|
|
246
277
|
const parameters = ast.parameters.map(parameter => {
|
|
247
278
|
const param = variant("Variable", {
|
|
248
279
|
type: toEastTypeValue(parameter.type),
|
|
249
|
-
name:
|
|
280
|
+
name: variableName(ctx, scope, parameter.name),
|
|
250
281
|
loc_id: parameter.loc_id,
|
|
251
282
|
mutable: parameter.mutable, // false...
|
|
252
283
|
captured: false,
|
|
@@ -257,7 +288,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
257
288
|
const local_ctx = new Map(parameters.map((parameter, i) => [ast.parameters[i], parameter]));
|
|
258
289
|
const parent_ctx = new Map([...ctx.local_ctx, ...ctx.parent_ctx]);
|
|
259
290
|
const captures = new Set();
|
|
260
|
-
const ctx2 = { local_ctx, parent_ctx, captures, loop_ctx: new Map(), n_vars: ctx.n_vars, n_loops: ctx.n_loops, inputs: ast.type.inputs, output: ast.type.output, async: false };
|
|
291
|
+
const ctx2 = { local_ctx, parent_ctx, captures, loop_ctx: new Map(), n_vars: ctx.n_vars, scope, n_loops: ctx.n_loops, inputs: ast.type.inputs, output: ast.type.output, async: false };
|
|
261
292
|
const body = ast_to_ir(ast.body, ctx2);
|
|
262
293
|
ctx.n_vars = ctx2.n_vars;
|
|
263
294
|
ctx.n_loops = ctx2.n_loops;
|
|
@@ -282,10 +313,11 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
282
313
|
});
|
|
283
314
|
}
|
|
284
315
|
else if (ast.ast_type === "AsyncFunction") {
|
|
316
|
+
const scope = childScope(ctx.scope);
|
|
285
317
|
const parameters = ast.parameters.map(parameter => {
|
|
286
318
|
const param = variant("Variable", {
|
|
287
319
|
type: toEastTypeValue(parameter.type),
|
|
288
|
-
name:
|
|
320
|
+
name: variableName(ctx, scope, parameter.name),
|
|
289
321
|
loc_id: parameter.loc_id,
|
|
290
322
|
mutable: parameter.mutable, // false...
|
|
291
323
|
captured: false,
|
|
@@ -296,7 +328,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
296
328
|
const local_ctx = new Map(parameters.map((parameter, i) => [ast.parameters[i], parameter]));
|
|
297
329
|
const parent_ctx = new Map([...ctx.local_ctx, ...ctx.parent_ctx]);
|
|
298
330
|
const captures = new Set();
|
|
299
|
-
const ctx2 = { local_ctx, parent_ctx, captures, loop_ctx: new Map(), n_vars: ctx.n_vars, n_loops: ctx.n_loops, inputs: ast.type.inputs, output: ast.type.output, async: true };
|
|
331
|
+
const ctx2 = { local_ctx, parent_ctx, captures, loop_ctx: new Map(), n_vars: ctx.n_vars, scope, n_loops: ctx.n_loops, inputs: ast.type.inputs, output: ast.type.output, async: true };
|
|
300
332
|
const body = ast_to_ir(ast.body, ctx2);
|
|
301
333
|
ctx.n_vars = ctx2.n_vars;
|
|
302
334
|
ctx.n_loops = ctx2.n_loops;
|
|
@@ -426,6 +458,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
426
458
|
captures: ctx.captures,
|
|
427
459
|
loop_ctx: ctx.loop_ctx,
|
|
428
460
|
n_vars: ctx.n_vars,
|
|
461
|
+
scope: childScope(ctx.scope),
|
|
429
462
|
n_loops: ctx.n_loops,
|
|
430
463
|
inputs: ctx.inputs,
|
|
431
464
|
output: ctx.output,
|
|
@@ -445,6 +478,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
445
478
|
captures: ctx.captures,
|
|
446
479
|
loop_ctx: ctx.loop_ctx,
|
|
447
480
|
n_vars: ctx.n_vars,
|
|
481
|
+
scope: childScope(ctx.scope),
|
|
448
482
|
n_loops: ctx.n_loops,
|
|
449
483
|
inputs: ctx.inputs,
|
|
450
484
|
output: ctx.output,
|
|
@@ -477,6 +511,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
477
511
|
captures: ctx.captures,
|
|
478
512
|
loop_ctx: ctx.loop_ctx,
|
|
479
513
|
n_vars: ctx.n_vars,
|
|
514
|
+
scope: childScope(ctx.scope),
|
|
480
515
|
n_loops: ctx.n_loops,
|
|
481
516
|
inputs: ctx.inputs,
|
|
482
517
|
output: ctx.output,
|
|
@@ -485,10 +520,11 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
485
520
|
const try_body = ast_to_ir(ast.try_body, ctx_try);
|
|
486
521
|
ctx.n_vars = ctx_try.n_vars;
|
|
487
522
|
ctx.n_loops = ctx_try.n_loops;
|
|
488
|
-
// Create new variables for the catch message and stack
|
|
523
|
+
// Create new variables for the catch message and stack, in the handler's scope
|
|
524
|
+
const catchScope = childScope(ctx.scope);
|
|
489
525
|
const message = variant("Variable", {
|
|
490
526
|
type: toEastTypeValue(ast.message.type),
|
|
491
|
-
name:
|
|
527
|
+
name: variableName(ctx, catchScope, ast.message.name),
|
|
492
528
|
loc_id: ast.message.loc_id,
|
|
493
529
|
mutable: ast.message.mutable, // false...
|
|
494
530
|
captured: false,
|
|
@@ -496,7 +532,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
496
532
|
ctx.n_vars += 1;
|
|
497
533
|
const stack = variant("Variable", {
|
|
498
534
|
type: toEastTypeValue(ast.stack.type),
|
|
499
|
-
name:
|
|
535
|
+
name: variableName(ctx, catchScope, ast.stack.name),
|
|
500
536
|
loc_id: ast.stack.loc_id,
|
|
501
537
|
mutable: ast.stack.mutable, // false...
|
|
502
538
|
captured: false,
|
|
@@ -508,6 +544,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
508
544
|
captures: ctx.captures,
|
|
509
545
|
loop_ctx: ctx.loop_ctx,
|
|
510
546
|
n_vars: ctx.n_vars,
|
|
547
|
+
scope: catchScope,
|
|
511
548
|
n_loops: ctx.n_loops,
|
|
512
549
|
inputs: ctx.inputs,
|
|
513
550
|
output: ctx.output,
|
|
@@ -525,6 +562,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
525
562
|
captures: ctx.captures,
|
|
526
563
|
loop_ctx: ctx.loop_ctx,
|
|
527
564
|
n_vars: ctx.n_vars,
|
|
565
|
+
scope: childScope(ctx.scope),
|
|
528
566
|
n_loops: ctx.n_loops,
|
|
529
567
|
inputs: ctx.inputs,
|
|
530
568
|
output: ctx.output,
|
|
@@ -605,6 +643,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
605
643
|
captures: ctx.captures,
|
|
606
644
|
loop_ctx: new Map([...ctx.loop_ctx, [ast.label, label]]),
|
|
607
645
|
n_vars: ctx.n_vars,
|
|
646
|
+
scope: childScope(ctx.scope),
|
|
608
647
|
n_loops: ctx.n_loops,
|
|
609
648
|
inputs: ctx.inputs,
|
|
610
649
|
output: ctx.output,
|
|
@@ -628,9 +667,10 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
628
667
|
loc_id: ast.label.loc_id,
|
|
629
668
|
};
|
|
630
669
|
ctx.n_loops += 1;
|
|
670
|
+
const loopScope = childScope(ctx.scope);
|
|
631
671
|
const value = variant("Variable", {
|
|
632
672
|
type: toEastTypeValue(ast.value.type),
|
|
633
|
-
name:
|
|
673
|
+
name: variableName(ctx, loopScope, ast.value.name),
|
|
634
674
|
loc_id: ast.value.loc_id,
|
|
635
675
|
mutable: ast.value.mutable, // false...
|
|
636
676
|
captured: false,
|
|
@@ -638,7 +678,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
638
678
|
ctx.n_vars += 1;
|
|
639
679
|
const key = variant("Variable", {
|
|
640
680
|
type: toEastTypeValue(ast.key.type),
|
|
641
|
-
name:
|
|
681
|
+
name: variableName(ctx, loopScope, ast.key.name),
|
|
642
682
|
loc_id: ast.key.loc_id,
|
|
643
683
|
mutable: ast.key.mutable, // false...
|
|
644
684
|
captured: false,
|
|
@@ -650,6 +690,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
650
690
|
captures: ctx.captures,
|
|
651
691
|
loop_ctx: new Map([...ctx.loop_ctx, [ast.label, label]]),
|
|
652
692
|
n_vars: ctx.n_vars,
|
|
693
|
+
scope: loopScope,
|
|
653
694
|
n_loops: ctx.n_loops,
|
|
654
695
|
inputs: ctx.inputs,
|
|
655
696
|
output: ctx.output,
|
|
@@ -675,9 +716,10 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
675
716
|
loc_id: ast.label.loc_id,
|
|
676
717
|
};
|
|
677
718
|
ctx.n_loops += 1;
|
|
719
|
+
const loopScope = childScope(ctx.scope);
|
|
678
720
|
const key = variant("Variable", {
|
|
679
721
|
type: toEastTypeValue(ast.key.type),
|
|
680
|
-
name:
|
|
722
|
+
name: variableName(ctx, loopScope, ast.key.name),
|
|
681
723
|
loc_id: ast.key.loc_id,
|
|
682
724
|
mutable: ast.key.mutable, // false...
|
|
683
725
|
captured: false,
|
|
@@ -689,6 +731,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
689
731
|
captures: ctx.captures,
|
|
690
732
|
loop_ctx: new Map([...ctx.loop_ctx, [ast.label, label]]),
|
|
691
733
|
n_vars: ctx.n_vars,
|
|
734
|
+
scope: loopScope,
|
|
692
735
|
n_loops: ctx.n_loops,
|
|
693
736
|
inputs: ctx.inputs,
|
|
694
737
|
output: ctx.output,
|
|
@@ -713,9 +756,10 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
713
756
|
loc_id: ast.label.loc_id,
|
|
714
757
|
};
|
|
715
758
|
ctx.n_loops += 1;
|
|
759
|
+
const loopScope = childScope(ctx.scope);
|
|
716
760
|
const value = variant("Variable", {
|
|
717
761
|
type: toEastTypeValue(ast.value.type),
|
|
718
|
-
name:
|
|
762
|
+
name: variableName(ctx, loopScope, ast.value.name),
|
|
719
763
|
loc_id: ast.value.loc_id,
|
|
720
764
|
mutable: ast.value.mutable, // false...
|
|
721
765
|
captured: false,
|
|
@@ -723,7 +767,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
723
767
|
ctx.n_vars += 1;
|
|
724
768
|
const key = variant("Variable", {
|
|
725
769
|
type: toEastTypeValue(ast.key.type),
|
|
726
|
-
name:
|
|
770
|
+
name: variableName(ctx, loopScope, ast.key.name),
|
|
727
771
|
loc_id: ast.key.loc_id,
|
|
728
772
|
mutable: ast.key.mutable, // false...
|
|
729
773
|
captured: false,
|
|
@@ -735,6 +779,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
735
779
|
captures: ctx.captures,
|
|
736
780
|
loop_ctx: new Map([...ctx.loop_ctx, [ast.label, label]]),
|
|
737
781
|
n_vars: ctx.n_vars,
|
|
782
|
+
scope: loopScope,
|
|
738
783
|
n_loops: ctx.n_loops,
|
|
739
784
|
inputs: ctx.inputs,
|
|
740
785
|
output: ctx.output,
|
|
@@ -757,9 +802,10 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
757
802
|
const variant_expr = ast_to_ir(ast.variant, ctx);
|
|
758
803
|
const cases = [];
|
|
759
804
|
for (const [k, v] of Object.entries(ast.cases)) {
|
|
805
|
+
const armScope = childScope(ctx.scope);
|
|
760
806
|
const variable = variant("Variable", {
|
|
761
807
|
type: toEastTypeValue(v.variable.type),
|
|
762
|
-
name:
|
|
808
|
+
name: variableName(ctx, armScope, v.variable.name),
|
|
763
809
|
loc_id: v.variable.loc_id,
|
|
764
810
|
mutable: v.variable.mutable, // false...
|
|
765
811
|
captured: false,
|
|
@@ -771,6 +817,7 @@ export function ast_to_ir(ast, ctx = { local_ctx: new Map(), parent_ctx: new Map
|
|
|
771
817
|
captures: ctx.captures,
|
|
772
818
|
loop_ctx: ctx.loop_ctx,
|
|
773
819
|
n_vars: ctx.n_vars,
|
|
820
|
+
scope: armScope,
|
|
774
821
|
n_loops: ctx.n_loops,
|
|
775
822
|
inputs: ctx.inputs,
|
|
776
823
|
output: ctx.output,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast_to_ir.js","sourceRoot":"","sources":["../../src/ast_to_ir.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAqB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAiB,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpN,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9D,0EAA0E;AAC1E,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACzB;IAAnB,YAAmB,eAAuB;QACxC,KAAK,CAAC,8BAA8B,eAAe,uBAAuB,CAAC,CAAC;QAD3D,oBAAe,GAAf,eAAe,CAAQ;IAE1C,CAAC;CACF;AAgBD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CACvB,QAAY,EACZ,WAAqB,EACrB,WAAqB,EACrB,MAAc,EACd,OAAqB;IAErB,IAAI,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE3D,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;QACzC,MAAM,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC;YAClC,KAAK,EAAE,QAAQ;YACf,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,IAAI,IAAI,GAAG,EAAU,CAAC;IAC9C,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEvB,IAAI,CAAC,GAAG,WAAW,CAAC;IACpB,IAAI,CAAC,GAAG,WAAW,CAAC;IACpB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;QAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;QAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAEvC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;YACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAyB,CAAC;YACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAyB,CAAC;YACvD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnC,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC;YAClC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;YAC7B,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAyB,CAAC;QAC1D,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAyB,CAAC;QAC1D,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;YAC1D,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACzB,OAAO,OAAO,CAAC,SAAS,EAAE;YACxB,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC;YAClC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;YAC7B,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC;QAClC,KAAK,EAAE,QAAQ;QACf,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAGD;;cAEc;AACd,MAAM,UAAU,SAAS,CAAC,GAAQ,EAAE,MAAW,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;IAC1M,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;oBACpC,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACzB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACrB,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAClC,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEtC,wBAAwB;YACxB,MAAM,QAAQ,GAAe,OAAO,CAAC,UAAU,EAAE;gBAC/C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM;gBAC3B,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO;gBAC7B,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1E,CAAC;YAED,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE1C,OAAO,OAAO,CAAC,KAAK,EAAE;gBACpB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ;gBACR,KAAK;aACN,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,kCAAkC;YAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAe,CAAC;YAE5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,KAAK,CAAC,MAAM,kCAAkC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YAC1H,CAAC;YAED,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,OAAO,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ;gBACR,KAAK;aACN,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAQ,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC;YAExC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/D,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE3B,OAAO,OAAO,CAAC,OAAO,EAAE;gBACtB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,UAAU;aACX,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,wFAAwF;YACxF,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;YACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,eAAe,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,WAAW,CAAC,eAAe,CAAC,MAAM,KAAK,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,cAAc,WAAW,CAAC,eAAe,CAAC,MAAM,yBAAyB,GAAG,CAAC,eAAe,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAClL,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAE,CAAU,CAAC,CAAC,CAAC;YAEjH,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,cAAc,WAAW,CAAC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7J,CAAC;YAED,OAAO,OAAO,CAAC,SAAS,EAAE;gBACxB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACnE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACjC,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAEnF,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;wBACtE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACjE,CAAC;oBAED,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,oEAAoE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACpG,CAAC;YAED,OAAO,OAAO,CAAC,UAAU,EAAE;gBACzB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACnE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,0CAA0C;gBACpG,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE;oBAC1D,IAAI,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACrC,MAAM,YAAY,GAAI,GAAG,CAAC,IAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,eAAe,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvF,CAAC;oBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;wBAC9C,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpE,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACzB,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC,UAAU,EAAE;gBACzB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,YAAY,GAAI,GAAG,CAAC,IAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC/C,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,OAAO,CAAC,SAAS,EAAE;gBACxB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK;aACN,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,UAAU,GAAiB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC9D,MAAM,KAAK,GAAe,OAAO,CAAC,UAAU,EAAE;oBAC5C,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;oBACrC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;oBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW;oBACvC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;gBAChB,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,SAAS,CAAW,CAAC,CAAC,CAAC;YACxG,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAc,CAAC;YACvC,MAAM,IAAI,GAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAG,GAAG,CAAC,IAAqB,CAAC,MAAM,EAAE,MAAM,EAAG,GAAG,CAAC,IAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;YAExN,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEvC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE3B,+EAA+E;YAC/E,uDAAuD;YACvD,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;gBACnC,kGAAkG;gBAClG,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBAC3C,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;wBACvB,oFAAoF;wBACpF,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC9B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC,UAAU,EAAE;gBACzB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,UAAU;gBACV,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;gBACvB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAiB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC9D,MAAM,KAAK,GAAe,OAAO,CAAC,UAAU,EAAE;oBAC5C,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;oBACrC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;oBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW;oBACvC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;gBAChB,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,SAAS,CAAW,CAAC,CAAC,CAAC;YACxG,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAc,CAAC;YACvC,MAAM,IAAI,GAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAG,GAAG,CAAC,IAAqB,CAAC,MAAM,EAAE,MAAM,EAAG,GAAG,CAAC,IAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;YAEvN,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEvC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE3B,+EAA+E;YAC/E,uDAAuD;YACvD,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;gBACnC,kGAAkG;gBAClG,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBAC3C,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;wBACvB,oFAAoF;wBACpF,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC9B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC,eAAe,EAAE;gBAC9B,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,UAAU;gBACV,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;gBACvB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACnC,yEAAyE;YACzE,iDAAiD;YACjD,OAAO,OAAO,CAAC,MAAM,EAAE;gBACrB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;gBACtC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM,YAAY,GAAI,GAAG,CAAC,QAAQ,CAAC,IAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAEnE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;wBAC9C,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAChE,CAAC;oBAED,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,oEAAoE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACpG,CAAC;YAED,yEAAyE;YACzE,iDAAiD;YACjD,OAAO,OAAO,CAAC,WAAW,EAAE;gBAC1B,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;gBACtC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM,YAAY,GAAI,GAAG,CAAC,QAAQ,CAAC,IAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAEnE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;wBAC9C,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAChE,CAAC;oBAED,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,SAAS,GAAI,GAAG,CAAC,IAAgB,CAAC,KAAK,CAAC;YAC9C,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC5C,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,OAAO,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,SAAS,GAAI,GAAG,CAAC,IAAkB,CAAC,KAAK,CAAC;YAChD,OAAO,OAAO,CAAC,UAAU,EAAE;gBACzB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;wBACpC,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1D,CAAC;oBAED,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,OAAO,GAAI,GAAG,CAAC,IAAgB,CAAC,GAAG,CAAC;YAC1C,OAAO,OAAO,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;wBAClC,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpD,CAAC;oBAED,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,OAAO,GAAI,GAAG,CAAC,IAAiB,CAAC,GAAG,CAAC;YAC3C,MAAM,SAAS,GAAI,GAAG,CAAC,IAAiB,CAAC,KAAK,CAAC;YAC/C,OAAO,OAAO,CAAC,SAAS,EAAE;gBACxB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBAChC,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;wBAClC,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpD,CAAC;oBAED,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;wBACpC,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1D,CAAC;oBAAA,CAAC;oBAEF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;gBACxB,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC/B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAEnD,MAAM,UAAU,GAAQ;oBACtB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;oBACtC,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB,CAAC;gBACF,IAAI,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACrD,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBAEjC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClF,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/E,CAAC;gBAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAQ;gBACpB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtC,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;YACF,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnD,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC7B,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAE/B,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtF,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;YAED,OAAO,OAAO,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG;gBACH,SAAS;aACV,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,OAAO,EAAE;gBACtB,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,OAAO,GAAQ;gBACnB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtC,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;YACF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC5B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAE9B,uDAAuD;YACvD,MAAM,OAAO,GAAe,OAAO,CAAC,UAAU,EAAE;gBAC9C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;gBACvC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;gBAC1B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW;gBACzC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAEhB,MAAM,KAAK,GAAe,OAAO,CAAC,UAAU,EAAE;gBAC5C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;gBACxB,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW;gBACvC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAChB,MAAM,SAAS,GAAQ;gBACrB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBAClF,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;YACF,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACxD,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAC9B,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YAEhC,mCAAmC;YACnC,IAAI,YAAgB,CAAC;YACrB,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,WAAW,GAAQ;oBACvB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;oBACtC,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB,CAAC;gBACF,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBACxD,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAChC,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE;oBAC9B,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC;oBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC,UAAU,EAAE;gBACzB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ;gBACR,UAAU;gBACV,OAAO;gBACP,KAAK;gBACL,YAAY;aACb,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,KAAmB,CAAC;YACxB,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACzC,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACzC,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACzC,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,GAAG,CAAC,KAAK,YAAY,IAAI,EAAE,CAAC;gBACrC,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE,CAAC;gBAC3C,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,GAAG,CAAC,KAAK,cAAc,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3G,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,CAAC,MAAM,eAAe,IAAI,CAAC,IAAI,aAAa,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACxH,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,EAAE;gBACtB,IAAI;gBACJ,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACjC,sEAAsE;YACtE,iEAAiE;YACjE,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpF,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChD,MAAM,KAAK,GAAY;gBACrB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;gBACvB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;aACzB,CAAA;YACD,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YAEjB,MAAM,IAAI,GAAQ;gBAChB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtC,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;YACF,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE3B,OAAO,OAAO,CAAC,OAAO,EAAE;gBACtB,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK;gBACL,SAAS;gBACT,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,KAAK,GAAY;gBACrB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;gBACvB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;aACzB,CAAA;YACD,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YAEjB,MAAM,KAAK,GAAe,OAAO,CAAC,UAAU,EAAE;gBAC5C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;gBACxB,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW;gBACvC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAEhB,MAAM,GAAG,GAAe,OAAO,CAAC,UAAU,EAAE;gBAC1C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM;gBACtB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW;gBACrC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAEhB,MAAM,IAAI,GAAQ;gBAChB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1E,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;YACF,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE3B,OAAO,OAAO,CAAC,UAAU,EAAE;gBACzB,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK;gBACL,GAAG;gBACH,KAAK;gBACL,KAAK;gBACL,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,KAAK,GAAY;gBACrB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;gBACvB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;aACzB,CAAA;YACD,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YAEjB,MAAM,GAAG,GAAe,OAAO,CAAC,UAAU,EAAE;gBAC1C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM;gBACtB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW;gBACrC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAEhB,MAAM,IAAI,GAAQ;gBAChB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtD,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;YACF,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE3B,OAAO,OAAO,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK;gBACL,GAAG;gBACH,GAAG;gBACH,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACtC,MAAM,KAAK,GAAY;gBACrB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;gBACvB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;aACzB,CAAA;YACD,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;YAEjB,MAAM,KAAK,GAAe,OAAO,CAAC,UAAU,EAAE;gBAC5C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;gBACxB,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW;gBACvC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAEhB,MAAM,GAAG,GAAe,OAAO,CAAC,UAAU,EAAE;gBAC1C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM;gBACtB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW;gBACrC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAEhB,MAAM,IAAI,GAAQ;gBAChB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1E,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;YACF,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE3B,OAAO,OAAO,CAAC,SAAS,EAAE;gBACxB,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK;gBACL,GAAG;gBACH,KAAK;gBACL,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAEjD,MAAM,KAAK,GAAuD,EAAE,CAAC;YACrE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAe,OAAO,CAAC,UAAU,EAAE;oBAC/C,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACtC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;oBACtB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM;oBACzB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW;oBACxC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;gBAEhB,MAAM,IAAI,GAAQ;oBAChB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC9D,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB,CAAC;gBACF,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAE3B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5D,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,EAAE;gBACtB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,YAAY;gBACrB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YAC9C,OAAO,OAAO,CAAC,iBAAiB,EAAE;gBAChC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;YAC5C,wEAAwE;YACxE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBACvB,GAAG,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;YAChC,CAAC;YACD,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,mEAAmE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,sDAAsD;YACtD,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE3B,gDAAgD;YAChD,MAAM,MAAM,GAAQ,OAAO,CAAC,eAAe,EAAE;gBAC3C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;aACjC,CAAC,CAAC;YAEH,8FAA8F;YAC9F,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE9B,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,KAAK,CAAC,MAAM,uCAAuC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YACjH,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,EAAE;gBACtB,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,KAAK,CAAC,MAAM,0CAA0C,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YACpH,CAAC;YAED,OAAO,OAAO,CAAC,UAAU,EAAE;gBACzB,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,MAAM,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,OAAO,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,WAAW,GAAI,GAAG,CAAC,IAAmB,CAAC,OAAO,CAAC;YACrD,OAAO,OAAO,CAAC,WAAW,EAAE;gBAC1B,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBACtC,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5D,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,WAAW,GAAI,GAAG,CAAC,IAAmB,CAAC,OAAO,CAAC;YACrD,OAAO,OAAO,CAAC,WAAW,EAAE;gBAC1B,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;gBACtB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBACtC,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5D,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gBAAkB,GAA4B,CAAC,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC/B,CAAC,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC;YAC9F,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACvC,CAAC,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3F,CAAC;iBAAK,CAAC;gBACL,CAAC,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,QAAQ,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/E,CAAC;QACH,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"ast_to_ir.js","sourceRoot":"","sources":["../../src/ast_to_ir.ts"],"names":[],"mappings":"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"}
|
package/dist/src/builtins.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export type BuiltinType = {
|
|
|
10
10
|
output: string | EastType;
|
|
11
11
|
};
|
|
12
12
|
/** @internal */
|
|
13
|
-
export type BuiltinName = "Is" | "Equal" | "NotEqual" | "Less" | "LessEqual" | "Greater" | "GreaterEqual" | "Diff" | "ApplyPatch" | "ComposePatch" | "InvertPatch" | "BooleanNot" | "BooleanOr" | "BooleanAnd" | "BooleanXor" | "IntegerToFloat" | "IntegerNegate" | "IntegerAdd" | "IntegerSubtract" | "IntegerMultiply" | "IntegerDivide" | "IntegerRemainder" | "IntegerPow" | "IntegerAbs" | "IntegerSign" | "IntegerLog" | "FloatToInteger" | "FloatNegate" | "FloatAdd" | "FloatSubtract" | "FloatMultiply" | "FloatDivide" | "FloatRemainder" | "FloatPow" | "FloatAbs" | "FloatSign" | "FloatSqrt" | "FloatExp" | "FloatLog" | "FloatSin" | "FloatCos" | "FloatTan" | "Print" | "Parse" | "StringConcat" | "StringRepeat" | "StringLength" | "StringSubstring" | "StringUpperCase" | "StringLowerCase" | "StringSplit" | "StringTrim" | "StringTrimStart" | "StringTrimEnd" | "StringStartsWith" | "StringEndsWith" | "StringContains" | "StringIndexOf" | "StringReplace" | "RegexContains" | "RegexIndexOf" | "RegexReplace" | "StringEncodeUtf8" | "StringEncodeUtf16" | "StringParseJSON" | "StringPrintJSON" | "DateTimeGetYear" | "DateTimeGetMonth" | "DateTimeGetDayOfMonth" | "DateTimeGetHour" | "DateTimeGetMinute" | "DateTimeGetSecond" | "DateTimeGetDayOfWeek" | "DateTimeGetMillisecond" | "DateTimeAddMilliseconds" | "DateTimeDurationMilliseconds" | "DateTimeToEpochMilliseconds" | "DateTimeFromEpochMilliseconds" | "DateTimeFromComponents" | "DateTimePrintFormat" | "DateTimeParseFormat" | "BlobSize" | "BlobGetUint8" | "BlobDecodeUtf8" | "BlobDecodeUtf16" | "BlobDecodeBeast" | "BlobEncodeBeast" | "BlobDecodeBeast2" | "BlobEncodeBeast2" | "BlobDecodeCsv" | "ArrayEncodeCsv" | "RefGet" | "RefUpdate" | "RefMerge" | "ArrayGenerate" | "ArrayRange" | "ArrayLinspace" | "ArraySize" | "ArrayHas" | "ArrayGet" | "ArrayGetOrDefault" | "ArrayTryGet" | "ArrayUpdate" | "ArrayMerge" | "ArrayPushLast" | "ArrayPopLast" | "ArrayPushFirst" | "ArrayPopFirst" | "ArrayAppend" | "ArrayPrepend" | "ArrayMergeAll" | "ArrayClear" | "ArraySortInPlace" | "ArrayReverseInPlace" | "ArraySort" | "ArrayReverse" | "ArrayIsSorted" | "ArrayFindSortedFirst" | "ArrayFindSortedLast" | "ArrayFindSortedRange" | "ArrayFindFirst" | "ArrayConcat" | "ArraySlice" | "ArrayGetKeys" | "ArrayForEach" | "ArrayCopy" | "ArrayMap" | "ArrayFilter" | "ArrayFilterMap" | "ArrayFirstMap" | "ArrayMapReduce" | "ArrayFold" | "ArrayScan" | "ArrayStringJoin" | "ArrayToSet" | "ArrayToDict" | "ArrayFlattenToArray" | "ArrayFlattenToSet" | "ArrayFlattenToDict" | "ArrayGroupFold" | "SetGenerate" | "SetSize" | "SetHas" | "SetInsert" | "SetTryInsert" | "SetDelete" | "SetTryDelete" | "SetClear" | "SetUnionInPlace" | "SetUnion" | "SetIntersect" | "SetDiff" | "SetSymDiff" | "SetIsSubset" | "SetIsDisjoint" | "SetCopy" | "SetForEach" | "SetMap" | "SetFilter" | "SetFilterMap" | "SetFirstMap" | "SetMapReduce" | "SetReduce" | "SetScan" | "SetToArray" | "SetToSet" | "SetToDict" | "SetFlattenToArray" | "SetFlattenToSet" | "SetFlattenToDict" | "SetGroupFold" | "DictGenerate" | "DictSize" | "DictHas" | "DictGet" | "DictGetOrDefault" | "DictTryGet" | "DictInsert" | "DictGetOrInsert" | "DictInsertOrUpdate" | "DictUpdate" | "DictSwap" | "DictMerge" | "DictDelete" | "DictTryDelete" | "DictPop" | "DictClear" | "DictUnionInPlace" | "DictMergeAll" | "DictKeys" | "DictGetKeys" | "DictForEach" | "DictCopy" | "DictMap" | "DictFilter" | "DictFilterMap" | "DictFirstMap" | "DictMapReduce" | "DictReduce" | "DictScan" | "DictToArray" | "DictToSet" | "DictToDict" | "DictFlattenToArray" | "DictFlattenToSet" | "DictFlattenToDict" | "DictGroupFold" | "VectorLength" | "VectorGet" | "VectorSet" | "VectorSlice" | "VectorConcat" | "VectorFromArray" | "VectorToArray" | "VectorToMatrix" | "VectorZeros" | "VectorOnes" | "VectorFill" | "VectorMap" | "VectorFold" | "VectorScale" | "VectorSum" | "VectorAddScaled" | "VectorMul" | "VectorAddScalar" | "VectorDot" | "VectorMax" | "VectorMin" | "VectorArgMax" | "VectorArgMin" | "VectorMean" | "VectorCumSum" | "VectorAbs" | "VectorClamp" | "VectorGather" | "VectorScatterAdd" | "VectorSearchSorted" | "VectorEq" | "VectorLt" | "VectorGt" | "VectorSelect" | "VectorCompress" | "VectorCountTrue" | "SparseAxpy" | "SparseFromPairs" | "SparseFilterGt" | "MatrixRows" | "MatrixCols" | "MatrixGet" | "MatrixSet" | "MatrixGetRow" | "MatrixGetCol" | "MatrixToVector" | "MatrixFromArray" | "MatrixToArray" | "MatrixTranspose" | "MatrixZeros" | "MatrixOnes" | "MatrixFill" | "MatrixMapElements" | "MatrixMapRows" | "MatrixToRows" | "MatrixFromRows" | "MatrixScale" | "MatrixAddScaled" | "MatrixMulElementwise" | "MatrixRowSums" | "MatrixColSums" | "MatrixVecMul";
|
|
13
|
+
export type BuiltinName = "Is" | "Equal" | "NotEqual" | "Less" | "LessEqual" | "Greater" | "GreaterEqual" | "Diff" | "ApplyPatch" | "ComposePatch" | "InvertPatch" | "BooleanNot" | "BooleanOr" | "BooleanAnd" | "BooleanXor" | "IntegerToFloat" | "IntegerNegate" | "IntegerAdd" | "IntegerSubtract" | "IntegerMultiply" | "IntegerDivide" | "IntegerRemainder" | "IntegerPow" | "IntegerAbs" | "IntegerSign" | "IntegerLog" | "FloatToInteger" | "FloatNegate" | "FloatAdd" | "FloatSubtract" | "FloatMultiply" | "FloatDivide" | "FloatRemainder" | "FloatPow" | "FloatAbs" | "FloatSign" | "FloatSqrt" | "FloatExp" | "FloatLog" | "FloatSin" | "FloatCos" | "FloatTan" | "Print" | "Parse" | "StringConcat" | "StringRepeat" | "StringLength" | "StringSubstring" | "StringUpperCase" | "StringLowerCase" | "StringSplit" | "StringTrim" | "StringTrimStart" | "StringTrimEnd" | "StringStartsWith" | "StringEndsWith" | "StringContains" | "StringIndexOf" | "StringReplace" | "RegexContains" | "RegexIndexOf" | "RegexReplace" | "StringEncodeUtf8" | "StringEncodeUtf16" | "StringParseJSON" | "StringPrintJSON" | "DateTimeGetYear" | "DateTimeGetMonth" | "DateTimeGetDayOfMonth" | "DateTimeGetHour" | "DateTimeGetMinute" | "DateTimeGetSecond" | "DateTimeGetDayOfWeek" | "DateTimeGetMillisecond" | "DateTimeAddMilliseconds" | "DateTimeDurationMilliseconds" | "DateTimeToEpochMilliseconds" | "DateTimeFromEpochMilliseconds" | "DateTimeFromComponents" | "DateTimePrintFormat" | "DateTimeParseFormat" | "BlobSize" | "BlobGetUint8" | "BlobDecodeUtf8" | "BlobDecodeUtf16" | "BlobDecodeBeast" | "BlobEncodeBeast" | "BlobDecodeBeast2" | "BlobEncodeBeast2" | "BlobOpenBeast2" | "BlobDecodeCsv" | "ArrayEncodeCsv" | "RefGet" | "RefUpdate" | "RefMerge" | "ArrayGenerate" | "ArrayRange" | "ArrayLinspace" | "ArraySize" | "ArrayHas" | "ArrayGet" | "ArrayGetOrDefault" | "ArrayTryGet" | "ArrayUpdate" | "ArrayMerge" | "ArrayPushLast" | "ArrayPopLast" | "ArrayPushFirst" | "ArrayPopFirst" | "ArrayAppend" | "ArrayPrepend" | "ArrayMergeAll" | "ArrayClear" | "ArraySortInPlace" | "ArrayReverseInPlace" | "ArraySort" | "ArrayReverse" | "ArrayIsSorted" | "ArrayFindSortedFirst" | "ArrayFindSortedLast" | "ArrayFindSortedRange" | "ArrayFindFirst" | "ArrayConcat" | "ArraySlice" | "ArrayGetKeys" | "ArrayForEach" | "ArrayCopy" | "ArrayMap" | "ArrayFilter" | "ArrayFilterMap" | "ArrayFirstMap" | "ArrayMapReduce" | "ArrayFold" | "ArrayScan" | "ArrayStringJoin" | "ArrayToSet" | "ArrayToDict" | "ArrayFlattenToArray" | "ArrayFlattenToSet" | "ArrayFlattenToDict" | "ArrayGroupFold" | "SetGenerate" | "SetSize" | "SetHas" | "SetInsert" | "SetTryInsert" | "SetDelete" | "SetTryDelete" | "SetClear" | "SetUnionInPlace" | "SetUnion" | "SetIntersect" | "SetDiff" | "SetSymDiff" | "SetIsSubset" | "SetIsDisjoint" | "SetCopy" | "SetForEach" | "SetMap" | "SetFilter" | "SetFilterMap" | "SetFirstMap" | "SetMapReduce" | "SetReduce" | "SetScan" | "SetToArray" | "SetToSet" | "SetToDict" | "SetFlattenToArray" | "SetFlattenToSet" | "SetFlattenToDict" | "SetGroupFold" | "DictGenerate" | "DictSize" | "DictHas" | "DictGet" | "DictGetOrDefault" | "DictTryGet" | "DictInsert" | "DictGetOrInsert" | "DictInsertOrUpdate" | "DictUpdate" | "DictSwap" | "DictMerge" | "DictDelete" | "DictTryDelete" | "DictPop" | "DictClear" | "DictUnionInPlace" | "DictMergeAll" | "DictKeys" | "DictGetKeys" | "DictForEach" | "DictCopy" | "DictMap" | "DictFilter" | "DictFilterMap" | "DictFirstMap" | "DictMapReduce" | "DictReduce" | "DictScan" | "DictToArray" | "DictToSet" | "DictToDict" | "DictFlattenToArray" | "DictFlattenToSet" | "DictFlattenToDict" | "DictGroupFold" | "VectorLength" | "VectorGet" | "VectorSet" | "VectorSlice" | "VectorConcat" | "VectorFromArray" | "VectorToArray" | "VectorToMatrix" | "VectorZeros" | "VectorOnes" | "VectorFill" | "VectorMap" | "VectorFold" | "VectorScale" | "VectorSum" | "VectorAddScaled" | "VectorMul" | "VectorAddScalar" | "VectorDot" | "VectorMax" | "VectorMin" | "VectorArgMax" | "VectorArgMin" | "VectorMean" | "VectorCumSum" | "VectorAbs" | "VectorClamp" | "VectorGather" | "VectorScatterAdd" | "VectorSearchSorted" | "VectorEq" | "VectorLt" | "VectorGt" | "VectorSelect" | "VectorCompress" | "VectorCountTrue" | "SparseAxpy" | "SparseFromPairs" | "SparseFilterGt" | "MatrixRows" | "MatrixCols" | "MatrixGet" | "MatrixSet" | "MatrixGetRow" | "MatrixGetCol" | "MatrixToVector" | "MatrixFromArray" | "MatrixToArray" | "MatrixTranspose" | "MatrixZeros" | "MatrixOnes" | "MatrixFill" | "MatrixMapElements" | "MatrixMapRows" | "MatrixToRows" | "MatrixFromRows" | "MatrixScale" | "MatrixAddScaled" | "MatrixMulElementwise" | "MatrixRowSums" | "MatrixColSums" | "MatrixVecMul";
|
|
14
14
|
/** @internal */
|
|
15
15
|
export declare const Builtins: Record<BuiltinName, BuiltinType>;
|
|
16
16
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/builtins.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAA4D,KAAK,QAAQ,EAA+I,MAAM,YAAY,CAAC;AAGlP,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GACrG,MAAM,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,GACtD,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GACxD,gBAAgB,GAAG,eAAe,GAAG,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,eAAe,GAAG,kBAAkB,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,GAC7L,gBAAgB,GAAG,aAAa,GAAG,UAAU,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAC3O,OAAO,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,iBAAiB,GAAG,eAAe,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,iBAAiB,GAC3a,iBAAiB,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,sBAAsB,GAAG,wBAAwB,GAAG,yBAAyB,GAAG,8BAA8B,GAAG,6BAA6B,GAAG,+BAA+B,GAAG,wBAAwB,GAAG,qBAAqB,GAAG,qBAAqB,GAC9X,UAAU,GAAG,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,eAAe,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/builtins.ts"],"names":[],"mappings":"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"}
|
package/dist/src/builtins.js
CHANGED
|
@@ -453,6 +453,13 @@ export const Builtins = {
|
|
|
453
453
|
inputs: ["T"],
|
|
454
454
|
output: BlobType,
|
|
455
455
|
},
|
|
456
|
+
// T is an Array/Set/Dict type — the expression builders enforce it, since
|
|
457
|
+
// the table has no way to constrain a type parameter.
|
|
458
|
+
BlobOpenBeast2: {
|
|
459
|
+
type_parameters: ["T"],
|
|
460
|
+
inputs: [BlobType],
|
|
461
|
+
output: "T",
|
|
462
|
+
},
|
|
456
463
|
BlobDecodeCsv: {
|
|
457
464
|
type_parameters: ["T", "Config"],
|
|
458
465
|
inputs: [BlobType, "Config"],
|