From 51afde2a06d940dc9da7177437826ab9aa6ec521 Mon Sep 17 00:00:00 2001 From: Adam Chalmers Date: Mon, 30 Sep 2024 21:05:47 -0500 Subject: [PATCH 1/3] Reapply "KCL stdlib 'map' function (#4031)" This reverts commit 2a2e4a8b6325db1a31f0bda77803be858f27a75d. --- docs/kcl/index.md | 1 + docs/kcl/map.md | 56 + docs/kcl/std.json | 10730 ++++++++++++++++ docs/kcl/types/BinaryOperator.md | 89 + docs/kcl/types/BinaryPart.md | 161 + docs/kcl/types/BodyItem.md | 75 + docs/kcl/types/CommentStyle.md | 41 + docs/kcl/types/ElseIf.md | 24 + docs/kcl/types/Environment.md | 21 + docs/kcl/types/EnvironmentRef.md | 16 + docs/kcl/types/Expr.md | 297 + docs/kcl/types/FunctionExpression.md | 24 + docs/kcl/types/Identifier.md | 23 + docs/kcl/types/KclValue.md | 195 + docs/kcl/types/LiteralIdentifier.md | 56 + docs/kcl/types/LiteralValue.md | 57 + docs/kcl/types/MemberObject.md | 57 + docs/kcl/types/NonCodeMeta.md | 22 + docs/kcl/types/NonCodeNode.md | 23 + docs/kcl/types/NonCodeValue.md | 103 + docs/kcl/types/ObjectProperty.md | 24 + docs/kcl/types/Parameter.md | 23 + docs/kcl/types/Program.md | 25 + docs/kcl/types/ProgramMemory.md | 22 + docs/kcl/types/UnaryOperator.md | 41 + docs/kcl/types/VariableDeclarator.md | 24 + docs/kcl/types/VariableKind.md | 65 + src/wasm-lib/kcl/src/std/args.rs | 64 +- src/wasm-lib/kcl/src/std/array.rs | 89 + src/wasm-lib/kcl/src/std/mod.rs | 1 + .../outputs/serial_test_example_map0.png | Bin 0 -> 34512 bytes .../outputs/serial_test_example_map1.png | Bin 0 -> 34512 bytes 32 files changed, 12416 insertions(+), 33 deletions(-) create mode 100644 docs/kcl/map.md create mode 100644 docs/kcl/types/BinaryOperator.md create mode 100644 docs/kcl/types/BinaryPart.md create mode 100644 docs/kcl/types/BodyItem.md create mode 100644 docs/kcl/types/CommentStyle.md create mode 100644 docs/kcl/types/ElseIf.md create mode 100644 docs/kcl/types/Environment.md create mode 100644 docs/kcl/types/EnvironmentRef.md create mode 100644 docs/kcl/types/Expr.md create mode 100644 docs/kcl/types/FunctionExpression.md create mode 100644 docs/kcl/types/Identifier.md create mode 100644 docs/kcl/types/KclValue.md create mode 100644 docs/kcl/types/LiteralIdentifier.md create mode 100644 docs/kcl/types/LiteralValue.md create mode 100644 docs/kcl/types/MemberObject.md create mode 100644 docs/kcl/types/NonCodeMeta.md create mode 100644 docs/kcl/types/NonCodeNode.md create mode 100644 docs/kcl/types/NonCodeValue.md create mode 100644 docs/kcl/types/ObjectProperty.md create mode 100644 docs/kcl/types/Parameter.md create mode 100644 docs/kcl/types/Program.md create mode 100644 docs/kcl/types/ProgramMemory.md create mode 100644 docs/kcl/types/UnaryOperator.md create mode 100644 docs/kcl/types/VariableDeclarator.md create mode 100644 docs/kcl/types/VariableKind.md create mode 100644 src/wasm-lib/kcl/tests/outputs/serial_test_example_map0.png create mode 100644 src/wasm-lib/kcl/tests/outputs/serial_test_example_map1.png diff --git a/docs/kcl/index.md b/docs/kcl/index.md index 765b2eb066..da22436467 100644 --- a/docs/kcl/index.md +++ b/docs/kcl/index.md @@ -61,6 +61,7 @@ layout: manual * [`log10`](kcl/log10) * [`log2`](kcl/log2) * [`m`](kcl/m) +* [`map`](kcl/map) * [`max`](kcl/max) * [`min`](kcl/min) * [`mirror2d`](kcl/mirror2d) diff --git a/docs/kcl/map.md b/docs/kcl/map.md new file mode 100644 index 0000000000..019aa041b3 --- /dev/null +++ b/docs/kcl/map.md @@ -0,0 +1,56 @@ +--- +title: "map" +excerpt: "Apply a function to every element of a list." +layout: manual +--- + +Apply a function to every element of a list. + +Given a list like `[a, b, c]`, and a function like `f`, returns `[f(a), f(b), f(c)]` + +```js +map(array: [KclValue], map_fn: FunctionParam) -> [KclValue] +``` + + +### Arguments + +| Name | Type | Description | Required | +|----------|------|-------------|----------| +| `array` | [`[KclValue]`](/docs/kcl/types/KclValue) | | Yes | +| `map_fn` | `FunctionParam` | | Yes | + +### Returns + +[`[KclValue]`](/docs/kcl/types/KclValue) + + +### Examples + +```js +const r = 10 // radius +fn drawCircle = (id) => { + return startSketchOn("XY") + |> circle({ center: [id * 2 * r, 0], radius: r }, %) +} + +// Call `drawCircle`, passing in each element of the array. +// The outputs from each `drawCircle` form a new array, +// which is the return value from `map`. +const circles = map([1, 2, 3], drawCircle) +``` + +![Rendered example of map 0](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAACGl0lEQVR4Ae3gAZAkSZIkSRKLqpm7R0REZmZmVlVVVVV3d3d3d/fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMdHd3d3dXV1VVVVVmZkZGRIS7m5kKz0xmV3d1d3dPz8zMzMxMYn3Qgx7EVVddddVVV1111VVXXXXVVVddddVVV131fxKVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqqv+D7vmmmsezAOcOXPmwfwbnT179lae6b777ruVq676H+Saa655MA9w5syZB/NvdPbs2Vt5pvvuu+9Wrrrqf5BrrrnmwTzAmTNnHsy/0dmzZ2/lme67775bueqqq6666qr/m6hcddVVV1111f8C11xzzYMBzpw58+BrrrnmwWfOnHkQwDXXXPPga6655sE805kzZx58zTXXPJj/Ivfdd9+tPNPZs2dvve+++24FuO+++249e/bsMwDuu+++W8+ePXvrfffddytXXfUvuOaaax4McObMmQdfc801Dz5z5syDAK655poHA1xzzTUPBjhz5syDr7nmmgfzX+S+++67lWc6e/bsrffdd9+tAPfdd9+tZ8+efQbAfffddyvAP/zDP/w2V131IrjmmmsefObMmQdfc801Dz5z5syDAK655poHA1xzzTUPBrjmmmsecubMmQfxX+S+++67FUCS7rvvvqcD3HfffbcC3HfffbeePXv2Gf/wD//w22fOnHnw2bNnb73vvvtu5aqrrrrqqqv+Z0MPetCDuOqqq6666qr/Ttdcc82Dz5w58+BrrrnmwWfOnHkQwIu/+Iu/NsCLvdiLvTYvwO/+7u9+F/+DveZrvub78Fzuu+++WwH+4R/+4bcB/uEf/uF37rvvvlvPnj1763333XcrV/2fd8011zz4zJkzD77mmmsefObMmQddc801D77mmmsefObMmQdfc801D+b5+N3f/d3v4n+w13zN13wfnst99913K8DZs2dvve+++2697777bj179uwz7rvvvlvPnj1763333XcrV/2fd8011zz4zJkzD36xF3ux1wK45pprHnzNNdc8+MVe7MVem+fjd3/3d7+L/8Fe8zVf8314Pu67775bAc6ePXvrfffdd+t999136z/8wz/8DsDZs2dvve+++27lqquuuuqqq/77oAc96EFcddVVV1111X+2a6655sFnzpx58DXXXPPgM2fOPOjFX/zFXxvgxV7sxV6b5/K7v/u738X/E6/5mq/5PjzTfffddyvAP/zDP/z2P/zDP/zOfffdd+vZs2dvve+++27lqv91rrnmmge/2Iu92GufOXPmQddcc82Dr7nmmge/2Iu92GvzXH73d3/3u/h/4jVf8zXfh2e67777bgX4h3/4h98G+Id/+Iffue+++279h3/4h9/mqv91rrnmmgefOXPmwS/2Yi/2Wtdcc81Drrnmmge92Iu92GvzAL/7u7/7Xfw/8Zqv+ZrvwwPcd999t0rSfffd9/T77rvv1n/4h3/4nfvuu+/Ws2fP3nrffffdylVXXXXVVVf950IPetCDuOqqq6666qr/KNdcc82Dz5w58+AXe7EXey2AF3/xF3/tF3uxF3ttHuB3f/d3v4urXqjXfM3XfB+e6b777rv17Nmzt9533323/sM//MPv/MM//MNv33fffbdy1f8I11xzzYPPnDnz4Bd7sRd7rWuuuebBL/ZiL/ba11xzzYN5pt/93d/9Lq76F73ma77m+/BM9913363/8A//8Nv/8A//8Dv33Xffrf/wD//w21z1P8Y111zz4DNnzjz4xV7sxV7rxV/8xV/nxV7sxV6LB/jd3/3d7+KqF+o1X/M134dnuu+++249e/bsrffdd9+t//AP//A79913363/8A//8NtcddVVV1111X8c9KAHPYirrrrqqquu+re45pprHvxiL/Zir33mzJkHvfiLv/hrv9iLvdhr8wC/+7u/+11c9R/qNV/zNd8H4L777rv1H/7hH377H/7hH37nvvvuu/Uf/uEffpur/tNdc801DwZ47dd+7fd68Rd/8dd+sRd7sdfmAX73d3/3u7jqP8xrvuZrvg/PdN999936D//wD79933333foP//APv/MP//APv81V/yWuueaaB7/2a7/2ewG80zu902fzTL/7u7/7XVz1H+o1X/M134dnuu+++249e/bsrffdd9+t//AP//A79913363/8A//8NtcddVVV1111b8eetCDHsRVV1111VVX/UuuueaaB585c+bBL/ZiL/ZaL/7iL/7aL/ZiL/baPNPv/u7vfhdX/bd4zdd8zfcBuO+++279h3/4h9/+h3/4h9/5rd/6re/mqv8Q11xzzYPPnDnz4Bd7sRd7rRd/8Rd/7Rd7sRd7bZ7pd3/3d7+Lq/7LveZrvub73HfffbfyTP/wD//w2//wD//wO7/1W7/13Vz1H+Kaa6558Gu/9mu/F8A7vdM7fTbP9Lu/+7vfxVX/LV7zNV/zfQDuu+++W8+ePXvrfffdd+tv/dZvfc8//MM//DZXXXXVVVdd9S9DD3rQg7jqqquuuuqq53bNNdc8+LVf+7XfC+DFX/zFX/vFXuzFXptn+t3f/d3v4qr/kV7zNV/zfQDuu+++W3/rt37ru//hH/7hd/7hH/7ht7nqRfZiL/Zir/1iL/Zir/XiL/7ir/1iL/Zirw3wu7/7u9/FVf9jveZrvub7ANx33323/sM//MNv/9Zv/db3/MM//MNvc9WL7Jprrnnwa7/2a7/Xi7/4i7/2i73Yi702wO/+7u9+F1f9j/Sar/ma78Mz3Xfffbf+wz/8w2//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X/N97rvvvlt/67d+67t/9Ed/9HO46qqrrrrqXws96EEP4qqrrrrqqn+ba6655sGv/dqv/V7v9E7v9Nm/+7u/+11cddV/oNd8zdd8H4D77rvv1t/6rd/67h/90R/9HK56Dq/zOq/z3q/zOq/zXi/2Yi/22r/7u7/7XVx11X+w13zN13yf++6779Yf/dEf/ezf+q3f+h6uepZrrrnmwS/2Yi/2Wq/zOq/z3i/2Yi/22gC/+7u/+11cddV/oNd8zdd8n3/4h3/47c/8zM98Ha666qqrrvq3Qg960IO46qqrrrrq3+eaa6558Id/+Id/14u92Iu99u/+7u9+F1dd9W/0mq/5mu8DcN999936W7/1W9/927/9299z33333cpVL9Q111zz4Nd+7dd+r3d6p3f6bIDf/d3f/S6uuurf6DVf8zXfB+BHfuRHPvu3f/u3v+e+++67lateqGuuuebBr/3ar/1eL/7iL/7aL/ZiL/baAL/7u7/7XVx11b/Ra77ma77Pfffdd+vXf/3Xv88//MM//DZXXXXVVVf9e6AHPehBXHXVVVdd9R/jdV7ndd77dV7ndd7rxV7sxV77d3/3d7+Lq656Ebzma77m+wDcd999t/7Wb/3Wd//2b//299x33323ctW/2jXXXPPg137t136vF3/xF3/tF3uxF3vt3/3d3/0urrrqRfSar/ma73Pffffd+lu/9Vvf/aM/+qOfw1X/JmfOnHnQ67zO67z3i7/4i7/2i73Yi702wO/+7u9+F1dd9SJ4zdd8zfe57777bv3RH/3Rz/mt3/qt7+aqq6666qr/COhBD3oQV1111VVX/cd6ndd5nfd+ndd5nfd6sRd7sdf+3d/93e/iqquey6Mf/ejXueaaax5833333fpbv/Vb3/0P//APv/MP//APv81V/2GuueaaB7/jO77jZ73O67zOewP87u/+7ndx1VXP5TVf8zXf57777rv1t37rt777H/7hH37nH/7hH36bq/7DXHPNNQ9+7dd+7fd68Rd/8dd+sRd7sdcG+N3f/d3v4qqrnstrvuZrvs99991364/+6I9+zm/91m99N1ddddVVV/1HQg960IO46qqrrrrqP8c111zz4Hd8x3f8rNd5ndd5b4Df/d3f/S6u+n/rNV/zNd8H4L777rv1t37rt777t3/7t7/nvvvuu5Wr/lNdc801D36xF3ux13qd13md936xF3ux1wb43d/93e/iqv+3XvM1X/N9AO67775bf+u3fuu7f/RHf/RzuOo/3TXXXPPgF3uxF3vt13md13mvF3uxF3ttgN/93d/9Lq76f+s1X/M13wfgt37rt777t37rt77nH/7hH36bq6666qqr/jOgBz3oQVx11VVXXfWf65prrnnwa7/2a7/X67zO67z3Nddc8+Df/d3f/S6u+j/vNV/zNd8H4B/+4R9+++///u9/++zZs8/4rd/6re/mqv8211xzzYNf7MVe7LVf53Ve571e7MVe7LUBfvd3f/e7uOr/vNd8zdd8n/vuu+9WgN/6rd/67h/90R/9HK76b3PNNdc8+MVe7MVe68Ve7MVe+5prrnnwi73Yi702wO/+7u9+F1f9n/ear/ma73Pffffd+lu/9Vvf/aM/+qOfw1VXXXXVVf/Z0IMe9CCuuuqqq676r3PNNdc8+B3f8R0/63Ve53XeG+B3f/d3v4ur/k94zdd8zfcBuO+++249e/bsrX//93//27/927/9Pffdd9+tXPU/zpkzZx704i/+4q/zYi/2Yq/1Oq/zOu/NM/3u7/7ud3HV/3qv+Zqv+T4A9913362/9Vu/9d0AP/qjP/o5XPU/0jXXXPPgF3uxF3vtF3uxF3ut13md13lvnul3f/d3v4ur/k94zdd8zfe57777bv2t3/qt7/6Hf/iH3/mHf/iH3+aqq6666qr/KuhBD3oQV1111VVX/de75pprHvxiL/Zir/1iL/Zir/U6r/M67w3wu7/7u9/FVf9rvOZrvub7ANx33323nj179ta///u//+1/+Id/+J1/+Id/+G2u+l/lmmuueTDAa7/2a7/Xi7/4i7/2i73Yi702wO/+7u9+F1f9r/Gar/ma7wNw33333fpbv/Vb3/0P//APv/MP//APv81V/+tcc801D36xF3ux136xF3ux13qd13md9+aZfvd3f/e7uOp/hdd8zdd8H4D77rvv1t/6rd/67rNnzz7jt37rt76bq6666qqr/jugBz3oQVx11VVXXfXf65prrnnwmTNnHvxiL/Zir/XiL/7ir/1iL/Zirw3wu7/7u9/FVf8jvOZrvub78Ez33XffrT/6oz/6OWfOnHnQb//2b3/PfffddytX/Z9yzTXXPPjFXuzFXvvFXuzFXuuaa6558Iu92Iu9NsDv/u7vfhdX/Y/xmq/5mu8DcN999936W7/1W98N8KM/+qOfw1X/51xzzTUPfrEXe7HXfrEXe7HXuuaaax78Yi/2Yq/NM/3u7/7ud3HV/wiv+Zqv+T4A9913362/9Vu/9d3/8A//8Dv/8A//8NtcddVVV1313w096EEP4qqrrrrqqv9Zrrnmmge/2Iu92Gu/2Iu92Gtdc801D36xF3ux1wb43d/93e/iqv90r/mar/k+PNN9991369mzZ2/9+7//+9/+h3/4h9/5h3/4h9/mqv93rrnmmge/2Iu92Gu/2Iu92Gtdc801D36xF3ux1+aZfvd3f/e7uOo/3Wu+5mu+D89033333fpbv/Vb3/0P//APv/MP//APv81V/++cOXPmQddcc81Drrnmmge/2Iu92Gtdc801D36xF3ux1+aZfvd3f/e7uOo/3Wu+5mu+D8A//MM//Pbf//3f/zbAj/7oj34OV1111VVX/U+DHvSgB3HVVVddddX/bNdcc82DX+zFXuy1X+zFXuy1rrnmmge/2Iu92GvzTL/7u7/7XVz1b/Kar/ma78MD3Hfffbf+wz/8w2/fd999t/7DP/zD7/zDP/zDb3PVVc/HmTNnHiRJL/ZiL/baL/ZiL/Za11xzzYNf7MVe7LV5pt/93d/9Lq76N3vN13zN9+GZ7rvvvlt/67d+67sB/uEf/uF3/uEf/uG3ueqq5+PMmTMPuuaaax5yzTXXPPjFXuzFXuuaa6558Iu92Iu9Ng/wu7/7u9/FVf8mr/mar/k+PNN9991362/91m99N8CP/uiPfg5XXXXVVVf9T4ce9KAHcdVVV1111f8u11xzzYPPnDnz4GuuuebBL/ZiL/Za11xzzYNf7MVe7LV5gN/93d/9Lq7iNV/zNd+HB7jvvvtuBfiHf/iH377vvvtu/Yd/+IffOXv27K333XffrVx11b/DmTNnHiRJL/ZiL/baL/ZiL/Za11xzzYPPnDnz4GuuuebBPMDv/u7vfhdX8Zqv+ZrvwwPcd999t549e/bWv//7v/9tgH/4h3/4nX/4h3/4ba666t/pmmuuefCLvdiLvTbAi73Yi73WNddc8+AXe7EXe20e4Hd/93e/i6sue83XfM334QH+4R/+4bf//u///rcB/uEf/uF3/uEf/uG3ueqqq6666n8b9KAHPYirrrrqqqv+b7jmmmse/GIv9mKvDfBiL/Zir3XNNdc8+MyZMw++5pprHswD/O7v/u538X/Ea77ma74Pz+W+++679ezZs7f+/d///W8DnD179hn33Xffrf/wD//w21x11X+xa6655sEAL/ZiL/baAC/2Yi/2Wtdcc82Dz5w58+BrrrnmwTyX3/3d3/0u/g94zdd8zffhudx33323nj179tb77rvv1vvuu+/Ws2fPPuO+++679R/+4R9+m6uu+i92zTXXPPjMmTMPvuaaax585syZB11zzTUPvuaaax585syZB19zzTUP5rn87u/+7nfxf8RrvuZrvg8PcN9999169uzZW++7775b77vvvlv/4R/+4XfOnj1763333XcrV1111VVX/V+AHvSgB3HVVVddddX/bddcc82DAc6cOfPga6655sEv9mIv9loA11xzzYMBXuzFXuy1eSH+9E//9Mf4L/CKr/iK78ALcd99990KcPbs2Vvvu+++W++7775bAc6ePfuM++6779azZ8/eet99993KVVf9L3HNNdc8GODMmTMPuuaaax4C8GIv9mKvdc011zwY4MyZMw++5pprHswL8ad/+qc/xn+BV3zFV3wHXoh/+Id/+O0zZ848+OzZs7f+/d///W8DnD179hn33Xff08+ePfuM++6771auuup/iWuuuebBtn3NNdc85JprrnkwwIu92Iu9FsA111zzYIAzZ848+JprrnkwL8Sf/umf/hj/yV7xFV/xHXgh7rvvvlsBzp49e+t9991363333XcrwG//9m9/z5kzZx78D//wD7/NVVddddVV/9ehBz3oQVx11VVXXXUVwDXXXPNggDNnzjz4mmuueTDPdObMmQddc801D+a5XHPNNQ/muZw5c+bBPMDZs2dv5fm47777buWZ7rvvvlt5prNnzz4D4L777rsV4OzZs7fed999t3LVVf+PXXPNNQ8GsO1rrrnmIddcc82DeTa/2Iu92GvzXK655poH83ycOXPmwTzT2bNnbwW47777br3mmmsezDPdd999twLcd999t/IAZ8+efQbAfffddyvgs2fPPuO+++67lauu+n/szJkzD5KkM2fOPBjgmmuueTDgM2fOPBjgmmuueTDP5Zprrnkwz+XMmTMP5gHOnj17K8/HfffddyvPdN99993KM509e/YZgO+7775nAPzDP/zDb3PVVVddddVVV6AHPehBXHXVVVddddVVV1111VVXXXXVVVddddVV/ydRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yr+EYliN0PTFQVBAAAAAElFTkSuQmCC) + +```js +const r = 10 // radius +// Call `map`, using an anonymous function instead of a named one. +const circles = map([1, 2, 3], (id) => { + return startSketchOn("XY") + |> circle({ center: [id * 2 * r, 0], radius: r }, %) +}) +``` + +![Rendered example of map 1](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAACGl0lEQVR4Ae3gAZAkSZIkSRKLqpm7R0REZmZmVlVVVVV3d3d3d/fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMdHd3d3dXV1VVVVVmZkZGRIS7m5kKz0xmV3d1d3dPz8zMzMxMYn3Qgx7EVVddddVVV1111VVXXXXVVVddddVVV131fxKVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqqv+D7vmmmsezAOcOXPmwfwbnT179lae6b777ruVq676H+Saa655MA9w5syZB/NvdPbs2Vt5pvvuu+9Wrrrqf5BrrrnmwTzAmTNnHsy/0dmzZ2/lme67775bueqqq6666qr/m6hcddVVV1111f8C11xzzYMBzpw58+BrrrnmwWfOnHkQwDXXXPPga6655sE805kzZx58zTXXPJj/Ivfdd9+tPNPZs2dvve+++24FuO+++249e/bsMwDuu+++W8+ePXvrfffddytXXfUvuOaaax4McObMmQdfc801Dz5z5syDAK655poHA1xzzTUPBjhz5syDr7nmmgfzX+S+++67lWc6e/bsrffdd9+tAPfdd9+tZ8+efQbAfffddyvAP/zDP/w2V131IrjmmmsefObMmQdfc801Dz5z5syDAK655poHA1xzzTUPBrjmmmsecubMmQfxX+S+++67FUCS7rvvvqcD3HfffbcC3HfffbeePXv2Gf/wD//w22fOnHnw2bNnb73vvvtu5aqrrrrqqqv+Z0MPetCDuOqqq6666qr/Ttdcc82Dz5w58+BrrrnmwWfOnHkQwIu/+Iu/NsCLvdiLvTYvwO/+7u9+F/+DveZrvub78Fzuu+++WwH+4R/+4bcB/uEf/uF37rvvvlvPnj1763333XcrV/2fd8011zz4zJkzD77mmmsefObMmQddc801D77mmmsefObMmQdfc801D+b5+N3f/d3v4n+w13zN13wfnst99913K8DZs2dvve+++2697777bj179uwz7rvvvlvPnj1763333XcrV/2fd8011zz4zJkzD36xF3ux1wK45pprHnzNNdc8+MVe7MVem+fjd3/3d7+L/8Fe8zVf8314Pu67775bAc6ePXvrfffdd+t999136z/8wz/8DsDZs2dvve+++27lqquuuuqqq/77oAc96EFcddVVV1111X+2a6655sFnzpx58DXXXPPgM2fOPOjFX/zFXxvgxV7sxV6b5/K7v/u738X/E6/5mq/5PjzTfffddyvAP/zDP/z2P/zDP/zOfffdd+vZs2dvve+++27lqv91rrnmmge/2Iu92GufOXPmQddcc82Dr7nmmge/2Iu92GvzXH73d3/3u/h/4jVf8zXfh2e67777bgX4h3/4h98G+Id/+Iffue+++279h3/4h9/mqv91rrnmmgefOXPmwS/2Yi/2Wtdcc81Drrnmmge92Iu92GvzAL/7u7/7Xfw/8Zqv+ZrvwwPcd999t0rSfffd9/T77rvv1n/4h3/4nfvuu+/Ws2fP3nrffffdylVXXXXVVVf950IPetCDuOqqq6666qr/KNdcc82Dz5w58+AXe7EXey2AF3/xF3/tF3uxF3ttHuB3f/d3v4urXqjXfM3XfB+e6b777rv17Nmzt9533323/sM//MPv/MM//MNv33fffbdy1f8I11xzzYPPnDnz4Bd7sRd7rWuuuebBL/ZiL/ba11xzzYN5pt/93d/9Lq76F73ma77m+/BM9913363/8A//8Nv/8A//8Dv33Xffrf/wD//w21z1P8Y111zz4DNnzjz4xV7sxV7rxV/8xV/nxV7sxV6LB/jd3/3d7+KqF+o1X/M134dnuu+++249e/bsrffdd9+t//AP//A79913363/8A//8NtcddVVV1111X8c9KAHPYirrrrqqquu+re45pprHvxiL/Zir33mzJkHvfiLv/hrv9iLvdhr8wC/+7u/+11c9R/qNV/zNd8H4L777rv1H/7hH377H/7hH37nvvvuu/Uf/uEffpur/tNdc801DwZ47dd+7fd68Rd/8dd+sRd7sdfmAX73d3/3u7jqP8xrvuZrvg/PdN999936D//wD79933333foP//APv/MP//APv81V/yWuueaaB7/2a7/2ewG80zu902fzTL/7u7/7XVz1H+o1X/M134dnuu+++249e/bsrffdd9+t//AP//A79913363/8A//8NtcddVVV1111b8eetCDHsRVV1111VVX/UuuueaaB585c+bBL/ZiL/ZaL/7iL/7aL/ZiL/baPNPv/u7vfhdX/bd4zdd8zfcBuO+++279h3/4h9/+h3/4h9/5rd/6re/mqv8Q11xzzYPPnDnz4Bd7sRd7rRd/8Rd/7Rd7sRd7bZ7pd3/3d7+Lq/7LveZrvub73HfffbfyTP/wD//w2//wD//wO7/1W7/13Vz1H+Kaa6558Gu/9mu/F8A7vdM7fTbP9Lu/+7vfxVX/LV7zNV/zfQDuu+++W8+ePXvrfffdd+tv/dZvfc8//MM//DZXXXXVVVdd9S9DD3rQg7jqqquuuuqq53bNNdc8+LVf+7XfC+DFX/zFX/vFXuzFXptn+t3f/d3v4qr/kV7zNV/zfQDuu+++W3/rt37ru//hH/7hd/7hH/7ht7nqRfZiL/Zir/1iL/Zir/XiL/7ir/1iL/Zirw3wu7/7u9/FVf9jveZrvub7ANx33323/sM//MNv/9Zv/db3/MM//MNvc9WL7Jprrnnwa7/2a7/Xi7/4i7/2i73Yi702wO/+7u9+F1f9j/Sar/ma78Mz3Xfffbf+wz/8w2//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X/N97rvvvlt/67d+67t/9Ed/9HO46qqrrrrqXws96EEP4qqrrrrqqn+ba6655sGv/dqv/V7v9E7v9Nm/+7u/+11cddV/oNd8zdd8H4D77rvv1t/6rd/67h/90R/9HK56Dq/zOq/z3q/zOq/zXi/2Yi/22r/7u7/7XVx11X+w13zN13yf++6779Yf/dEf/ezf+q3f+h6uepZrrrnmwS/2Yi/2Wq/zOq/z3i/2Yi/22gC/+7u/+11cddV/oNd8zdd8n3/4h3/47c/8zM98Ha666qqrrvq3Qg960IO46qqrrrrq3+eaa6558Id/+Id/14u92Iu99u/+7u9+F1dd9W/0mq/5mu8DcN999936W7/1W9/927/9299z33333cpVL9Q111zz4Nd+7dd+r3d6p3f6bIDf/d3f/S6uuurf6DVf8zXfB+BHfuRHPvu3f/u3v+e+++67lateqGuuuebBr/3ar/1eL/7iL/7aL/ZiL/baAL/7u7/7XVx11b/Ra77ma77Pfffdd+vXf/3Xv88//MM//DZXXXXVVVf9e6AHPehBXHXVVVdd9R/jdV7ndd77dV7ndd7rxV7sxV77d3/3d7+Lq656Ebzma77m+wDcd999t/7Wb/3Wd//2b//299x33323ctW/2jXXXPPg137t136vF3/xF3/tF3uxF3vt3/3d3/0urrrqRfSar/ma73Pffffd+lu/9Vvf/aM/+qOfw1X/JmfOnHnQ67zO67z3i7/4i7/2i73Yi702wO/+7u9+F1dd9SJ4zdd8zfe57777bv3RH/3Rz/mt3/qt7+aqq6666qr/COhBD3oQV1111VVX/cd6ndd5nfd+ndd5nfd6sRd7sdf+3d/93e/iqquey6Mf/ejXueaaax5833333fpbv/Vb3/0P//APv/MP//APv81V/2GuueaaB7/jO77jZ73O67zOewP87u/+7ndx1VXP5TVf8zXf57777rv1t37rt777H/7hH37nH/7hH36bq/7DXHPNNQ9+7dd+7fd68Rd/8dd+sRd7sdcG+N3f/d3v4qqrnstrvuZrvs99991364/+6I9+zm/91m99N1ddddVVV/1HQg960IO46qqrrrrqP8c111zz4Hd8x3f8rNd5ndd5b4Df/d3f/S6u+n/rNV/zNd8H4L777rv1t37rt777t3/7t7/nvvvuu5Wr/lNdc801D36xF3ux13qd13md936xF3ux1wb43d/93e/iqv+3XvM1X/N9AO67775bf+u3fuu7f/RHf/RzuOo/3TXXXPPgF3uxF3vt13md13mvF3uxF3ttgN/93d/9Lq76f+s1X/M13wfgt37rt777t37rt77nH/7hH36bq6666qqr/jOgBz3oQVx11VVXXfWf65prrnnwa7/2a7/X67zO67z3Nddc8+Df/d3f/S6u+j/vNV/zNd8H4B/+4R9+++///u9/++zZs8/4rd/6re/mqv8211xzzYNf7MVe7LVf53Ve571e7MVe7LUBfvd3f/e7uOr/vNd8zdd8n/vuu+9WgN/6rd/67h/90R/9HK76b3PNNdc8+MVe7MVe68Ve7MVe+5prrnnwi73Yi702wO/+7u9+F1f9n/ear/ma73Pffffd+lu/9Vvf/aM/+qOfw1VXXXXVVf/Z0IMe9CCuuuqqq676r3PNNdc8+B3f8R0/63Ve53XeG+B3f/d3v4ur/k94zdd8zfcBuO+++249e/bsrX//93//27/927/9Pffdd9+tXPU/zpkzZx704i/+4q/zYi/2Yq/1Oq/zOu/NM/3u7/7ud3HV/3qv+Zqv+T4A9913362/9Vu/9d0AP/qjP/o5XPU/0jXXXPPgF3uxF3vtF3uxF3ut13md13lvnul3f/d3v4ur/k94zdd8zfe57777bv2t3/qt7/6Hf/iH3/mHf/iH3+aqq6666qr/KuhBD3oQV1111VVX/de75pprHvxiL/Zir/1iL/Zir/U6r/M67w3wu7/7u9/FVf9rvOZrvub7ANx33323nj179ta///u//+1/+Id/+J1/+Id/+G2u+l/lmmuueTDAa7/2a7/Xi7/4i7/2i73Yi702wO/+7u9+F1f9r/Gar/ma7wNw33333fpbv/Vb3/0P//APv/MP//APv81V/+tcc801D36xF3ux136xF3ux13qd13md9+aZfvd3f/e7uOp/hdd8zdd8H4D77rvv1t/6rd/67rNnzz7jt37rt76bq6666qqr/jugBz3oQVx11VVXXfXf65prrnnwmTNnHvxiL/Zir/XiL/7ir/1iL/Zirw3wu7/7u9/FVf8jvOZrvub78Ez33XffrT/6oz/6OWfOnHnQb//2b3/PfffddytX/Z9yzTXXPPjFXuzFXvvFXuzFXuuaa6558Iu92Iu9NsDv/u7vfhdX/Y/xmq/5mu8DcN999936W7/1W98N8KM/+qOfw1X/51xzzTUPfrEXe7HXfrEXe7HXuuaaax78Yi/2Yq/NM/3u7/7ud3HV/wiv+Zqv+T4A9913362/9Vu/9d3/8A//8Dv/8A//8NtcddVVV1313w096EEP4qqrrrrqqv9Zrrnmmge/2Iu92Gu/2Iu92Gtdc801D36xF3ux1wb43d/93e/iqv90r/mar/k+PNN9991369mzZ2/9+7//+9/+h3/4h9/5h3/4h9/mqv93rrnmmge/2Iu92Gu/2Iu92Gtdc801D36xF3ux1+aZfvd3f/e7uOo/3Wu+5mu+D89033333fpbv/Vb3/0P//APv/MP//APv81V/++cOXPmQddcc81Drrnmmge/2Iu92Gtdc801D36xF3ux1+aZfvd3f/e7uOo/3Wu+5mu+D8A//MM//Pbf//3f/zbAj/7oj34OV1111VVX/U+DHvSgB3HVVVddddX/bNdcc82DX+zFXuy1X+zFXuy1rrnmmge/2Iu92GvzTL/7u7/7XVz1b/Kar/ma78MD3Hfffbf+wz/8w2/fd999t/7DP/zD7/zDP/zDb3PVVc/HmTNnHiRJL/ZiL/baL/ZiL/Za11xzzYNf7MVe7LV5pt/93d/9Lq76N3vN13zN9+GZ7rvvvlt/67d+67sB/uEf/uF3/uEf/uG3ueqq5+PMmTMPuuaaax5yzTXXPPjFXuzFXuuaa6558Iu92Iu9Ng/wu7/7u9/FVf8mr/mar/k+PNN9991362/91m99N8CP/uiPfg5XXXXVVVf9T4ce9KAHcdVVV1111f8u11xzzYPPnDnz4GuuuebBL/ZiL/Za11xzzYNf7MVe7LV5gN/93d/9Lq7iNV/zNd+HB7jvvvtuBfiHf/iH377vvvtu/Yd/+IffOXv27K333XffrVx11b/DmTNnHiRJL/ZiL/baL/ZiL/Za11xzzYPPnDnz4GuuuebBPMDv/u7vfhdX8Zqv+ZrvwwPcd999t549e/bWv//7v/9tgH/4h3/4nX/4h3/4ba666t/pmmuuefCLvdiLvTbAi73Yi73WNddc8+AXe7EXe20e4Hd/93e/i6sue83XfM334QH+4R/+4bf//u///rcB/uEf/uF3/uEf/uG3ueqqq6666n8b9KAHPYirrrrqqqv+b7jmmmse/GIv9mKvDfBiL/Zir3XNNdc8+MyZMw++5pprHswD/O7v/u538X/Ea77ma74Pz+W+++679ezZs7f+/d///W8DnD179hn33Xffrf/wD//w21x11X+xa6655sEAL/ZiL/baAC/2Yi/2Wtdcc82Dz5w58+BrrrnmwTyX3/3d3/0u/g94zdd8zffhudx33323nj179tb77rvv1vvuu+/Ws2fPPuO+++679R/+4R9+m6uu+i92zTXXPPjMmTMPvuaaax585syZB11zzTUPvuaaax585syZB19zzTUP5rn87u/+7nfxf8RrvuZrvg8PcN9999169uzZW++7775b77vvvlv/4R/+4XfOnj1763333XcrV1111VVX/V+AHvSgB3HVVVddddX/bddcc82DAc6cOfPga6655sEv9mIv9loA11xzzYMBXuzFXuy1eSH+9E//9Mf4L/CKr/iK78ALcd99990KcPbs2Vvvu+++W++7775bAc6ePfuM++6779azZ8/eet99993KVVf9L3HNNdc8GODMmTMPuuaaax4C8GIv9mKvdc011zwY4MyZMw++5pprHswL8ad/+qc/xn+BV3zFV3wHXoh/+Id/+O0zZ848+OzZs7f+/d///W8DnD179hn33Xff08+ePfuM++6771auuup/iWuuuebBtn3NNdc85JprrnkwwIu92Iu9FsA111zzYIAzZ848+JprrnkwL8Sf/umf/hj/yV7xFV/xHXgh7rvvvlsBzp49e+t9991363333XcrwG//9m9/z5kzZx78D//wD7/NVVddddVV/9ehBz3oQVx11VVXXXUVwDXXXPNggDNnzjz4mmuueTDPdObMmQddc801D+a5XHPNNQ/muZw5c+bBPMDZs2dv5fm47777buWZ7rvvvlt5prNnzz4D4L777rsV4OzZs7fed999t3LVVf+PXXPNNQ8GsO1rrrnmIddcc82DeTa/2Iu92GvzXK655poH83ycOXPmwTzT2bNnbwW47777br3mmmsezDPdd999twLcd999t/IAZ8+efQbAfffddyvgs2fPPuO+++67lauu+n/szJkzD5KkM2fOPBjgmmuueTDgM2fOPBjgmmuueTDP5Zprrnkwz+XMmTMP5gHOnj17K8/HfffddyvPdN99993KM509e/YZgO+7775nAPzDP/zDb3PVVVddddVVV6AHPehBXHXVVVddddVVV1111VVXXXXVVVddddVV/ydRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yr+EYliN0PTFQVBAAAAAElFTkSuQmCC) + + diff --git a/docs/kcl/std.json b/docs/kcl/std.json index 9282eed3a7..216e1dd164 100644 --- a/docs/kcl/std.json +++ b/docs/kcl/std.json @@ -80894,6 +80894,10736 @@ "const totalWidth = 10 * m()" ] }, + { + "name": "map", + "summary": "Apply a function to every element of a list.", + "description": "Given a list like `[a, b, c]`, and a function like `f`, returns `[f(a), f(b), f(c)]`", + "tags": [], + "args": [ + { + "name": "array", + "type": "[KclValue]", + "schema": { + "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema", + "title": "Array_of_KclValue", + "type": "array", + "items": { + "$ref": "#/components/schemas/KclValue" + }, + "definitions": { + "KclValue": { + "description": "A memory item.", + "oneOf": [ + { + "type": "object", + "required": [ + "__meta", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "UserVal" + ] + }, + "value": {}, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "__meta", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TagIdentifier" + ] + }, + "value": { + "type": "string" + }, + "info": { + "allOf": [ + { + "$ref": "#/components/schemas/TagEngineInfo" + } + ], + "nullable": true + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "end", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TagDeclarator" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Plane" + ] + }, + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "value": { + "$ref": "#/components/schemas/PlaneType" + }, + "origin": { + "description": "Origin of the plane.", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "xAxis": { + "description": "What should the plane’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the plane’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Face" + ] + }, + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The tag of the face.", + "type": "string" + }, + "xAxis": { + "description": "What should the face’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the face’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "description": "An solid is a collection of extrude surfaces.", + "type": "object", + "required": [ + "__meta", + "height", + "id", + "sketch", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Solid" + ] + }, + "id": { + "description": "The id of the solid.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The extrude surfaces.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtrudeSurface" + } + }, + "sketch": { + "description": "The sketch.", + "allOf": [ + { + "$ref": "#/components/schemas/Sketch" + } + ] + }, + "height": { + "description": "The height of the solid.", + "type": "number", + "format": "double" + }, + "startCapId": { + "description": "The id of the extrusion start cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "endCapId": { + "description": "The id of the extrusion end cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "edgeCuts": { + "description": "Chamfers or fillets on this solid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EdgeCut" + } + }, + "__meta": { + "description": "Metadata.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Solids" + ] + }, + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Solid" + } + } + } + }, + { + "description": "Data for an imported geometry.", + "type": "object", + "required": [ + "__meta", + "id", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ImportedGeometry" + ] + }, + "id": { + "description": "The ID of the imported geometry.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The original file paths.", + "type": "array", + "items": { + "type": "string" + } + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "__meta", + "expression", + "memory", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Function" + ] + }, + "expression": { + "$ref": "#/components/schemas/FunctionExpression" + }, + "memory": { + "$ref": "#/components/schemas/ProgramMemory" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + } + ] + }, + "Metadata": { + "description": "Metadata.", + "type": "object", + "required": [ + "sourceRange" + ], + "properties": { + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + "SourceRange": { + "type": "array", + "items": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "maxItems": 2, + "minItems": 2 + }, + "TagEngineInfo": { + "description": "Engine information for a tag.", + "type": "object", + "required": [ + "id", + "sketch" + ], + "properties": { + "id": { + "description": "The id of the tagged object.", + "type": "string", + "format": "uuid" + }, + "sketch": { + "description": "The sketch the tag is on.", + "type": "string", + "format": "uuid" + }, + "path": { + "description": "The path the tag is on.", + "allOf": [ + { + "$ref": "#/components/schemas/BasePath" + } + ], + "nullable": true + }, + "surface": { + "description": "The surface information for the tag.", + "allOf": [ + { + "$ref": "#/components/schemas/ExtrudeSurface" + } + ], + "nullable": true + } + } + }, + "BasePath": { + "description": "A base path.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to" + ], + "properties": { + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + "TagDeclarator": { + "type": "object", + "required": [ + "end", + "start", + "value" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "GeoMeta": { + "description": "Geometry metadata.", + "type": "object", + "required": [ + "id", + "sourceRange" + ], + "properties": { + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + "ExtrudeSurface": { + "description": "An extrude surface.", + "oneOf": [ + { + "description": "An extrude plane.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "extrudePlane" + ] + }, + "faceId": { + "description": "The face id for the extrude plane.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + { + "description": "An extruded arc.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "extrudeArc" + ] + }, + "faceId": { + "description": "The face id for the extrude plane.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + { + "description": "Geometry metadata.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "chamfer" + ] + }, + "faceId": { + "description": "The id for the chamfer surface.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + { + "description": "Geometry metadata.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "fillet" + ] + }, + "faceId": { + "description": "The id for the fillet surface.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + } + ] + }, + "PlaneType": { + "description": "Type for a plane.", + "oneOf": [ + { + "type": "string", + "enum": [ + "XY", + "XZ", + "YZ" + ] + }, + { + "description": "A custom plane.", + "type": "string", + "enum": [ + "Custom" + ] + } + ] + }, + "Point3d": { + "type": "object", + "required": [ + "x", + "y", + "z" + ], + "properties": { + "x": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + }, + "z": { + "type": "number", + "format": "double" + } + } + }, + "Solid": { + "description": "An solid is a collection of extrude surfaces.", + "type": "object", + "required": [ + "__meta", + "height", + "id", + "sketch", + "value" + ], + "properties": { + "id": { + "description": "The id of the solid.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The extrude surfaces.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtrudeSurface" + } + }, + "sketch": { + "description": "The sketch.", + "allOf": [ + { + "$ref": "#/components/schemas/Sketch" + } + ] + }, + "height": { + "description": "The height of the solid.", + "type": "number", + "format": "double" + }, + "startCapId": { + "description": "The id of the extrusion start cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "endCapId": { + "description": "The id of the extrusion end cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "edgeCuts": { + "description": "Chamfers or fillets on this solid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EdgeCut" + } + }, + "__meta": { + "description": "Metadata.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + "Sketch": { + "description": "A sketch is a collection of paths.", + "type": "object", + "required": [ + "__meta", + "id", + "on", + "start", + "value" + ], + "properties": { + "id": { + "description": "The id of the sketch (this will change when the engine's reference to it changes.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The paths in the sketch.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Path" + } + }, + "on": { + "description": "What the sketch is on (can be a plane or a face).", + "allOf": [ + { + "$ref": "#/components/schemas/SketchSurface" + } + ] + }, + "start": { + "description": "The starting path.", + "allOf": [ + { + "$ref": "#/components/schemas/BasePath" + } + ] + }, + "tags": { + "description": "Tag identifiers that have been declared in this sketch.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/TagIdentifier" + } + }, + "__meta": { + "description": "Metadata.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + "Path": { + "description": "A path.", + "oneOf": [ + { + "description": "A path that goes to a point.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ToPoint" + ] + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A arc that is tangential to the last path segment that goes to a point", + "type": "object", + "required": [ + "__geoMeta", + "ccw", + "center", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TangentialArcTo" + ] + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A arc that is tangential to the last path segment", + "type": "object", + "required": [ + "__geoMeta", + "ccw", + "center", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TangentialArc" + ] + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "a complete arc", + "type": "object", + "required": [ + "__geoMeta", + "ccw", + "center", + "from", + "radius", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Circle" + ] + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "radius": { + "description": "the arc's radius", + "type": "number", + "format": "double" + }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A path that is horizontal.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type", + "x" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Horizontal" + ] + }, + "x": { + "description": "The x coordinate.", + "type": "number", + "format": "double" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "An angled line to.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "AngledLineTo" + ] + }, + "x": { + "description": "The x coordinate.", + "type": "number", + "format": "double", + "nullable": true + }, + "y": { + "description": "The y coordinate.", + "type": "number", + "format": "double", + "nullable": true + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A base path.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Base" + ] + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + } + ] + }, + "SketchSurface": { + "description": "A sketch type.", + "oneOf": [ + { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "plane" + ] + }, + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "value": { + "$ref": "#/components/schemas/PlaneType" + }, + "origin": { + "description": "Origin of the plane.", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "xAxis": { + "description": "What should the plane’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the plane’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "face" + ] + }, + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The tag of the face.", + "type": "string" + }, + "xAxis": { + "description": "What should the face’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the face’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + } + ] + }, + "TagIdentifier": { + "type": "object", + "required": [ + "__meta", + "value" + ], + "properties": { + "value": { + "type": "string" + }, + "info": { + "allOf": [ + { + "$ref": "#/components/schemas/TagEngineInfo" + } + ], + "nullable": true + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + "EdgeCut": { + "description": "A fillet or a chamfer.", + "oneOf": [ + { + "description": "A fillet.", + "type": "object", + "required": [ + "edgeId", + "id", + "radius", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "fillet" + ] + }, + "id": { + "description": "The id of the engine command that called this fillet.", + "type": "string", + "format": "uuid" + }, + "radius": { + "type": "number", + "format": "double" + }, + "edgeId": { + "description": "The engine id of the edge to fillet.", + "type": "string", + "format": "uuid" + }, + "tag": { + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + } + } + }, + { + "description": "A chamfer.", + "type": "object", + "required": [ + "edgeId", + "id", + "length", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "chamfer" + ] + }, + "id": { + "description": "The id of the engine command that called this chamfer.", + "type": "string", + "format": "uuid" + }, + "length": { + "type": "number", + "format": "double" + }, + "edgeId": { + "description": "The engine id of the edge to chamfer.", + "type": "string", + "format": "uuid" + }, + "tag": { + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + } + } + } + ] + }, + "FunctionExpression": { + "type": "object", + "required": [ + "body", + "end", + "params", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "params": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "body": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "Parameter": { + "description": "Parameter of a KCL function.", + "type": "object", + "required": [ + "identifier", + "optional" + ], + "properties": { + "identifier": { + "description": "The parameter's label or name.", + "allOf": [ + { + "$ref": "#/components/schemas/Identifier" + } + ] + }, + "optional": { + "description": "Is the parameter optional?", + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "Identifier": { + "type": "object", + "required": [ + "end", + "name", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "Program": { + "description": "A KCL program top level, or function body.", + "type": "object", + "required": [ + "body", + "end", + "nonCodeMeta", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "body": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BodyItem" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "BodyItem": { + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "expression", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ExpressionStatement" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "expression": { + "$ref": "#/components/schemas/Expr" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "declarations", + "end", + "kind", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "VariableDeclaration" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "declarations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VariableDeclarator" + } + }, + "kind": { + "$ref": "#/components/schemas/VariableKind" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "argument", + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ReturnStatement" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "argument": { + "$ref": "#/components/schemas/Expr" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "Expr": { + "description": "An expression can be evaluated to yield a single KCL value.", + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "raw", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Literal" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/LiteralValue" + }, + "raw": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TagDeclarator" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "left", + "operator", + "right", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "BinaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/BinaryOperator" + }, + "left": { + "$ref": "#/components/schemas/BinaryPart" + }, + "right": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "body", + "end", + "params", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "FunctionExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "params": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "body": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "arguments", + "callee", + "end", + "optional", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "CallExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "callee": { + "$ref": "#/components/schemas/Identifier" + }, + "arguments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "optional": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "body", + "end", + "nonCodeMeta", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "PipeExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "body": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "PipeSubstitution" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "elements", + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ArrayExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "properties", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ObjectExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectProperty" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "computed", + "end", + "object", + "property", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "MemberExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "object": { + "$ref": "#/components/schemas/MemberObject" + }, + "property": { + "$ref": "#/components/schemas/LiteralIdentifier" + }, + "computed": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "argument", + "end", + "operator", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "UnaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/UnaryOperator" + }, + "argument": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "cond", + "else_ifs", + "end", + "final_else", + "start", + "then_val", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "IfExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "cond": { + "$ref": "#/components/schemas/Expr" + }, + "then_val": { + "$ref": "#/components/schemas/Program" + }, + "else_ifs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ElseIf" + } + }, + "final_else": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "description": "KCL value for an optional parameter which was not given an argument. (remember, parameters are in the function declaration, arguments are in the function call/application).", + "type": "object", + "required": [ + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "None" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + } + } + } + ] + }, + "LiteralValue": { + "anyOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "type": "number", + "format": "double" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "BinaryOperator": { + "oneOf": [ + { + "description": "Add two numbers.", + "type": "string", + "enum": [ + "+" + ] + }, + { + "description": "Subtract two numbers.", + "type": "string", + "enum": [ + "-" + ] + }, + { + "description": "Multiply two numbers.", + "type": "string", + "enum": [ + "*" + ] + }, + { + "description": "Divide two numbers.", + "type": "string", + "enum": [ + "/" + ] + }, + { + "description": "Modulo two numbers.", + "type": "string", + "enum": [ + "%" + ] + }, + { + "description": "Raise a number to a power.", + "type": "string", + "enum": [ + "^" + ] + } + ] + }, + "BinaryPart": { + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "raw", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Literal" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/LiteralValue" + }, + "raw": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "left", + "operator", + "right", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "BinaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/BinaryOperator" + }, + "left": { + "$ref": "#/components/schemas/BinaryPart" + }, + "right": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "arguments", + "callee", + "end", + "optional", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "CallExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "callee": { + "$ref": "#/components/schemas/Identifier" + }, + "arguments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "optional": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "argument", + "end", + "operator", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "UnaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/UnaryOperator" + }, + "argument": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "computed", + "end", + "object", + "property", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "MemberExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "object": { + "$ref": "#/components/schemas/MemberObject" + }, + "property": { + "$ref": "#/components/schemas/LiteralIdentifier" + }, + "computed": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "cond", + "else_ifs", + "end", + "final_else", + "start", + "then_val", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "IfExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "cond": { + "$ref": "#/components/schemas/Expr" + }, + "then_val": { + "$ref": "#/components/schemas/Program" + }, + "else_ifs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ElseIf" + } + }, + "final_else": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "UnaryOperator": { + "oneOf": [ + { + "description": "Negate a number.", + "type": "string", + "enum": [ + "-" + ] + }, + { + "description": "Negate a boolean.", + "type": "string", + "enum": [ + "!" + ] + } + ] + }, + "MemberObject": { + "oneOf": [ + { + "type": "object", + "required": [ + "computed", + "end", + "object", + "property", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "MemberExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "object": { + "$ref": "#/components/schemas/MemberObject" + }, + "property": { + "$ref": "#/components/schemas/LiteralIdentifier" + }, + "computed": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "LiteralIdentifier": { + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "raw", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Literal" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/LiteralValue" + }, + "raw": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "ElseIf": { + "type": "object", + "required": [ + "cond", + "end", + "start", + "then_val" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "cond": { + "$ref": "#/components/schemas/Expr" + }, + "then_val": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "NonCodeMeta": { + "type": "object", + "required": [ + "nonCodeNodes", + "start" + ], + "properties": { + "nonCodeNodes": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NonCodeNode" + } + } + }, + "start": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NonCodeNode" + } + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "NonCodeNode": { + "type": "object", + "required": [ + "end", + "start", + "value" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/NonCodeValue" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "NonCodeValue": { + "oneOf": [ + { + "description": "A shebang. This is a special type of comment that is at the top of the file. It looks like this: ```python,no_run #!/usr/bin/env python ```", + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "shebang" + ] + }, + "value": { + "type": "string" + } + } + }, + { + "description": "An inline comment. Here are examples: `1 + 1 // This is an inline comment`. `1 + 1 /* Here's another */`.", + "type": "object", + "required": [ + "style", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "inlineComment" + ] + }, + "value": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CommentStyle" + } + } + }, + { + "description": "A block comment. An example of this is the following: ```python,no_run /* This is a block comment */ 1 + 1 ``` Now this is important. The block comment is attached to the next line. This is always the case. Also the block comment doesn't have a new line above it. If it did it would be a `NewLineBlockComment`.", + "type": "object", + "required": [ + "style", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "blockComment" + ] + }, + "value": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CommentStyle" + } + } + }, + { + "description": "A block comment that has a new line above it. The user explicitly added a new line above the block comment.", + "type": "object", + "required": [ + "style", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "newLineBlockComment" + ] + }, + "value": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CommentStyle" + } + } + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "newLine" + ] + } + } + } + ] + }, + "CommentStyle": { + "oneOf": [ + { + "description": "Like // foo", + "type": "string", + "enum": [ + "line" + ] + }, + { + "description": "Like /* foo */", + "type": "string", + "enum": [ + "block" + ] + } + ] + }, + "ObjectProperty": { + "type": "object", + "required": [ + "end", + "key", + "start", + "value" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "key": { + "$ref": "#/components/schemas/Identifier" + }, + "value": { + "$ref": "#/components/schemas/Expr" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "VariableDeclarator": { + "type": "object", + "required": [ + "end", + "id", + "init", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "id": { + "description": "The identifier of the variable.", + "allOf": [ + { + "$ref": "#/components/schemas/Identifier" + } + ] + }, + "init": { + "description": "The value of the variable.", + "allOf": [ + { + "$ref": "#/components/schemas/Expr" + } + ] + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "VariableKind": { + "oneOf": [ + { + "description": "Declare a variable.", + "type": "string", + "enum": [ + "let" + ] + }, + { + "description": "Declare a variable that is read-only.", + "type": "string", + "enum": [ + "const" + ] + }, + { + "description": "Declare a function.", + "type": "string", + "enum": [ + "fn" + ] + }, + { + "description": "Declare a variable.", + "type": "string", + "enum": [ + "var" + ] + } + ] + }, + "ProgramMemory": { + "type": "object", + "required": [ + "currentEnv", + "environments" + ], + "properties": { + "environments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Environment" + } + }, + "currentEnv": { + "$ref": "#/components/schemas/EnvironmentRef" + }, + "return": { + "allOf": [ + { + "$ref": "#/components/schemas/KclValue" + } + ], + "nullable": true + } + } + }, + "Environment": { + "type": "object", + "required": [ + "bindings" + ], + "properties": { + "bindings": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/KclValue" + } + }, + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/EnvironmentRef" + } + ], + "nullable": true + } + } + }, + "EnvironmentRef": { + "description": "An index pointing to an environment.", + "type": "integer", + "format": "uint", + "minimum": 0.0 + } + } + }, + "required": true + }, + { + "name": "map_fn", + "type": "FunctionParam", + "schema": { + "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema", + "title": "FunctionParam", + "type": "null", + "definitions": { + "KclValue": { + "description": "A memory item.", + "oneOf": [ + { + "type": "object", + "required": [ + "__meta", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "UserVal" + ] + }, + "value": {}, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "__meta", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TagIdentifier" + ] + }, + "value": { + "type": "string" + }, + "info": { + "allOf": [ + { + "$ref": "#/components/schemas/TagEngineInfo" + } + ], + "nullable": true + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "end", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TagDeclarator" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Plane" + ] + }, + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "value": { + "$ref": "#/components/schemas/PlaneType" + }, + "origin": { + "description": "Origin of the plane.", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "xAxis": { + "description": "What should the plane’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the plane’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Face" + ] + }, + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The tag of the face.", + "type": "string" + }, + "xAxis": { + "description": "What should the face’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the face’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "description": "An solid is a collection of extrude surfaces.", + "type": "object", + "required": [ + "__meta", + "height", + "id", + "sketch", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Solid" + ] + }, + "id": { + "description": "The id of the solid.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The extrude surfaces.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtrudeSurface" + } + }, + "sketch": { + "description": "The sketch.", + "allOf": [ + { + "$ref": "#/components/schemas/Sketch" + } + ] + }, + "height": { + "description": "The height of the solid.", + "type": "number", + "format": "double" + }, + "startCapId": { + "description": "The id of the extrusion start cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "endCapId": { + "description": "The id of the extrusion end cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "edgeCuts": { + "description": "Chamfers or fillets on this solid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EdgeCut" + } + }, + "__meta": { + "description": "Metadata.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Solids" + ] + }, + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Solid" + } + } + } + }, + { + "description": "Data for an imported geometry.", + "type": "object", + "required": [ + "__meta", + "id", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ImportedGeometry" + ] + }, + "id": { + "description": "The ID of the imported geometry.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The original file paths.", + "type": "array", + "items": { + "type": "string" + } + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "__meta", + "expression", + "memory", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Function" + ] + }, + "expression": { + "$ref": "#/components/schemas/FunctionExpression" + }, + "memory": { + "$ref": "#/components/schemas/ProgramMemory" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + } + ] + }, + "Metadata": { + "description": "Metadata.", + "type": "object", + "required": [ + "sourceRange" + ], + "properties": { + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + "SourceRange": { + "type": "array", + "items": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "maxItems": 2, + "minItems": 2 + }, + "TagEngineInfo": { + "description": "Engine information for a tag.", + "type": "object", + "required": [ + "id", + "sketch" + ], + "properties": { + "id": { + "description": "The id of the tagged object.", + "type": "string", + "format": "uuid" + }, + "sketch": { + "description": "The sketch the tag is on.", + "type": "string", + "format": "uuid" + }, + "path": { + "description": "The path the tag is on.", + "allOf": [ + { + "$ref": "#/components/schemas/BasePath" + } + ], + "nullable": true + }, + "surface": { + "description": "The surface information for the tag.", + "allOf": [ + { + "$ref": "#/components/schemas/ExtrudeSurface" + } + ], + "nullable": true + } + } + }, + "BasePath": { + "description": "A base path.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to" + ], + "properties": { + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + "TagDeclarator": { + "type": "object", + "required": [ + "end", + "start", + "value" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "GeoMeta": { + "description": "Geometry metadata.", + "type": "object", + "required": [ + "id", + "sourceRange" + ], + "properties": { + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + "ExtrudeSurface": { + "description": "An extrude surface.", + "oneOf": [ + { + "description": "An extrude plane.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "extrudePlane" + ] + }, + "faceId": { + "description": "The face id for the extrude plane.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + { + "description": "An extruded arc.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "extrudeArc" + ] + }, + "faceId": { + "description": "The face id for the extrude plane.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + { + "description": "Geometry metadata.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "chamfer" + ] + }, + "faceId": { + "description": "The id for the chamfer surface.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + { + "description": "Geometry metadata.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "fillet" + ] + }, + "faceId": { + "description": "The id for the fillet surface.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + } + ] + }, + "PlaneType": { + "description": "Type for a plane.", + "oneOf": [ + { + "type": "string", + "enum": [ + "XY", + "XZ", + "YZ" + ] + }, + { + "description": "A custom plane.", + "type": "string", + "enum": [ + "Custom" + ] + } + ] + }, + "Point3d": { + "type": "object", + "required": [ + "x", + "y", + "z" + ], + "properties": { + "x": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + }, + "z": { + "type": "number", + "format": "double" + } + } + }, + "Solid": { + "description": "An solid is a collection of extrude surfaces.", + "type": "object", + "required": [ + "__meta", + "height", + "id", + "sketch", + "value" + ], + "properties": { + "id": { + "description": "The id of the solid.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The extrude surfaces.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtrudeSurface" + } + }, + "sketch": { + "description": "The sketch.", + "allOf": [ + { + "$ref": "#/components/schemas/Sketch" + } + ] + }, + "height": { + "description": "The height of the solid.", + "type": "number", + "format": "double" + }, + "startCapId": { + "description": "The id of the extrusion start cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "endCapId": { + "description": "The id of the extrusion end cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "edgeCuts": { + "description": "Chamfers or fillets on this solid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EdgeCut" + } + }, + "__meta": { + "description": "Metadata.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + "Sketch": { + "description": "A sketch is a collection of paths.", + "type": "object", + "required": [ + "__meta", + "id", + "on", + "start", + "value" + ], + "properties": { + "id": { + "description": "The id of the sketch (this will change when the engine's reference to it changes.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The paths in the sketch.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Path" + } + }, + "on": { + "description": "What the sketch is on (can be a plane or a face).", + "allOf": [ + { + "$ref": "#/components/schemas/SketchSurface" + } + ] + }, + "start": { + "description": "The starting path.", + "allOf": [ + { + "$ref": "#/components/schemas/BasePath" + } + ] + }, + "tags": { + "description": "Tag identifiers that have been declared in this sketch.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/TagIdentifier" + } + }, + "__meta": { + "description": "Metadata.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + "Path": { + "description": "A path.", + "oneOf": [ + { + "description": "A path that goes to a point.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ToPoint" + ] + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A arc that is tangential to the last path segment that goes to a point", + "type": "object", + "required": [ + "__geoMeta", + "ccw", + "center", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TangentialArcTo" + ] + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A arc that is tangential to the last path segment", + "type": "object", + "required": [ + "__geoMeta", + "ccw", + "center", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TangentialArc" + ] + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "a complete arc", + "type": "object", + "required": [ + "__geoMeta", + "ccw", + "center", + "from", + "radius", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Circle" + ] + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "radius": { + "description": "the arc's radius", + "type": "number", + "format": "double" + }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A path that is horizontal.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type", + "x" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Horizontal" + ] + }, + "x": { + "description": "The x coordinate.", + "type": "number", + "format": "double" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "An angled line to.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "AngledLineTo" + ] + }, + "x": { + "description": "The x coordinate.", + "type": "number", + "format": "double", + "nullable": true + }, + "y": { + "description": "The y coordinate.", + "type": "number", + "format": "double", + "nullable": true + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A base path.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Base" + ] + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + } + ] + }, + "SketchSurface": { + "description": "A sketch type.", + "oneOf": [ + { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "plane" + ] + }, + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "value": { + "$ref": "#/components/schemas/PlaneType" + }, + "origin": { + "description": "Origin of the plane.", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "xAxis": { + "description": "What should the plane’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the plane’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "face" + ] + }, + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The tag of the face.", + "type": "string" + }, + "xAxis": { + "description": "What should the face’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the face’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + } + ] + }, + "TagIdentifier": { + "type": "object", + "required": [ + "__meta", + "value" + ], + "properties": { + "value": { + "type": "string" + }, + "info": { + "allOf": [ + { + "$ref": "#/components/schemas/TagEngineInfo" + } + ], + "nullable": true + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + "EdgeCut": { + "description": "A fillet or a chamfer.", + "oneOf": [ + { + "description": "A fillet.", + "type": "object", + "required": [ + "edgeId", + "id", + "radius", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "fillet" + ] + }, + "id": { + "description": "The id of the engine command that called this fillet.", + "type": "string", + "format": "uuid" + }, + "radius": { + "type": "number", + "format": "double" + }, + "edgeId": { + "description": "The engine id of the edge to fillet.", + "type": "string", + "format": "uuid" + }, + "tag": { + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + } + } + }, + { + "description": "A chamfer.", + "type": "object", + "required": [ + "edgeId", + "id", + "length", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "chamfer" + ] + }, + "id": { + "description": "The id of the engine command that called this chamfer.", + "type": "string", + "format": "uuid" + }, + "length": { + "type": "number", + "format": "double" + }, + "edgeId": { + "description": "The engine id of the edge to chamfer.", + "type": "string", + "format": "uuid" + }, + "tag": { + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + } + } + } + ] + }, + "FunctionExpression": { + "type": "object", + "required": [ + "body", + "end", + "params", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "params": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "body": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "Parameter": { + "description": "Parameter of a KCL function.", + "type": "object", + "required": [ + "identifier", + "optional" + ], + "properties": { + "identifier": { + "description": "The parameter's label or name.", + "allOf": [ + { + "$ref": "#/components/schemas/Identifier" + } + ] + }, + "optional": { + "description": "Is the parameter optional?", + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "Identifier": { + "type": "object", + "required": [ + "end", + "name", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "Program": { + "description": "A KCL program top level, or function body.", + "type": "object", + "required": [ + "body", + "end", + "nonCodeMeta", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "body": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BodyItem" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "BodyItem": { + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "expression", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ExpressionStatement" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "expression": { + "$ref": "#/components/schemas/Expr" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "declarations", + "end", + "kind", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "VariableDeclaration" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "declarations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VariableDeclarator" + } + }, + "kind": { + "$ref": "#/components/schemas/VariableKind" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "argument", + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ReturnStatement" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "argument": { + "$ref": "#/components/schemas/Expr" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "Expr": { + "description": "An expression can be evaluated to yield a single KCL value.", + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "raw", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Literal" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/LiteralValue" + }, + "raw": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TagDeclarator" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "left", + "operator", + "right", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "BinaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/BinaryOperator" + }, + "left": { + "$ref": "#/components/schemas/BinaryPart" + }, + "right": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "body", + "end", + "params", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "FunctionExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "params": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "body": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "arguments", + "callee", + "end", + "optional", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "CallExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "callee": { + "$ref": "#/components/schemas/Identifier" + }, + "arguments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "optional": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "body", + "end", + "nonCodeMeta", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "PipeExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "body": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "PipeSubstitution" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "elements", + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ArrayExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "properties", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ObjectExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectProperty" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "computed", + "end", + "object", + "property", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "MemberExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "object": { + "$ref": "#/components/schemas/MemberObject" + }, + "property": { + "$ref": "#/components/schemas/LiteralIdentifier" + }, + "computed": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "argument", + "end", + "operator", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "UnaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/UnaryOperator" + }, + "argument": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "cond", + "else_ifs", + "end", + "final_else", + "start", + "then_val", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "IfExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "cond": { + "$ref": "#/components/schemas/Expr" + }, + "then_val": { + "$ref": "#/components/schemas/Program" + }, + "else_ifs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ElseIf" + } + }, + "final_else": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "description": "KCL value for an optional parameter which was not given an argument. (remember, parameters are in the function declaration, arguments are in the function call/application).", + "type": "object", + "required": [ + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "None" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + } + } + } + ] + }, + "LiteralValue": { + "anyOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "type": "number", + "format": "double" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "BinaryOperator": { + "oneOf": [ + { + "description": "Add two numbers.", + "type": "string", + "enum": [ + "+" + ] + }, + { + "description": "Subtract two numbers.", + "type": "string", + "enum": [ + "-" + ] + }, + { + "description": "Multiply two numbers.", + "type": "string", + "enum": [ + "*" + ] + }, + { + "description": "Divide two numbers.", + "type": "string", + "enum": [ + "/" + ] + }, + { + "description": "Modulo two numbers.", + "type": "string", + "enum": [ + "%" + ] + }, + { + "description": "Raise a number to a power.", + "type": "string", + "enum": [ + "^" + ] + } + ] + }, + "BinaryPart": { + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "raw", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Literal" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/LiteralValue" + }, + "raw": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "left", + "operator", + "right", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "BinaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/BinaryOperator" + }, + "left": { + "$ref": "#/components/schemas/BinaryPart" + }, + "right": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "arguments", + "callee", + "end", + "optional", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "CallExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "callee": { + "$ref": "#/components/schemas/Identifier" + }, + "arguments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "optional": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "argument", + "end", + "operator", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "UnaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/UnaryOperator" + }, + "argument": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "computed", + "end", + "object", + "property", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "MemberExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "object": { + "$ref": "#/components/schemas/MemberObject" + }, + "property": { + "$ref": "#/components/schemas/LiteralIdentifier" + }, + "computed": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "cond", + "else_ifs", + "end", + "final_else", + "start", + "then_val", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "IfExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "cond": { + "$ref": "#/components/schemas/Expr" + }, + "then_val": { + "$ref": "#/components/schemas/Program" + }, + "else_ifs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ElseIf" + } + }, + "final_else": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "UnaryOperator": { + "oneOf": [ + { + "description": "Negate a number.", + "type": "string", + "enum": [ + "-" + ] + }, + { + "description": "Negate a boolean.", + "type": "string", + "enum": [ + "!" + ] + } + ] + }, + "MemberObject": { + "oneOf": [ + { + "type": "object", + "required": [ + "computed", + "end", + "object", + "property", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "MemberExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "object": { + "$ref": "#/components/schemas/MemberObject" + }, + "property": { + "$ref": "#/components/schemas/LiteralIdentifier" + }, + "computed": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "LiteralIdentifier": { + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "raw", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Literal" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/LiteralValue" + }, + "raw": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "ElseIf": { + "type": "object", + "required": [ + "cond", + "end", + "start", + "then_val" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "cond": { + "$ref": "#/components/schemas/Expr" + }, + "then_val": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "NonCodeMeta": { + "type": "object", + "required": [ + "nonCodeNodes", + "start" + ], + "properties": { + "nonCodeNodes": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NonCodeNode" + } + } + }, + "start": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NonCodeNode" + } + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "NonCodeNode": { + "type": "object", + "required": [ + "end", + "start", + "value" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/NonCodeValue" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "NonCodeValue": { + "oneOf": [ + { + "description": "A shebang. This is a special type of comment that is at the top of the file. It looks like this: ```python,no_run #!/usr/bin/env python ```", + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "shebang" + ] + }, + "value": { + "type": "string" + } + } + }, + { + "description": "An inline comment. Here are examples: `1 + 1 // This is an inline comment`. `1 + 1 /* Here's another */`.", + "type": "object", + "required": [ + "style", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "inlineComment" + ] + }, + "value": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CommentStyle" + } + } + }, + { + "description": "A block comment. An example of this is the following: ```python,no_run /* This is a block comment */ 1 + 1 ``` Now this is important. The block comment is attached to the next line. This is always the case. Also the block comment doesn't have a new line above it. If it did it would be a `NewLineBlockComment`.", + "type": "object", + "required": [ + "style", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "blockComment" + ] + }, + "value": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CommentStyle" + } + } + }, + { + "description": "A block comment that has a new line above it. The user explicitly added a new line above the block comment.", + "type": "object", + "required": [ + "style", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "newLineBlockComment" + ] + }, + "value": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CommentStyle" + } + } + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "newLine" + ] + } + } + } + ] + }, + "CommentStyle": { + "oneOf": [ + { + "description": "Like // foo", + "type": "string", + "enum": [ + "line" + ] + }, + { + "description": "Like /* foo */", + "type": "string", + "enum": [ + "block" + ] + } + ] + }, + "ObjectProperty": { + "type": "object", + "required": [ + "end", + "key", + "start", + "value" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "key": { + "$ref": "#/components/schemas/Identifier" + }, + "value": { + "$ref": "#/components/schemas/Expr" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "VariableDeclarator": { + "type": "object", + "required": [ + "end", + "id", + "init", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "id": { + "description": "The identifier of the variable.", + "allOf": [ + { + "$ref": "#/components/schemas/Identifier" + } + ] + }, + "init": { + "description": "The value of the variable.", + "allOf": [ + { + "$ref": "#/components/schemas/Expr" + } + ] + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "VariableKind": { + "oneOf": [ + { + "description": "Declare a variable.", + "type": "string", + "enum": [ + "let" + ] + }, + { + "description": "Declare a variable that is read-only.", + "type": "string", + "enum": [ + "const" + ] + }, + { + "description": "Declare a function.", + "type": "string", + "enum": [ + "fn" + ] + }, + { + "description": "Declare a variable.", + "type": "string", + "enum": [ + "var" + ] + } + ] + }, + "ProgramMemory": { + "type": "object", + "required": [ + "currentEnv", + "environments" + ], + "properties": { + "environments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Environment" + } + }, + "currentEnv": { + "$ref": "#/components/schemas/EnvironmentRef" + }, + "return": { + "allOf": [ + { + "$ref": "#/components/schemas/KclValue" + } + ], + "nullable": true + } + } + }, + "Environment": { + "type": "object", + "required": [ + "bindings" + ], + "properties": { + "bindings": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/KclValue" + } + }, + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/EnvironmentRef" + } + ], + "nullable": true + } + } + }, + "EnvironmentRef": { + "description": "An index pointing to an environment.", + "type": "integer", + "format": "uint", + "minimum": 0.0 + } + } + }, + "required": true + } + ], + "returnValue": { + "name": "", + "type": "[KclValue]", + "schema": { + "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema", + "title": "Array_of_KclValue", + "type": "array", + "items": { + "$ref": "#/components/schemas/KclValue" + }, + "definitions": { + "KclValue": { + "description": "A memory item.", + "oneOf": [ + { + "type": "object", + "required": [ + "__meta", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "UserVal" + ] + }, + "value": {}, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "__meta", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TagIdentifier" + ] + }, + "value": { + "type": "string" + }, + "info": { + "allOf": [ + { + "$ref": "#/components/schemas/TagEngineInfo" + } + ], + "nullable": true + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "end", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TagDeclarator" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Plane" + ] + }, + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "value": { + "$ref": "#/components/schemas/PlaneType" + }, + "origin": { + "description": "Origin of the plane.", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "xAxis": { + "description": "What should the plane’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the plane’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Face" + ] + }, + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The tag of the face.", + "type": "string" + }, + "xAxis": { + "description": "What should the face’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the face’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "description": "An solid is a collection of extrude surfaces.", + "type": "object", + "required": [ + "__meta", + "height", + "id", + "sketch", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Solid" + ] + }, + "id": { + "description": "The id of the solid.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The extrude surfaces.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtrudeSurface" + } + }, + "sketch": { + "description": "The sketch.", + "allOf": [ + { + "$ref": "#/components/schemas/Sketch" + } + ] + }, + "height": { + "description": "The height of the solid.", + "type": "number", + "format": "double" + }, + "startCapId": { + "description": "The id of the extrusion start cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "endCapId": { + "description": "The id of the extrusion end cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "edgeCuts": { + "description": "Chamfers or fillets on this solid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EdgeCut" + } + }, + "__meta": { + "description": "Metadata.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Solids" + ] + }, + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Solid" + } + } + } + }, + { + "description": "Data for an imported geometry.", + "type": "object", + "required": [ + "__meta", + "id", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ImportedGeometry" + ] + }, + "id": { + "description": "The ID of the imported geometry.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The original file paths.", + "type": "array", + "items": { + "type": "string" + } + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "type": "object", + "required": [ + "__meta", + "expression", + "memory", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Function" + ] + }, + "expression": { + "$ref": "#/components/schemas/FunctionExpression" + }, + "memory": { + "$ref": "#/components/schemas/ProgramMemory" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + } + ] + }, + "Metadata": { + "description": "Metadata.", + "type": "object", + "required": [ + "sourceRange" + ], + "properties": { + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + "SourceRange": { + "type": "array", + "items": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "maxItems": 2, + "minItems": 2 + }, + "TagEngineInfo": { + "description": "Engine information for a tag.", + "type": "object", + "required": [ + "id", + "sketch" + ], + "properties": { + "id": { + "description": "The id of the tagged object.", + "type": "string", + "format": "uuid" + }, + "sketch": { + "description": "The sketch the tag is on.", + "type": "string", + "format": "uuid" + }, + "path": { + "description": "The path the tag is on.", + "allOf": [ + { + "$ref": "#/components/schemas/BasePath" + } + ], + "nullable": true + }, + "surface": { + "description": "The surface information for the tag.", + "allOf": [ + { + "$ref": "#/components/schemas/ExtrudeSurface" + } + ], + "nullable": true + } + } + }, + "BasePath": { + "description": "A base path.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to" + ], + "properties": { + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + "TagDeclarator": { + "type": "object", + "required": [ + "end", + "start", + "value" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "GeoMeta": { + "description": "Geometry metadata.", + "type": "object", + "required": [ + "id", + "sourceRange" + ], + "properties": { + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + "ExtrudeSurface": { + "description": "An extrude surface.", + "oneOf": [ + { + "description": "An extrude plane.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "extrudePlane" + ] + }, + "faceId": { + "description": "The face id for the extrude plane.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + { + "description": "An extruded arc.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "extrudeArc" + ] + }, + "faceId": { + "description": "The face id for the extrude plane.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + { + "description": "Geometry metadata.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "chamfer" + ] + }, + "faceId": { + "description": "The id for the chamfer surface.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + }, + { + "description": "Geometry metadata.", + "type": "object", + "required": [ + "faceId", + "id", + "sourceRange", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "fillet" + ] + }, + "faceId": { + "description": "The id for the fillet surface.", + "type": "string", + "format": "uuid" + }, + "tag": { + "description": "The tag.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "id": { + "description": "The id of the geometry.", + "type": "string", + "format": "uuid" + }, + "sourceRange": { + "description": "The source range.", + "allOf": [ + { + "$ref": "#/components/schemas/SourceRange" + } + ] + } + } + } + ] + }, + "PlaneType": { + "description": "Type for a plane.", + "oneOf": [ + { + "type": "string", + "enum": [ + "XY", + "XZ", + "YZ" + ] + }, + { + "description": "A custom plane.", + "type": "string", + "enum": [ + "Custom" + ] + } + ] + }, + "Point3d": { + "type": "object", + "required": [ + "x", + "y", + "z" + ], + "properties": { + "x": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + }, + "z": { + "type": "number", + "format": "double" + } + } + }, + "Solid": { + "description": "An solid is a collection of extrude surfaces.", + "type": "object", + "required": [ + "__meta", + "height", + "id", + "sketch", + "value" + ], + "properties": { + "id": { + "description": "The id of the solid.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The extrude surfaces.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtrudeSurface" + } + }, + "sketch": { + "description": "The sketch.", + "allOf": [ + { + "$ref": "#/components/schemas/Sketch" + } + ] + }, + "height": { + "description": "The height of the solid.", + "type": "number", + "format": "double" + }, + "startCapId": { + "description": "The id of the extrusion start cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "endCapId": { + "description": "The id of the extrusion end cap", + "type": "string", + "format": "uuid", + "nullable": true + }, + "edgeCuts": { + "description": "Chamfers or fillets on this solid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EdgeCut" + } + }, + "__meta": { + "description": "Metadata.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + "Sketch": { + "description": "A sketch is a collection of paths.", + "type": "object", + "required": [ + "__meta", + "id", + "on", + "start", + "value" + ], + "properties": { + "id": { + "description": "The id of the sketch (this will change when the engine's reference to it changes.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The paths in the sketch.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Path" + } + }, + "on": { + "description": "What the sketch is on (can be a plane or a face).", + "allOf": [ + { + "$ref": "#/components/schemas/SketchSurface" + } + ] + }, + "start": { + "description": "The starting path.", + "allOf": [ + { + "$ref": "#/components/schemas/BasePath" + } + ] + }, + "tags": { + "description": "Tag identifiers that have been declared in this sketch.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/TagIdentifier" + } + }, + "__meta": { + "description": "Metadata.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + "Path": { + "description": "A path.", + "oneOf": [ + { + "description": "A path that goes to a point.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ToPoint" + ] + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A arc that is tangential to the last path segment that goes to a point", + "type": "object", + "required": [ + "__geoMeta", + "ccw", + "center", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TangentialArcTo" + ] + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A arc that is tangential to the last path segment", + "type": "object", + "required": [ + "__geoMeta", + "ccw", + "center", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TangentialArc" + ] + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "a complete arc", + "type": "object", + "required": [ + "__geoMeta", + "ccw", + "center", + "from", + "radius", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Circle" + ] + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "radius": { + "description": "the arc's radius", + "type": "number", + "format": "double" + }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A path that is horizontal.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type", + "x" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Horizontal" + ] + }, + "x": { + "description": "The x coordinate.", + "type": "number", + "format": "double" + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "An angled line to.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "AngledLineTo" + ] + }, + "x": { + "description": "The x coordinate.", + "type": "number", + "format": "double", + "nullable": true + }, + "y": { + "description": "The y coordinate.", + "type": "number", + "format": "double", + "nullable": true + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + }, + { + "description": "A base path.", + "type": "object", + "required": [ + "__geoMeta", + "from", + "to", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Base" + ] + }, + "from": { + "description": "The from point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "to": { + "description": "The to point.", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, + "tag": { + "description": "The tag of the path.", + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + }, + "__geoMeta": { + "description": "Metadata.", + "allOf": [ + { + "$ref": "#/components/schemas/GeoMeta" + } + ] + } + } + } + ] + }, + "SketchSurface": { + "description": "A sketch type.", + "oneOf": [ + { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "plane" + ] + }, + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "value": { + "$ref": "#/components/schemas/PlaneType" + }, + "origin": { + "description": "Origin of the plane.", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "xAxis": { + "description": "What should the plane’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the plane’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "type", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "face" + ] + }, + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "value": { + "description": "The tag of the face.", + "type": "string" + }, + "xAxis": { + "description": "What should the face’s X axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "yAxis": { + "description": "What should the face’s Y axis be?", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + } + ] + }, + "TagIdentifier": { + "type": "object", + "required": [ + "__meta", + "value" + ], + "properties": { + "value": { + "type": "string" + }, + "info": { + "allOf": [ + { + "$ref": "#/components/schemas/TagEngineInfo" + } + ], + "nullable": true + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, + "EdgeCut": { + "description": "A fillet or a chamfer.", + "oneOf": [ + { + "description": "A fillet.", + "type": "object", + "required": [ + "edgeId", + "id", + "radius", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "fillet" + ] + }, + "id": { + "description": "The id of the engine command that called this fillet.", + "type": "string", + "format": "uuid" + }, + "radius": { + "type": "number", + "format": "double" + }, + "edgeId": { + "description": "The engine id of the edge to fillet.", + "type": "string", + "format": "uuid" + }, + "tag": { + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + } + } + }, + { + "description": "A chamfer.", + "type": "object", + "required": [ + "edgeId", + "id", + "length", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "chamfer" + ] + }, + "id": { + "description": "The id of the engine command that called this chamfer.", + "type": "string", + "format": "uuid" + }, + "length": { + "type": "number", + "format": "double" + }, + "edgeId": { + "description": "The engine id of the edge to chamfer.", + "type": "string", + "format": "uuid" + }, + "tag": { + "allOf": [ + { + "$ref": "#/components/schemas/TagDeclarator" + } + ], + "nullable": true + } + } + } + ] + }, + "FunctionExpression": { + "type": "object", + "required": [ + "body", + "end", + "params", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "params": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "body": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "Parameter": { + "description": "Parameter of a KCL function.", + "type": "object", + "required": [ + "identifier", + "optional" + ], + "properties": { + "identifier": { + "description": "The parameter's label or name.", + "allOf": [ + { + "$ref": "#/components/schemas/Identifier" + } + ] + }, + "optional": { + "description": "Is the parameter optional?", + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "Identifier": { + "type": "object", + "required": [ + "end", + "name", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "Program": { + "description": "A KCL program top level, or function body.", + "type": "object", + "required": [ + "body", + "end", + "nonCodeMeta", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "body": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BodyItem" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "BodyItem": { + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "expression", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ExpressionStatement" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "expression": { + "$ref": "#/components/schemas/Expr" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "declarations", + "end", + "kind", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "VariableDeclaration" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "declarations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VariableDeclarator" + } + }, + "kind": { + "$ref": "#/components/schemas/VariableKind" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "argument", + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ReturnStatement" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "argument": { + "$ref": "#/components/schemas/Expr" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "Expr": { + "description": "An expression can be evaluated to yield a single KCL value.", + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "raw", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Literal" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/LiteralValue" + }, + "raw": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "TagDeclarator" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "left", + "operator", + "right", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "BinaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/BinaryOperator" + }, + "left": { + "$ref": "#/components/schemas/BinaryPart" + }, + "right": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "body", + "end", + "params", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "FunctionExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "params": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "body": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "arguments", + "callee", + "end", + "optional", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "CallExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "callee": { + "$ref": "#/components/schemas/Identifier" + }, + "arguments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "optional": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "body", + "end", + "nonCodeMeta", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "PipeExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "body": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "PipeSubstitution" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "elements", + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ArrayExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "properties", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "ObjectExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectProperty" + } + }, + "nonCodeMeta": { + "$ref": "#/components/schemas/NonCodeMeta" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "computed", + "end", + "object", + "property", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "MemberExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "object": { + "$ref": "#/components/schemas/MemberObject" + }, + "property": { + "$ref": "#/components/schemas/LiteralIdentifier" + }, + "computed": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "argument", + "end", + "operator", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "UnaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/UnaryOperator" + }, + "argument": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "cond", + "else_ifs", + "end", + "final_else", + "start", + "then_val", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "IfExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "cond": { + "$ref": "#/components/schemas/Expr" + }, + "then_val": { + "$ref": "#/components/schemas/Program" + }, + "else_ifs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ElseIf" + } + }, + "final_else": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "description": "KCL value for an optional parameter which was not given an argument. (remember, parameters are in the function declaration, arguments are in the function call/application).", + "type": "object", + "required": [ + "end", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "None" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + } + } + } + ] + }, + "LiteralValue": { + "anyOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "type": "number", + "format": "double" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "BinaryOperator": { + "oneOf": [ + { + "description": "Add two numbers.", + "type": "string", + "enum": [ + "+" + ] + }, + { + "description": "Subtract two numbers.", + "type": "string", + "enum": [ + "-" + ] + }, + { + "description": "Multiply two numbers.", + "type": "string", + "enum": [ + "*" + ] + }, + { + "description": "Divide two numbers.", + "type": "string", + "enum": [ + "/" + ] + }, + { + "description": "Modulo two numbers.", + "type": "string", + "enum": [ + "%" + ] + }, + { + "description": "Raise a number to a power.", + "type": "string", + "enum": [ + "^" + ] + } + ] + }, + "BinaryPart": { + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "raw", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Literal" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/LiteralValue" + }, + "raw": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "left", + "operator", + "right", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "BinaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/BinaryOperator" + }, + "left": { + "$ref": "#/components/schemas/BinaryPart" + }, + "right": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "arguments", + "callee", + "end", + "optional", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "CallExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "callee": { + "$ref": "#/components/schemas/Identifier" + }, + "arguments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Expr" + } + }, + "optional": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "argument", + "end", + "operator", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "UnaryExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "operator": { + "$ref": "#/components/schemas/UnaryOperator" + }, + "argument": { + "$ref": "#/components/schemas/BinaryPart" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "computed", + "end", + "object", + "property", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "MemberExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "object": { + "$ref": "#/components/schemas/MemberObject" + }, + "property": { + "$ref": "#/components/schemas/LiteralIdentifier" + }, + "computed": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "cond", + "else_ifs", + "end", + "final_else", + "start", + "then_val", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "IfExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "cond": { + "$ref": "#/components/schemas/Expr" + }, + "then_val": { + "$ref": "#/components/schemas/Program" + }, + "else_ifs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ElseIf" + } + }, + "final_else": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "UnaryOperator": { + "oneOf": [ + { + "description": "Negate a number.", + "type": "string", + "enum": [ + "-" + ] + }, + { + "description": "Negate a boolean.", + "type": "string", + "enum": [ + "!" + ] + } + ] + }, + "MemberObject": { + "oneOf": [ + { + "type": "object", + "required": [ + "computed", + "end", + "object", + "property", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "MemberExpression" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "object": { + "$ref": "#/components/schemas/MemberObject" + }, + "property": { + "$ref": "#/components/schemas/LiteralIdentifier" + }, + "computed": { + "type": "boolean" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "LiteralIdentifier": { + "oneOf": [ + { + "type": "object", + "required": [ + "end", + "name", + "start", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Identifier" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "name": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + { + "type": "object", + "required": [ + "end", + "raw", + "start", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Literal" + ] + }, + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/LiteralValue" + }, + "raw": { + "type": "string" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + } + ] + }, + "ElseIf": { + "type": "object", + "required": [ + "cond", + "end", + "start", + "then_val" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "cond": { + "$ref": "#/components/schemas/Expr" + }, + "then_val": { + "$ref": "#/components/schemas/Program" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "NonCodeMeta": { + "type": "object", + "required": [ + "nonCodeNodes", + "start" + ], + "properties": { + "nonCodeNodes": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NonCodeNode" + } + } + }, + "start": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NonCodeNode" + } + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "NonCodeNode": { + "type": "object", + "required": [ + "end", + "start", + "value" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "value": { + "$ref": "#/components/schemas/NonCodeValue" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "NonCodeValue": { + "oneOf": [ + { + "description": "A shebang. This is a special type of comment that is at the top of the file. It looks like this: ```python,no_run #!/usr/bin/env python ```", + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "shebang" + ] + }, + "value": { + "type": "string" + } + } + }, + { + "description": "An inline comment. Here are examples: `1 + 1 // This is an inline comment`. `1 + 1 /* Here's another */`.", + "type": "object", + "required": [ + "style", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "inlineComment" + ] + }, + "value": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CommentStyle" + } + } + }, + { + "description": "A block comment. An example of this is the following: ```python,no_run /* This is a block comment */ 1 + 1 ``` Now this is important. The block comment is attached to the next line. This is always the case. Also the block comment doesn't have a new line above it. If it did it would be a `NewLineBlockComment`.", + "type": "object", + "required": [ + "style", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "blockComment" + ] + }, + "value": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CommentStyle" + } + } + }, + { + "description": "A block comment that has a new line above it. The user explicitly added a new line above the block comment.", + "type": "object", + "required": [ + "style", + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "newLineBlockComment" + ] + }, + "value": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CommentStyle" + } + } + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "newLine" + ] + } + } + } + ] + }, + "CommentStyle": { + "oneOf": [ + { + "description": "Like // foo", + "type": "string", + "enum": [ + "line" + ] + }, + { + "description": "Like /* foo */", + "type": "string", + "enum": [ + "block" + ] + } + ] + }, + "ObjectProperty": { + "type": "object", + "required": [ + "end", + "key", + "start", + "value" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "key": { + "$ref": "#/components/schemas/Identifier" + }, + "value": { + "$ref": "#/components/schemas/Expr" + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "VariableDeclarator": { + "type": "object", + "required": [ + "end", + "id", + "init", + "start" + ], + "properties": { + "start": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "end": { + "type": "integer", + "format": "uint", + "minimum": 0.0 + }, + "id": { + "description": "The identifier of the variable.", + "allOf": [ + { + "$ref": "#/components/schemas/Identifier" + } + ] + }, + "init": { + "description": "The value of the variable.", + "allOf": [ + { + "$ref": "#/components/schemas/Expr" + } + ] + }, + "digest": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, + "maxItems": 32, + "minItems": 32, + "nullable": true + } + } + }, + "VariableKind": { + "oneOf": [ + { + "description": "Declare a variable.", + "type": "string", + "enum": [ + "let" + ] + }, + { + "description": "Declare a variable that is read-only.", + "type": "string", + "enum": [ + "const" + ] + }, + { + "description": "Declare a function.", + "type": "string", + "enum": [ + "fn" + ] + }, + { + "description": "Declare a variable.", + "type": "string", + "enum": [ + "var" + ] + } + ] + }, + "ProgramMemory": { + "type": "object", + "required": [ + "currentEnv", + "environments" + ], + "properties": { + "environments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Environment" + } + }, + "currentEnv": { + "$ref": "#/components/schemas/EnvironmentRef" + }, + "return": { + "allOf": [ + { + "$ref": "#/components/schemas/KclValue" + } + ], + "nullable": true + } + } + }, + "Environment": { + "type": "object", + "required": [ + "bindings" + ], + "properties": { + "bindings": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/KclValue" + } + }, + "parent": { + "allOf": [ + { + "$ref": "#/components/schemas/EnvironmentRef" + } + ], + "nullable": true + } + } + }, + "EnvironmentRef": { + "description": "An index pointing to an environment.", + "type": "integer", + "format": "uint", + "minimum": 0.0 + } + } + }, + "required": true + }, + "unpublished": false, + "deprecated": false, + "examples": [ + "const r = 10 // radius\nfn drawCircle = (id) => {\n return startSketchOn(\"XY\")\n |> circle({ center: [id * 2 * r, 0], radius: r }, %)\n}\n\n// Call `drawCircle`, passing in each element of the array.\n// The outputs from each `drawCircle` form a new array,\n// which is the return value from `map`.\nconst circles = map([1, 2, 3], drawCircle)", + "const r = 10 // radius\n// Call `map`, using an anonymous function instead of a named one.\nconst circles = map([1, 2, 3], (id) => {\n return startSketchOn(\"XY\")\n |> circle({ center: [id * 2 * r, 0], radius: r }, %)\n})" + ] + }, { "name": "max", "summary": "Compute the maximum of the given arguments.", diff --git a/docs/kcl/types/BinaryOperator.md b/docs/kcl/types/BinaryOperator.md new file mode 100644 index 0000000000..4ef890ea8f --- /dev/null +++ b/docs/kcl/types/BinaryOperator.md @@ -0,0 +1,89 @@ +--- +title: "BinaryOperator" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + +Add two numbers. + +**enum:** `+` + + + + + + + + +---- +Subtract two numbers. + +**enum:** `-` + + + + + + + + +---- +Multiply two numbers. + +**enum:** `*` + + + + + + + + +---- +Divide two numbers. + +**enum:** `/` + + + + + + + + +---- +Modulo two numbers. + +**enum:** `%` + + + + + + + + +---- +Raise a number to a power. + +**enum:** `^` + + + + + + + + +---- + + + + diff --git a/docs/kcl/types/BinaryPart.md b/docs/kcl/types/BinaryPart.md new file mode 100644 index 0000000000..87b0b77227 --- /dev/null +++ b/docs/kcl/types/BinaryPart.md @@ -0,0 +1,161 @@ +--- +title: "BinaryPart" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Literal`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `value` |[`LiteralValue`](/docs/kcl/types/LiteralValue)| | No | +| `raw` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`Identifier`](/docs/kcl/types/Identifier)| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `name` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `BinaryExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `operator` |[`BinaryOperator`](/docs/kcl/types/BinaryOperator)| | No | +| `left` |[`BinaryPart`](/docs/kcl/types/BinaryPart)| | No | +| `right` |[`BinaryPart`](/docs/kcl/types/BinaryPart)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `CallExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `callee` |[`Identifier`](/docs/kcl/types/Identifier)| | No | +| `arguments` |`[` [`Expr`](/docs/kcl/types/Expr) `]`| | No | +| `optional` |`boolean`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `UnaryExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `operator` |[`UnaryOperator`](/docs/kcl/types/UnaryOperator)| | No | +| `argument` |[`BinaryPart`](/docs/kcl/types/BinaryPart)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `MemberExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `object` |[`MemberObject`](/docs/kcl/types/MemberObject)| | No | +| `property` |[`LiteralIdentifier`](/docs/kcl/types/LiteralIdentifier)| | No | +| `computed` |`boolean`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `IfExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `cond` |[`Expr`](/docs/kcl/types/Expr)| | No | +| `then_val` |[`Program`](/docs/kcl/types/Program)| | No | +| `else_ifs` |`[` [`ElseIf`](/docs/kcl/types/ElseIf) `]`| | No | +| `final_else` |[`Program`](/docs/kcl/types/Program)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + + + + diff --git a/docs/kcl/types/BodyItem.md b/docs/kcl/types/BodyItem.md new file mode 100644 index 0000000000..5fab055093 --- /dev/null +++ b/docs/kcl/types/BodyItem.md @@ -0,0 +1,75 @@ +--- +title: "BodyItem" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `ExpressionStatement`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `expression` |[`Expr`](/docs/kcl/types/Expr)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `VariableDeclaration`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `declarations` |`[` [`VariableDeclarator`](/docs/kcl/types/VariableDeclarator) `]`| | No | +| `kind` |[`VariableKind`](/docs/kcl/types/VariableKind)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `ReturnStatement`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `argument` |[`Expr`](/docs/kcl/types/Expr)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + + + + diff --git a/docs/kcl/types/CommentStyle.md b/docs/kcl/types/CommentStyle.md new file mode 100644 index 0000000000..368811a888 --- /dev/null +++ b/docs/kcl/types/CommentStyle.md @@ -0,0 +1,41 @@ +--- +title: "CommentStyle" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + +Like // foo + +**enum:** `line` + + + + + + + + +---- +Like /* foo */ + +**enum:** `block` + + + + + + + + +---- + + + + diff --git a/docs/kcl/types/ElseIf.md b/docs/kcl/types/ElseIf.md new file mode 100644 index 0000000000..20f3f6bbe9 --- /dev/null +++ b/docs/kcl/types/ElseIf.md @@ -0,0 +1,24 @@ +--- +title: "ElseIf" +excerpt: "" +layout: manual +--- + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `cond` |[`Expr`](/docs/kcl/types/Expr)| | No | +| `then_val` |[`Program`](/docs/kcl/types/Program)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + diff --git a/docs/kcl/types/Environment.md b/docs/kcl/types/Environment.md new file mode 100644 index 0000000000..d2ed592d90 --- /dev/null +++ b/docs/kcl/types/Environment.md @@ -0,0 +1,21 @@ +--- +title: "Environment" +excerpt: "" +layout: manual +--- + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `bindings` |`object`| | No | +| `parent` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | + + diff --git a/docs/kcl/types/EnvironmentRef.md b/docs/kcl/types/EnvironmentRef.md new file mode 100644 index 0000000000..229306509e --- /dev/null +++ b/docs/kcl/types/EnvironmentRef.md @@ -0,0 +1,16 @@ +--- +title: "EnvironmentRef" +excerpt: "An index pointing to an environment." +layout: manual +--- + +An index pointing to an environment. + +**Type:** `integer` (`uint`) + + + + + + + diff --git a/docs/kcl/types/Expr.md b/docs/kcl/types/Expr.md new file mode 100644 index 0000000000..b3e70b63b7 --- /dev/null +++ b/docs/kcl/types/Expr.md @@ -0,0 +1,297 @@ +--- +title: "Expr" +excerpt: "An expression can be evaluated to yield a single KCL value." +layout: manual +--- + +An expression can be evaluated to yield a single KCL value. + + + + + +**This schema accepts exactly one of the following:** + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Literal`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `value` |[`LiteralValue`](/docs/kcl/types/LiteralValue)| An expression can be evaluated to yield a single KCL value. | No | +| `raw` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`Identifier`](/docs/kcl/types/Identifier)| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `name` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`TagDeclarator`](/docs/kcl/types#tag-declaration)| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `value` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `BinaryExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `operator` |[`BinaryOperator`](/docs/kcl/types/BinaryOperator)| An expression can be evaluated to yield a single KCL value. | No | +| `left` |[`BinaryPart`](/docs/kcl/types/BinaryPart)| An expression can be evaluated to yield a single KCL value. | No | +| `right` |[`BinaryPart`](/docs/kcl/types/BinaryPart)| An expression can be evaluated to yield a single KCL value. | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`FunctionExpression`](/docs/kcl/types/FunctionExpression)| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `params` |`[` [`Parameter`](/docs/kcl/types/Parameter) `]`| | No | +| `body` |[`Program`](/docs/kcl/types/Program)| An expression can be evaluated to yield a single KCL value. | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `CallExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `callee` |[`Identifier`](/docs/kcl/types/Identifier)| An expression can be evaluated to yield a single KCL value. | No | +| `arguments` |`[` [`Expr`](/docs/kcl/types/Expr) `]`| | No | +| `optional` |`boolean`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `PipeExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `body` |`[` [`Expr`](/docs/kcl/types/Expr) `]`| | No | +| `nonCodeMeta` |[`NonCodeMeta`](/docs/kcl/types/NonCodeMeta)| An expression can be evaluated to yield a single KCL value. | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `PipeSubstitution`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `ArrayExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `elements` |`[` [`Expr`](/docs/kcl/types/Expr) `]`| | No | +| `nonCodeMeta` |[`NonCodeMeta`](/docs/kcl/types/NonCodeMeta)| An expression can be evaluated to yield a single KCL value. | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `ObjectExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `properties` |`[` [`ObjectProperty`](/docs/kcl/types/ObjectProperty) `]`| | No | +| `nonCodeMeta` |[`NonCodeMeta`](/docs/kcl/types/NonCodeMeta)| An expression can be evaluated to yield a single KCL value. | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `MemberExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `object` |[`MemberObject`](/docs/kcl/types/MemberObject)| An expression can be evaluated to yield a single KCL value. | No | +| `property` |[`LiteralIdentifier`](/docs/kcl/types/LiteralIdentifier)| An expression can be evaluated to yield a single KCL value. | No | +| `computed` |`boolean`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `UnaryExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `operator` |[`UnaryOperator`](/docs/kcl/types/UnaryOperator)| An expression can be evaluated to yield a single KCL value. | No | +| `argument` |[`BinaryPart`](/docs/kcl/types/BinaryPart)| An expression can be evaluated to yield a single KCL value. | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `IfExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `cond` |[`Expr`](/docs/kcl/types/Expr)| An expression can be evaluated to yield a single KCL value. | No | +| `then_val` |[`Program`](/docs/kcl/types/Program)| An expression can be evaluated to yield a single KCL value. | No | +| `else_ifs` |`[` [`ElseIf`](/docs/kcl/types/ElseIf) `]`| | No | +| `final_else` |[`Program`](/docs/kcl/types/Program)| An expression can be evaluated to yield a single KCL value. | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- +KCL value for an optional parameter which was not given an argument. (remember, parameters are in the function declaration, arguments are in the function call/application). + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `None`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | + + +---- + + + + diff --git a/docs/kcl/types/FunctionExpression.md b/docs/kcl/types/FunctionExpression.md new file mode 100644 index 0000000000..5ad84fc1d5 --- /dev/null +++ b/docs/kcl/types/FunctionExpression.md @@ -0,0 +1,24 @@ +--- +title: "FunctionExpression" +excerpt: "" +layout: manual +--- + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `params` |`[` [`Parameter`](/docs/kcl/types/Parameter) `]`| | No | +| `body` |[`Program`](/docs/kcl/types/Program)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + diff --git a/docs/kcl/types/Identifier.md b/docs/kcl/types/Identifier.md new file mode 100644 index 0000000000..a07e5a9ae3 --- /dev/null +++ b/docs/kcl/types/Identifier.md @@ -0,0 +1,23 @@ +--- +title: "Identifier" +excerpt: "" +layout: manual +--- + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `name` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + diff --git a/docs/kcl/types/KclValue.md b/docs/kcl/types/KclValue.md new file mode 100644 index 0000000000..6c0bf166a0 --- /dev/null +++ b/docs/kcl/types/KclValue.md @@ -0,0 +1,195 @@ +--- +title: "KclValue" +excerpt: "A memory item." +layout: manual +--- + +A memory item. + + + + + +**This schema accepts exactly one of the following:** + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `UserVal`| | No | +| `value` |``| | No | +| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`TagIdentifier`](/docs/kcl/types#tag-identifier)| | No | +| `value` |`string`| | No | +| `info` |[`TagEngineInfo`](/docs/kcl/types/TagEngineInfo)| | No | +| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`TagDeclarator`](/docs/kcl/types#tag-declaration)| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `value` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- +A plane. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Plane`| | No | +| `id` |`string`| The id of the plane. | No | +| `value` |[`PlaneType`](/docs/kcl/types/PlaneType)| A memory item. | No | +| `origin` |[`Point3d`](/docs/kcl/types/Point3d)| Origin of the plane. | No | +| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s X axis be? | No | +| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s Y axis be? | No | +| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No | +| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | + + +---- +A face. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Face`| | No | +| `id` |`string`| The id of the face. | No | +| `value` |`string`| The tag of the face. | No | +| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face’s X axis be? | No | +| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face’s Y axis be? | No | +| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No | +| `solid` |[`Solid`](/docs/kcl/types/Solid)| The solid the face is on. | No | +| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | + + +---- +An solid is a collection of extrude surfaces. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`Solid`](/docs/kcl/types/Solid)| | No | +| `id` |`string`| The id of the solid. | No | +| `value` |`[` [`ExtrudeSurface`](/docs/kcl/types/ExtrudeSurface) `]`| The extrude surfaces. | No | +| `sketch` |[`Sketch`](/docs/kcl/types/Sketch)| The sketch. | No | +| `height` |`number`| The height of the solid. | No | +| `startCapId` |`string`| The id of the extrusion start cap | No | +| `endCapId` |`string`| The id of the extrusion end cap | No | +| `edgeCuts` |`[` [`EdgeCut`](/docs/kcl/types/EdgeCut) `]`| Chamfers or fillets on this solid. | No | +| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Solids`| | No | +| `value` |`[` [`Solid`](/docs/kcl/types/Solid) `]`| | No | + + +---- +Data for an imported geometry. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`ImportedGeometry`](/docs/kcl/types/ImportedGeometry)| | No | +| `id` |`string`| The ID of the imported geometry. | No | +| `value` |`[` `string` `]`| The original file paths. | No | +| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Function`| | No | +| `expression` |[`FunctionExpression`](/docs/kcl/types/FunctionExpression)| A memory item. | No | +| `memory` |[`ProgramMemory`](/docs/kcl/types/ProgramMemory)| A memory item. | No | +| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | + + +---- + + + + diff --git a/docs/kcl/types/LiteralIdentifier.md b/docs/kcl/types/LiteralIdentifier.md new file mode 100644 index 0000000000..654d7e5019 --- /dev/null +++ b/docs/kcl/types/LiteralIdentifier.md @@ -0,0 +1,56 @@ +--- +title: "LiteralIdentifier" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`Identifier`](/docs/kcl/types/Identifier)| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `name` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Literal`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `value` |[`LiteralValue`](/docs/kcl/types/LiteralValue)| | No | +| `raw` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + + + + diff --git a/docs/kcl/types/LiteralValue.md b/docs/kcl/types/LiteralValue.md new file mode 100644 index 0000000000..1535d501ce --- /dev/null +++ b/docs/kcl/types/LiteralValue.md @@ -0,0 +1,57 @@ +--- +title: "LiteralValue" +excerpt: "" +layout: manual +--- + + + + + +**This schema accepts any of the following:** + + +**Type:** `integer` (`int64`) + + + + + + + +---- + +**Type:** `number` (`double`) + + + + + + + +---- + +**Type:** `string` + + + + + + + +---- + +**Type:** `boolean` + + + + + + + +---- + + + + + diff --git a/docs/kcl/types/MemberObject.md b/docs/kcl/types/MemberObject.md new file mode 100644 index 0000000000..568ab0bc21 --- /dev/null +++ b/docs/kcl/types/MemberObject.md @@ -0,0 +1,57 @@ +--- +title: "MemberObject" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `MemberExpression`| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `object` |[`MemberObject`](/docs/kcl/types/MemberObject)| | No | +| `property` |[`LiteralIdentifier`](/docs/kcl/types/LiteralIdentifier)| | No | +| `computed` |`boolean`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: [`Identifier`](/docs/kcl/types/Identifier)| | No | +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `name` |`string`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + +---- + + + + diff --git a/docs/kcl/types/NonCodeMeta.md b/docs/kcl/types/NonCodeMeta.md new file mode 100644 index 0000000000..14b14d4c89 --- /dev/null +++ b/docs/kcl/types/NonCodeMeta.md @@ -0,0 +1,22 @@ +--- +title: "NonCodeMeta" +excerpt: "" +layout: manual +--- + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `nonCodeNodes` |`object`| | No | +| `start` |`[` [`NonCodeNode`](/docs/kcl/types/NonCodeNode) `]`| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + diff --git a/docs/kcl/types/NonCodeNode.md b/docs/kcl/types/NonCodeNode.md new file mode 100644 index 0000000000..2209de97a0 --- /dev/null +++ b/docs/kcl/types/NonCodeNode.md @@ -0,0 +1,23 @@ +--- +title: "NonCodeNode" +excerpt: "" +layout: manual +--- + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `value` |[`NonCodeValue`](/docs/kcl/types/NonCodeValue)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + diff --git a/docs/kcl/types/NonCodeValue.md b/docs/kcl/types/NonCodeValue.md new file mode 100644 index 0000000000..87a7c56118 --- /dev/null +++ b/docs/kcl/types/NonCodeValue.md @@ -0,0 +1,103 @@ +--- +title: "NonCodeValue" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + +A shebang. This is a special type of comment that is at the top of the file. It looks like this: ```python,no_run #!/usr/bin/env python ``` + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `shebang`| | No | +| `value` |`string`| | No | + + +---- +An inline comment. Here are examples: `1 + 1 // This is an inline comment`. `1 + 1 /* Here's another */`. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `inlineComment`| | No | +| `value` |`string`| | No | +| `style` |[`CommentStyle`](/docs/kcl/types/CommentStyle)| | No | + + +---- +A block comment. An example of this is the following: ```python,no_run /* This is a block comment */ 1 + 1 ``` Now this is important. The block comment is attached to the next line. This is always the case. Also the block comment doesn't have a new line above it. If it did it would be a `NewLineBlockComment`. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `blockComment`| | No | +| `value` |`string`| | No | +| `style` |[`CommentStyle`](/docs/kcl/types/CommentStyle)| | No | + + +---- +A block comment that has a new line above it. The user explicitly added a new line above the block comment. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `newLineBlockComment`| | No | +| `value` |`string`| | No | +| `style` |[`CommentStyle`](/docs/kcl/types/CommentStyle)| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `newLine`| | No | + + +---- + + + + diff --git a/docs/kcl/types/ObjectProperty.md b/docs/kcl/types/ObjectProperty.md new file mode 100644 index 0000000000..57b1ea3318 --- /dev/null +++ b/docs/kcl/types/ObjectProperty.md @@ -0,0 +1,24 @@ +--- +title: "ObjectProperty" +excerpt: "" +layout: manual +--- + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `key` |[`Identifier`](/docs/kcl/types/Identifier)| | No | +| `value` |[`Expr`](/docs/kcl/types/Expr)| | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + diff --git a/docs/kcl/types/Parameter.md b/docs/kcl/types/Parameter.md new file mode 100644 index 0000000000..7700601389 --- /dev/null +++ b/docs/kcl/types/Parameter.md @@ -0,0 +1,23 @@ +--- +title: "Parameter" +excerpt: "Parameter of a KCL function." +layout: manual +--- + +Parameter of a KCL function. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `identifier` |[`Identifier`](/docs/kcl/types/Identifier)| The parameter's label or name. | No | +| `optional` |`boolean`| Is the parameter optional? | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + diff --git a/docs/kcl/types/Program.md b/docs/kcl/types/Program.md new file mode 100644 index 0000000000..b33b63e9be --- /dev/null +++ b/docs/kcl/types/Program.md @@ -0,0 +1,25 @@ +--- +title: "Program" +excerpt: "A KCL program top level, or function body." +layout: manual +--- + +A KCL program top level, or function body. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `body` |`[` [`BodyItem`](/docs/kcl/types/BodyItem) `]`| | No | +| `nonCodeMeta` |[`NonCodeMeta`](/docs/kcl/types/NonCodeMeta)| A KCL program top level, or function body. | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + diff --git a/docs/kcl/types/ProgramMemory.md b/docs/kcl/types/ProgramMemory.md new file mode 100644 index 0000000000..b6bd5c0955 --- /dev/null +++ b/docs/kcl/types/ProgramMemory.md @@ -0,0 +1,22 @@ +--- +title: "ProgramMemory" +excerpt: "" +layout: manual +--- + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `environments` |`[` [`Environment`](/docs/kcl/types/Environment) `]`| | No | +| `currentEnv` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `return` |[`KclValue`](/docs/kcl/types/KclValue)| | No | + + diff --git a/docs/kcl/types/UnaryOperator.md b/docs/kcl/types/UnaryOperator.md new file mode 100644 index 0000000000..6a2e8fbd4a --- /dev/null +++ b/docs/kcl/types/UnaryOperator.md @@ -0,0 +1,41 @@ +--- +title: "UnaryOperator" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + +Negate a number. + +**enum:** `-` + + + + + + + + +---- +Negate a boolean. + +**enum:** `!` + + + + + + + + +---- + + + + diff --git a/docs/kcl/types/VariableDeclarator.md b/docs/kcl/types/VariableDeclarator.md new file mode 100644 index 0000000000..5af68d91ac --- /dev/null +++ b/docs/kcl/types/VariableDeclarator.md @@ -0,0 +1,24 @@ +--- +title: "VariableDeclarator" +excerpt: "" +layout: manual +--- + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)| | No | +| `id` |[`Identifier`](/docs/kcl/types/Identifier)| The identifier of the variable. | No | +| `init` |[`Expr`](/docs/kcl/types/Expr)| The value of the variable. | No | +| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`| | No | + + diff --git a/docs/kcl/types/VariableKind.md b/docs/kcl/types/VariableKind.md new file mode 100644 index 0000000000..5ae17e3b22 --- /dev/null +++ b/docs/kcl/types/VariableKind.md @@ -0,0 +1,65 @@ +--- +title: "VariableKind" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + +Declare a variable. + +**enum:** `let` + + + + + + + + +---- +Declare a variable that is read-only. + +**enum:** `const` + + + + + + + + +---- +Declare a function. + +**enum:** `fn` + + + + + + + + +---- +Declare a variable. + +**enum:** `var` + + + + + + + + +---- + + + + diff --git a/src/wasm-lib/kcl/src/std/args.rs b/src/wasm-lib/kcl/src/std/args.rs index a93010ba91..bed601892c 100644 --- a/src/wasm-lib/kcl/src/std/args.rs +++ b/src/wasm-lib/kcl/src/std/args.rs @@ -4,13 +4,14 @@ use anyhow::Result; use kcmc::{websocket::OkWebSocketResponseData, ModelingCmd}; use kittycad_modeling_cmds as kcmc; use serde::de::DeserializeOwned; +use serde_json::Value as JValue; use crate::{ ast::types::{parse_json_number_as_f64, TagDeclarator}, errors::{KclError, KclErrorDetails}, executor::{ ExecState, ExecutorContext, ExtrudeSurface, KclValue, Metadata, Sketch, SketchSet, SketchSurface, Solid, - SolidSet, SourceRange, TagIdentifier, + SolidSet, SourceRange, TagIdentifier, UserVal, }, std::{shapes::SketchOrSurface, sketch::FaceTag, FnAsArg}, }; @@ -497,18 +498,6 @@ where } } -impl<'a> FromArgs<'a> for KclValue { - fn from_args(args: &'a Args, i: usize) -> Result { - let Some(v) = args.args.get(i) else { - return Err(KclError::Semantic(KclErrorDetails { - message: format!("Argument at index {i} was missing",), - source_ranges: vec![args.source_range], - })); - }; - Ok(v.to_owned()) - } -} - impl<'a, T> FromArgs<'a> for Option where T: FromKclValue<'a> + Sized, @@ -587,6 +576,20 @@ impl<'a> FromKclValue<'a> for i64 { } } +impl<'a> FromKclValue<'a> for UserVal { + fn from_mem_item(arg: &'a KclValue) -> Option { + arg.as_user_val().map(|x| x.to_owned()) + } +} + +impl<'a> FromKclValue<'a> for Vec { + fn from_mem_item(arg: &'a KclValue) -> Option { + arg.as_user_val() + .and_then(|uv| uv.value.as_array()) + .map(ToOwned::to_owned) + } +} + impl<'a> FromKclValue<'a> for TagDeclarator { fn from_mem_item(arg: &'a KclValue) -> Option { arg.get_tag_declarator().ok() @@ -599,6 +602,12 @@ impl<'a> FromKclValue<'a> for TagIdentifier { } } +impl<'a> FromKclValue<'a> for KclValue { + fn from_mem_item(arg: &'a KclValue) -> Option { + Some(arg.clone()) + } +} + macro_rules! impl_from_arg_via_json { ($typ:path) => { impl<'a> FromKclValue<'a> for $typ { @@ -609,6 +618,15 @@ macro_rules! impl_from_arg_via_json { }; } +impl<'a, T> FromKclValue<'a> for Vec +where + T: serde::de::DeserializeOwned + FromKclValue<'a>, +{ + fn from_mem_item(arg: &'a KclValue) -> Option { + from_user_val(arg) + } +} + macro_rules! impl_from_arg_for_array { ($n:literal) => { impl<'a, T> FromKclValue<'a> for [T; $n] @@ -722,23 +740,3 @@ impl<'a> FromKclValue<'a> for SketchSurface { } } } - -impl<'a> FromKclValue<'a> for Vec { - fn from_mem_item(arg: &'a KclValue) -> Option { - let KclValue::UserVal(uv) = arg else { - return None; - }; - - uv.get::>().map(|x| x.0) - } -} - -impl<'a> FromKclValue<'a> for Vec { - fn from_mem_item(arg: &'a KclValue) -> Option { - let KclValue::UserVal(uv) = arg else { - return None; - }; - - uv.get::>().map(|x| x.0) - } -} diff --git a/src/wasm-lib/kcl/src/std/array.rs b/src/wasm-lib/kcl/src/std/array.rs index 81b3216dfa..22c287f504 100644 --- a/src/wasm-lib/kcl/src/std/array.rs +++ b/src/wasm-lib/kcl/src/std/array.rs @@ -1,4 +1,5 @@ use derive_docs::stdlib; +use serde_json::Value as JValue; use super::{args::FromArgs, Args, FnAsArg}; use crate::{ @@ -7,6 +8,94 @@ use crate::{ function_param::FunctionParam, }; +/// Apply a function to each element of an array. +pub async fn map(exec_state: &mut ExecState, args: Args) -> Result { + let (array, f): (Vec, FnAsArg<'_>) = FromArgs::from_args(&args, 0)?; + let array: Vec = array + .into_iter() + .map(|jval| { + KclValue::UserVal(UserVal { + value: jval, + meta: vec![args.source_range.into()], + }) + }) + .collect(); + let map_fn = FunctionParam { + inner: f.func, + fn_expr: f.expr, + meta: vec![args.source_range.into()], + ctx: args.ctx.clone(), + memory: *f.memory, + }; + let new_array = inner_map(array, map_fn, exec_state, &args).await?; + let uv = UserVal::new(vec![args.source_range.into()], new_array); + Ok(KclValue::UserVal(uv)) +} + +/// Apply a function to every element of a list. +/// +/// Given a list like `[a, b, c]`, and a function like `f`, returns +/// `[f(a), f(b), f(c)]` +/// ```no_run +/// const r = 10 // radius +/// fn drawCircle = (id) => { +/// return startSketchOn("XY") +/// |> circle({ center: [id * 2 * r, 0], radius: r}, %) +/// } +/// +/// // Call `drawCircle`, passing in each element of the array. +/// // The outputs from each `drawCircle` form a new array, +/// // which is the return value from `map`. +/// const circles = map( +/// [1..3], +/// drawCircle +/// ) +/// ``` +/// ```no_run +/// const r = 10 // radius +/// // Call `map`, using an anonymous function instead of a named one. +/// const circles = map( +/// [1..3], +/// (id) => { +/// return startSketchOn("XY") +/// |> circle({ center: [id * 2 * r, 0], radius: r}, %) +/// } +/// ) +/// ``` +#[stdlib { + name = "map", +}] +async fn inner_map<'a>( + array: Vec, + map_fn: FunctionParam<'a>, + exec_state: &mut ExecState, + args: &'a Args, +) -> Result, KclError> { + let mut new_array = Vec::with_capacity(array.len()); + for elem in array { + let new_elem = call_map_closure(elem, &map_fn, args.source_range, exec_state).await?; + new_array.push(new_elem); + } + Ok(new_array) +} + +async fn call_map_closure<'a>( + input: KclValue, + map_fn: &FunctionParam<'a>, + source_range: SourceRange, + exec_state: &mut ExecState, +) -> Result { + let output = map_fn.call(exec_state, vec![input]).await?; + let source_ranges = vec![source_range]; + let output = output.ok_or_else(|| { + KclError::Semantic(KclErrorDetails { + message: "Map function must return a value".to_string(), + source_ranges, + }) + })?; + Ok(output) +} + /// For each item in an array, update a value. pub async fn reduce(exec_state: &mut ExecState, args: Args) -> Result { let (array, start, f): (Vec, Sketch, FnAsArg<'_>) = FromArgs::from_args(&args, 0)?; diff --git a/src/wasm-lib/kcl/src/std/mod.rs b/src/wasm-lib/kcl/src/std/mod.rs index 13929d9870..a8681457f2 100644 --- a/src/wasm-lib/kcl/src/std/mod.rs +++ b/src/wasm-lib/kcl/src/std/mod.rs @@ -98,6 +98,7 @@ lazy_static! { Box::new(crate::std::patterns::PatternCircular3D), Box::new(crate::std::patterns::PatternTransform), Box::new(crate::std::array::Reduce), + Box::new(crate::std::array::Map), Box::new(crate::std::chamfer::Chamfer), Box::new(crate::std::fillet::Fillet), Box::new(crate::std::fillet::GetOppositeEdge), diff --git a/src/wasm-lib/kcl/tests/outputs/serial_test_example_map0.png b/src/wasm-lib/kcl/tests/outputs/serial_test_example_map0.png new file mode 100644 index 0000000000000000000000000000000000000000..dbe80dfce83997ab48ab46e993e315222760335d GIT binary patch literal 34512 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 literal 0 HcmV?d00001 diff --git a/src/wasm-lib/kcl/tests/outputs/serial_test_example_map1.png b/src/wasm-lib/kcl/tests/outputs/serial_test_example_map1.png new file mode 100644 index 0000000000000000000000000000000000000000..dbe80dfce83997ab48ab46e993e315222760335d GIT binary patch literal 34512 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 literal 0 HcmV?d00001 From cde23f3294f6d7ac9a8de11d9314bb3e7bb28f82 Mon Sep 17 00:00:00 2001 From: Adam Chalmers Date: Mon, 30 Sep 2024 21:06:29 -0500 Subject: [PATCH 2/3] Add test for autocomplete --- src/wasm-lib/kcl/src/docs/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/wasm-lib/kcl/src/docs/mod.rs b/src/wasm-lib/kcl/src/docs/mod.rs index f661aca6d3..4bc87bd0f3 100644 --- a/src/wasm-lib/kcl/src/docs/mod.rs +++ b/src/wasm-lib/kcl/src/docs/mod.rs @@ -81,6 +81,8 @@ impl StdLibFnArg { } else if self.type_ == "TagIdentifier" && self.required { // TODO: actually use the ast to populate this. return Ok(Some((index, format!("${{{}:{}}}", index, "myTag")))); + } else if self.type_ == "[KclValue]" && self.required { + return Ok(Some((index, "[0..9]".to_owned()))); } get_autocomplete_snippet_from_schema(&self.schema.schema.clone().into(), index) } @@ -903,6 +905,12 @@ mod tests { ); } + #[test] + fn get_autocomplete_snippet_map() { + let map_fn: Box = Box::new(crate::std::array::Map); + let _snippet = map_fn.to_autocomplete_snippet().unwrap(); + } + #[test] fn get_autocomplete_snippet_pattern_linear_2d() { let pattern_fn: Box = Box::new(crate::std::patterns::PatternLinear2D); From 1c3a1ab4b3ca2e5e343eadcc3418393e9f8f7820 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 1 Oct 2024 02:27:34 +0000 Subject: [PATCH 3/3] =?UTF-8?q?A=20snapshot=20a=20day=20keeps=20the=20bugs?= =?UTF-8?q?=20away!=20=F0=9F=93=B7=F0=9F=90=9B=20(OS:=20ubuntu-latest)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...scale-Inch-scale-1-Google-Chrome-linux.png | Bin 53871 -> 54133 bytes ...scale-Inch-scale-2-Google-Chrome-linux.png | Bin 50627 -> 50894 bytes ...Millimeter-scale-1-Google-Chrome-linux.png | Bin 59525 -> 59659 bytes ...Millimeter-scale-2-Google-Chrome-linux.png | Bin 52124 -> 52339 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-1-Google-Chrome-linux.png index fa3cdd90adee90964849eda179aceff49fdf6cf9..53ae015f6717849b84c97852f78392dc15bc2cde 100644 GIT binary patch literal 54133 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 e=uC~vvi8-B=blLD$ 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�Dh6r;d)@jP=97eDC)iAzdI)mnB4@A7VI^EHGsFQ z2Ug(JmGW2sc5QE{$oAG2%BKg29(x8N;J^30*@_R-6Y;LCC#$9`ph(2dmdAVT{9OO_ zE9a>mKu?f2AuM=S-bn_{&CdrxVGt~y?eE_PgD}u^rNagbiKwPmogGR)RWoY9BAut3 z4;yjpf4&=Z)$DV?inIeR0a{ED9GMlm1ihLiP%aw>;M(TGZ;^R$-ROFnrlLEtx&QB< znvxRG6l9@aUiDZBijw)~eEReWqz^zF4aP3OZCKuiaFEhMN9}+E4P9ONxx+Wf$#;lf zzI#V~*mCXKHIVRNH>(B)UIM}ZJyFT!>SQgG?!mK#jg5_8zrH@M0?bQ8LL#@54t8ab z1U_i4104(E5PZzQd+}%ja9kRJY8{D31C54?%6Fj0`uh56iBT>X@Ey>H0YpK*c>pZm z&!5I&>hKvrv`M*8i+b2;Xxu)bY_9~%0m^IH-OVm89spSR;lqcXKJIW0u&fls#G}yQ z|Nd>~mJ4iP1TGb*jZ~DB8|&*mR(x%jr;hspo50_JQv^mHPW&&Uh}gi3q@6M?-ChH7 z`^S&ahOLsB`2(DP3V^fItAS0|p$#$YnMV2WUpYAT8?+)}Rut-gmF6>XPI<0x{|}sK?O(sXmk21f=xW!*0(_gxLS-w*l>V2_BdR|^0h<0pdGgDIxVL&q!nzqKq z;))pRSZdTtKq(8htJZK|XqB5}>7o<#Op&-$ z`N}<@4vBef9WTX8qLlu6m$JS)K>0$_NB#MM^)-aY*R=yMoPpW`bP-U+u&6Pyv9+0m zbaW8ygV4T52W8eyv)!o9OUqG�IuEb>NX7x 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 HjD7zX(xtGZ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-2-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-2-Google-Chrome-linux.png index 96d71c8977ddbe19aa7f9d83ba4d00440760249a..371d2e9ada1bbdbcebedde05644c400823acf377 100644 GIT binary patch literal 50894 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 ObU7(y$s%!MzyAxBcP6j^ literal 50627 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Ð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 diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Millimeter-scale-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Millimeter-scale-1-Google-Chrome-linux.png index 42b65ae7a52ea7edb59af5a193446a9528058f97..7d438259968a26f0550b09b5f5cfb6e56aa3b3ac 100644 GIT binary patch literal 59659 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

)J1+d&&v_}sM2k=LW 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°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 VtYP-F4x2E7D9ETv7fYJH{~tX0YS91y literal 52124 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 vK$8r>bSkC)ivcnu{Kv&4j2bYATdHu?+k_GH!8f