diff --git a/Makefile b/Makefile index 23f9d0a99..75fe383be 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,7 @@ format: install ## Format the code .PHONY: lint lint: install ## Lint the code + yarn tsc yarn lint ############################################################################### diff --git a/docs/kcl/abs.md b/docs/kcl/abs.md index f251b0804..3adfaa722 100644 --- a/docs/kcl/abs.md +++ b/docs/kcl/abs.md @@ -33,7 +33,7 @@ abs(num: number): number ```js myAngle = -120 -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [8, 0]) |> angledLine({ angle = abs(myAngle), length = 5 }, %) diff --git a/docs/kcl/acos.md b/docs/kcl/acos.md index ecf8e5928..3f680df0b 100644 --- a/docs/kcl/acos.md +++ b/docs/kcl/acos.md @@ -31,7 +31,7 @@ acos(num: number): number ### Examples ```js -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = toDegrees(acos(0.5)), diff --git a/docs/kcl/angleToMatchLengthX.md b/docs/kcl/angleToMatchLengthX.md index 18cd901dc..84d6e1309 100644 --- a/docs/kcl/angleToMatchLengthX.md +++ b/docs/kcl/angleToMatchLengthX.md @@ -33,7 +33,7 @@ angleToMatchLengthX( ### Examples ```js -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [2, 5], tag = $seg01) |> angledLineToX([-angleToMatchLengthX(seg01, 7, %), 10], %) diff --git a/docs/kcl/angleToMatchLengthY.md b/docs/kcl/angleToMatchLengthY.md index 0eafc8e37..01c562068 100644 --- a/docs/kcl/angleToMatchLengthY.md +++ b/docs/kcl/angleToMatchLengthY.md @@ -33,7 +33,7 @@ angleToMatchLengthY( ### Examples ```js -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [1, 2], tag = $seg01) |> angledLine({ diff --git a/docs/kcl/appearance.md b/docs/kcl/appearance.md index cbee8ffa2..91bf94f28 100644 --- a/docs/kcl/appearance.md +++ b/docs/kcl/appearance.md @@ -36,7 +36,7 @@ appearance( ```js // Add color to an extruded solid. -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(endAbsolute = [10, 0]) |> line(endAbsolute = [0, 10]) @@ -52,7 +52,7 @@ example = extrude(exampleSketch, length = 5) ```js // Add color to a revolved solid. -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) |> circle(center = [15, 0], radius = 5) |> revolve(angle = 360, axis = 'y') |> appearance(color = '#ff0000', metalness = 90, roughness = 90) @@ -63,7 +63,7 @@ sketch001 = startSketchOn('XY') ```js // Add color to different solids. fn cube(center) { - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt([center[0] - 10, center[1] - 10], %) |> line(endAbsolute = [center[0] + 10, center[1] - 10]) |> line(endAbsolute = [center[0] + 10, center[1] + 10]) @@ -95,7 +95,7 @@ appearance( ```js // You can set the appearance before or after you shell it will yield the same result. // This example shows setting the appearance _after_ the shell. -firstSketch = startSketchOn('XY') +firstSketch = startSketchOn(XY) |> startProfileAt([-12, 12], %) |> line(end = [24, 0]) |> line(end = [0, -24]) @@ -112,7 +112,7 @@ shell(firstSketch, faces = ['end'], thickness = 0.25) ```js // You can set the appearance before or after you shell it will yield the same result. // This example shows setting the appearance _before_ the shell. -firstSketch = startSketchOn('XY') +firstSketch = startSketchOn(XY) |> startProfileAt([-12, 12], %) |> line(end = [24, 0]) |> line(end = [0, -24]) @@ -129,7 +129,7 @@ shell(firstSketch, faces = ['end'], thickness = 0.25) ```js // Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern. // This example shows _before_ the pattern. -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 2]) |> line(end = [3, 1]) @@ -146,7 +146,7 @@ example = extrude(exampleSketch, length = 1) ```js // Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern. // This example shows _after_ the pattern. -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 2]) |> line(end = [3, 1]) @@ -162,7 +162,7 @@ example = extrude(exampleSketch, length = 1) ```js // Color the result of a 2D pattern that was extruded. -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([.5, 25], %) |> line(end = [0, 5]) |> line(end = [-1, 0]) @@ -185,7 +185,7 @@ example = extrude(exampleSketch, length = 1) // Color the result of a sweep. // Create a path for the sweep. -sweepPath = startSketchOn('XZ') +sweepPath = startSketchOn(XZ) |> startProfileAt([0.05, 0.05], %) |> line(end = [0, 7]) |> tangentialArc({ offset = 90, radius = 5 }, %) @@ -193,10 +193,10 @@ sweepPath = startSketchOn('XZ') |> tangentialArc({ offset = -90, radius = 5 }, %) |> line(end = [0, 7]) -pipeHole = startSketchOn('XY') +pipeHole = startSketchOn(XY) |> circle(center = [0, 0], radius = 1.5) -sweepSketch = startSketchOn('XY') +sweepSketch = startSketchOn(XY) |> circle(center = [0, 0], radius = 2) |> hole(pipeHole, %) |> sweep(path = sweepPath) diff --git a/docs/kcl/asin.md b/docs/kcl/asin.md index 060fa3daa..9e15b2c93 100644 --- a/docs/kcl/asin.md +++ b/docs/kcl/asin.md @@ -31,7 +31,7 @@ asin(num: number): number ### Examples ```js -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = toDegrees(asin(0.5)), diff --git a/docs/kcl/atan.md b/docs/kcl/atan.md index 19e42d2fb..1cd02a1ac 100644 --- a/docs/kcl/atan.md +++ b/docs/kcl/atan.md @@ -31,7 +31,7 @@ atan(num: number): number ### Examples ```js -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = toDegrees(atan(1.25)), diff --git a/docs/kcl/atan2.md b/docs/kcl/atan2.md index ef38f9c70..c389a48ba 100644 --- a/docs/kcl/atan2.md +++ b/docs/kcl/atan2.md @@ -35,7 +35,7 @@ atan2( ### Examples ```js -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = toDegrees(atan2(1.25, 2)), diff --git a/docs/kcl/ceil.md b/docs/kcl/ceil.md index 46783007c..75fa09657 100644 --- a/docs/kcl/ceil.md +++ b/docs/kcl/ceil.md @@ -31,7 +31,7 @@ ceil(num: number): number ### Examples ```js -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(endAbsolute = [12, 10]) |> line(end = [ceil(7.02986), 0]) diff --git a/docs/kcl/chamfer.md b/docs/kcl/chamfer.md index 0cb2a354b..c3fb0359f 100644 --- a/docs/kcl/chamfer.md +++ b/docs/kcl/chamfer.md @@ -41,7 +41,7 @@ length = 10 thickness = 1 chamferLength = 2 -mountingPlateSketch = startSketchOn("XY") +mountingPlateSketch = startSketchOn(XY) |> startProfileAt([-width / 2, -length / 2], %) |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1) |> line(endAbsolute = [width / 2, length / 2], tag = $edge2) @@ -65,7 +65,7 @@ mountingPlate = extrude(mountingPlateSketch, length = thickness) ```js // Sketch on the face of a chamfer. fn cube(pos, scale) { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/docs/kcl/circle.md b/docs/kcl/circle.md index 77c279450..24b5def9f 100644 --- a/docs/kcl/circle.md +++ b/docs/kcl/circle.md @@ -35,7 +35,7 @@ circle( ### Examples ```js -exampleSketch = startSketchOn("-XZ") +exampleSketch = startSketchOn(-XZ) |> circle(center = [0, 0], radius = 10) example = extrude(exampleSketch, length = 5) @@ -44,7 +44,7 @@ example = extrude(exampleSketch, length = 5) ![Rendered example of circle 0](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAFDJUlEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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/q6hcddVVV1111VVXXfW/xjXXXPNgnunMmTMPvuaaax4McObMmQfxTNdcc82DeYBrrrnmwbwQ99133608l/vuu+9WgLNnzz4D4L777rsV4OzZs7fed999t3LVVVddddVVV1111f8WVK666qqrrrrqqquu+h/hmmuueTDAi73Yi732mTNnHgRwzTXXPPiaa6558JkzZx58zTXXPJh/hYsXL/KiuOGGGzhx4gT/Gvfdd9+tAGfPnr31vvvuuxXgH/7hH34H4L777rv1H/7hH36bq6666qqrrrrqqqv+J0APetCDuOqqq6666qqrrrrqv8Y111zzYIAXe7EXe+0zZ8486JprrnnwNddc8+AXe7EXe22ej4sXLwKwu7vLxYsXuXjxIgC7u7sAXLx4EYDd3V0ALl68yL/XiRMneKDjx49z4sQJAI4fP86JEycAOH78OAAnTpzgxIkTPLf77rvvVoB/+Id/+G2Af/iHf/id++6779Z/+Id/+G2uuuqqq6666qqrrvqvgh70oAdx1VVXXXXVVVddddV/vGuuuebBL/ZiL/baZ86cedCLv/iLv/aLvdiLvTbP5eLFiwA8/elP5+LFi+zu7nLx4kV2d3e5ePEi/xvY5sSJEwAcP36cEydO8NCHPhSA48ePc+LECU6cOMED3XfffbeePXv21vvuu+/Wf/iHf/idf/iHf/jt++6771auuuqqq6666qqrrvqPhh70oAdx1VVXXXXVVVddddW/zzXXXPPgF3uxF3vtM2fOPOjFX/zFX/vFXuzFXpsHuHjxIru7uzztaU8D4OlPfzpPf/rTeVFJ4r+Cbf49bPP8nDhxAoCHPOQhPPShD+X48eM89KEP5YHuu+++W8+ePXvrfffdd+s//MM//M5999136z/8wz/8NlddddVVV1111VVX/XugBz3oQVx11VVXXXXVVVdd9a9zzTXXPPi1X/u13+vFX/zFX/vFXuzFXpsHuHjxIk9/+tO5ePEiT3/603n605/Oi0IS/1PZ5t/CNi/MiRMnOH78OCdOnOAhD3kIJ06c4KEPfSj3u++++279h3/4h9/+h3/4h9+57777bv2Hf/iH3+aqq6666qqrrrrqqn8N9KAHPYirrrrqqquuuuqqq164a6655sGv/dqv/V4v/uIv/tov9mIv9to808WLF3n605/OxYsXefrTn87Tn/50XlSS+N/MNv8atnlhbANw4sQJTpw4wUMe8hAe+tCH8tCHPpT73XfffbeePXv21r//+7//7X/4h3/4nX/4h3/4ba666qqrrrrqqquuemHQgx70IK666qqrrrrqqquuek7XXHPNg1/7tV/7vQDe6Z3e6bN5posXL/L0pz+dixcv8pd/+ZdcvHgRSbwoJPEfSRL/Hrb5j2Sb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knggSTyQJB5IEg8kiQeSxANJ4oEkcT9JPJAk7ieJB5LE/SRxP0ncTxL3k8T9JHE/SdxPEveTxP0kASCJ+0nifpIAkMT9JAEgiftJAkASAJK4nyQAJAEgCQBJAEjifpIAkASAJAAkASAJSQBIAkASAJIAkASAJAAkIQmAvu/Z3t7m1KlT3O++++679bd+67e++7d/+7e/57777ruVq6666qqrrrrqqv950IMe9CCuuuqqq6666qqr/ie75pprHvxiL/Zir/U6r/M67/1iL/Zir80zHR4e8tSnPpW/+7u/A0ASz00Sz00SDySJ5yaJB5LEA0nigSTxQJJ4IEk8kCQeSBIPJIn7SeKBJHE/STyQJO4niftJ4n6SuJ8k7ieJ+0nifpK4nyTuJwkASdxPEveTBIAk7icJAEncTxIAkgCQxP0kASAJAEkASAJAEgCSAJDE/SQBIAlJAEgCQBIAkgCQBIAkACQB0Pc9x44dY2dnh67ruN99991362/91m9994/+6I9+DlddddVVV1111VX/s6EHPehBXHXVVVddddVVV/1vcc011zz4tV/7td/rnd7pnT6bZzo8POTee+/lvvvu42lPexoPJInnJokHksRzk8QDSeKBJPFAknggSTyQJB5IEg8kiQeSxP0k8UCSuJ8kHkgS95PE/SRxP0ncTxL3k8T9JHE/SdxPEgCSuJ8k7icJAEncTxL3kwSAJAAkcT9JAEgCQBL3kwSAJAAkASAJAEkASAJAEgCSAJAEgCQAJAEgCQBJAEgCYHNzk2PHjnHs2DHud9999936W7/1W9/927/9299z33333cpVV1111VVXXXXV/w7oQQ96EFddddVVV1111VX/21xzzTUPfrEXe7HXep3XeZ33frEXe7HX5pkODw+59957edrTnsZ9992HJJ6bJB5IEs9NEg8kiQeSxANJ4oEk8UCSeCBJPJAkHkgS95PEA0nifpK4nyQeSBL3k8T9JHE/SdxPEveTxP0kcT9JAEjifpK4nyQAJHE/SdxPEgCSAJDE/SQBIAkASdxPEgCSAJAEgCQAJAEgCQBJAEgCQBIAkgCQBIAkACTRdR3Hjx/nzJkzPNB9991362/91m9994/+6I9+DlddddVVV1111VX/+6AHPehBXHXVVVddddVVV/1vds011zz4xV7sxV77dV7ndd7rxV7sxV6bZzo8POS+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tl/8xV/8dV7sxV7sta655poHv9iLvdhr80IcHR1xdHTE0dER586dQxJHR0ccHR2xXC55IEncTxIPJIn7SeJ+krifJO4niftJ4n6SuJ8k7ieJ+0nifpIAkMT9JAGwWCwAOHbsGPP5HIDjx48zm82Yz+e8IPfdd9+tZ8+evfXv//7vfxvgH/7hH377H/7hH36Hq6666qqrrrrqqqv+PdCDHvQgrrrqqquuuuqqq676j3fmzJkHXXPNNQ+55pprHvxiL/Zir3XNNdc8+MyZMw++5pprHsy/4OjoCICjoyOWyyUA58+fB2C5XHK/5XLJcrkEQBL3k8T9JHE/SdxPEveTxP0kcb/FYsH9FosFAIvFgvl8DsBisWA+nwNw/PhxXhT33XffrWfPnr317//+738b4B/+4R9+5x/+4R9+m6uuuuqqq6666qqr/jOgBz3oQVx11VVXXXXVVVdd9V/nmmuueTDAmTNnHnzNNdc8+MVe7MVeC+Caa6558JkzZx4McM011zyYf4PlcskDLZdLXhBJ2AZgsVjwQIvFgn+N++6779ZrrrnmwQD33XffrQD/8A//8Nv33XffrQD/8A//8DsA//AP//DbXHXVVVddddVVV131Xwk96EEP4qqrrrrqqquuuuqq/1nOnDnzoGuuueYhANdcc82Dz5w586BrrrnmwQDXXHPNg3mmM2fOPPiaa655MP9J7rvvvlt5prNnz94KcN99991633333Qpw9uzZZ9x33323Atx3331PP3v27DO46qqrrrrqqquuuup/EvSgBz2Iq6666qqrrrrqqqv+b7jmmmsebNuSBHDmzJkHnz179tYzZ848CBDPyYAAzp49eyuAbUvSfffddytXXXXVVVddddVVV/1fgB70oAdx1VVXXXXVVVddddVVV1111VVXXXXVVVf9n0Tlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/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/1X8I4pH4ydYqYjkAAAAAElFTkSuQmCC) ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([-15, 0], %) |> line(end = [30, 0]) |> line(end = [0, 30]) diff --git a/docs/kcl/circleThreePoint.md b/docs/kcl/circleThreePoint.md index e6b0cd4cb..ab081f634 100644 --- a/docs/kcl/circleThreePoint.md +++ b/docs/kcl/circleThreePoint.md @@ -37,7 +37,7 @@ circleThreePoint( ### Examples ```js -exampleSketch = startSketchOn("XY") +exampleSketch = startSketchOn(XY) |> circleThreePoint(p1 = [10, 10], p2 = [20, 8], p3 = [15, 5]) |> extrude(length = 5) ``` diff --git a/docs/kcl/e.md b/docs/kcl/e.md index 95e92aab8..60939801c 100644 --- a/docs/kcl/e.md +++ b/docs/kcl/e.md @@ -28,7 +28,7 @@ e(): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 30, length = 2 * e() ^ 2 }, %) |> yLine(endAbsolute = 0) diff --git a/docs/kcl/extrude.md b/docs/kcl/extrude.md index 196be8477..101e35975 100644 --- a/docs/kcl/extrude.md +++ b/docs/kcl/extrude.md @@ -35,7 +35,7 @@ extrude( ### Examples ```js -example = startSketchOn('XZ') +example = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> arc({ @@ -58,7 +58,7 @@ example = startSketchOn('XZ') ![Rendered example of extrude 0](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAADsTklEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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+rCK666qqrrrrqqquuuuqq/xAv9mIv9trXXHPNg7nqqquuuuqqq676n4PKVVddddVVV1111VVXXfVvds011zz4Hd/xHT/rxV7sxV77mmuueTDPdN99990KcPbs2Vvvu+++WwHuu+++W8+ePfsMgPvuu+9WgLNnz95633333cpVV1111VVXXXXVfw70oAc9iKuuuuqqq6666qqrrrrqRXfNNdc8+LVf+7Xf653e6Z0+G2B3dxeA48eP85d/+Zf85V/+JbYBOHHiBA/0kIc8hBMnTgDw0Ic+lPv9wz/8w2/fd999t/7DP/zD7/zWb/3Wd3PVVVddddVVV131HwM96EEP4qqrrrrqqquuuuqqq676l73jO77jZ734i7/4a7/Yi73Ya+/u7vJXf/VX/PVf/zW7u7u89Eu/NG/zNm/D05/+dL7927+d+9nmgWxzP9ucOHGC48ePc+LECR760Ify8i//8tx33323/sM//MNv/8M//MPv/NZv/dZ3c9VVV1111VVXXfVvhx70oAdx1VVXXXXVVVddddVVVz1/11xzzYNf+7Vf+73e6Z3e6bMBdnd3+au/+it++7d/mwc6fvw4H/MxHwPAt3/7t/P0pz+dB7LN/WxzP9sA2AbANsePH+dhD3sYD33oQ3nQgx506z/8wz/89m/91m99zz/8wz/8NlddddVVV1111VX/OuhBD3oQV1111VVXXXXVVVddddWzXXPNNQ9+7dd+7fd6ndd5nfe+5pprHry7u8tf/dVf8dd//dfs7u7y/Ejird/6rXnpl35p/vIv/5Kf/MmfxDYPZJv72eZ+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4Pd+7/f427/9Wx5IEv/T2Oa5SeJ/O9v8SyRx1b/NsWPH2NnZ4ZZbbuHmm2/mlltu4YW57777bj179uyt991336333XffrQBnz569FdB99913K8903333PV2SeIAzZ848CBDANddc82CAM2fOPOiaa655MMA111zz4DNnzjz4mmuuefCxY8c4duwYAC/+4i/O/S5dusTtt9/ObbfdxqVLl7j99tv5j2Cb/6ts8z+Vbf472eb5OX78OABnz569lauuuuqqq6666oWhctVVV1111VX/S7zYi73Ya3/zN38zAA996EP54A/+YAD+7u/+jt///d/nudnmgSTxP5Ftnpsk/q+xzb9EElddcezYMV78xV+cm2++mVtuuYXndt9999169uzZW//+7//+twH+4R/+4Xf+4R/+4bf5d7rvvvtu5Zn+4R/+gRfkzJkzD5KkM2fOPPiaa6558Iu92Iu91jXXXPPgF3uxF3vtY8eOcezYMV78xV8cgEuXLnHp0iVuv/12brvtNm6//Xaem23+v7DN/2S2+e9mm6uuuuqqq6666j8Mlauuuuqqq676X+DDP/zDvwvgaU97Gg996EP54A/+YAD+7u/+jp//+Z/nRWGbB5LE/1S2eX4k8X+ZbV5Ukvi/5NixY7z4i784N998M7fccgvP7b777rv1t37rt7777Nmzz/it3/qt7+a/2dmzZ58BcN999936D//wD/zWb/3WdwNcc801DwZ4sRd7sdd+sRd7sde65pprHvxiL/Zir33s2DFuueUWXu3VXo1Lly5x2223cfvtt/N3f/d3/F9mm//pbPM/gW3+NY4dOwbAfffddytXXXXVVVddddULgx70oAdx1VVXXXXVVf/TfdM3fdPT/+Zv/ubBT33qU/ngD/5gAG677TZ+4Ad+gP9IkvjfRhJXvegk8T/FsWPHePEXf3FuueUWdnZ2ADh27BgA9913362/9Vu/9d3/8A//8Dv/8A//8Nv8L3bNNdc8+MVe7MVe+8Ve7MVe65prrnnwi73Yi702z3Tp0iVuu+02br/9dv7u7/6O/61s87+Fbf4nsM2/1bFjx/iwD/sw7rvvvls/5EM+5CFcddVVV1111VUvDJWrrrrqqquu+h/udV7ndd7rmmuuefBTn/pUPviDPxiA2267jR/4gR/gP5ptHkgS/9PZ5vmRxFXPyzb/mSTxL3m1V3s1jh07xou/+IvzQP/wD//w27/8y7/82z/6oz/6Ofwfct9999163333ffdv/dZvfTfAmTNnHvQ6r/M67/3iL/7ir/1iL/Zir/0SL/ESvMRLvASv9mqvxm233cbf//3fc9ttt/E/kW3+t7HN/xS2+Y9w7NgxAM6ePXsrV1111VVXXXXVvwQ96EEP4qqrrrrqqqv+J/vcz/3c35rP56/9sIc9DIDbbruNH/iBH+C/gyT+L5DEVf+1jh07xou/+Ivz6q/+6jzQP/zDP/z23//93//2j/7oj34O/w9dc801D36xF3ux136d13md93qxF3ux1+aZLl26xN///d/z+7//+/x3sM3/Vrb5n8Q2/9Fe4iVegrd4i7fgt37rt77767/+69+Hq6666qqrrrrqhaFy1VVXXXXVVf/DvdiLvdhr80y33XYbP/ADP8B/F9s8N0n8b2Ob50cSV/3HOnbsGK/2aq/GS7zES3C/++6779bf+q3f+u4f/dEf/Rz+n7vvvvtuve+++777t37rt777mmuuefBrv/Zrv9frvM7rvPc111zz4Fd7tVfjxV/8xbntttv4gz/4Ay5dusR/NNv8b2ab/2lsc9VVV1111VVX/Y9C5aqrrrrqqqv+B/vwD//w7+KZnvGMZ/ADP/ADSOJ/Ets8N0n8b2SbF0YSV71oXu3VXo2XeImX4NixY9zvR37kRz77t37rt7777Nmzz+Cq53Hffffd+qM/+qOf89u//dvf82Iv9mKv/Tqv8zrv9WIv9mKv/RIv8RK8xEu8BH/3d3/H3//933Pbbbfxr2Gb/yts8z+Rbf4rPehBDwLgvvvuu5WrrrrqqquuuupfQuWqq6666qqr/ge75pprHswzHT9+nA/7sA/jqqv+pzt27Bj3u++++279rd/6re/+0R/90c/hqhfJfffdd+t999333b/1W7/13ddcc82DX/u1X/u93umd3umzX+IlXoKXeImX4O/+7u/4+7//e2677TYAbPN/kW3+p7LN/wRnz559BlddddVVV1111b8EPehBD+Kqq6666qqr/qe65pprHvxN3/RNT+eqq/6X+Yd/+Iff/vu///vf/tEf/dHP4ap/t2uuuebBr/3ar/1e7/RO7/TZAJcuXeK2227j93//97l06RL/29nmfzLb/E9gG4B3f/d350EPehCf+Zmf+Tr/8A//8NtcddVVV1111VUvDHrQgx7EVVddddVVV/1Pdc011zzYtiWJB7BtSeIBbFuSeADbliQewLYliQewbUniAWxbkngA25YkHsC2JYkHsG1J4gFsW5J4ANuWJB7AtiWJB7BtSeIBbFuSeADbliQewLYliQewbUniAWxbkngA25YkHsC2JYkHsG1J4gFsW5J4ANuWJB7AtiWJB7BtSeIBbFuSeADbliQewLYliQewbUniAWxbkngA25YkHsC2JYkHsG1J4gFsW5IA7rvvvlu56j/FmTNnHvQ6r/M67/1O7/ROnw1w6dIl/u7v/o6/+7u/49KlS/xvYJv/6WzzP4Ftnp8P+7AP4/jx43zIh3zIQ+67775bueqqq6666qqrXhj0oAc9iKuuuuqqq6666qqrrvrf5Jprrnnwa7/2a7/XO73TO302wKVLl/i7v/s7fv/3f5//SWzzv4Ft/qewzb/k0z7t0wB4u7d7O3HVVVddddVVV/1LKMePH+eqq6666qqrrrrqqqv+Nzk8PNz9h3/4h9/57d/+7e/Z3Nw8/uhHP/qlb7nlFl7iJV6C++67j0uXLvFfyTb/m9jmfxLb/Gu85mu+JgA/+qM/+jlcddVVV1111VX/Esrx48e56qqrrrrqqquuuuqq/40ODw93//RP//Rnzp49+4wHP/jBL33q1Knjt9xyC/P5nNtuu43/aLb538g2/5PY5t/q2LFjvOIrviL33Xffrb/wC7/wNVx11VVXXXXVVf8SyvHjx7nqqquuuuqqq6666qr/zW699da//rM/+7OfOTw83H25l3u5177lllt4iZd4CZ785CezXq/517LN/2a2+Z/GNv8RrrvuOl7yJV+SW2+99a9/67d+63u46qqrrrrqqqv+JQRXXXXVVVddddVVV131f8B9991364/+6I9+zod8yIc85L777rv12LFjvOu7viuv/uqvzvNjG9vYxja2sY1t/jexjW1sYxvb/E9gG9vYxjb/UY4dOwbAfffddytXXXXVVVddddWLgnL8+HGuuuqqq6666qqrrrrq/4rDw8PdP/3TP/3pw8PD3Zd7uZd77VtuuYWXeImX4ElPehKr1Yr/7WzzP5Vt/rM98pGP5EEPehB/+qd/+tP/8A//8DtcddVVV1111VX/EoKrrrrqqquuuuqqq676P+bs2bPP+NEf/dHP+czP/MzXue+++249duwY7/Zu78axY8f438Q2trGNbWzzP4ltbGMb2/xXOH78OABnz559BlddddVVV1111YuC4Kqrrrrqqquuuuqqq/6P+od/+Iff/qzP+qzX+Yd/+IffPnbsGO/2bu/Gq7/6q/M/kW1sYxvb2OZ/GtvYxja2ueqqq6666qqr/legHD9+nKuuuuqqq6666qqrrvq/6vDwcPcf/uEffufw8HD35V7u5V77QQ96EAC33XYb/11s87+Bbf6nsA3AK77iK3L8+HF+/ud//mvOnj17K1ddddVVV1111b+Ecvz4ca666qqrrrrqqquuuur/ssPDw91/+Id/+B2AF3/xF3/tBz3oQRw/fpwnPelJ/Gezzf8WtvmfxDbP7TVf8zWZz+f86I/+6OccHh7uctVVV1111VVX/UsIrrrqqquuuuqqq6666v+JH/3RH/2cD/mQD3kIwEu8xEvwoR/6ofxHsY1tbGMb29jmfzLb2MY2tvnvZhvb2MY2z8/x48cBuO+++27lqquuuuqqq656URBcddVVV1111VVXXXXV/yP33XffrR/yIR/ykPvuu+/WY8eO8aEf+qEcO3aMF5VtbGMb29jGNv8b2MY2trHN/wS2sY1trrrqqquuuuqq/xQEV1111VVXXXXVVVdd9f/Mfffdd+tnfdZnvc59991367Fjx3iN13gNjh07xgPZxja2sY1tbPO/iW1sYxvb/E9hG9vY5l/jQQ96EABnz559BlddddVVV1111YuK4Kqrrrrqqquuuuqqq/4fuu+++279zM/8zNe+7777bn2Jl3gJ3u3d3g3b2MY2/9vYxja2sY1t/qewjW1sY5t/q2PHjgHw93//97/NVVddddVVV131oiK46qqrrrrqqquuuuqq/6fOnj37jM/6rM96nfvuu+/WY8eO8WEf9mH8b2Eb29jGNv+T2MY2trHNVVddddVVV13134rgqquuuuqqq6666qqr/h+77777bv2sz/qs17nvvvtuPXbsGO/+7u/O/zS2sY1tbGOb/2lsYxvb/Gc5fvw4APfdd9/Tueqqq6666qqrXlQEV1111VVXXXXVVVdd9f/cfffdd+tnfdZnvc5999136y233MKbv/mb89/FNraxjW1s8z+RbWxjG9v8Vzh27BgAZ8+efQZXXXXVVVddddWLiuCqq6666qqrrrrqqquu4r777rv1sz7rs14H4CVf8iV5jdd4Df6z2cY2trGNbf6nso1tbGObq6666qqrrrrqfw2Cq6666qqrrrrqqquuuuqy++6779av//qvfx+AW265hVtuuYX/CLaxjW1sYxvb/E9mG9vYxjb/EzzoQQ8C4B/+4R9+m6uuuuqqq6666kVFcNVVV1111VVXXXXVVVc9y2/91m9994/8yI989oMe9CDe4i3egmPHjvGvYRvb2MY2tvnfwDa2sY1t/iexjW2uuuqqq6666qp/E4Krrrrqqquuuuqqq6666jn86I/+6Of81m/91ncfO3aMd3/3d+f5sY1tbGMb29jmfwvb2MY2tvmfxja2sc39jh8/DsB99913K1ddddVVV1111YuK4Kqrrrrqqquuuuqqq656Hj/6oz/6Offdd9+tx44d483f/M2xjW1sY5v/TWxjG9vYxjb/09jGNraxzVVXXXXVVVdd9R+G4Kqrrrrqqquuuuqqq656Hvfdd9+tn/VZn/U6AC/5ki/Jgx70IP63sI1tbGOb/6lsYxvb/Ese9KAHAfAP//APv81VV1111VVXXfWvQXDVVVddddVVV1111VVXPV/33XffrT/yIz/y2QBv8RZvwf9EtrGNbWxjm/+pbGMb29jmX+P48eMA3Hfffbdy1VVXXXXVVVf9axBcddVVV1111VVXXXXVVS/Qb//2b3/P3//93//2sWPHeIu3eAv+O9nGNraxjW3+J7ONbWxjm6uuuuqqq6666r8FwVVXXXXVVVddddVVV131At133323fv3Xf/17AzzoQQ/iQQ96EP9VbGMb29jmfwPb2MY2/5GOHTsGwH333XcrV1111VVXXXXVvwbBVVddddVVV1111VVXXfVCnT179hk/8iM/8tnHjh3jLd7iLfiPZhvb2MY2trHN/wa2sY1tbPOf5fjx4wCcPXv2GVx11VVXXXXVVf8aBFddddVVV1111VVXXXXVv+i3f/u3v+e+++679dixY7zkS74k/1a2sY1tbGOb/01sYxvb2Oaqq6666qqrrvofj+Cqq6666qqrrrrqqquu+hfdd999t/7oj/7o5wC85mu+Jv8S29jGNraxjW3+t7GNbWxjm/8uD3rQgwD4h3/4h9/mqquuuuqqq6761yC46qqrrrrqqquuuuqqq14kv/Vbv/Xd//AP//DbAC/5ki8JgG1sYxvb2MY2/1vZxja2sc3/BLa56qqrrrrqqqv+zQiuuuqqq6666qqrrrrqqhfZj/zIj3zOsWPHeM3XfE1s87+ZbWxjG9vY5n8K29jGNgDHjx8H4L777ruVq6666qqrrrrqX4Pgqquuuuqqq6666qqrrnqR/cM//MNv/8M//MNvHzt2jJd8yZfkfxPb2MY2tvmfxDa2sY1tHuj48eMA3Hfffbdy1VVXXXXVVVf9axFcddVVV1111VVXXXXVVf8qP/IjP/I5AK/5mq/J/1S2sY1tbGOb/2lsYxvbvDDHjh0D4OzZs7dy1VVXXXXVVVf9axFcddVVV1111VVXXXXVVf8q//AP//Dbf//3f//bx48f50EPehD/E9jGNraxzf9EtrGNbWzzojp+/DgA9913361cddVVV1111VX/WgRXXXXVVVddddVVV1111b/ab//2b38PwGu+5mvyX802trGNbWzzP5FtbGMb21x11VVXXXXVVf8tCK666qqrrrrqqquuuuqqf7W///u//y2ABz3oQTzoQQ/iP4ttbGMb29jmfzLb2MY2/1GOHz8OwH333XcrV1111VVXXXXVvxbBVVddddVVV1111VVXXfWvdvbs2Wf81m/91ncDvORLviT/EWxjG9vYxjb/09nGNraxzX+G48ePA3D27NlncNVVV1111VVX/WsRXHXVVVddddVVV1111VX/Jr/1W7/1PQAPetCD+NewjW1sYxvb2OZ/A9vYxja2+a9w7NgxAO67775bueqqq6666qqr/rUIrrrqqquuuuqqq6666qp/k7Nnz94KcPz4cR70oAfx/NjGNraxjW3+N7GNbWxjm/8Ox48fB+Ds2bO3ctVVV1111VVX/WsRXHXVVVddddVVV1111VX/Jvfdd9+t9913360AL/mSL4ltbGMb29jmfxPb2MY2trHNVVddddVVV131vx7BVVddddVVV1111VVXXfVvdvbs2VsBHvSgB/G/jW1sYxvb/E9jG9scP34cgPvuu+9Wrrrqqquuuuqqfy2Cq6666qqrrrrqqquuuurf7L777rsV4Pjx4zzoQQ/ifyrb2MY2trHN/zS2sY1tbANw/PhxAO67775bueqqq6666qqr/i0Irrrqqquuuuqqq6666qp/s/vuu+9WnulBD3oQ/1PYxja2sc3/VLaxjW2en2PHjgFw9uzZW7nqqquuuuqqq/4tCK666qqrrrrqqquuuuqqf7N/+Id/+B2e6cEPfjD/HWxjG9vYxjb/U9nGNraxzb/k+PHjANx33323ctVVV1111VVX/VtQueqqq6666qqrrrrqqqv+zc6ePXsrz3T8+HH+s9nmfxPbXHXVVVddddVV/60Irrrqqquuuuqqq6666qr/EMeOHeP48eP8R7GNbWxjG9v8T2cb29jGNv9eD37wgwG47777buWqq6666qqrrvq3ILjqqquuuuqqq6666qqr/s3uu+++W//hH/7ht3mmY8eO8W9hG9vYxja2+d/ANraxjW3+s5w9e/YZXHXVVVddddVV/xYEV1111VVXXXXVVVddddV/mAc96EG8MLaxjW1sYxvb/G9hG9vYxjb/2Y4fPw7AfffddytXXXXVVVddddW/BcFVV1111VVXXXXVVVdd9e/y93//97/NMx0/fhwA29jGNraxjW3+t7GNbWxjm/9qx48fB+Ds2bO3ctVVV1111VVX/VtQueqqq6666qqrrrrqqqv+Xc6ePfsMnunYsWPY5n8r2/xPcvz4cQDuu+++W7nqqquuuuqqq/4tqFx11VVXXXXVVVddddVV/y733XffrTzT8ePH+d/CNlddddVVV1111f95VK666qqrrrrqqquuuuqqf5ezZ8/eyv8CtvnfwDYAx48fB+C+++67lauuuuqqq6666t+KylVXXXXVVVddddVVV13173LffffdyjMdP36c/wls87+FbZ6f48ePA3D27Nlbueqqq6666qqr/q0Irrrqqquuuuqqq6666qp/t3/4h3/4bZ7p+PHj/FeyjW1sYxvb/E9mG9vYxjYvyPHjxwG47777buWqq6666qqrrvq3onLVVVddddVVV1111VVX/a9hm/9tbPNvcfz4cQDuu+++W7nqqquuuuqqq/6tCK666qqrrrrqqquuuuqqf7e///u//23+g9nGNraxjW3+N7CNbWxjm3+r48ePA3D27NlncNVVV1111VVX/VtRueqqq6666qqrrrrqqqv+3f7hH/7hd/g3ss3/Zra56qqrrrrqqqv+x6Jy1VVXXXXVVVddddVVV/2H2d3d5QWxzf8FtvmvcPz4cQDuu+++W7nqqquuuuqqq/6tqFx11VVXXXXVVVddddVV/25nz569FeD48eO85mu+Jru7u1z173P8+HEAzp49eytXXXXVVVddddW/FZWrrrrqqquuuuqqq6666t/tvvvuu/VHfuRHPvud3umdPvulX/qlueo/xm/91m9993333XcrV1111VVXXXXVvxV60IMexFVXXXXVVVddddVVV131H+N1Xud13vvMmTMP4qr/ED/6oz/6OVx11VVXXXXVVf8e6EEPehBXXXXVVVddddVVV1111VVXXXXVVVddddX/SVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/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/V/GP3iBaEuXFND0AAAAASUVORK5CYII=) ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([-10, 0], %) |> arc({ angleStart = 120, diff --git a/docs/kcl/fillet.md b/docs/kcl/fillet.md index fe39d172d..ccc49958e 100644 --- a/docs/kcl/fillet.md +++ b/docs/kcl/fillet.md @@ -42,7 +42,7 @@ length = 10 thickness = 1 filletRadius = 2 -mountingPlateSketch = startSketchOn("XY") +mountingPlateSketch = startSketchOn(XY) |> startProfileAt([-width / 2, -length / 2], %) |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1) |> line(endAbsolute = [width / 2, length / 2], tag = $edge2) @@ -69,7 +69,7 @@ length = 10 thickness = 1 filletRadius = 1 -mountingPlateSketch = startSketchOn("XY") +mountingPlateSketch = startSketchOn(XY) |> startProfileAt([-width / 2, -length / 2], %) |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1) |> line(endAbsolute = [width / 2, length / 2], tag = $edge2) diff --git a/docs/kcl/floor.md b/docs/kcl/floor.md index 656b97d03..ba23ae654 100644 --- a/docs/kcl/floor.md +++ b/docs/kcl/floor.md @@ -31,7 +31,7 @@ floor(num: number): number ### Examples ```js -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(endAbsolute = [12, 10]) |> line(end = [floor(7.02986), 0]) diff --git a/docs/kcl/getCommonEdge.md b/docs/kcl/getCommonEdge.md index ae809f46d..421e2b384 100644 --- a/docs/kcl/getCommonEdge.md +++ b/docs/kcl/getCommonEdge.md @@ -31,7 +31,7 @@ getCommonEdge(faces: [TagIdentifier]): Uuid scale = 20 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/docs/kcl/getNextAdjacentEdge.md b/docs/kcl/getNextAdjacentEdge.md index 73594ff28..5ac612cff 100644 --- a/docs/kcl/getNextAdjacentEdge.md +++ b/docs/kcl/getNextAdjacentEdge.md @@ -27,7 +27,7 @@ getNextAdjacentEdge(tag: TagIdentifier): Uuid ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> angledLine({ angle = 60, length = 10 }, %) diff --git a/docs/kcl/getOppositeEdge.md b/docs/kcl/getOppositeEdge.md index 8e35078bf..8583c336c 100644 --- a/docs/kcl/getOppositeEdge.md +++ b/docs/kcl/getOppositeEdge.md @@ -27,7 +27,7 @@ getOppositeEdge(tag: TagIdentifier): Uuid ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> angledLine({ angle = 60, length = 10 }, %) diff --git a/docs/kcl/getPreviousAdjacentEdge.md b/docs/kcl/getPreviousAdjacentEdge.md index c4b4abcaf..dbf4d70c0 100644 --- a/docs/kcl/getPreviousAdjacentEdge.md +++ b/docs/kcl/getPreviousAdjacentEdge.md @@ -27,7 +27,7 @@ getPreviousAdjacentEdge(tag: TagIdentifier): Uuid ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> angledLine({ angle = 60, length = 10 }, %) diff --git a/docs/kcl/helix.md b/docs/kcl/helix.md index 1c297b610..5cb989d04 100644 --- a/docs/kcl/helix.md +++ b/docs/kcl/helix.md @@ -50,7 +50,7 @@ helixPath = helix( ) // Create a spring by sweeping around the helix path. -springSketch = startSketchOn('YZ') +springSketch = startSketchOn(YZ) |> circle(center = [0, 0], radius = 0.5) |> sweep(path = helixPath) ``` @@ -59,7 +59,7 @@ springSketch = startSketchOn('YZ') ```js // Create a helix around an edge. -helper001 = startSketchOn('XZ') +helper001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 10], tag = $edge001) @@ -73,7 +73,7 @@ helixPath = helix( ) // Create a spring by sweeping around the helix path. -springSketch = startSketchOn('XY') +springSketch = startSketchOn(XY) |> circle(center = [0, 0], radius = 0.5) |> sweep(path = helixPath) ``` @@ -97,7 +97,7 @@ helixPath = helix( ) // Create a spring by sweeping around the helix path. -springSketch = startSketchOn('XY') +springSketch = startSketchOn(XY) |> circle(center = [0, 0], radius = 1) |> sweep(path = helixPath) ``` diff --git a/docs/kcl/helixRevolutions.md b/docs/kcl/helixRevolutions.md index 34e5786f2..1b9c679a3 100644 --- a/docs/kcl/helixRevolutions.md +++ b/docs/kcl/helixRevolutions.md @@ -31,7 +31,7 @@ helixRevolutions( ### Examples ```js -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> circle(center = [5, 5], radius = 10) |> extrude(length = 10) |> helixRevolutions({ diff --git a/docs/kcl/hollow.md b/docs/kcl/hollow.md index 9e81c9cd3..69b960e10 100644 --- a/docs/kcl/hollow.md +++ b/docs/kcl/hollow.md @@ -32,7 +32,7 @@ hollow( ```js // Hollow a basic sketch. -firstSketch = startSketchOn('XY') +firstSketch = startSketchOn(XY) |> startProfileAt([-12, 12], %) |> line(end = [24, 0]) |> line(end = [0, -24]) @@ -46,7 +46,7 @@ firstSketch = startSketchOn('XY') ```js // Hollow a basic sketch. -firstSketch = startSketchOn('-XZ') +firstSketch = startSketchOn(-XZ) |> startProfileAt([-12, 12], %) |> line(end = [24, 0]) |> line(end = [0, -24]) @@ -61,7 +61,7 @@ firstSketch = startSketchOn('-XZ') ```js // Hollow a sketch on face object. size = 100 -case = startSketchOn('-XZ') +case = startSketchOn(-XZ) |> startProfileAt([-size, -size], %) |> line(end = [2 * size, 0]) |> line(end = [0, 2 * size]) diff --git a/docs/kcl/import.md b/docs/kcl/import.md index 078275dce..2a6f8eb1a 100644 --- a/docs/kcl/import.md +++ b/docs/kcl/import.md @@ -69,7 +69,7 @@ model = import("tests/inputs/cube.step") ```js import height, buildSketch from "common.kcl" -plane = 'XZ' +plane = XZ margin = 2 s1 = buildSketch(plane, [0, 0]) s2 = buildSketch(plane, [0, height() + margin]) diff --git a/docs/kcl/int.md b/docs/kcl/int.md index 01248d6e0..600b2a456 100644 --- a/docs/kcl/int.md +++ b/docs/kcl/int.md @@ -36,7 +36,7 @@ int(num: number): number n = int(ceil(5 / 2)) assertEqual(n, 3, 0.0001, "5/2 = 2.5, rounded up makes 3") // Draw n cylinders. -startSketchOn('XZ') +startSketchOn(XZ) |> circle(center = [0, 0], radius = 2) |> extrude(length = 5) |> patternTransform( diff --git a/docs/kcl/intersect.md b/docs/kcl/intersect.md index 3c198b53b..7dde3f162 100644 --- a/docs/kcl/intersect.md +++ b/docs/kcl/intersect.md @@ -30,7 +30,7 @@ intersect(solids: [Solid]): [Solid] ```js fn cube(center) { - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt([center[0] - 10, center[1] - 10], %) |> line(endAbsolute = [center[0] + 10, center[1] - 10]) |> line(endAbsolute = [center[0] + 10, center[1] + 10]) diff --git a/docs/kcl/lastSegX.md b/docs/kcl/lastSegX.md index d30960801..6c07d6a66 100644 --- a/docs/kcl/lastSegX.md +++ b/docs/kcl/lastSegX.md @@ -27,7 +27,7 @@ lastSegX(sketch: Sketch): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [5, 0]) |> line(end = [20, 5]) diff --git a/docs/kcl/lastSegY.md b/docs/kcl/lastSegY.md index d4662a349..b03537a08 100644 --- a/docs/kcl/lastSegY.md +++ b/docs/kcl/lastSegY.md @@ -27,7 +27,7 @@ lastSegY(sketch: Sketch): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [5, 0]) |> line(end = [20, 5]) diff --git a/docs/kcl/ln.md b/docs/kcl/ln.md index fc7fef0c3..dea61a80f 100644 --- a/docs/kcl/ln.md +++ b/docs/kcl/ln.md @@ -31,7 +31,7 @@ ln(num: number): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [ln(100), 15]) |> line(end = [5, -6]) diff --git a/docs/kcl/loft.md b/docs/kcl/loft.md index aef6d1aae..f48a36757 100644 --- a/docs/kcl/loft.md +++ b/docs/kcl/loft.md @@ -42,7 +42,7 @@ loft( ```js // Loft a square and a triangle. -squareSketch = startSketchOn('XY') +squareSketch = startSketchOn(XY) |> startProfileAt([-100, 200], %) |> line(end = [200, 0]) |> line(end = [0, -200]) @@ -50,7 +50,7 @@ squareSketch = startSketchOn('XY') |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -triangleSketch = startSketchOn(offsetPlane('XY', offset = 75)) +triangleSketch = startSketchOn(offsetPlane(XY, offset = 75)) |> startProfileAt([0, 125], %) |> line(end = [-15, -30]) |> line(end = [30, 0]) @@ -64,7 +64,7 @@ loft([squareSketch, triangleSketch]) ```js // Loft a square, a circle, and another circle. -squareSketch = startSketchOn('XY') +squareSketch = startSketchOn(XY) |> startProfileAt([-100, 200], %) |> line(end = [200, 0]) |> line(end = [0, -200]) @@ -72,10 +72,10 @@ squareSketch = startSketchOn('XY') |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -circleSketch0 = startSketchOn(offsetPlane('XY', offset = 75)) +circleSketch0 = startSketchOn(offsetPlane(XY, offset = 75)) |> circle(center = [0, 100], radius = 50) -circleSketch1 = startSketchOn(offsetPlane('XY', offset = 150)) +circleSketch1 = startSketchOn(offsetPlane(XY, offset = 150)) |> circle(center = [0, 100], radius = 20) loft([ @@ -89,7 +89,7 @@ loft([ ```js // Loft a square, a circle, and another circle with options. -squareSketch = startSketchOn('XY') +squareSketch = startSketchOn(XY) |> startProfileAt([-100, 200], %) |> line(end = [200, 0]) |> line(end = [0, -200]) @@ -97,10 +97,10 @@ squareSketch = startSketchOn('XY') |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -circleSketch0 = startSketchOn(offsetPlane('XY', offset = 75)) +circleSketch0 = startSketchOn(offsetPlane(XY, offset = 75)) |> circle(center = [0, 100], radius = 50) -circleSketch1 = startSketchOn(offsetPlane('XY', offset = 150)) +circleSketch1 = startSketchOn(offsetPlane(XY, offset = 150)) |> circle(center = [0, 100], radius = 20) loft( diff --git a/docs/kcl/log.md b/docs/kcl/log.md index 8dd6696fa..6f0d9599e 100644 --- a/docs/kcl/log.md +++ b/docs/kcl/log.md @@ -35,7 +35,7 @@ log( ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [log(100, 5), 0]) |> line(end = [5, 8]) diff --git a/docs/kcl/log10.md b/docs/kcl/log10.md index eeb51ae13..c45649bd4 100644 --- a/docs/kcl/log10.md +++ b/docs/kcl/log10.md @@ -31,7 +31,7 @@ log10(num: number): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [log10(100), 0]) |> line(end = [5, 8]) diff --git a/docs/kcl/log2.md b/docs/kcl/log2.md index a674ca812..302510721 100644 --- a/docs/kcl/log2.md +++ b/docs/kcl/log2.md @@ -31,7 +31,7 @@ log2(num: number): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [log2(100), 0]) |> line(end = [5, 8]) diff --git a/docs/kcl/map.md b/docs/kcl/map.md index 805ce5d87..354ce9ecd 100644 --- a/docs/kcl/map.md +++ b/docs/kcl/map.md @@ -33,7 +33,7 @@ map( ```js r = 10 // radius fn drawCircle(id) { - return startSketchOn("XY") + return startSketchOn(XY) |> circle(center = [id * 2 * r, 0], radius = r) } @@ -49,7 +49,7 @@ circles = map([1..3], drawCircle) r = 10 // radius // Call `map`, using an anonymous function instead of a named one. circles = map([1..3], fn(id) { - return startSketchOn("XY") + return startSketchOn(XY) |> circle(center = [id * 2 * r, 0], radius = r) }) ``` diff --git a/docs/kcl/max.md b/docs/kcl/max.md index 46d377d0d..c9e55d2e4 100644 --- a/docs/kcl/max.md +++ b/docs/kcl/max.md @@ -31,7 +31,7 @@ max(args: [number]): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 70, diff --git a/docs/kcl/min.md b/docs/kcl/min.md index 135791c3d..00c0595b4 100644 --- a/docs/kcl/min.md +++ b/docs/kcl/min.md @@ -31,7 +31,7 @@ min(args: [number]): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 70, diff --git a/docs/kcl/mirror2d.md b/docs/kcl/mirror2d.md index bb0993acd..3fef6b747 100644 --- a/docs/kcl/mirror2d.md +++ b/docs/kcl/mirror2d.md @@ -34,7 +34,7 @@ mirror2d( ```js // Mirror an un-closed sketch across the Y axis. -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 10], %) |> line(end = [15, 0]) |> line(end = [-7, -3]) @@ -53,7 +53,7 @@ example = extrude(sketch001, length = 10) ```js // Mirror a un-closed sketch across the Y axis. -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 8.5], %) |> line(end = [20, -8.5]) |> line(end = [-20, -8.5]) @@ -66,11 +66,11 @@ example = extrude(sketch001, length = 10) ```js // Mirror a un-closed sketch across an edge. -helper001 = startSketchOn('XZ') +helper001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 10], tag = $edge001) -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 8.5], %) |> line(end = [20, -8.5]) |> line(end = [-20, -8.5]) @@ -83,7 +83,7 @@ sketch001 = startSketchOn('XZ') ```js // Mirror an un-closed sketch across a custom axis. -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 8.5], %) |> line(end = [20, -8.5]) |> line(end = [-20, -8.5]) diff --git a/docs/kcl/offsetPlane.md b/docs/kcl/offsetPlane.md index 71726197f..1ddf56f52 100644 --- a/docs/kcl/offsetPlane.md +++ b/docs/kcl/offsetPlane.md @@ -32,7 +32,7 @@ offsetPlane( ```js // Loft a square and a circle on the `XY` plane using offset. -squareSketch = startSketchOn('XY') +squareSketch = startSketchOn(XY) |> startProfileAt([-100, 200], %) |> line(end = [200, 0]) |> line(end = [0, -200]) @@ -40,7 +40,7 @@ squareSketch = startSketchOn('XY') |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -circleSketch = startSketchOn(offsetPlane('XY', offset = 150)) +circleSketch = startSketchOn(offsetPlane(XY, offset = 150)) |> circle(center = [0, 100], radius = 50) loft([squareSketch, circleSketch]) @@ -50,7 +50,7 @@ loft([squareSketch, circleSketch]) ```js // Loft a square and a circle on the `XZ` plane using offset. -squareSketch = startSketchOn('XZ') +squareSketch = startSketchOn(XZ) |> startProfileAt([-100, 200], %) |> line(end = [200, 0]) |> line(end = [0, -200]) @@ -58,7 +58,7 @@ squareSketch = startSketchOn('XZ') |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -circleSketch = startSketchOn(offsetPlane('XZ', offset = 150)) +circleSketch = startSketchOn(offsetPlane(XZ, offset = 150)) |> circle(center = [0, 100], radius = 50) loft([squareSketch, circleSketch]) @@ -68,7 +68,7 @@ loft([squareSketch, circleSketch]) ```js // Loft a square and a circle on the `YZ` plane using offset. -squareSketch = startSketchOn('YZ') +squareSketch = startSketchOn(YZ) |> startProfileAt([-100, 200], %) |> line(end = [200, 0]) |> line(end = [0, -200]) @@ -76,7 +76,7 @@ squareSketch = startSketchOn('YZ') |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -circleSketch = startSketchOn(offsetPlane('YZ', offset = 150)) +circleSketch = startSketchOn(offsetPlane(YZ, offset = 150)) |> circle(center = [0, 100], radius = 50) loft([squareSketch, circleSketch]) @@ -86,7 +86,7 @@ loft([squareSketch, circleSketch]) ```js // Loft a square and a circle on the `-XZ` plane using offset. -squareSketch = startSketchOn('-XZ') +squareSketch = startSketchOn(-XZ) |> startProfileAt([-100, 200], %) |> line(end = [200, 0]) |> line(end = [0, -200]) @@ -94,7 +94,7 @@ squareSketch = startSketchOn('-XZ') |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -circleSketch = startSketchOn(offsetPlane('-XZ', offset = -150)) +circleSketch = startSketchOn(offsetPlane(-XZ, offset = -150)) |> circle(center = [0, 100], radius = 50) loft([squareSketch, circleSketch]) @@ -104,12 +104,12 @@ loft([squareSketch, circleSketch]) ```js // A circle on the XY plane -startSketchOn("XY") +startSketchOn(XY) |> startProfileAt([0, 0], %) |> circle(radius = 10, center = [0, 0]) // Triangle on the plane 4 units above -startSketchOn(offsetPlane("XY", offset = 4)) +startSketchOn(offsetPlane(XY, offset = 4)) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> line(end = [0, 10]) diff --git a/docs/kcl/patternCircular2d.md b/docs/kcl/patternCircular2d.md index b3ccf5f96..76acda360 100644 --- a/docs/kcl/patternCircular2d.md +++ b/docs/kcl/patternCircular2d.md @@ -39,7 +39,7 @@ patternCircular2d( ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([.5, 25], %) |> line(end = [0, 5]) |> line(end = [-1, 0]) diff --git a/docs/kcl/patternCircular3d.md b/docs/kcl/patternCircular3d.md index 54f003d65..d41313876 100644 --- a/docs/kcl/patternCircular3d.md +++ b/docs/kcl/patternCircular3d.md @@ -41,7 +41,7 @@ patternCircular3d( ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> circle(center = [0, 0], radius = 1) example = extrude(exampleSketch, length = -5) diff --git a/docs/kcl/patternLinear2d.md b/docs/kcl/patternLinear2d.md index b68d2f321..19211a473 100644 --- a/docs/kcl/patternLinear2d.md +++ b/docs/kcl/patternLinear2d.md @@ -37,7 +37,7 @@ patternLinear2d( ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> circle(center = [0, 0], radius = 1) |> patternLinear2d(axis = [1, 0], instances = 7, distance = 4) diff --git a/docs/kcl/patternLinear3d.md b/docs/kcl/patternLinear3d.md index f1624067c..20616cd9a 100644 --- a/docs/kcl/patternLinear3d.md +++ b/docs/kcl/patternLinear3d.md @@ -37,7 +37,7 @@ patternLinear3d( ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 2]) |> line(end = [3, 1]) @@ -53,7 +53,7 @@ example = extrude(exampleSketch, length = 1) ```js // Pattern a whole sketch on face. size = 100 -case = startSketchOn('XY') +case = startSketchOn(XY) |> startProfileAt([-size, -size], %) |> line(end = [2 * size, 0]) |> line(end = [0, 2 * size]) @@ -84,7 +84,7 @@ patternLinear3d( ```js // Pattern an object on a face. size = 100 -case = startSketchOn('XY') +case = startSketchOn(XY) |> startProfileAt([-size, -size], %) |> line(end = [2 * size, 0]) |> line(end = [0, 2 * size]) diff --git a/docs/kcl/patternTransform.md b/docs/kcl/patternTransform.md index 52247b267..63bcc344b 100644 --- a/docs/kcl/patternTransform.md +++ b/docs/kcl/patternTransform.md @@ -67,7 +67,7 @@ fn transform(id) { } // Sketch 4 cylinders. -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 2) |> extrude(length = 5) |> patternTransform(instances = 4, transform = transform) @@ -83,7 +83,7 @@ fn transform(id) { return { translate = [4 * (1 + id), 0, 0] } } -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 2) |> extrude(length = 5) |> patternTransform(instances = 4, transform = transform) @@ -101,7 +101,7 @@ fn cube(length, center) { p2 = [l + x, l + y] p3 = [l + x, -l + y] - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt(p0, %) |> line(endAbsolute = p1) |> line(endAbsolute = p2) @@ -139,7 +139,7 @@ fn cube(length, center) { p2 = [l + x, l + y] p3 = [l + x, -l + y] - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt(p0, %) |> line(endAbsolute = p1) |> line(endAbsolute = p2) @@ -182,7 +182,7 @@ fn transform(replicaId) { } // Each layer is just a pretty thin cylinder. fn layer() { - return startSketchOn("XY") + return startSketchOn(XY) // or some other plane idk |> circle(center = [0, 0], radius = 1, tag = $tag1) |> extrude(length = h) @@ -203,7 +203,7 @@ fn transform(i) { { rotation = { angle = 45 * i } } ] } -startSketchOn('XY') +startSketchOn(XY) |> startProfileAt([0, 0], %) |> polygon({ radius = 10, diff --git a/docs/kcl/patternTransform2d.md b/docs/kcl/patternTransform2d.md index fdcbba6c0..5f76b8141 100644 --- a/docs/kcl/patternTransform2d.md +++ b/docs/kcl/patternTransform2d.md @@ -41,7 +41,7 @@ fn transform(id) { } // Sketch 4 circles. -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 2) |> patternTransform2d(instances = 4, transform = transform) ``` diff --git a/docs/kcl/pi.md b/docs/kcl/pi.md index 186baadf6..9f96bbd79 100644 --- a/docs/kcl/pi.md +++ b/docs/kcl/pi.md @@ -30,7 +30,7 @@ pi(): number ```js circumference = 70 -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> circle(center = [0, 0], radius = circumference / (2 * pi())) example = extrude(exampleSketch, length = 5) diff --git a/docs/kcl/polar.md b/docs/kcl/polar.md index 12b12b163..c3faa7e46 100644 --- a/docs/kcl/polar.md +++ b/docs/kcl/polar.md @@ -27,7 +27,7 @@ polar(data: PolarCoordsData): [number] ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = polar({ angle = 30, length = 5 }), tag = $thing) |> line(end = [0, 5]) diff --git a/docs/kcl/polygon.md b/docs/kcl/polygon.md index dbb6e5973..b05fc198b 100644 --- a/docs/kcl/polygon.md +++ b/docs/kcl/polygon.md @@ -34,7 +34,7 @@ polygon( ```js // Create a regular hexagon inscribed in a circle of radius 10 -hex = startSketchOn('XY') +hex = startSketchOn(XY) |> polygon({ radius = 10, numSides = 6, @@ -49,7 +49,7 @@ example = extrude(hex, length = 5) ```js // Create a square circumscribed around a circle of radius 5 -square = startSketchOn('XY') +square = startSketchOn(XY) |> polygon({ radius = 5.0, numSides = 4, diff --git a/docs/kcl/pow.md b/docs/kcl/pow.md index ac73e02c0..434fd7bdc 100644 --- a/docs/kcl/pow.md +++ b/docs/kcl/pow.md @@ -35,7 +35,7 @@ pow( ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 50, length = pow(5, 2) }, %) |> yLine(endAbsolute = 0) diff --git a/docs/kcl/reduce.md b/docs/kcl/reduce.md index 617882fe1..7a371710f 100644 --- a/docs/kcl/reduce.md +++ b/docs/kcl/reduce.md @@ -82,7 +82,7 @@ fn decagon(radius) { stepAngle = 1 / 10 * TAU // Start the decagon sketch at this point. - startOfDecagonSketch = startSketchOn('XY') + startOfDecagonSketch = startSketchOn(XY) |> startProfileAt([cos(0) * radius, sin(0) * radius], %) // Use a `reduce` to draw the remaining decagon sides. diff --git a/docs/kcl/revolve.md b/docs/kcl/revolve.md index 9a3c2ae1c..914993c77 100644 --- a/docs/kcl/revolve.md +++ b/docs/kcl/revolve.md @@ -43,7 +43,7 @@ revolve( ### Examples ```js -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -60,7 +60,7 @@ part001 = startSketchOn('XY') ```js // A donut shape. -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) |> circle(center = [15, 0], radius = 5) |> revolve(angle = 360, axis = 'y') ``` @@ -68,7 +68,7 @@ sketch001 = startSketchOn('XY') ![Rendered example of revolve 1](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAJWd0lEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666n+1a6655sE805kzZx7Mc7nmmmsezL/gvvvuu5UHOHv27K0803333XcrV1111VVXXXXVVVf9b0Xlqquuuuqqq6666qr/Ea655poHA5w5c+bB11xzzYPPnDnzIJ7pmmuuefA111zzYIAzZ848+Jprrnkw/wUuXrzIiRMnALjvvvtu5ZnOnj1763333XcrwH333Xfr2bNnnwFw33333QrwD//wD7/NVVddddVVV1111VX/E6AHPehBXHXVVVddddVVV131n++aa6558JkzZx58zTXXPPjMmTMPAnjxF3/x1z5z5syDr7nmmgfzXC5evAjAxYsX2d3d5eLFi0ji4sWL3G93dxcASQBcvHgRgN3dXf41jh8/zvNz/PhxAI4fPw7AiRMnOH78OPc7fvw4ACdOnODEiRM80H333XcrwNmzZ2+97777br3vvvtuPXv27DPuu+++W8+ePXvrfffddytXXXXVVVddddVVV/1nQw960IO46qqrrrrqqquuuuo/xjXXXPPgM2fOPPiaa6558JkzZx704i/+4q8N8GIv9mKvzQNcvHiR3d1dnva0pyGJixcvsru7iyQuXrzI7u4uknggSTw3Sfxns81zs80D2Qbg+PHj2ObEiRMcP36c48ePc+LECY4fP86JEyc4ceIE97vvvvtuBXjiE5946zRNt/7DP/zD79x33323/sM//MNvc9VVV1111VVXXXXVfxT0oAc9iKuuuuqqq6666qqr/vWuueaaB7/2a7/2ewG8+Iu/+Gu/2Iu92GvzTBcvXgTg6U9/OhcvXkQST3/607n11lsBkASAJO4niQeSxHOTxL9EEv8WtvmX2Oa52eaBbHM/29zPNgDHjh0D4CEPeQgAD3nIQzh+/DgPfehDud9999136xOf+MRbp2m69R/+4R9+57777rv1H/7hH36bq6666qqrrrrqqqv+tdCDHvQgrrrqqquuuuqqq656wa655poHA7z2a7/2ewG8+Iu/+Gu/2Iu92GsDXLx4EYC//Mu/RBJPf/rTufXWWwGQBIAkACRxP0ncTxIPJInnJokXhST+PWzzL7HN82ObB7LN/WxzP9vczzYAtgE4duwYx48f58SJEzzkIQ/h+PHjPPShDwXgvvvuuxXgH/7hH377H/7hH37nvvvuu/Uf/uEffpurrrrqqquuuuqqq14Y9KAHPYirrrrqqquuuuqqq57tmmuuefCLvdiLvfaZM2ce9OIv/uKv/WIv9mKvDXDx4kUuXrzI05/+dHZ3d9nd3eXWW29FEgCSkMT9JHE/SdxPEveTxHOT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kEREIAlJRASSkIQkJCEJAElIAkAS/xLb2AbANraxjW1sYxvbZCa2kYRtJGEbSdhGEpmJJDIT2wDYBsA2trGNbWxjG9vYBsA2ALa5n22em22em23uZxsA20jCNpKwzf1s8/zYxja2sY1tbGObzMQ2mYltMhPbZCa2sY1tAGzzQLZ5IEncTxIAkgCQhCQkIQlJSCIikEREEBFEBBFBRFBKISIopVBKodZKrZVSCrVWaq3UWqm10nUdXddRa6XrOmqt1FqptVJrpZRCRBARSEISALYBsE1m0lqjtcY4jozjyDAMrNdr1us16/Wa9XrNer1mvV4zDAPjOPJ93/d9r3PnnXf+NlddddVVV1111b8Hlauuuuqqq6666t9N0q0XL158n4j4LkncTxL3kwRARGCbzCQisM39bPOikIRtHkgSALa5nyRs85/BNpJ4fmwjif8IkgCwjSSemyQAJHE/STyQJO5nm+fHNgC2uZ9t7mcbANvczzbPjyTuJwkASUgCQBKSkIQkJCEJSUQEkogIJCGJiCAikEREIImIICKQREQgiYhAEhGBJCICSUgiIpCEJCQhCQBJSAJAEi+IbQBsYxsA29jGNpmJbWyTmUgiM5FEZgKQmUQEmUlEAJCZRASZSURgGwDb2MY2trGNbQBsA2AbANvczzYPZJsHss39bANgG9tIwjYAtgGQhG2em21sA2Ab29jGNrbJTGyTmdgmM7FNZmIb27woJPFAkgCQhCQAJCEJSUgiIpBERCCJiCAiiAgiglIKpRQiglorpRRqrdRaqbVSa6XrOrquo+s6aq10XUfXddRaqbVSa6XWSimFiCAikIQkAGwDYJvMpLVGa41pmhjHkWEYWK/XrNdr1us16/Wa9XrNer1mGAaGYeD7v//7X+f222//ba666qqrrrrqqn8vKlddddVVV1111X+IWut3nz9/ntOnT3+XJCQhCUlIQhIPFBHYJjOJCABs86KSBIBtHkgStrmfJGwDIAnb3E8StrmfJGzzH8k2krifbSRxP9tI4oEkYZsHkgSAbQAk8dwkASAJAEncTxIvCtvczzb3s839bPNAtnkgSdxPEgCSAJCEJCQBIAlJSCIikIQkIgJJRASSiAgkERFEBJKICCICSUQEEYEkIgJJRASSkIQkJBERSAJAEpIAkMQLYxvbANjGNraxTWYSEdgmM4kIMhNJAEhC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wa0ABwcHt95zzz2/DXDnnXf+9tmzZ3+Hq6666qqrrrrqqqv+o6EHPehBXHXVVVddddVVV131X2exWDx4Y2PjwYvF4sERwZkzZ14LYGNj48FbW1sP3tjYeDCAJB5IEg8kiQeSxANJ4oEk8dwk8UCSeG6SeCBJPDdJ3O/g4OBWgMPDw1sPDg5uPTg4uHVvb+8ZBwcHt549e/a3ueqqq6666qqrrrrqvxJ60IMexFVXXXXVVVddddVV/7MsFosHAdrc3HzwYrF4MEBEeHNz88Gbm5sPBtjc3HywJDY2Nh7MM21tbT2YB5DEA0niuUnigSRxeHh4K890cHBwqyQODg5uBTg8PLwVwDYHBwfPODg4uPXw8PDWo6OjW7nqqquuuuqqq6666n8a9KAHPYirrrrqqquuuuqqq/5vWiwWD5YEYEAAtnkmL5fLZ3DVVVddddVVV1111f9lVK666qqrrrrqqquu+j9ruVzeylVXXXXVVVddddVV/59Rueqqq6666qqrrrrqqquuuuqqq6666qqr/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+r+IfATg81VFjoXZtAAAAAElFTkSuQmCC) ```js -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -84,7 +84,7 @@ part001 = startSketchOn('XY') ![Rendered example of revolve 2](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAErXElEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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/KipXXXXVVVddddVV/0O84zu+42e9+Iu/+GvzX+xHfuRHPucf/uEffpur/s+55pprHvzhH/7h38V/sb//+7//7R/90R/9HK666qqrrrrqqqv++6EHPehBXHXVVVddddVVV/13+6Zv+qanA1xzzTUP5r/YP/zDP/z2j/zIj3zOP/zDP/w2V/2fcc011zz4cz7nc37rmmuueTD/xe67775bAT7kQz7kIVx11VVXXXXVVVf996Jy1VVXXXXVVVdd9d/sxV7sxV77mmuueTDAx37sx/Jf6Su/8it5sRd7sdcGPoer/k95sRd7sde+5pprHgzwDd/wDTzlKU/hv8LJkyf5jM/4jAcDvNiLvdhr/8M//MNvc9VVV1111VVXXfXfh+Cqq6666qqrrrrqv9nrvM7rvBfAn/3Zn/Ff6RVe4RW43zXXXPNgrvo/6+EPfziS+K9w4cIF/vRP/xSA13md13kvrrrqqquuuuqqq/57EVx11VVXXXXVVVf9N3uxF3ux1wb40z/9U/4rPfzhD+d+Z86ceRBX/Z/1sIc9DABJSEISkpCEJCQhCUlIQhKSkIQkJCEJSUhCEpKQhCQk8UB/9md/BsCLvdiLvTZXXXXVVVddddVV/70Irrrqqquuuuqqq/4bvc7rvM57X3PNNQ8GeOpTn8p/pVd4hVcA4NKlS1z1f8+ZM2ce9LjHPQ6AkydP8p9NEpKQxFOf+lSe8pSncM011zz4xV7sxV6bq6666qqrrrrqqv8+BFddddVVV1111VX/jV7sxV7stQD+7M/+DElIQhKSkIQkJCEJSUhCEpKQhCQkIQlJSEISkpCEJCQhCUlIQhKv+IqvCMClS5e47bbbePEXf/HX5qr/U6655poHnzt3jsc97nGcPHmShz3sYfxXeupTnwrA67zO67wXV1111VVXXXXVVf99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CyOJ/wrb29vs7Oxwww03AHDjjTdy44038tz29/cBeOITnwjAX/zFX/B/jW3+Oz3qUY/idV7ndQD4rd/6re/++q//+vfhqquuuuqqq6666tnQgx70IK666qqrrrrqqque2zu+4zt+1ju90zt9NsCf//mf8+d//uf8d5PE/0Xb29tsb2+zvb3N9ddfz/b2NjfccAMvyN7eHvv7++zt7SGJvb099vf32d/f5357e3vs7+/zotre3uZ+Ozs7AGxvb7O9vQ3Azs4O29vb3Hjjjbwg+/v7AOzv73PXXXdx9913c9ddd/F/gW3+J3r5l395Xv7lXx6AH/mRH/nsH/3RH/0crrrqqquuuuqqq54TetCDHsRVV1111VVXXXXV8/OO7/iOn/VO7/ROnw3w53/+5/z5n/85/5NJ4v+K7e1ttre32d7e5vrrr2d7exuAG264gf8J9vf32d/f56677gLg7rvv5q677uJ/K9v8b/OWb/mW3HDDDQB8/dd//fv81m/91ndz1VVXXXXVVVdd9bzQgx70IK666qqrrrrqqqtekBd7sRd77c/93M/9LYD9/X1+9md/lv39ff63ksT/dtvb22xvb7O9vY1tbrjhBgC2t7cB2N7eBmB7e5sX1f7+Pvfb398HYH9/n/39fQAODg7Y39/nrrvu4n8b2/xfsr29zeu8zutwww03APCZn/mZr/MP//APv81VV1111VVXXXXV84ce9KAHcdVVV1111VVXXfXCXHPNNQ/+nM/5nN+65pprHry/v8/P/uzPsr+/z/91krjqfy7b/H9hG4Dt7W3e6q3eiu3tbe67775bv/7rv/59/uEf/uG3ueqqq6666qqrrnrBKMePH+eqq6666qqrrrrqhTk8PNz9sz/7s595xVd8xbc+efLk8Yc85CH0fc9dd90FgCSuukISV/3r2eYqsM0LcsMNN/CO7/iOzGYz/uEf/uG3P/7jP/5lzp49eytXXXXVVVddddVVLxzl+PHjXHXVVVddddVVV/1LDg8Pd//sz/7sZw4PD3df9mVf9rVvvPFGAO666y5eEElc9e8nif8pbHPVv59t/jVe/uVfntd93dcF4Ld+67e++0u+5Evehquuuuqqq6666qoXDeX48eNcddVVV1111VVXvSgODw93/+Ef/uF3AF78xV/8tW+88UYe/ehH8/SnP51hGHhRSeKqq/4/sM2/x/b2Nm/yJm/Cox/9aAB+5Ed+5LO/67u+62O46qqrrrrqqquuetGhBz3oQVx11VVXXXXVVVf9a11zzTUP/pzP+Zzfuuaaax68v7/Pb/7mb3LXXXfx7yWJq67638Q2/xluuOEG3uqt3gqA++6779av//qvf59/+Id/+G2uuuqqq6666qqr/nUox48f56qrrrrqqquuuupf6/DwcPfP/uzPfmZzc/P4ox71qJe+8cYb6fueu+66i/9Mkrjqqv9qtvmv9PIv//K87uu+LgD/8A//8Nsf//Ef/zJnz569lauuuuqqq6666qp/Pcrx48e56qqrrrrqqquu+rc4PDzcvfXWW//m8PBw92Vf9mVf+8Ybb+TRj340T3/60xmGgf8Okrjqqn8N2/xPsb29zZu8yZvw6Ec/GoAf+ZEf+eyv//qvfx+uuuqqq6666qqr/u0ox48f56qrrrrqqquuuurf6vDwcPcf/uEffucf/uEffufFXuzFXvvkyZPHH/KQhzCbzbjrrrv4n0gSV/3/YJv/LW644Qbe8R3fke3tbe67775bv+RLvuRtfvu3f/t7uOqqq6666qqrrvr3oRw/fpyrrrrqqquuuuqqf6+zZ8/e+md/9mc/s7m5efxRj3rUS99www0A3HXXXfxvJomr/mexzf81L//yL8/rvu7rAvAP//APv/3xH//xL3P27Nlbueqqq6666qqrrvr3oxw/fpyrrrrqqquuuuqq/wiHh4e7f/qnf/ozAC/+4i/+2jfeeCOPfvSjOXfuHPv7+/x/IomrXjjb/H93ww038FZv9VY85CEPAeBHfuRHPvvrv/7r34errrrqqquuuuqq/zjoQQ96EFddddVVV1111VX/0c6cOfOgz/3cz/3ta6655sEAf/Znf8af//mfc9V/LEn8R7PNVf/5Xv7lX55XeIVXAOAf/uEffvtHfuRHPucf/uEffpurrrrqqquuuuqq/1iU48ePc9VVV1111VVXXfUf7ejo6NKf/dmf/czh4eHui7/4i7/2jTfeyKMf/WjOnj3LwcEBV131/4FtntsNN9zAW7/1W/OQhzwEgB/5kR/57K//+q9/n7Nnz97KVVddddVVV1111X889KAHPYirrrrqqquuuuqq/0zXXHPNgz/ncz7nt6655poHA/zZn/0ZT3jCE9jf3+e5SeKqq/43sc2LYnt7m0c/+tG8wiu8AgD33XffrV//9V//Pv/wD//w21x11VVXXXXVVVf956EcP36cq6666qqrrrrqqv9Mh4eHu3/2Z3/2M4eHh7sv/uIv/to33ngjD33oQ5nNZtx11128qCRx1VX/HWzz7/EKr/AKvMmbvAk33ngjAD/yIz/y2V/6pV/6NmfPnr2Vq6666qqrrrrqqv9c6EEPehBXXXXVVVddddVV/1WuueaaB3/4h3/4d73Yi73YawPs7+/zG7/xG9x11138R5DEVVf9a9nmP8P29jav+7qvy4033gjAP/zDP/z213/917/PfffddytXXXXVVVddddVV/zUox48f56qrrrrqqquuuuq/yuHh4e5v/dZvfc/Zs2ef8eAHP/ilT548efzGG29kNpuxv7/PMAz8Z5PEVf8/2Oa/w/b2Ni/1Ui/Fm7zJm7Czs8N9991363d913d9zHd913d9zOHh4S5XXXXVVVddddVV/3XQgx70IK666qqrrrrqqqv+O1xzzTUPfu3Xfu33eqd3eqfPBtjf3+cJT3gCf/Znf8b/FJK46n8W2/xP9gqv8Aq8wiu8Avf7kR/5kc/+0R/90c/hqquuuuqqq6666r8HetCDHsRVV1111VVXXXXVf6drrrnmwe/4ju/4Wa/zOq/z3gD7+/s84QlP4M/+7M/430wSV71gtvm/5IYbbuD1Xu/12N7eBuAf/uEffvvrv/7r3+e+++67lauuuuqqq6666qr/PuhBD3oQV1111VVXXXXVVf8TvNiLvdhrf/iHf/h3XXPNNQ8G2N/f5zd+4ze46667uOpFI4l/C9tc9W+zvb3N677u63LjjTcCcN9999369V//9e/zD//wD7/NVVddddVVV1111X8/9KAHPYirrrrqqquuuuqq/ymuueaaB7/2a7/2e73O67zOe19zzTUPBtjf3+c3fuM3uOuuu7jqqv8ptre3ed3XfV1uvPFGAO67775bf+u3fuu7f/RHf/RzuOqqq6666qqrrvqfAz3oQQ/iqquuuuqqq6666n+aa6655sGv/dqv/V7v9E7v9Nk80xOe8ASe8IQncNddd3HVVf9dtre3eYVXeAUe/ehHA3Dffffd+lu/9Vvf/aM/+qOfw1VXXXXVVVddddX/POhBD3oQV1111VVXXXXVVf9TXXPNNQ9+7dd+7fd6p3d6p8/mmZ7whCfwhCc8gbvuuourrvqvsrW1xSu+4ivy6Ec/mvv9yI/8yGf/6I/+6Odw1VVXXXXVVVdd9T8XetCDHsRVV1111VVXXXXV/3Rnzpx50Ou8zuu89zu90zt9Ns+0v7/Pb/zGb3DnnXciiauu+vewzfOzvb3N673e63HjjTcCcN999936W7/1W9/9oz/6o5/DVVddddVVV1111f986EEPehBXXXXVVVddddVV/1tcc801D37t137t93qnd3qnz+aZ9vf3+dM//VOe8IQn8C+RxFX/v9jm3+IVXuEVeMxjHsP29jYA9913362/9Vu/9d0/+qM/+jlcddVVV1111VVX/e+BHvSgB3HVVVddddVVV131v80111zz4Nd+7dd+r9d5ndd572uuuebBAPv7+zzhCU/gT//0T/mPIImr/meyzX+G7e1tHv3oR/OKr/iK3O++++679bd+67e++0d/9Ec/h6uuuuqqq6666qr/fdCDHvQgrrrqqquuuuqqq/63uuaaax78Yi/2Yq/9Oq/zOu/1Yi/2Yq8NsL+/z5133skTnvAE7rzzTv6rSeKqF41t/ifY3t7m0Y9+NK/4iq/I/e67775bf+u3fuu7f/RHf/RzuOqqq6666qqrrvrfCz3oQQ/iqquuuuqqq6666v+CF3uxF3vt13md13mv13md13lvnml/f58//dM/5QlPeAL/F0niP5pt/j/Y3t7m0Y9+NI95zGPY3t7mfvfdd9+tP/qjP/o5v/Vbv/XdXHXVVVddddVVV/3vhx70oAdx1VVXXXXVVVdd9X/JNddc8+DXfu3Xfq93eqd3+myeaX9/nzvvvJMnPOEJ3HnnnVz1/9f29jaPfvSjecVXfEUA7rvvvlsBfuu3fuu7f/u3f/t77rvvvlu56qqrrrrqqquu+r8DPehBD+Kqq6666qqrrrrq/6JrrrnmwS/2Yi/22q/zOq/zXi/2Yi/22jzT/v4+T3jCE3j84x/P/v4+V/3ft729zaMf/Wge85jHsL29zf3uu+++W3/rt37ru3/0R3/0c7jqqquuuuqqq676vwk96EEP4qqrrrrqqquuuur/umuuuebBr/3ar/1er/M6r/Pe11xzzYN5pv39fR7/+MfzZ3/2Z1z1f8v29jaPfvSjufHGG7nxxhu533333Xfrj/7oj37OP/zDP/z2fffddytXXXXVVVddddVV/7ehBz3oQVx11VVXXXXVVVf9f3HNNdc8+MyZMw9+ndd5nfd6ndd5nffmmfb399nf3+fxj388d955J/v7+1z1v8/29jaPfvSjuemmm7jhhht4oB/5kR/57LNnzz7jt37rt76bq6666qqrrrrqqv8/0IMe9CCuuuqqq6666qqr/j+65pprHvxiL/Zir/1iL/Zir/U6r/M6780D7O/v8/jHP5677rqLO++8k6v+59re3ubRj340N954IzfeeCMP9A//8A+//fd///e//aM/+qOfw1VXXXXVVVddddX/T+hBD3oQV1111VVXXXXVVf/fXXPNNQ9+sRd7sdd6sRd7sdd+ndd5nffmAfb397nzzju58847ecITnsBV/722t7fZ2dnhhhtu4BVf8RV5bv/wD//w23//93//2z/6oz/6OVx11VVXXXXVVVddhR70oAdx1VVXXXXVVVddddWzXXPNNQ9+sRd7sdd+sRd7sdd6ndd5nffmAfb29tjf3+fOO+/kzjvv5M477wRAElf9+9jmBdne3uYxj3kMN954IzfeeCMPdN999936W7/1W9999uzZZ/zWb/3Wd3PVVVddddVVV1111QOhBz3oQVx11VVXXXXVVVdd9YJdc801D37t137t93rxF3/x136xF3ux1+YB9vb22N/f58477+TOO+/kzjvv5D+SJP4nsc1/tu3tbQAe85jHcOONN3LjjTfy3O67775bf+u3fuu7/+Ef/uF3/uEf/uG3ueqqq6666qqrrrrqBUEPetCDuOqqq6666qqrrrrqRXPNNdc8+MVe7MVe68Ve7MVe+5prrnnwi73Yi702D7C3twfAnXfeyZ133sn+/j533nknV71g29vbPOYxjwHgxhtv5MYbb+S53Xfffbf+1m/91nefPXv21t/6rd/6Hq666qqrrrrqqquuelGhBz3oQVx11VVXXXXVVVdd9W9zzTXXPPjFXuzFXvvFXuzFXuuaa6558Iu92Iu9Ns9lb2+P/f199vb2uPPOO9nf3+fOO+/k/5vt7W0AHvOYxwBw4403cuONN/L83Hfffbf+1m/91ncD/OiP/ujncNVVV1111VVXXXXVvxV60IMexFVXXXXVVVddddVV/zGuueaaB585c+bB11xzzYNf7MVe7LWuueaaB7/Yi73Ya/N87O3tsb+/z/7+PnfccQf7+/sA3Hnnnfxvtr29zc7ODjfeeCMAN954IzfeeCMvyH333XfrP/zDP/z2fffdd+s//MM//M4//MM//DZXXXXVVVddddVVV/1HQQ960IO46qqrrrrqqquuuuo/zzXXXPPgM2fOPPiaa6558Iu92Iu91jXXXPPgF3uxF3ttXoj9/X329vbY29sD4M477wRgf38fgL29Pfb39/mvtL29DcDOzg7b29vs7OwAsL29zc7ODjfeeCMvzH333XcrwD/8wz/89n333XfrP/zDP/zOP/zDP/w2V1111VVXXXXVVVf9Z0IPetCDuOqqq6666qqrrrrqv94111zz4DNnzjz4mmuuedCLvdiLvfY111zz4DNnzjz4mmuueTAvov39fWwDsL+/D8D+/j62eaD9/X1ekO3tbe4nie3tbQC2t7cB2NnZ4V/jvvvuu/Xs2bO3/v3f//1vA/zDP/zD7/zDP/zDb3PVVVddddVVV1111X8H9KAHPYirrrrqqquuuuqqq/5nOXPmzIOuueaah1xzzTUPBnixF3ux1wK45pprHgxw5syZB19zzTUP5r/QfffddyvA2bNnb73vvvtuve+++24FOHv27DPuu+++W//hH/7ht7nqqquuuuqqq6666n8a9KAHPYirrrrqqquuuuqqq/53OnPmzIMkCeDMmTMPBrjmmmseBIgHOHPmzIN4Ac6ePfsMns333XffM3ims2fP3nrffffdylVXXXXVVVddddVV/1uhBz3oQVx11VVXXXXVVVddddVVV1111VVXXXXVVf8nUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/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/iHwHomR+62Xj2mwAAAABJRU5ErkJggg==) ```js -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -108,7 +108,7 @@ part002 = startSketchOn(part001, 'end') ![Rendered example of revolve 3](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAEdV0lEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrXmSv8zqv894f/uEf/l1c9Z/q67/+69/nH/7hH377vvvuu5WrrrrqqquuuurfAz3oQQ/iqquuuuqqq6666qqrrvqXvc7rvM57f/iHf/h3AfzVX/0V/1/Z5j/TiRMneMhDHsI//MM//PZnfuZnvg5XXXXVVVddddW/B5Wrrrrqqquuuuqqq6666l/tr/7qr7j11lv5t7DN/ye2+dc4fvw47/d+78eL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kMT9JHG/8+fPA3DzzTfzH00SkpCEJCQhCUlIQhKSeFHt7e1x++23s1gsOH36NBGBJCKCiEASEUFEIAlJRASSiAgiAklEBJKQREQgiYggIpBERCAJSUQEkogIJCEJSUgiIpBERCCJiEASkpCEJCICSUQEJ06cAOC3fuu3vpurrrrqqquuuur5Ibjqqquuuuqqq56v++6779bf+q3f+u5Tp07xKq/yKtjGNvezzf1scz/b3M8297PN/WxzP9vczzYAtrENgG1sA2Cb+9nmfra5n20e+tCHAnDHHXcgCUlIQhL/E918880AnD17lufHNv/RbPOfTRIviCReGElI4kUlCUlI4r+SJCQhiReVJCTxgkjiBZHEc5PECyOJf4kkXhhJ3E8SkrifJCQBIAlJ/NEf/REAN998M/9dJCEJSUhCEpKQhCQkcb+///u/B+BhD3sYkogIIgJJRAQRgSQigohAEhFBRCCJiEASEUFEIImIQBKSiAgkERFIQhIRgSQiAklEBJKQhCQkERFIIiKQREQgCUlI4sSJE/R9z2/91m99N1ddddVVV1111QtCcNVVV1111VVXvUA/+qM/+jkAb/EWb8H9bHM/29zPNvezzf1scz/b3M8297PN/WxzP9vczzYAtrENgG3uZ5v7vfzLvzwAt99+O/8b3HzzzQCcPXuW+9nm+bHN/xS2eUEk8YJI4oWRxItKEpL4n0ASknhRSeIFkcQLIonnJokHksQDSeJ+krifJJ6bJAAk8dwk8YJI4n7nz58HYGdnh//JJCGJ22+/HYDFYkFEEBFIIiKICCQREUQEkogIJCGJiEASEUFEIImIQBIRQUQgiYhAEhGBJCQREUgiIpBERCCJiEASkpCEJCICSUQEkogIjh8/DsBv/dZvfQ9XXXXVVVddddULQnDVVVddddVVV71A9913363/8A//8NunTp3ikY98JPezjW0AbGMbANvYBsA2tgGwjW0AbGMbANvYBsA2tgGwzf1scz/b3M82ALaxDYBtXv7lXx6A22+/nb29Pf432NnZAeDo6Ij/CLb57ySJF0QSL4wkXhSSkMT/RJKQxItCEi+IJP49JPGvIYnnRxIviCQeSBKSuHDhAgDHjh3j2LFj/E+3t7fH7bffzmKx4OTJk0giIogIJBERRASSiAgkERFEBJKICCICSUQEkogIIgJJRASSiAgkERFE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44477uCP//iP2dvb499LElf972ab/0w7Ozs89rGP5ZVf+ZUBuO+++279rd/6re/+0R/90c/hqquuuuqqq6666n829KAHPYirrrrqqquuuuqq/w2uueaaB7/2a7/2e73TO73TZwPs7e3xuMc9jsc97nHs7e3xX00SV/3Hss3/JDs7Ozz2sY/llV/5lbnfj/zIj3z2j/7oj34OV1111VVXXXXVVf87oAc96EFcddVVV1111VVX/W9yzTXXPPi1X/u13+ud3umdPhtgb2+Pxz3ucTzucY9jb2+P/wsk8T+Zbf4v29nZ4bGPfSyv/MqvzP1+5Ed+5LN/+7d/+3vuu+++W7nqqquuuuqqq6763wM96EEP4qqrrrrqqquuuup/ozNnzjzond7pnT77dV7ndd4bYG9vjzvuuIM//uM/Zm9vj6uu+tfa2dnhsY99LK/8yq/M/f7hH/7ht7/u677uvc+ePfsMrrrqqquuuuqqq/73QQ960IO46qqrrrrqqquu+t/smmuuefA7vuM7ftbrvM7rvDfA3t4ed9xxB4973OO44447uOqqf8nOzg6PfexjeeVXfmXu9w//8A+//fVf//Xvc999993KVVddddVVV1111f9e6EEPehBXXXXVVVddddVV/xdcc801D37t137t93qnd3qnz+aZ9vb2+OM//mMe97jHcdVVz21nZ4dXfuVX5rGPfSz3+5Ef+ZHP/u3f/u3vue+++27lqquuuuqqq6666n8/9KAHPYirrrrqqquuuuqq/0uuueaaB7/2a7/2e73TO73TZ/NMe3t7PO5xj+OP//iPuer/t52dHR772Mfy2Mc+lp2dHQDuu+++W3/rt37ru3/0R3/0c7jqqquuuuqqq676vwU96EEP4qqrrrrqqquuuur/omuuuebBr/3ar/1er/M6r/Pe11xzzYMB9vb2uOOOO3jc4x7HHXfcwVX/f+zs7PDYxz6WV37lV+Z+9913362/9Vu/9d0/+qM/+jlcddVVV1111VVX/d+EHvSgB3HVVVddddVVV131f9mZM2ce9OIv/uKv82Iv9mKv9Tqv8zrvzTPt7e3xuMc9jj/+4z/mqv+bdnZ2eMxjHsOLvdiLsbOzw/3uu+++W3/0R3/0c37rt37ru7nqqquuuuqqq676vw096EEP4qqrrrrqqquuuur/i2uuuebBr/3ar/1e7/RO7/TZPNPe3h533HEHt99+O4973OMAkMRV/zPZ5l9y00038WIv9mI89rGP5X733Xffrb/1W7/13b/927/9Pffdd9+tXHXVVVddddVVV/3/gB70oAdx1VVXXXXVVVdd9f/NmTNnHvTiL/7ir/NiL/Zir/U6r/M6780z7e3tcccdd/AP//AP3HHHHfx7SOKq52Sb/yw7Ozs89rGP5VVe5VW433333XcrwI/+6I9+zm/91m99N1ddddVVV1111VX//6AHPehBXHXVVVddddVVV/1/ds011zz4xV7sxV77dV7ndd7rxV7sxV6bZ9rb2+OOO+7g9ttv53GPexxX/c9z0003cdNNN/Eqr/Iq3O++++67FeC3fuu3vvtHf/RHP4errrrqqquuuuqq/9/Qgx70IK666qqrrrrqqquuuuKaa6558Gu/9mu/14u/+Iu/9ou92Iu9Ns+0t7fHHXfcwe23387jHvc4rvrvsbOzw2Mf+1iOHTvGYx/7WB7ovvvuu/W3fuu3vvtHf/RHP4errrrqqquuuuqqq+6HHvSgB3HVVVddddVVV1111fO65pprHvzar/3a7/XiL/7ir/1iL/Zir80D7O3t8Q//8A/ccccd3HHHHVz1n2dnZ4fHPvax3Hzzzdx000080H333Xfrb/3Wb333b//2b3/PfffddytXXXXVVVddddVVVz039KAHPYirrrrqqquuuuqqq164a6655sEv9mIv9tqv8zqv814v9mIv9to8wN7eHnt7e9x+++3ccccd3HHHHVz1b7ezs8NjH/tYbr75Zm666Sae2z/8wz/89t///d//9o/+6I9+DlddddVVV1111VVX/UvQgx70IK666qqrrrrqqquuetGdOXPmQddcc81DXud1Xue9rrnmmge/2Iu92GvzAHt7e+zt7bG3t8c//MM/cMcdd3DV87ezs8POzg433XQTN998MzfddBPP7b777rv1t37rt777H/7hH37nH/7hH36bq6666qqrrrrqqqv+NdCDHvQgrrrqqquuuuqqq676t7vmmmse/GIv9mKv9WIv9mKvfc011zz4xV7sxV6b57K3t8cdd9zB7bffzt7eHnt7e+zt7fH/yc7ODjs7O9x0000cO3aMxz72sTy3++6771aA3/qt3/pugB/90R/9HK666qqrrrrqqquu+vdAD3rQg7jqqquuuuqqq6666j/ONddc8+AXe7EXe+0zZ8486MVf/MVf+8Ve7MVem+djb2+Pvb099vb2uP3229nb22Nvb4+9vT3+N9vZ2WFnZ4ebbroJgJtvvpmbbrqJ5+e+++67FeC3fuu3vvsf/uEffucf/uEffpurrrrqqquuuuqqq/4joQc96EFcddVVV1111VVXXfWf65prrnnwi73Yi732i73Yi73WNddc8+AXe7EXe21egL29PQD29vbY29vj0qVL7O3tsbe3B8De3h57e3v8d9jZ2QFgZ2eHnZ0ddnZ2ALj55pvZ2dlhZ2eHF+S+++679ezZs7f+/d///W8D/MM//MPv/MM//MNvc9VVV1111VVXXXXVfyb0oAc9iKuuuuqqq6666qqr/utdc801Dz5z5syDr7nmmge92Iu92Gtfc801Dz5z5syDr7nmmgfzItjb2wNgb28PgL29Pe536dIl7re3t8cLs7OzwwMdO3YMgJ2dHQB2dnbY2dnhRXXffffdevbs2Vv//u///rcB/uEf/uF3/uEf/uG3ueqqq6666qqrrrrqvwN60IMexFVXXXXVVVddddVV/3Ncc801D7bta6655iHXXHPNg8+cOfOga6655sHXXHPNgwFe7MVe7LX5b3LffffdCnD27Nlb77vvvlvvu+++WwH+4R/+4Xfuu+++p589e/YZXHXVVVddddVVV131Pwl60IMexFVXXXXVVVddddVV//tcc801D7bta6655iEA11xzzYO5wmfOnHkwz3TNNdc8mBfivvvuu5UHOHv27DMA7rvvvlsB7rvvvqefPXv2GVx11VVXXXXVVVdd9b8RetCDHsRVV1111VVXXXXVVVddddVVV1111VVXXfV/EpWrrrrqqquuuuqqq6666qqrrrrqqquuuur/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+r+IfAf95/GzH9kvUAAAAAElFTkSuQmCC) ```js -box = startSketchOn('XY') +box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 20]) |> line(end = [20, 0]) @@ -124,7 +124,7 @@ sketch001 = startSketchOn(box, "END") ![Rendered example of revolve 4](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAGrnklEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8V5fjx41x11VVXXXXVVf+xXuzFXuy13+md3umzNjc3T9x6661/zVVXXXXVVVddddVVV1111X8P9KAHPYirrrrqqquuuuo/xou92Iu99od/+Id/F8A111zzYID77rvvVp7p7Nmzt/JM9913360803333Xfr2bNnn8Ez3XfffbcCnD179tb77rvvVq666qqrrrrqqquuuuqqq/5t0IMe9CCuuuqqq6666qp/vxd7sRd77Q//8A//rsPDwwf/xV/8BQ904sQJHuj48ePc78SJEwCcOHECgBMnTvDc7rvvvlsBzp49e+t99913K8A//MM//M599913K8A//MM//DZXXXXVVVddddVVV1111VXPCz3oQQ/iqquuuuqqq6769/umb/qmp19zzTUP/qqv+ip2d3d5YWzzQLa5n22OHz8OwPHjxwE4fvw4J06c4Pjx4wCcOHGCEydOcOLECe5333333QrwD//wD78N8A//8A+/c9999936D//wD7/NVVddddVVV1111VVXXfX/FZWrrrrqqquuuurf7cVe7MVe+5prrnnwM57xDA4ODqi18oLY5rnZ5oEODg4AODg4wDa33347ALYBsA3AsWPHADh+/DjHjx9/8EMe8hB2dnbe+8SJE7zO67zOe/NM9913361nz5699b777rv1H/7hH37nvvvuu/Uf/uEffpurrrrqqquuuuqqq6666v869KAHPYirrrrqqquuuurf55u+6Zuefs011zz4+7//+7ntttt4QWzz/NjmudnmgWwDYJv72QbANgC2sQ2AbY4fP87x48c5fvw4D3nIQzhx4gQPfehDud9999136z/8wz/89j/8wz/8zn333XfrP/zDP/w2V1111VVXXXXVVVddddX/JehBD3oQV1111VVXXXXVv93rvM7rvPeHf/iHfxfAF3/xF/Oiss0LYpsHss39bHM/29zPNgC2AbANgG1sA2Ab2xw/fpwHP/jBADzkIQ/hoQ99KCdOnADgvvvuu/Uf/uEffvsf/uEffue+++679R/+4R9+m6uuuuqqq6666qqrrrrqfyv0oAc9iKuuuuqqq6666t/uwz/8w7/rxV/8xd/7z/7sz/j7v/97/rVs8/zY5oFs80C2uZ9t7mcbANsA2AbANgC2sQ2AbWxjm+PHj3Ps2DFOnDjBy77sy/LQhz4UgPvuu+9WgH/4h3/47d/5nd/5nb/7u7/7bq666qqrrrrqqquuuuqq/y3Qgx70IK666qqrrrrqqn+7n/iJnzDAt37rt7K3t8e/lm2eH9s8N9s8kG3uZ5v72QbANvezDYBtAGxjGwDb2MY2tgGwzbFjx3jIQx7CQx7yEI4fP87DHvYwLl68yDiOt/7DP/zDb//DP/zD7/zWb/3Wd3PVVVddddVVV1111VVX/U+FHvSgB3HVVVddddVVV/3bvM7rvM57f/iHf/h37e3t8e3f/u28qGzzwtjm+bHNA9nmfra5n23uZxsA29zPNgC2AbCNbQBsYxvbANjGNrY5fvw4D37wg3nIQx7C8ePHedjDHsbFixe59957b/37v//73/7bv/3b7/mHf/iH3+aqq6666qqrrrrqqquu+p+CylVXXXXVVVdd9W/2Yi/2Yq8FcMcddxARPD+2eW6SeH5sAyCJB7INgCTuZxtJ3M8297PN/WxzP9sA2AbANgC2AbANgG0AbGMb2wDs7+/zt3/7t/zN3/wNmcnx48d5yEMewkMe8pAHv97rvd57v/3bv/1733fffbc+4QlPuPVv/uZvfvt3f/d3fyczf5urrrrqqquuuuqqq6666r8LetCDHsRVV1111VVXXfVv803f9E1Pv+aaax78a7/2azzucY/jX8s2L4xtnpttnptt7mebB7LN/WwDYJv72QbANgC2AbCNbQBsA2Ab29jGNraxjW1sc/z4cR784Afzsi/7sjzsYQ/j4sWLjON46+/+7u/+9t/+7d9+zz/8wz/8NlddddVVV1111VVXXXXVfyX0oAc9iKuuuuqqq6666t/mJ37iJwzwdV/3dQDY5t/DNs+PbZ4f2zyQbR7INvezzf1sA2Cb+9kGwDYAtgGwDYBtbANgG9sA2MY2trGNbTKT48eP85CHPISHPOQhvNzLvRwA9913362/+7u/+9t/93d/9zt///d//91cddVVV1111VVXXXXVVf/Z0IMe9CCuuuqqq6666qp/vdd5ndd57w//8A//rjvvvJOf+qmf4kVhmxeFbV4Q2zw32zyQbR7INvezzf1sA2Cb+9kGwDYAtgGwDYBtbANgG9sA2MY2trGNbWxjm2PHjnH8+HEe/OAH8/Iv//KcOHGC++6779Z/+Id/+O3f/u3f/p2///u//26uuuqqq6666qqrrrrqqv8MVK666qqrrrrqqn+X/f19JPGikMT9bPOCSALANs9NErZ5IEnY5n6SALANgCRsAyAJ2wBIwjaSALCNJABsA2AbANsA2AbANrYBsI1tAGxjG9vYxjb7+/vs7e3xjGc8g9/6rd/i+PHjvMzLvMyDH/rQh77353zO57z3fffd91m/+7u/+9t//dd//TuPf/zjv5urrrrqqquuuuqqq6666j8KetCDHsRVV1111VVXXfWv9+Ef/uHf9eIv/uLv/Xd/93c84QlP4N/DNi+MbZ4f2zw32zyQbR7INvezzf1scz/bANgGwDYAtgGwDYBtAGwDYBvbANjGNraxjW1sYxvb2CYzOXbsGC/7si/Ly73cy3Hy5Enuu+++W3/v937vt3/913/9e+67777f5qqrrrrqqquuuuqqq67690APetCDuOqqq6666qqr/vW+6Zu+6enXXHPNg7//+7+f/f19/iPY5gWxzfNjm+dmmweyzQPZ5n62uZ9t7mcbANvczzYAtgGwDYBtAGxjGwDb2AbANraxjW1sYxvb2CYzOX78OMeOHeNlX/ZlefmXf3kuXrzI4x//+Fv/+q//+rt/7dd+7Xsi4lauuuqqq6666qqrrrrqqn8t9KAHPYirrrrqqquuuupf7yd+4icM8C3f8i28MLb517DNC2Kb58c2z802D2SbB7LN/WxzP9vczzYAtrmfbQBsA2AbANsA2AbANrYBsI1tbANgG9vYxja2sU1mYptjx47x4Ac/mJd7uZfjYQ97GPfdd9+tv/u7v/vbf/3Xf/07j3/847+bq6666qqrrrrqqquuuupFhR70oAdx1VVXXXXVVVf961xzzTUP/qZv+qan7+/v80M/9EO8qGzzorDNC2Kb58c2D2Sb52abB7LN/WxzP9vczzYAtrmfbQBsA2AbANsA2AbANgC2sQ2AbWxjG9sA2MY2mYltbGObzOTYsWO87Mu+LC/3ci/HyZMnue+++2798R//8e/+jd/4je8BbuWqq6666qqrrrrqqquuemEox48f56qrrrrqqquu+td5xVd8xbd+xVd8xbd+xjOewTOe8QwkIQlJSEISkpCEJCQhCUlIAkASkpCEJCQhCUlIQhIAkpCEJCQhCQBJSEISkpAEgCQkIQkASUhCEgCSkIQkACQh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/STxQJL415DE/SQBIIn7SeJFZZvnZhsA29jGNs/NNraxzf1sA2AbANvczzbPzTb/WrZ5brZ5INsA2MY2trENgG1sYxvbZCaZydu//dsf/4d/+IffOXv27K1cddVVV1111VVXXfXcKMePH+eqq6666qqrrrrqv9o4jn+9u7v7PRsbG29daz0OIInnJokXlSReEEncTxIAkrifJO4nCQBJSAJAEveThCTuJwlJvCgkcT9J3E8S95PEi8o2D2QbANvczza2sY1tHsg2tgGwDYBtAGxzP9u8MLZ5UdnmgWzzQLZ5fmxjG9vYJjM5ODjgkY98JMCt//AP//A7XHXVVVddddVVV1313Aiuuuqqq6666qqr/pu01m697bbbXufw8PDWaZqYponWGplJZmKbzMQ2trGNbWxjG9vYxja2sY1tbGMbANvYxjYAtrENgG0AbGMbANvYBsA2tgGwzf1sYxsA29jGNg9kG9vYxja2AbCNbWyTmdjGNpmJbWyTmdjGNraxjW1sY5v72QbANs9NEg8kCUlI4oEkIQkASQBIAkAS95OEJF4QSUhCEpKQhCQk8dwkIYn7SUIS/xJJSEISkogIJPHjP/7jvM7rvM57c9VVV1111VVXXXXV80Nw1VVXXXXVVVdd9d+otXbr7bff/jp33333Z0/TRGuNzCQzyUxsk5nYxja2sY1tbGMb29jGNgC2sY1tAGxjG9sA2MY2ALa5n20AbGMbANvYBsA2tgGwjW3uZxvb2MY2z49tbGMb29jGNraxjW1sY5vMxDa2sY1tbANgG9s8kG1s8/xI4oEkIQlJ3E8SAJIAkASAJCRxP0lIQhIvKklIQhIPJIkHkgSAJAAkIQlJSEISkpCEJCQREVy4cIFrrrnmwddcc82Dueqqq6666qqrrrrquVGOHz/OVVddddVVV1111X8n27vjOD5jHMfdjY2N15YEgCQAJAEgiReFJB5IEg8kiftJ4n6SAJCEJAAkcT9J3E8SkrifJCTxryWJ+0nigSTx72EbANvY5n62sY1t7mcbANsA2AbANvezzb/ENpKwzQtjmweyzf1sA2Ab2wDYxjYAtrGNbVprHBwc8MhHPpJbb731Z86ePXsrV1111VVXXXXVVVc9EOX48eNcddVVV1111VVX/XezvbtarX5nmiY2NjZeWxIAknhukviXSOKBJCGJ+0nifpK4nyTu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uuqqq6666qqrrvq/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+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X8U/AhyEWa2NgYo8AAAAAElFTkSuQmCC) ```js -box = startSketchOn('XY') +box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 20]) |> line(end = [20, 0]) @@ -140,7 +140,7 @@ sketch001 = startSketchOn(box, "END") ![Rendered example of revolve 5](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAGus0lEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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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DYAkrrrqqquuuuqqfzUqV1111VVXXXXVVVdd9W8UEQ+++eabf2s+nz+4lEIphYggIogIJCGJiEASkpCEJCQhCQBJSEISAJKQBIAkJAEgCUkASEISAJKQhCQAJCEJAElIQhKSAJCEJCQhCUlIQhKSkIQkJCEJSUQEkpCEJCQREUhCEpKICCQhCUlIIiKQhCQkIQlJSEISkpCEJAAkIQkASQBI4n6SeH4kcT/b/Ets80C2eSDbPJBt7meb+9kGwDb3sw2AbQBsA2AbANsA2AbANgC2AbCNbQBsA2AbSVx11VVXXXXVVf9qVK666qqrrrrqqquuuurfoOu6177lllt+q+s6SimUUogIJBERSCIikIQkJCEJSUhCEpIAkIQkJAEgCUkASEISkgCQhCQAJCEJAElIQhIAkpCEJAAkIQlJSEISkpCEJCQhCUlIIiKQhCQkERFIQhIRgSQkERFIQhIRgSQkIYmIQBKSkEREIAlJSEISAJKQhCQAJAEgCQBJ3E8S/1q2eW62eW62uZ9tHsg297PN/WxzP9sA2AbANgC2AbANgG0AbANgGwDb2AbANrYBsA1ARHDVVVddddVVV/2rUbnqqquuuuqqq6666qp/pe3t7c+67rrrPrvWSimFiCAiiAgkERFIQhKSkIQkJCEJSUhCEpIAkIQkACQhCUkASEISAJKQBIAkJCEJAElIQhKSAJCEJCQhCUlIQhKSkIQkIgJJSEISkogIJBERSEISEYEkIgJJRASSkEREIImIQBKSiAgkIQlJSEISkpCEJCQhCQBJAEgCQBIPJIkXxjbPj22em20eyDYPZJsHss39bANgm/vZBsA297MNgG1sA2AbANsA2MY2ALYBsI1tAGxjG0lcddVVV1111VX/alSuuuqqq6666qqrrrrqX+HUqVPfderUqfeutRIRlFKICCQREUhCEhGBJCQhCUlIAkASkpCEJAAkIQkASUhCEgCSkASAJCQhCQBJSEISAJKQhCQkIQlJSEISkpCEJCQREUhCEpKICCQREUgiIpBERCCJiEASEYEkIgJJRASSiAgkERFIIiKQhCQkIQlJSEISkgCQhCQAJAEgiX8P2zw32zyQbR7INg9km/vZ5n62uZ9t7mcbANsA2AbANgC2AbCNbQBsYxsA29gGwDa2AbCNJK666qqrrrrqqn81KlddddVVV1111VVXXfUi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wjb3s839bGMbSdhGEraxDYAkbPOvZZt/j1orAGfPnr2Vq6666qqrrrrqRUXlqquuuuqqq6666qr/l6677rrfOnbs2GvXWokISilEBJKICCQREUhCEpKQhCQkIQlJSEISAJKQhCQkASAJSUhCEpKQhCQkIQlJSEISkpBERCAJSUQEEYEkIoKIICKICCKCiKCUQkRQSqGUQimFUgqlFEoplFIopVBKoZRCKYVaK6UUSilEBKUUSilEBKUUIoKIQBIRgSQkIQlJSAJAEs/NNpIAsM0DScI2AJL4l0gCQBL3k8T9JHE/Sbwwtrmfbe5nGwDbSMI2tnl+bCOJ52abq6666qqrrrrqfxwqV1111VVXXXXVVVf9v3Pdddf91rFjx1671kpEUEohIpBERCCJiEASkpCEJCQhCUlIQhKSAJCEJCQhCUkASEISkpCEJCQhCUlIQhKSkEREIAlJRASSiAgigoggIogIIoKIoJRCRFBKoZRCKYWIoNZKKYVSCqUUSinUWimlUEqhlEKtlVIKpRQiglIKEUEphYggIpBERCAJSUhCEgCSeG62AZCEbf61JHE/SQBIAkAS95PE/STxorLN/WwDYJsHso0k7mebB5KEba666qqrrrrqqv8VqFx11VVXXXXVVVdd9f/Kdddd91vHjh177VorEUEphYggIpBERCAJSUhCEpKQhCQkIQlJSEISAJKQhCQkIQkASUhCEpKQhCQkIQlJSCIikIQkIgJJRAQRQUQQEUQEEUFEEBGUUiilEBGUUiilUEqhlEKtlVIKpRRqrZRSqLVSSqGUQimFWisRQSmFUgoRQSmFiEASEYEkIgJJAEgCQBIPZBsASdjmXyKJ5yYJAEkASAJAEveTBIAkHkgSz80297MNgCRscz/bSALANgCSsM0LYhvb2MY2trGNbWxjG9vYxja2sY1tMhPb2MY2AJkJgG1sYxvb2MY2trFNrRWA++6771auuuqqq6666qoXFZWrrrrqqquuuuqqq/7fuO66637r2LFjr11rJSIopRARRASSiAgkIQlJSEISkpCEJCQhCUlIAkASkpCEJCQhCQBJSEISkpCEJCQREUhCEpKICCQREUQEkogIIoKIoJRCRFBKISIopVBKoZRCKYVSCqUUaq2UUqi1Ukqh1kophVorpRRKKZRSKKVQSqGUQkQQEUQEEYEkIgJJSAJAEv8S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2Oa/i23+P5OEJCTxX0kSkpDEfwVJ/FeTxL+GJP4zSOK/09bWFgD33XffrVx11VVXXXXVVf9aBFddddVVV1111b/a2bNnbwXY2tri38I2tvn3so1t/iPY5t/LNv8etrnq30cS/1UkIYn/CSQhif9skvi3ksRV/zabm5sAnD179lauuuqqq6666qp/LYKrrrrqqquuuuq/jW3+I9jmP4Jt/jezzb+Vba560UhCEv8TSUISkvjPIol/K0n8a0niqquuuuqqq6666t+B4Kqrrrrqqquu+le77777bgXY2tri38s2/xFs8x/BNv8etvn3sM1V/zaS+M8kCUn8byEJSfxnkMS/lST+M0niRSWJ/w22trYAuO+++27lqquuuuqqq6761yK46qqrrrrqqqv+Te67775bATY3N/n3so1t/r1s8x/BNv8etvn3sM2/lW2u+o8nif+tJCGJ/2iS+K8iif8tJPEfaXNzE4D77rvvVq666qqrrrrqqn8Lgquuuuqqq6666t/k7NmztwJsbW1hm/8Itvn3ss1/BNv8e9jmfxvb/HeQxL+XJP4zSEIS/xdIQhL/kSTxbyGJq140W1tbAJw9e/ZWrrrqqquuuuqqfwuCq6666qqrrrrqP4RtbPPvZZt/L9vY5t/LNv8etvm3ss2/lW2u+veTxP9FkpDEfxRJ/FtI4l9DEi8qSfxHk8R/h83NTQDuu+++W7nqqquuuuqqq/4tCK666qqrrrrqqn+T++6771aAra0tHsg2/162sc2/l23+vWzz72GbfyvbXPUvk8R/JElI4v86SUjiP4Ik/reSxFVXXXXVVVdd9X8awVVXXXXVVVdd9W9y33333QqwubnJc7PNfwTb/HvZ5t/LNlf9zySJ/0iS+P9GEv8RJPGvJYl/DUm8qCTxf8HW1hYA9913361cddVVV1111VX/FgRXXXXVVVddddW/ydmzZ58BsLW1xfNjG9v8e9nm38s2/162+beyzb+Vbf4tbPNvYZv/ryTx/5UkJPHvJYl/LUn8a0ji/5PNzU0Azp49+wyuuuqqq6666qp/C4Krrrrqqquuuurf5L777rsVYGtrixfGNv9etvn3ss2/l23+rWxz1fOSxL+VJP4jSEISV4EkJPHvIYl/LUn8Z5DEi0ISLwpJXHXVVVddddVV/+sQXHXVVVddddVV/+ls8+9lm38v2/xvZJur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ddVVV1111VX/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+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4p/BM+chmjnHublAAAAAElFTkSuQmCC) ```js -box = startSketchOn('XY') +box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 20]) |> line(end = [20, 0]) @@ -156,7 +156,7 @@ sketch001 = startSketchOn(box, "END") ![Rendered example of revolve 6](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAGus0lEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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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DYAkrrrqqquuuuqqfzUqV1111VVXXXXVVVdd9W8UEQ+++eabf2s+nz+4lEIphYggIogIJCGJiEASkpCEJCQhCQBJSEISAJKQBIAkJAEgCUkASEISAJKQhCQAJCEJAElIQhKSAJCEJCQhCUlIQhKSkIQkJCEJSUQEkpCEJCQREUhCEpKICCQhCUlIIiKQhCQkIQlJSEISkpCEJAAkIQkASQBI4n6SeH4kcT/b/Ets80C2eSDbPJBt7meb+9kGwDb3sw2AbQBsA2AbANsA2AbANgC2AbCNbQBsA2AbSVx11VVXXXXVVf9qVK666qqrrrrqqquuuurfoOu6177lllt+q+s6SimUUogIJBERSCIikIQkJCEJSUhCEpIAkIQkJAEgCUkASEISkgCQhCQAJCEJAElIQhIAkpCEJAAkIQlJSEISkpCEJCQhCUlIIiKQhCQkERFIQhIRgSQkERFIQhIRgSQkIYmIQBKSkEREIAlJSEISAJKQhCQAJAEgCQBJ3E8S/1q2eW62eW62uZ9tHsg297PN/WxzP9sA2AbANgC2AbANgG0AbANgGwDb2AbANrYBsA1ARHDVVVddddVVV/2rUbnqqquuuuqqq6666qp/pe3t7c+67rrrPrvWSimFiCAiiAgkERFIQhKSkIQkJCEJSUhCEpIAkIQkACQhCUkASEISAJKQBIAkJCEJAElIQhKSAJCEJCQhCUlIQhKSkIQkIgJJSEISkogIJBERSEISEYEkIgJJRASSkEREIImIQBKSiAgkIQlJSEISkpCEJCQhCQBJAEgCQBIPJIkXxjbPj22em20eyDYPZJsHss39bANgm/vZBsA297MNgG1sA2AbANsA2MY2ALYBsI1tAGxjG0lcddVVV1111VX/alSuuuqqq6666qqrrrrqX+HUqVPfderUqfeutRIRlFKICCQREUhCEhGBJCQhCUlIAkASkpCEJAAkIQkASUhCEgCSkASAJCQhCQBJSEISAJKQhCQkIQlJSEISkpCEJCQREUhCEpKICCQREUgiIpBERCCJiEASEYEkIgJJRASSiAgkERFIIiKQhCQkIQlJSEISkgCQhCQAJAEgiX8P2zw32zyQbR7INg9km/vZ5n62uZ9t7mcbANsA2AbANgC2AbCNbQBsYxsA29gGwDa2AbCNJK666qqrrrrqqn81KlddddVVV1111VVXXfUi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wjb3s839bGMbSdhGEraxDYAkbPOvZZt/j1orAGfPnr2Vq6666qqrrrrqRUXlqquuuuqqq6666qr/l6677rrfOnbs2GvXWokISilEBJKICCQREUhCEpKQhCQkIQlJSEISAJKQhCQkASAJSUhCEpKQhCQkIQlJSEISkpBERCAJSUQEEYEkIoKIICKICCKCiKCUQkRQSqGUQimFUgqlFEoplFIopVBKoZRCKYVaK6UUSilEBKUUSilEBKUUIoKIQBIRgSQkIQlJSAJAEs/NNpIAsM0DScI2AJL4l0gCQBL3k8T9JHE/Sbwwtrmfbe5nGwDbSMI2tnl+bCOJ52abq6666qqrrrrqfxwqV1111VVXXXXVVVf9v3Pdddf91rFjx1671kpEUEohIpBERCCJiEASkpCEJCQhCUlIQhKSAJCEJCQhCUkASEISkpCEJCQhCUlIQhKSkEREIAlJRASSiAgigoggIogIIoKIoJRCRFBKoZRCKYWIoNZKKYVSCqUUSinUWimlUEqhlEKtlVIKpRQiglIKEUEphYggIpBERCAJSUhCEgCSeG62AZCEbf61JHE/SQBIAkAS95PE/STxorLN/WwDYJsHso0k7mebB5KEba666qqrrrrqqv8VqFx11VVXXXXVVVdd9f/Kdddd91vHjh177VorEUEphYggIpBERCAJSUhCEpKQhCQkIQlJSEISAJKQhCQkIQkASUhCEpKQhCQkIQlJSCIikIQkIgJJRAQRQUQQEUQEEUFEEBGUUiilEBGUUiilUEqhlEKtlVIKpRRqrZRSqLVSSqGUQimFWisRQSmFUgoRQSmFiEASEYEkIgJJAEgCQBIPZBsASdjmXyKJ5yYJAEkASAJAEveTBIAkHkgSz80297MNgCRscz/bSALANgCSsM0LYhvb2MY2trGNbWxjG9vYxja2sY1tMhPb2MY2AJkJgG1sYxvb2MY2trFNrRWA++6771auuuqqq6666qoXFZWrrrrqqquuuuqqq/7fuO66637r2LFjr11rJSIopRARRASSiAgkIQlJSEISkpCEJCQhCUlIAkASkpCEJCQhCQBJSEISkpCEJCQREUhCEpKICCQREUQEkogIIoKIoJRCRFBKISIopVBKoZRCKYVSCqUUaq2UUqi1Ukqh1kophVorpRRKKZRSKKVQSqGUQkQQEUQEEYEkIgJJSAJAEv8S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2Oa/i23+P5OEJCTxX0kSkpDEfwVJ/FeTxL+GJP4zSOK/09bWFgD33XffrVx11VVXXXXVVf9aBFddddVVV1111b/a2bNnbwXY2tri38I2tvn3so1t/iPY5t/LNv8etrnq30cS/1UkIYn/CSQhif9skvi3ksRV/zabm5sAnD179lauuuqqq6666qp/LYKrrrrqqquuuuq/jW3+I9jmP4Jt/jezzb+Vba560UhCEv8TSUISkvjPIol/K0n8a0niqquuuuqqq6666t+B4Kqrrrrqqquu+le77777bgXY2tri38s2/xFs8x/BNv8etvn3sM1V/zaS+M8kCUn8byEJSfxnkMS/lST+M0niRSWJ/w22trYAuO+++27lqquuuuqqq6761yK46qqrrrrqqqv+Te67775bATY3N/n3so1t/r1s8x/BNv8etvn3sM2/lW2u+o8nif+tJCGJ/2iS+K8iif8tJPEfaXNzE4D77rvvVq666qqrrrrqqn8Lgquuuuqqq6666t/k7NmztwJsbW1hm/8Itvn3ss1/BNv8e9jmfxvb/HeQxL+XJP4zSEIS/xdIQhL/kSTxbyGJq140W1tbAJw9e/ZWrrrqqquuuuqqfwuCq6666qqrrrrqP4RtbPPvZZt/L9vY5t/LNv8etvm3ss2/lW2u+veTxP9FkpDEfxRJ/FtI4l9DEi8qSfxHk8R/h83NTQDuu+++W7nqqquuuuqqq/4tCK666qqrrrrqqn+T++6771aAra0tHsg2/162sc2/l23+vWzz72GbfyvbXPUvk8R/JElI4v86SUjiP4Ik/reSxFVXXXXVVVdd9X8awVVXXXXVVVdd9W9y33333QqwubnJc7PNfwTb/HvZ5t/LNlf9zySJ/0iS+P9GEv8RJPGvJYl/DUm8qCTxf8HW1hYA9913361cddVVV1111VX/FgRXXXXVVVddddW/ydmzZ58BsLW1xfNjG9v8e9nm38s2/162+beyzb+Vbf4tbPNvYZv/ryTx/5UkJPHvJYl/LUn8a0ji/5PNzU0Azp49+wyuuuqqq6666qp/C4Krrrrqqquuuurf5L777rsVYGtrixfGNv9etvn3ss2/l23+rWxz1fOSxL+VJP4jSEISV4EkJPHvIYl/LUn8Z5DEi0ISLwpJXHXVVVddddVV/+sQXHXVVVddddVV/+ls8+9lm38v2/xvZJur/nNI4qrnJYl/D0n8a0niRSWJ/8kk8R/l2muvBeAf/uEffpurrrrqqquuuurfgspVV1111VVXXfVvcvbs2VsBtra2eFHYRhL/HraRxL+HbSTxb2UbSfxb2EYS/1VsI4n/iyTx7yWJ/w6S+PewzX8FSQDY5t9CErb57yYJ2/xLJGGb/0qSsM1VV1111VVXXfWfiuCqq6666qqrrvo3ue+++24F2Nra4kVlG9v8e9jm38s2/x62+beyzb+Fbf6vkcS/hST+vSTxX0ESkpCEJCTx7yUJSUhCEpL4zyQJSfxbSOJfQxIvKkn8d5DEf6WtrS0A7rvvvlu56qqrrrrqqqv+LQiuuuqqq6666qp/s/vuu+9WgK2tLf41bPPvYZv/bra56n8nSfxnkYQkJCGJ/yqSkIQkJPGfQRL/FpL415DEi0oSLwpJXHXVVVddddVV/28RXHXVVVddddVV/2Znz569FWBra4t/Ldv8e9jGNv9WtvnvYpur/m0k8e8hif9okpCEJP6nkIQkJPEfSRKS+NeSxL+GJP47SOI/iiT+va699loA/uEf/uG3ueqqq6666qqr/q0Irrrqqquuuuqq/za2+feyzb+Vbf49bPNfyTb/Wrb5n0gS/9Uk8R9JEpL4n04SkpDEfxRJ/GtJ4l9DEi8KSbwoJPG/zebmJgD33XffrVx11VVXXXXVVf9WBFddddVVV1111b/ZfffddyvA1tYW/1a2+e9km38P2/xb2Ob/Ckn8V5DEv4UkJPEfQRKSkMT/RpKQhCT+vSTxryWJ/wyS+I8iiX+JJK666qqrrrrqqv81CK666qqrrrrqqn+z++6771aAzc1N/j1s8+9hm38P21z1X0cS/1qS+LeQxH8ESUji/xJJSOLfQxKS+NeQxItKEv+RJPE/jSRekK2tLQDuu+++W7nqqquuuuqqq/6tCK666qqrrrrqqv8RbPPvYZt/D9v8W9nm38I2/1q2uepFI4l/L0lI4v8ySUji30MS/xqSeFFJ4kUhif9pJPHvsbm5CcDZs2efwVVXXXXVVVdd9W9FcNVVV1111VVX/Zv9wz/8w+8AXHfdddjGNv8etvn3sM1/F9tc9Z9DEv9akvj3ksT/J5KQhCT+LSQhiReVJF5UknhRSOJfIol/iST+JZK46qqrrrrqqqv+VyC46qqrrrrqqqv+Q9nm38M2/x62+beyzVX/uSTxryGJfy1J/HtIQhL/n0lCEv8WknhRSeJFJYn/b7a2tgC47777buWqq6666qqrrvq3onLVVVddddVVV/2bnT179laAra0tHsg2kvi3so0k/q1sI4l/C9tI4t/CNpL417CNJP63ksT/JJL4t5LEfzZJ/GewzX8GSdjmX0sStnlRSMI2/1EkYZsXRhK2eWEkYZsXRhK2+c+yubkJwNmzZ2/lqquuuuqqq676tyK46qqrrrrqqqv+U9jm38M2/x62+b/KNv8bSeJfQxL/GpL4t5LEfzRJSEISkpDEfxZJSEISkpDEfxRJSOJfSxIvKkm8KCTxopDE/xSS+JdI4vnZ2toC4L777ruVq6666qqrrrrq34rgqquuuuqqq676N7vvvvtuBdja2uL5sc2/h23+PWzzb2Gbfyvb/GvZ5qrnJIn/CpKQxH8USUhCEv/dJCEJSUji30sSkvjXkIQkXhSSeFFI4j+CJP4lkrjqqquuuuqqq/7XI7jqqquuuuqqq/5d7rvvvlsBrrvuOp4f2/x72Oa/g23+r7DN/3WS+NeSxH8ESUhCEv+TSUISkvj3kIQk/jUk8aKQxItCEv8SSfxLJPHvJYn/DJubmwCcPXv2GVx11VVXXXXVVf8eBFddddVVV1111b/Lfffddyv/Atv8e9jm38o2/9Vs8/+BJF5UknhRSeJfQxL/WpL495CEJCTxv5EkJCGJfytJ/GtI4kUhiReFJP4lkvj3ksS/lyT+tba2tgC47777buWqq6666qqrrvr3ILjqqquuuuqqq/5dzp49eyvA1tYWL4xt/j1s829lm38L2/x/I4n/TpL415DEv4YkJPFvJQlJ/F8iCUn8W0hCEi8qSbwoJPGikMS/lyT+vSTx7yWJB9rc3ATgvvvuu5Wrrrrqqquuuurfg+Cqq6666qqrrvp3ue+++24F2Nra4l9im38P2/xb2eZ/Mtv8XyWJ/wyS+NeQxL+VJCTxf5kkJCGJfy1JSOJFIQlJ/Esk8R9BEv9ekrjqqquuuuqqq/7XonLVVVddddVVV/2Xso0k/q1sI4n/KraRxL+WbSTxn8U2kvi/RBIvKkn8a0ji30IS/9kk8W9lm/8MkgCwzb+GJGzzopCEbV4YSdjmhZGEbV4YSdjmBZGEbf4zScI2L6prr70WgPvuu+/pXHXVVVddddVV/x5Urrrqqquuuuqqf5ezZ8/eCnDdddfxorKNJP6r2UYS/1q2kcT/VpL4jyaJF4Uk/qNJ4l9DEv9akviPJon/aJJ4fmzzH0ESALZ5UUkCwDb/EknY5oWRhG1eGEnY5t9DErZ5QSRhmxdEErb5j3b27NlncNVVV1111VVX/XsQXHXVVVddddVV/y733Xffrfwb2Obfyjb/Vrb5r2Kbq140knhRSOJFJQlJ/GtIQhL/ESQhCUlI4r+SJCQhCUlI4t9DEpL415DEi0IS/xJJ/Esk8cJI4n86Sdxva2sLgLNnz97KVVddddVVV13170Fw1VVXXXXVVVf9u9x33323AmxtbfGvZZt/K9v8V7LNfzbb/F8iiReFJF4UknhRSeJfSxL/HpKQhCQk8T+NJCQhiX8rSUjiRSWJF4Uk/iWS+JdI4oWRxAsjiRdGEi+MJF4YSbyoNjc3Abjvvvtu5aqrrrrqqquu+vcguOqqq6666qqr/lvZ5t/KNv8WtrnqeUniRSGJ/8kk8a8hCUn8W0hCEpL430QSkpDEv4UkJPGikIQk/iWS+JdI4qqrrrrqqquuuupfieCqq6666qqrrvp3OXv27DMAtra2+LeyzVX/t0jiRSGJF4UkXhSS+NeQxL+FJCTxf4EkJCGJfy1JSOJFIYl/iSQk8cJI4oWRxAsjiRdGEi+MJF4YSbwwknhhJAGwtbUFwH333XcrV1111VVXXXXVvwfBVVddddVVV13173bffffdCrC1tcV/Ndv8W9jmX8s2/1q2uer5k8SLQhIvCkm8qCQhiX8tSUjiv5Ik/qtIQhKS+NeQxItCEpL4l0jihZHECyOJF0YSL4wk/jttbm4CcN99993KVVddddVVV13170Vw1VVXXXXVVVf9u509e/ZWgM3NTf6tbPNvZZur/mtI4l8iif8oknhRSOJFJYl/DUlIQhL/USQhCUlIQhKSkIQkJCEJSQBIQhKSkIQkJCEJSUhCEpKQxH8ESUjiRSUJSbwoJPEvkcQLI4kXRhIvjCT+rSTxwkji32NrawuAs2fP3spVV1111VVXXfXvRXDVVVddddVVV/2Hss2/lW3+K9nmX8s2V/37SeJfIokXhSReFJKQxItKEpL495KEJCQhCUn8Z5OEJCQhCUn8W0lCEi8qSUjiXyKJf4kkXhhJvDCS+LeSxH8WSbwwW1tbANx33323ctVVV1111VVX/XsRXHXVVVddddVV/2733XffrQDXXXcdALb5t7LNv4Vtrvq3k8S/RBL/ESTxH0USLwpJ/GtI4t9KEpKQhCT+p5CEJCTxbyEJSbyoJPEvkcS/RBIvjCT+rSTxbyWJF0YSV1111VVXXXXV/wgEV1111VVXXXXVv9t99913K8/FNv9Wtvm3sM2/lm3+s9nmRWWb/80k8R9BEv8SSbwoJPGikoQk/rUkIQlJ/G8gCUlIQhL/GpKQxItCEpJ4YSQhiRdGEi+MJF4QSbwwknhBJPHCSOLfShIvyObmJgD33XffrVx11VVXXXXVVf9eBFddddVVV1111b/b2bNnnwGwvb3N/we2uerfRhL/Ekn8SyTxopDEi0ISkvjXkIQkJPG/nSQkIYkXlSQk8aKQxL9EEi+MJF4YSbwgkvi3ksR/ta2tLQDOnj37DK666qqrrrrqqn8vKlddddVVV1111b/bfffddyvA1tYWD2QbSfxb2EYS/1q2kcS/hm0k8X+RJP4jSOJfIol/L0n8SyTxL5HEi0oS/xqS+M8giX8r2/xHkQSAbV4UkgCwzQsjCQDbvCCSsM0LIgnbvCCSsM3zIwnbPD+SsM2/hSRs8/xIwjb/Wpubm1x11VVXXXXVVf9hqFx11VVXXXXVVf9uZ8+evRVga2uL52YbSfxb2EYSV/3nksR/BUm8MJL4l0jiXyKJF4Uk/jUk8e8lif8MknhBbPNvIYn72eZfIgkA27wwkrDNCyIJ27wgkrDNv4UkbPP8SMI2z48kbPMfTRK2eW5bW1sA/MM//MNvc9VVV1111VVX/XsRXHXVVVddddVV/+ls81/JNv9atvnXsM1VzyaJF0YS/16S+JdI4kUhiReVJCTxbyEJSUhCEv8dJCEJSUji30ISknhRSOJfIokXRhIvjCReEEn8W0niBZHECyKJF0QSV1111VVXXXXVfysqV1111VVXXXXVv9t99913K8DW1hYviG0k8a9lG0n8b2cbSfxvJIn/bJJ4YSTxL5HEv0QSLypJ/GtJ4n86STyQbV5UkgCwzQsjCQDbvCCSALDN8yMJANs8P5KwzfMjCds8P5Kwzf8UkrDNA21ubgJw33333cpVV1111VVXXfXvRXDVVVddddVVV/2HuO+++24F2Nra4j+abf61bHPVv0wS/16SeGEk8cJI4oWRxL9EEv8SSbwoJCGJF5UkJCGJ/40kIQlJvKgkIYl/iSQk8cJI4oWRxAsiiRdEEi+IJF4QSbwgknhBJPGCSOJFtbm5yVVXXXXVVVdd9R+K4Kqrrrrqqquu+g9x9uzZWwG2trZ4QWzzP5lt/reQxH8FSfxnksQLI4l/iSReGElI4l8iCUm8qCQhif8okpCEJCQhCUlIQhKSkIQkJCEJSUhCEv8RJCEJSbwoJCGJf4kkXhhJvDCSeEEk8YJI4gWRxAsiiRdEEv/RJHG/ra0tAP7hH/7ht7nqqquuuuqqq/4jULnqqquuuuqqq/5L2UYS/1q2kcS/hm0k8Z/FNpL4n0oS/9kk8cJI4j+TJF4YSbwoJPGiksS/hyT+M0jiBbHNv5YkAGzzL5EEgG1eEEkA2Ob5kQSAbZ4fSdjm+ZGEbZ4fSdjm+ZGEbf6jSMI2z48kbPMv2dzcBOC+++67lauuuuqqq6666j8CwVVXXXXVVVdd9R/ivvvuuxVga2uLf4ltrvq/TxIvjCReGEm8MJJ4YSTxL5GEJP4lkpCEJP41JCEJSUhCEv8dJCEJSUjiX0MSkpDEv0QSknhhJPHCSOIFkcQLIokXRBL/WpJ4QSTxgkji30ISV1111VVXXXXVfwqCq6666qqrrrrqP8R99913K8DW1hb/WWzzr2Wbfw3b/H8hiRdGEi+MJP6tJPHCSOKFkcQLI4kXRhKS+JdIQhL/GpKQhCT+p5KEJCQhiReVJCTxL5HECyMJSbwgknhBJPGCSOIFkcTzI4kXRBL/kSTxL9nc3ATgvvvuu5Wrrrrqqquuuuo/AsFVV1111VVXXfUf4uzZs88A2N7e5kVhm6v+75LEv5UkXhhJvDCSeGEk8S+RhCReVJKQhCT+N5KEJCTxopCEJF4YSUjihZHECyKJF0QSL4gk/rUk8a8liRdEEi+IJF6Yra0tAM6ePfsMrrrqqquuuuqq/whUrrrqqquuuuqq/xD33XffrQBbW1v8Z7KNJP41bCOJ/08k8Z9JEv9WknhBJPHCSOIFkcS/RBL/Ekm8KCTxH0US/1Fs8+8hifvZ5oWRBIBtXhBJANjm+ZGEbZ4fSdjm+ZGEbZ4fSdjmuUnCNs+PJGzz3CRhm+dHErb5jyKJq6666qqrrrrqPxyVq6666qqrrrrqv41tJPE/jW0k8aKwjST+t5HECyOJfytJvCCSeEEk8cJI4gWRxAsjiX+JJF4Ukvj3kMR/Jkk8P7b515IEgG1eGEkA2OYFkYRtnh9JANjmuUkCwDbPTRK2eX4kYZvnJgnb/GtIwjb/GpKwzfMjCds8P9deey0A9913361cddVVV1111VX/EQiuuuqqq6666qr/EGfPnr0VYGtri38N2/xr2eaq/z6SeEEk8Z9BEi+IJF4YSbwwkpDEv0QSkvjXkIQkJCEJSfx3kYQkJCGJfw1JSEISL4wkJPGCSEISL4gkXhBJPD+SeEEk8fxI4vmRxAsiiedHEv8Zzp49eytXXXXVVVddddV/BIKrrrrqqquuuuo/1NbWFv8T2eb/Ckn8Z5LEfwZJvCCSeEEk8YJI4oWRxAsjiX+JJCTxopKEJCTxP5kkJCEJSbyoJCGJF0YSknhBJPGCSOIFkcTzI4kXRBLPjySeH0n8a0ni+ZHECyKJ52dzcxOA++6771auuuqqq6666qr/CARXXXXVVVddddV/iPvuu+/W++6771aAra0t/jVs869lm6v+bSTxbyWJF0QSL4gkXhBJvCCSeEEk8YJIQhIviCQk8cJIQhIvCklIQhL/HpKQhCQkIQlJSEISkpCEJCQhCUlIQhL/HpKQhCReFJKQxAsjiRdEEpJ4fiQhiedHEs+PJF4QSTw/knh+JPH8SOJfSxJXXXXVVVddddV/K4Krrrrqqquuuuo/zNmzZ28F2Nra4n872/xvJYl/K0n8R5PECyKJF0QSL4gkXhBJvDCSeGEkIYl/iSQkIYl/LUlIQhKSkIQk/r0kIQlJSEISkpDEv4YkJCGJf4kkJPGCSEISL4gkXhBJPD+SeH4k8R9FEs+PJJ4fSfxrSeKBNjc3Abjvvvtu5aqrrrrqqquu+o9CcNVVV1111VVX/Y9gm38t2/xr2OZ/Okn8TyWJF0QS/5Ek8YJI4gWRxAsiCUm8IJKQxL9EEpL415CEJCQhif8OkpCEJCTxopKEJP4lkpDECyKJF0QSL4gknh9JPD+SeH4k8fxI4j+bJF4U1157LQBnz569lauuuuqqq6666j8KwVVXXXXVVVdd9R/mvvvuuxVga2uLfwvbXPWfSxL/0STxgkjiBZHE8yOJF0QSL4gkXhBJvDCS+JdIQhIvCklIQhKS+J9IEpKQhCT+JZKQhCReGElI4vmRhCSeH0lI4vmRxPMjiedHEs+PJJ4fSTw/knh+JPH8SOJfSxLP7b777ruVq6666qqrrrrqPwqVq6666qqrrrrqP8x99913K8DW1ha2kcR/NttI4qp/P0m8IJL4jySJ50cSL4gkXhBJvCCSeEEk8S+RxItCEv9ekvj3ss2/hSTuZ5sXRhIAtnlBJGGb50cSALZ5bpKwzXOThG2emyRs89wkYZvnJgnbPDdJ2Oa5ScI2z00StnlukrDNc5OEbV6Yzc1NAO67775bueqqq6666qqr/qNQueqqq6666qqr/l+xjST+t5LECyOJ/0qSeEEk8fxI4l9LEi+IJJ4fSbwwknhhJPEvkcS/hST+s0jiBbHNi0IS97PNCyIJANs8P5IAsM3zIwnbPDdJ2Oa5ScI2z00StnlukrDNc5OEbZ6bJGzz3CRhm/8skrDN5uYmAGfPnn0GV1111VVXXXXVfxSCq6666qqrrrrqP8w//MM//A7A9ddfD4Bt/rVs8z+FbV4UtvnfQBIviCReEEn8a0niX0sSz48kXhBJPD+SeEEkIYkXRBKSeGEkIYkXlSQkIQlJ/HeRhCQkIYkXhSQk8cJIQhIviCQk8fxI4vmRhCSemyQk8dwk8fxI4vmRxPMjiReVJJ4fSTw/krjqqquuuuqqq/7LEVx11VVXXXXVVf/r2eaq/3qS+NeSxPMjiedHEs+PJCTx/EjiBZHECyIJSbwwkpDEv0QSkpCEJP6nkoQkJCGJF0YSkpDECyIJSbwgknh+JCGJ50cSz48knpsknh9JPD+SeFFJ4vmRxPMjiedHEs+PJDY3NwG47777buWqq6666qqrrvqPQuWqq6666qqrrvoPc/bs2VsBtra2uJ9tJPGvYRtJXPWvI4n/aJL415LE8yOJ50cSz48knh9JvCCSeH4k8cJI4oWRxL9EEv9WkvjPYpsXlSTuZ5sXRBIAtnl+JAFgm+cmCQDbPDdJ2Oa5ScI2z00StnkgSdjmuUnCNs9NErZ5IEnY5rlJwjb/Wba2tgA4e/bsrVx11VVXXXXVVf9RqFx11VVXXXXVVf/v2EYS/59I4gWRxL+WJJ4fSTw/knh+JPH8SOL5kcQLIonnRxIviCReGEn8SyTxopLEfzVJPDfb/EskcT/bPD+SALDN8yMJ2zw/krDNc5OEbZ6bJGzz3CRhmweShG2emyRs86KQhG1eFJKwzXOThG2emyRs89w2NzcBuO+++27lqquuuuqqq676j0Jw1VVXXXXVVVf9h7nvvvtuBdja2uKBbPOvZZt/Ddv8XyeJ/0qS+J9EEi+IJJ4fSbwgknhBJCGJF0QSkpDEv0QSkpDE/xSSkIQkJPEvkYQkXhBJSOL5kYQknh9JSOK5SUISz00Sz48knpsknh9JPDdJPD+SeG6SeH4k8fxI4qqrrrrqqquu+m9FcNVVV1111VVX/Ye67777bgXY2triqn8dSfxXk8S/liSeH0k8P5J4fiTx/EjiRSUJSTw/knh+JCGJ50cSknhBJCGJF0YSkpCEJP61JCEJSUhCEpKQhCQkIQlJSEISkpCEJCTxryUJSUjihZGEJCTx/EhCEs+PJCTx/Eji+ZHEc5OEJJ6bJJ6bJJ4fSTw3SbyoJPHvJYkH2tzcBOC+++67lauuuuqqq6666j8SwVVXXXXVVVdd9R/q7NmztwJsbW3xQLb517LNVS8aSbwgkvjXksTzI4nnRxLPjySeH0k8P5J4fiTx3CTx/EhCEs+PJF4QSbwgkpDECyMJSbyoJCEJSUhCEpL4jyAJSUhCEpKQxItCEpKQxAsjCUk8P5KQxPMjiedHEpJ4bpJ4fiTx3CTx3CTx/EjiuUniuUni+ZHEc5PE8yOJ50cS99vc3ATg7Nmzt3LVVVddddVVV/1HIrjqqquuuuqqq/5TbG9vc9VVz48knh9JPD+SeG6SeH4k8YJI4vmRhCSeH0lI4gWRhCQk8S+RhCQkIYn/DpKQhCQkIYkXRhKSkMQLIglJPD+SkMRzk4Qknh9JPDdJPD+SeG6SeG6SeH4k8dwk8dwk8aKSxL/F5uYmAPfdd9+tXHXVVVddddVV/5EIrrrqqquuuuqq/1B///d//9sAW1tbPDfb/GeyzVUvOkk8P5J4fiTx/Eji+ZHEi0oSz48knpsknh9JPD+SkMRzk4Qknh9JSOIFkYQkXhhJSEISkvi3kIQkJCEJSUhCEpKQhCQk8W8lCUlI4oWRhCReEElI4vmRxPMjiedHEs9NEpJ4bpJ4bpJ4bpJ4UUniuUniuUni+ZHEc5PE8yOJq6666qqrrrrqPxWVq6666qqrrrrqfzTbSOI/mm0k8b+FJF4QSbwgkvjvIInnRxLPTRLPjySemySeH0k8P5J4fiTx/EjihZHECyOJfy1J/EeQxAtjm3+JJO5nm+dHEvezzXOTBIBtHkgSALZ5IEkA2OaBJAFgmweShG0eSBK2eSBJ2OaBJGGbB5KEbV4UkrDNA0nCNi8KSdjm+dnc3ATgvvvuu5Wrrrrqqquuuuo/EsFVV1111VVXXfUf6uzZs88A2Nra4vmxzf8mtvm/SBLPjySeH0k8P5J4UUniRSWJ5yaJ50cSz48knh9JPD+SeEEkIYnnRxKSkMS/RBKSkIQkJPFfRRKSkIQkJPHCSEISknhBJCGJ50cSz48knh9JPD+SeG6SeG6SeG6SeG6SeG6SeG6SeFFJ4rlJ4kUlia2tLQDOnj37DK666qqrrrrqqv9IVK666qqrrrrqqv9Q9913360AW1tbXPWik8T/NpJ4fiTx3CTx/EjiuUniuUni+ZHE8yOJ5yaJ50cSL4gkXhBJ/Esk8R9BEi+Mbf4tJPFAtnl+JHE/2zw3SQDY5oEkAWCbB5IEgG0eSBK2eW6SsM0DScI2DyQJ2zyQJGzzQJKwzQNJwjYPJAnbPJAkbPOikIRtHkgStnlum5ubANx33323ctVVV1111VVX/UeictVVV1111VVX/Yc6e/bsrQDb29u8ILaRxIvKNpJ4UdhGEv/TSOK/miSeH0k8P5J4fiTxopLEi0oSz00Sz00Sz48knpsknh9JPD+SeH4k8YJI4oWRxL+GJP69JPEvsc2/RBL3s83zIwkA2zw3SQDY5oEkAWCbB5KEbR5IEgC2eSBJ2OaBJGGbB5KEbR5IErZ5IEnY5oEkYZsHkoRtHkgStnkgSdjmRSEJ2zzQ5uYmAGfPnr2Vq6666qqrrrrqPxLBVVddddVVV1111f9wknhBJPHfQRIvKkk8N0k8N0k8N0k8P5J4bpJ4fiTx3CQhiecmCUk8P5KQxAsiCUn8SyQhCUlI4r+KJCQhCUlI4oWRhCQk8fxIQhLPjyQk8dwk8dwkIYnnJonnJonnJonnJonnJonnJonnJonnJonnJonnJonnJomrrrrqqquuuuq/FZWrrrrqqquuuuo/1H333XcrwNbWFv9fSOJ/Gkn8R5DEi0oSz00Sz00Sz00SLypJPDdJPDdJPD+SeH4k8fxI4gWRxL9EEv8eknhR2OZfSxIPZJvnRxIAtnlukgCwzXOThG0eSBIAtnkgSdjmgSRhmweSBIBt7icJ2zyQJGzzQJKwzQNJwjYPJAnb/EeRhG0eSBK2ud/m5iYA9913361cddVVV1111VX/kQiuuuqqq6666qr/cPfdd9+tAFtbW7wgtrnqv54knh9JvKgk8dwk8R9NEs9NEs9NEs9NEs+PJJ6bJCTx3CQhiedHEpJ4QSQhCUn8SyQhCUlIQhKSkIQkXlSSkIQkJCEJSUhCEi8KSUhCEs+PJCQhiecmCUk8N0lI4rlJQhIPJAlJPJAkJPHcJPFAkpDEA0niuUniuUniXyKJ5yaJ5yaJf63NzU0Azp49+wyuuuqqq6666qr/aARXXXXVVVddddV/uPvuu+9WgK2tLf6j2Oaq5ySJ/0yS+PeQxHOTxHOTxHOTxHOTxHOTxHOTxHOThCSemySemyQk8fxIQhLPjyQkIYkXRhKSkIQk/qtIQhKSkIQkXhhJSEISz48kJPHcJCGJ5yYJSTw3STw3STw3STw3STw3STyQJJ6bJP4lknhuknhuknhuknhuknhukgDY3NwE4L777ruVq6666qqrrrrqPxqVq6666qqrrrrq/xzbSOJ/C0m8IJL415LE8yOJ50cSLypJPDdJPDdJPDdJPDdJPDdJPDdJPDdJPDdJPDdJPDdJPD+SeH4k8YJI4oWRxL+VJP4tbPOikMQD2eb5kQSAbZ6bJABs80CSALDNA0nCNg8kCds8kCRs80CSsM0DScI2DyQJ29xPErZ5IEnY5n6SsM0DScI2DyQJ2zyQJGzzbyGJzc1NAO67775bueqqq6666qqr/qMRXHXVVVddddVV/+HOnj17K8D29jYvjG3+O9nmqudPEs9NEv9WknhuknhuknhuknhuknhuknhuknhuknhukpDEc5OEJJ6bJCQhiedHEpKQxL9EEpKQhCQkIQlJ/FtJQhKSkIQkJCGJF0YSkpDE8yMJSUjiuUlCEs9NEpJ4IElI4oEkIYkHkoQkHkgSz00Sz00SDySJ5yaJB5LEc5PEv4Uknpskrrrqqquuuuqq/3IEV1111VVXXXXVf7j77rvvVoCtrS2u+s8hif8Ikvj3kMRzk8S/RBLPTRLPTRLPTRLPTRIPJAlJPJAkJPHcJPHcJCGJ5yYJSTw/kpCEJF4QSUhCEpKQxH81SUhCEpJ4QSQhCUk8P5KQxHOThCSemySemySemySemyQeSBLPTRLPTRIPJInnJokHksRzk8QDSeK5SeK5SeK5SeK5bW5uAnDfffc9nauuuuqqq6666j8alauuuuqqq6666j/c2bNnbwXY2triP5JtJPG/jST+q0ji+ZHEi0oSz00Sz00Sz00Sz00S/xJJPDdJPDdJPDdJPJAknpsknpsknh9JPDdJvCCSeGEk8a8hif8otvmXSOKBbPPcJHE/2zyQJABs80CSALDN/SQBYJv7SQLANveTBIBt7icJ29xPEgC2uZ8kbPNAkrDN/SRhmxdGErZ5YSRhmweShG0eSBK2eWE2NzcBOHv27DO46qqrrrrqqqv+oxFcddVVV1111VX/4e67775bAba2tviX2Ob/M0m8IJL4zySJ/2ySeG6S+JdI4rlJ4rlJ4oEk8dwk8dwk8dwkIYnnJonnRxKSeH4kIQlJvDCSkIQkJCGJ/0iSkIQkJCEJSbwwkpCEJJ4fSUjiuUlCEs9NEs9NEs9NEs9NEg8kiecmiQeSxHOTxANJ4oEk8dwk8UCSeG6S+LeQxFVXXXXVVVdd9V+GylVXXXXVVVddddX/MpL415DEi0oSz00Sz00Sz00S/xJJPDdJPJAknpsknpskHkgSz00SDySJ5yaJ50cSz48knh9J/Esk8e8liQeyzb+WJB7INs+PJO5nmweSBIBtHkgSALa5nyQAbHM/SQDY5n6SALDN/SRhm/tJwjYPJAnb3E8StnkgSdjmfpKwzf0kYZsHkoRt7icJ2zyQJGxzP0nY5oEkYZsHkoRtAK655hoA/uEf/uG3ueqqq6666qqr/qNRueqqq6666qqr/sPdd999twJsb29z1X8dSbyoJPEfSRLPTRIPJInnJokHksRzk8Rzk8QDSeK5SeKBJPHcJPHcJPH8SOL5kcQLIokXlST+LSTxorDNCyKJB7LNc5MEgG0eSBIAtnkgSQDY5n6SALDN/SRhmweShG3uJwnb3E8SALa5nyRscz9J2OaBJGGb+0nCNveThG1eGEnY5oWRhG0eSBK2ueqqq6666qqr/ssRXHXVVVddddVV/+HOnj37DICtrS1eFLb5n0oS/x0k8R9BEi8qSTw3STw3SfxLJPEvkcS/RBLPTRIPJIkHkoQkHkgSz00Sz00Sz00SknhukpDEc5OEJCTxgkhCEpKQhCT+s0lCEpKQhCReEElIQhLPTRKSeG6SkMRzk8Rzk8QDSUISDySJB5KEJB5IEg8kiQeSxHOTxANJ4oEk8UCSeG6SeCBJPDdJ/EskAbC5uQnAfffddytXXXXVVVddddV/NIKrrrrqqquuuuo/xX333XcrwNbWFlf9x5HE8yOJF5Uk/q0k8dwk8S+RxANJ4rlJ4oEk8dwk8UCSeCBJPDdJPJAkJPFAkpDEA0lCEs9NEpJ4bpKQxPMjCUlIQhIvCklIQhKSkIQkJCEJSUhCEpKQhCQkIQlJ/EskIQlJSOL5kYQknpskJCGJB5KEJB5IEpJ4IElI4oEk8UCSeG6SeCBJPJAkHkgS/xJJPJAkHkgS/xJJ/Esk8dwkcdVVV1111VVX/aciuOqqq6666qqr/lOcPXv2VoCtrS3+I9nmRWGb/wqSeGEk8YJI4n8KSTw3SfxLJPHcJPFAkviXSOKBJPHcJPFAknggSTyQJCTxQJJ4bpJ4IElI4rlJQhIPJAlJSOK5SUISknhhJCEJSUhCEpL4jyAJSUhCEpKQxAsiCUlI4rlJQhKSeG6SkMQDSUISDyQJSTyQJB5IEpK4nyQk8UCSeCBJPJAkHkgSDySJf4kkHkgSDySJf4kknpskHujMmTMA/MM//MNvc9VVV1111VVX/WegctVVV1111VVXXfV/lCT+rSTx3CTxL5HEv0QSDySJf4kkHkgSDySJB5LEc5PEA0niuUniuUniuUniBZHECyOJfytJvCC2eVFJ4oFs89wkcT/bPJAkAGzzQJIAsM39JAFgm/tJwjb3kwSAbe4nCdvcTxK2uZ8kbHM/SdjmfpKwzf0kYZv7ScI295OEbV4YSdjmfpKwzf0kYZsHkoRtXpDNzU0A7rvvvlu56qqrrrrqqqv+MxBcddVVV1111VX/Ke67775bAba3t7nqX0cSz48knh9JvKgk8dwk8W8hiX+JJB5IEg8kiecmiQeSxANJ4oEk8UCSeCBJSOKBJPFAkpDEA0lCEg8kCUk8N0lIQhLPTRKSkIQkXhBJSEISkpCEJCQhCUm8MJKQhCQkIQlJSEISknhBJCEJSUjiuUlCEpJ4IElI4rlJ4rlJ4oEkIYkHksQDSeKBJPFAknggSTyQJB5IEg8kiQeSxANJ4l8iiQeSxL9EElddddVVV1111X8Zgquuuuqqq6666j/FfffddyvA1tYWLwrbXPUfRxL/VpJ4bpL4l0jigSTxQJL4l0jigSTxQJJ4IEk8kCQeSBIPJAlJPJAknpskHkgSknhukpDEc5OEJCTx/EhCEpKQhCT+K0hCEpKQhCSeH0lIQhLPTRKSeCBJSOKBJCGJB5KEJB5IEg8kiQeSxANJ4oEk8UCSeCBJPJAkHkgSDySJB5LEA0niXyKJB5LEc5MEwObmJgD33XffrVx11VVXXXXVVf8ZqFx11VVXXXXVVf+ptra2uOp5SeK/miSemyT+LSTxQJL415LEA0nigSTxQJJ4IEk8kCQeSBIPJIkHksRzk8Rzk8Rzk8TzI4kXRBIvCkn8R7PNCyKJ+9nmuUkCwDYPJAkA29xPEgC2uZ8kAGxzP0nY5n6SALANgCQAbAMgCQDbAEgCwDYAkrDN/SRhm/tJwjb3k4Rt7icJ29xPEra5nyRscz9J2OZ+krDNCyMJ2zy3zc1NAM6ePfsMrrrqqquuuuqq/wxUrrrqqquuuuqq/xT/8A//8DsAW1tb/H8liX8tSTw/knh+JPEfSRLPTRIPJIl/iSQeSBIPJIkHksQDSeKBJPFAknggSTyQJB5IEg8kiQeSxHOTxHOTxHOTxAsiiRdGEv8VJPHcbPPcJHE/2zyQJO5nm/tJAsA295MEgG3uJwkA2wBIAsA295OEbe4nCdvcTxK2uZ8kbAMgCdvcTxK2uZ8kbHM/SdjmfpKwzf0kYZv7ScI295OEbe4nCdvcTxK2eWEkcdVVV1111VVX/aejctVVV1111VVXXfV/jCSemySemyT+JZL4l0jigSTxQJJ4IEk8kCQeSBIPJIkHksQDSeKBJPFAknggSTyQJB5IEs9NEs9NEs+PJF4QSfxrSOLfwzYviCQeyDYPJIn72eaBJAFgm/tJAsA295MEgG3uJwnb3E8StrmfJGxzP0nY5n6SsM39JGEbAEkA2AZAEra5nyRscz9J2OZ+krDN/SRhm/tJwjb3k4Rt7icJ29xPEra5nyRs80Cbm5sA3Hfffbdy1VVXXXXVVVf9Z6By1VVXXXXVVVf9pzh79uytANvb2/xfJYn/TpL4jySJf4kkHkgS/5Ek8UCSeCBJPJAkHkgSDySJB5LEA0nigSTxQJJ4bpJ4fiTx/EjiXyKJ/wySeH5s89wkcT/bPJAk7meb+0kCwDb3kwSAbe4nCdvcTxIAtgGQBIBtACQBYBsASdjmfpKwzf0kYZv7ScI2AJKwzf0kYZv7ScI295OEbf6jSMI295OEbe63sbEBwNmzZ2/lqquuuuqqq676z0Dlqquuuuqqq676X8c2kvjfShL/GpJ4UUniuUniuUniXyKJfy1JPJAkHkgSDySJF0QSDySJB5LEA0nifpJ4IEk8kCQeSBLPTRIPJInnJonnRxIviCT+tSTxr2GbF0YSD2SbB5LE/WzzQJIAsM39JAFgm/tJAsA2AJIAsM39JGGb+0nCNveThG0AJAFgGwBJ2OZ+krDN/SRhGwBJ2OZ+krDN/SRhm/tJwjYAkrDN/SRhm/tJwjb3k4RtXhhJ2AZgc3MTgPvuu+9Wrrrqqquuuuqq/wwEV1111VVXXXXVf4r77rvvVoCtrS22trZ4Udjmv5Ik/ieRxH8XSfxLJPFAknggSTyQJB5IEg8kiQeSxAsiiQeSxANJ4n6SeCBJPJAkHkgSDyQJSTyQJB5IEpJ4bpKQxHOThCQk8YJIQhKSkIQkJCGJfy1JSEISkpCEJCTx/EhCEpKQxANJQhKSeCBJSOKBJCGJB5LEA0lCEveThCTuJ4kHksQDSeJ+knggSTyQJO4niQeSxANJ4gWRxANJ4oEk8UCSeCBJXHXVVVddddVV/20Irrrqqquuuuqq/zT/8A//8NsAW1tb/G8kiX8rSfxnksS/lST+JZJ4IEn8e0jigSTxQJJ4IEncTxIPJIkHksT9JPFAknggSTyQJB5IEg8kCUk8kCSemyQk8UCSkIQknh9JSEISkvivIglJSEISz48kJCGJB5KEJB5IEpJ4IElI4n6SkMQDSeKBJHE/SUjifpJ4IEncTxIPJIkHksT9JPFAknggSdxPEg8kiQeSxANJ4oEk8UCSeCBJbG5uAnDffffdylVXXXXVVVdd9Z+FylVXXXXVVVddddX/YJJ4UUniuUniXyKJfy1JPJAkHkgSLypJPJAk7ieJB5LEA0nifpJ4IEk8kCTuJ4kHksQDSeK5SeKBJPH8SOL5kcSLQhL/GWzz/EjigWzzQJIAsM39JHE/2wBIAsA295MEgG0AJAFgGwBJANgGQBK2uZ8kbAMgCQDbAEjCNgCSALANgCRscz9J2AZAEra5nyRs8/xIwjb3k4Rt7icJ2/xbbW5uAnD27Nlbueqqq6666qqr/rMQXHXVVVddddVV/2nuu+++WwG2tra46gpJPD+S+K8giX+JJB5IEg8kiQeSxANJ4oEk8UCSuJ8kHkgSL4gkHkgS95PEA0nifpKQxP0k8UCSeCBJPJAkJPFAknggSUhCEg8kCUlI4vmRhCQkIQlJ/GeRhCQkIQlJPD+SkIQkHkgSkpDEA0lCEveThCQeSBIPJIkHksT9JCGJ+0nigSRxP0k8kCTuJ4kHksT9JPFAkrifJB5IEg8kiRdEEg8kiQeSxANtbGwAcN99993KVVddddVVV131n4XKVVddddVVV131n+a+++67FWBra4v/ayTx30USz00Sz00S/xJJ/GeSxANJ4gWRxANJ4n6SeCBJ3E8SDySJ+0nigSTxQJK4nyQeSBLPTRIPJInnRxLPjyT+JZL4z2Cb5yaJB7LNA0nifra5nyQAbHM/SQDYBkASALYBkASAbQAkAWAbAEnY5n6SsA2AJGxzP0nYBkAStrmfJGwDIAnbPD+SsM3zIwnb3E8Stnl+JGGb+0nCNveThG3uJwnbAGxubnLVVVddddVVV/2no3LVVVddddVVV131H0wS/xEk8R9JEv8SSTyQJB5IEg8kiQeSxAsiiQeSxP0k8UCSuJ8kHkgS95PEA0nifpJ4IEncTxIPJIkHksQDSeKBJPHcJPH8SOIFkcR/FUk8N9s8kCTuZ5sHkgSAbe4nCQDb3E8SALYBkASAbQAkYZv7ScI2AJIAsA2AJGwDIAkA2wBIwjYAkrDN/SRhGwBJ2AZAEra5nyRsAyAJ29xPEra5nyRsAyAJ29xPEra5nyRs8y/Z2NgA4B/+4R9+h6uuuuqqq6666j8LwVVXXXXVVVdd9Z/m7NmzzwC4/vrrueoFk8SLShIvCkn8SyTxH0kSDySJF0QSL4gk7ieJB5LE/STxQJK4nyTuJwlJ3E8SDySJ+0lCEveThCTuJwlJPJAkJPHcJCGJ5yYJSUjiBZGEJCQhCUlIQhKSkIQkJCEJSUhCEpKQhCQkIQlJPD+SkIQkJPFAkpCEJB5IEpKQxP0kIYkHksQDSeJ+kpDE/SQhiftJ4n6SeCBJ3E8S95PEA0nifpK4nyQeSBL3k8QDSeIFkcQDSeIFkcQDSeKqq6666qqrrvovQ3DVVVddddVVV/2nue+++27lqmeRxH8GSfxLJPEvkcQDSeKBJPFAknhBJPFAkrifJB5IEveTxAsiiftJ4oEkcT9J3E8SDySJ+0lCEveTxANJ4oEk8UCSkMQDSUISknggSUhCEs9NEpKQhCQk8Z9BEpKQhCQk8dwkIQlJPJAkJCGJB5KEJO4nCUncTxKSuJ8kJHE/STyQJO4niftJQhL3k8T9JHE/STyQJO4niftJ4oEkcT9JPJAk7ieJB5LECyKJB5LEA0lic3MTgPvuu+9Wrrrqqquuuuqq/yxUrrrqqquuuuqq/zRnz569FWB7e5v/bSTx30kS/1aS+JdI4t9DEg8kiRdEEi+IJO4niQeSxP0kcT9JPJAk7ieJ+0nigSRxP0k8kCTuJ4kHksQDSeK5SeK5SeL5kcS/RBL/0Wzz3CTxQLa5nyTuZ5v7SQLANveTBIBtACQBYBsASQDYBkAStgGQBIBtACRhGwBJANgGQBK2AZCEbQAkYRsASdjmfpKwDYAkbAMgCdvcTxK2AZCEbZ4fSdjm+ZGEbe4nCdvcTxK2ud/GxgYAZ8+evZWrrrrqqquuuuo/C8FVV1111VVXXfVfwjYvCtv8TyeJF0QS/1kk8dwk8R9BEg8kiQeSxAsiiQeSxAsiiftJ4gWRxP0kcT9JPJAk7ieJ+0nifpKQxP0kcT9JSOJ+knggSdxPEpJ4IElI4oEkIYkHkoQkJPHcJCEJSUhCEv8ZJCEJSUhCEs9NEpKQxANJQhIPJAlJPJAkJHE/STyQJO4nCUncTxL3k8QDSeJ+krifJO4niftJQhL3k8T9JHE/SbwgkrifJB5IEveTxANJ4kW1ubnJVVddddVVV131n47KVVddddVVV131n+a+++67FWBra4v/7yTx/EjiP5skHkgS/xqSeCBJvCCSeCBJ3E8SL4gk7ieJ+0niBZHE/SRxP0ncTxIPJIn7SeJ+knggSTyQJB5IEg8kiecmiedHEv8SSfxHs81zk8QD2eZ+krifbQAkcT/bAEgCwDb3k4RtACQBYBsASQDYBkAStgGQhG0AJAFgGwBJ2AZAErYBkIRtACRhm/tJwjYAkrANgCRsAyAJ2wBIwjb3k4RtACRhm+dHEra5nyRsAyAJ29xPErZ5oPvuu+9Wrrrqqquuuuqq/ywEV1111VVXXXXVf6r77rvvVoDt7W3+K0nihZHE/1SS+LeSxL+WJB5IEi8qSbwgknhBJHE/SdxPEi+IJO4niftJ4n6SuJ8k7icJSdxPEveTxANJ4n6SkMT9JCGJ+0lCEg8kCUk8kCQkIYnnJglJSEISkvjPIAlJSEISknhukpCEJB5IEpJ4IElI4n6SkMT9JCGJ+0lCEveTxP0kIQkASUjifpK4nyTuJ4n7SeJ+knhBJHE/SdxPEveTxAsiiftJ4oEk8YJI4oEksbGxAcB99913K1ddddVVV1111X8mgquuuuqqq6666j/V2bNnbwXY2triqn87STw3SfxLJPFAknhhJPFAknggSbwgknhBJHE/SdxPEi+IJO4niftJ4n6SuJ8k7ieJ+0nigSRxP0ncTxKSuJ8kHkgSDySJB5KEJB5IEpJ4IElIQhKSeG6SkIQkJCEJSUhCEpKQhCQkIQlJSEISkpCEJCQhCUlI4rlJQhKSkMQDSUISkrifJCQhiftJQhL3k4Qk7icJSdxPEveThCTuJ4n7SeJ+krifJO4niftJ4n6SuJ8kHkgS95PE/SRxP0ncTxIPJIn7SeIFkcQDSeKBNjc3ATh79uytXHXVVVddddVV/5moXHXVVVddddVVV/0HkcS/hiT+I0niX0sSLypJPJAk7ieJB5LE/STxopDE/SRxP0ncTxL3k8T9JHE/SdxPEveTxANJ4n6SuJ8kHkgSDySJB5LEA0niuUniBZHEv4YkXhjbvCCSeG62uZ8k7meb+0kCwDb3kwSAbQAkAWAbAEkA2AZAErYBkASAbQAkYRsASdgGQBK2AZCEbQAkYRsASdgGQBK2AZCEbQAkYZvnRxK2AZCEbQAkYRsASdjm+ZGEbQAkYZv7ScI2z8/m5iYA9913361cddVVV1111VX/mQiuuuqqq6666qr/VH//93//2wDXXXcd/1tI4gWRxL+WJF5UknhuknhukviXSOJfQxIPJIkXRBIviCReEEncTxL3k8T9JHE/SdxPEveTxP0kcT9J3E8S95PE/SQhiftJ4n6SuJ8kJHE/SUjifpKQxP0kIYkHkoQkHkgSkpCEJJ6bJCQhCUlIQhKSkMS/RBKSkIQkJCEJSUjiuUlCEpKQxP0kIQlJ3E8SkpDE/SQhiftJQhL3k8T9JCGJ+0nifpK4nyTuJ4n7SeJ+krifJO4niftJ4n6SuJ8kXhBJ3E8S95PE/STxQJK4nyReEElcddVVV1111VX/5ahcddVVV1111VVX/R8giX+JJB5IEi8qSbwgknhBJHE/SdxPEveTxP0kcT9J3E8S95PE/SRxP0ncTxL3k8T9JHE/SdxPEg8kiftJ4oEk8UCSeCBJPDdJPD+SeFFJ4l/DNs+PJB7INg8kifvZBkAS97MNgCQAbAMgCQDbAEjCNgCSALANgCRsAyAJANtIAsA2kgCwjSQAbCMJANtIAsA2krANgCRsAyAJ2wBIwjYAkrANgCRs8y+RhG0AJGGb50cStgGQhG3uJwnbbGxsAHDffffdylVXXXXVVVdd9Z+JylVXXXXVVVdd9Z/q7NmzzwDY3t7mqmeTxH8mSfxrSOKBJPGCSOIFkcT9JHE/SfxbSeJ+krifJO4niftJ4n6SuJ8k7ieJ+0nigSRxP0ncTxIPJIkHksRzk8Rzk8QLIon/KJJ4QWxzP0k8kG3uJwkA29xPEgC2AZAEgG0AJAFgG0kA2AZAErYBkASAbQAkYRsASdgGQBK2AZCEbQAkYRsASdhGErYBkIRtACRhGwBJ2AZAErYBkIRtACRhGwBJ2Ob5kYRtACRhm+dHErZ5oI2NDQDOnj37DK666qqrrrrqqv9MVK666qqrrrrqqv9U9913360AW1tb/F8miedHEi8qSTw3STw3SfxrSeKBJPGiksQLIon7SeJFIYn7SeJ+krifJF4YSdxPEveTxP0kcT9J3E8S95PE/SRxP0k8kCTuJ4kHksQDSeK5SeL5kcS/RBL/HrZ5bpJ4INvcTxL3sw2AJO5nGwBJANgGQBIAtgGQhG0AJAFgG0kA2AZAErYBkIRtACRhGwBJ2AZAErYBkIRtACRhG0kA2EYStgGQhG0AJGEbAEnYBkAStgGQhG0AJGEbAEnY5n6SsA2AJGwDIAnb3E8StgGQxMbGBlddddVVV1111X8Jgquuuuqqq6666j/V2bNnbwXY3t7mfztJ/E8kiX8PSTyQJF4QSdxPEi+IJO4niftJ4n6SuJ8k7ieJ+0nifpIAkMT9JHE/SdxPEveTxP0kcT9J3E8S95PE/SQhiftJ4n6SkMT9JCGJB5KEJB5IEpKQxANJQhKSkIQkJPHvJQlJSEISkpDEA0lCEpKQxP0kIQlJ3E8SkrifJCRxP0lIAkASkrifJO4niftJ4n6SuJ8k7ieJ+0nifpK4nySemyTuJ4n7SeJ+krifJO4niftJ4n6SeEEkcT9JvCCbm5sA/MM//MNvc9VVV1111VVX/WeictVVV1111VVX/b8jif9Okvi3ksS/RBIPJIkHksSLShL3k8QLIon7SeJ+krifJO4niftJ4n6SuJ8k7ieJ5yaJ+0nifpK4nyTuJ4n7SeJ+krifJO4niftJ4oEkcT9JPJAknpsknpskXhhJ/EeyzQNJ4oFscz9J3M82AJIAsA2AJABsAyAJANsASMI2AJIAsI0kAGwjCQDbSALANpIAsI0kAGwjCdsASMI2AJKwDYAkbCMJ2wBIwjYAkrANgCRsAyAJ2wBIwjYAkrANgCRsAyAJ2wBIwjbPjyRsAyAJ21x11VVXXXXVVf+lqFx11VVXXXXVVf+p7rvvvlsBtra2sI0k/r0k8Z9FEv8dJPHcJPEvkcS/hyQeSBIvCkn8R5PE/SRxP0ncTxLPTRL3k8T9JHE/SQBI4n6SuJ8k7ieJB5LE/SRxP0k8kCQeSBLPTRLPjyT+NSTx/NjmBZHEc7PN/SRxP9vcTxIAtgGQBIBtACQBYBsASQDYRhIAtgGQhG0AJGEbAEnYBkAStgGQhG0AJGEbSdgGQBK2AZCEbQAkYRtJ2AZAErYBkIRtACRhGwBJ2AZAErZ5YSRhGwBJ2AZAErZ5fiRhm42NDQDuu+++W7nqqquuuuqqq/4zEVx11VVXXXXVVf/p7rvvvlsBtra2+L9IEs+PJP6rSeKBJPFAknhRSeJ+knhBJHE/SdxPEveTxP0kcT9JPDdJ3E8S95PE/SQBIIn7SeJ+krifJAAkcT9J3E8S95PE/SQhCQBJSOJ+krifJCRxP0lI4n6SkIQkHkgSkpDEc5OEJCQhCUlIQhKSeEEkIQlJSEISkpCEJCTxQJKQhCQkcT9JSEIS95OEJO4nCUncTxKSuJ8k7ieJ+0lCEgCSuJ8k7ieJ+0nifpIAkIQkACRxP0ncTxIAkrifJO4niftJ4n6SeG6SuJ8kXhBJ3E8S95PEA21sbHDVVVddddVVV/2XIbjqqquuuuqqq/7TnT179laA7e1t/itI4n8qSbwoJPHcJPEfSRIPJIn7SeIFkcT9JHE/SdxPEveTxP0kcT9J3E8Sz00S95PE/SQBIIn7SeJ+krifJAAkcT9J3E8S95PE/SRxP0ncTxKSAJCEJO4nCUncTxKSeCBJSEIS95OEJCQhCUk8N0lIQhKSkIQkJCEJSUhCEpKQhCSeH0lIQhKSeCBJSEIS95OEJCQBIAlJSAJAEpK4nyQkASAJSQBIQhL3kwSAJCQBIAlJAEhCEgCSuJ8k7icJAEncTxL3kwSAJO4niftJ4n6SeG6SuJ8k7ieJ+0niBZHE/SRxv83NTQD+4R/+4be56qqrrrrqqqv+sxFcddVVV1111VVXvQgk8Z9FEv8WknggSTyQJB5IEi+IJF4QSdxPEv8RJHE/SdxPEs9NEveTxHOTxP0kcT9JAEjifpK4nyTuJwkASUgCQBKSAJCEJO4niftJQhL3k4Qk7icJSUjifpKQhCQeSBKSkIQkJCGJfytJSEISkpCEJB5IEpKQhCTuJwlJSOJ+kpDE/SQhCQBJSOJ+krifJO4niftJ4n6SuJ8k7icJAEncTxL3kwSAJO4niftJAkAS95PE/STx3CRxP0ncTxL3k8T9JHE/SfxLNjY2ALjvvvtu5aqrrrrqqquu+s9GcNVVV1111VVX/ae77777bgXY2tri/wtJ/EeSxH8kSbwgknhRSOJ+krifJO4niftJ4rlJ4n6SuJ8kACRxP0ncTxIAkrifJO4nCQBJ3E8S95MEgCQkASCJ+0nifpK4nyQkASAJSdxPEpK4nyQkcT9JSEIS95OEJCQhiecmCUlIQhKSkIQkJCEJSUhCEpKQhCQkIQlJSOKBJCEJSUhCEveThCQkcT9JSOJ+kpDE/SQhCQBJSAJAEpIAkIQkACQhCQBJSAJAEveTxP0kASAJSQBI4n6SAJDE/SRxP0kASOJ+krifJAAkcT9J3E8S95PE/SRxP0ncTxL3k8T9JHHVVVddddVVV/2Xo3LVVVddddVVV/2nu++++24F2Nra4r+bJF4QSfxrSeJFJYkXhST+JZJ4IEk8kCQeSBIviCReEEncTxL/GpK4nyTuJ4nnJon7SeK5SeJ+kgCQxP0kcT9JAEjifpK4nyQAJHE/SdxPEveTxP0kcT9J3E8SDySJB5LEA0ni+ZHEi0oSL4htnh9JPDfb3E8S97MNgCQAbAMgCQDbAEgCwDYAkrANgCQAbCMJANtIwjYAkrANgCRsIwkA20jCNgCSsA2AJGwjCdsASMI2krANgCRs80CSsA2AJGzzQJKwDYAkbAMgCdu8qCRhGwBJ2AZAEhsbGwDcd999t3LVVVddddVVV/1no3LVVVddddVVV/2nO3v27DMAtre3ueo5SeK/miReEEm8KCRxP0ncTxIvjCTuJ4nnJon7SQJAEveTxHOTxP0kASCJ+0kCQBL3k8T9JAEgiftJ4n6SuJ8k7ieJB5LE/STx3CTxQJJ4QSTxbyWJF8Y295PEA9kGQBL3s40k7mcbSdzPNpIAsI0kAGwDIAnbAEjCNpIAsI0kAGwjCdsASMI2krANgCRsAyAJ20jCNgCSsI0kbAMgCdtIwjYAkrANgCRsIwnbAEjCNgCSsM0DScI2AJKwDYAkbPMv2djYAODs2bPP4Kqrrrrqqquu+s9G5aqrrrrqqquu+k9333333QqwtbXF/0aS+NeQxH8kSTyQJP41JPGCSOIFkcT9JPH8SOJ+krifJO4niecmiftJ4rlJ4rlJ4n6SAJDE/SQBIIn7SQJAEveTxP0kASCJ+0nifpK4nyTuJ4n7SeJ+knggSTyQJJ4fSbwwkvi3ss0DSeK52QZAEvezDYAkAGwDIAkA2wBIAsA2kgCwjSQAbCMJANtIwjYAkrANgCRsIwnbAEjCNpIAsI0kbAMgCdtIwjYAkrCNJGwDIAnbSMI2AJKwzQNJwjYAkrDNA0nCNgCSsA2AJGwDIAnbAEjCNgCSsM1VV1111VVXXfVfjuCqq6666qqrrvofRRL/W0jiRSWJ5yaJ5yaJfy1JPJAk/i0k8aKQxItKEveTxHOTxP0kASCJ+0kCQBL3kwSAJO4nCQBJ3E8SAJK4nyQAJCEJAEncTxIAkpAEgCQkASAJSQBIQhIAkpDE/SQhiftJQhL3k4QkJCGJ+0lCEpKQhCQk8e8hCUlIQhKSkMQDSUISkrifJCQhCQBJSEISAJKQxP0kcT9J3E8S95MEgCQkASAJSQBIAkASkgCQxP0kASCJ+0kCQBL3kwSAJO4nCQBJ3E8SAJK4nyTuJwkASdxPEveTxP0kcT9J3E8S95MEwOnTpwH4h3/4h9/mqquuuuqqq676z0blqquuuuqqq676T3f27NlbAba3t/nPJol/C0n8TySJfw9JPJAk7ieJF0QS95PE/SRxP0ncTxL3k8Rzk8T9JPHcJPHcJPHcJPHcJAEgiftJAkAS95MEgCTuJwkASdxPEveTxP0kcT9J3E8S95PEA0nigSTx3CTx/EjiP5pt7ieJB7INgCTuZxsASQDYBkASALaRBIBtJAFgG0kA2EYSALaRBIBtJGEbAEnYRhK2AZCEbSRhGwBJ2EYStgGQhG0kYRsASdhGErYBkIRtJGEbAEnYRhK2AZCEbR5IErYBkIRtrrrqqquuuuqq/xWoXHXVVVddddVV/2W2trb47ySJ/2yS+LeSxL9EEg8kiQeSxL+FJP4jSOJ+knhukrifJAAkcT9JAEjifpIAkMT9JAEgCQBJ3E8SAJK4nyQAJHE/SQBI4n6SAJDE/SRxP0ncTxL3k8T9JPFAknggSTw/kviXSOJFZZvnJonnZhsASdzPNgCSuJ9tJAFgGwBJANhGEgC2kQSAbSQBYBtJ2AZAEraRBIBtJGEbSQDYRhK2kYRtACRhG0nYBkAStpGEbQAkYRtJ2OaBJGGbB5KEbQAkYRtJ2AZAErZ5IEnYBkAStgGQhG0AJGEbAElsbGwAcN99993KVVddddVVV131n43gqquuuuqqq676T3fffffdet99990KsLW1xb+HJP4rSeLfSxLPTRL/1STxopDE/SRxP0ncTxL3k8Rzk8T9JPHcJPHcJPHcJAEgiftJAkASz00SAJK4nyQAJHE/SQBI4n6SAJDE/SRxP0kASEISAJKQxP0kcT9JSOJ+kpDE/SQhCUlI4oEkIQlJSEISkvjXkIQkJCEJSUhCEg8kCUlI4n6SkIQk7icJSQBIQhL3k4QkACQhCQBJ3E8SAJKQBIAk7icJAEncTxIAkgCQhCQAJAEgiftJAkAS95MEgCQAJHE/SQBI4n6SeG6SuJ8kACRxP0ncTxL3k8T9JHHVVVddddVVV/23ILjqqquuuuqqq/5L3HfffbcCbG1t8X+BJP6zSeKBJPFAknggSTyQJF4QSdxPEv9WkrifJF4YSTw3STw3SQBI4rlJAkAS95MEgCSemyQAJHE/SQBIAkASkgCQBIAkJAEgCUkASOJ+krifJCQBIAlJAEhCEpK4nyQk8UCSkIQkJPFAkpCEJCQhCUlIQhKSkIQkJCEJSUhCEpKQxANJQhKSkMT9JCEJSdxPEpK4nyQkASAJSdxPEveTBIAkJAEgCUkASAJAEpIAkASAJO4nCQBJ3E8SAJIAkMT9JAEgiecmCQBJ3E8SAJK4nyQAJHE/STw3SdxPEveTxPMjiVOnTgFw9uzZZ3DVVVddddVVV/1XoHLVVVddddVVV/2/J4n/bpL4zySJF4Uk7ieJ+0nifpJ4YSRxP0kASOJ+kgCQxP0kASCJ5yYJAEk8N0kASOJ+kgCQBIAk7icJAEkASOJ+kgCQxP0kASCJ+0nifpK4nyTuJ4kHksRzk8Rzk8S/RBIvCts8kCSem20AJPFAtpHE/WwjifvZRhIAtpEEgG0kAWAbSQDYRhK2AZCEbSRhGwBJ2EYStpEEgG0kYRtJ2AZAEraRhG0kYRsASdhGEraRhG0AJGEbSdgGQBK2kYRtHkgStnkgSdgGQBK2eUEkYZv7bWxsAPD3f//3v81VV1111VVXXfVfgeCqq6666qqrrvovcfbs2VsBtre3+d9CEv8aknhuknhukviXSOJfQxIPJIkXRBL3k8T9JPGvIYn7SeK5SeK5SeK5SeK5SQJAEgCSuJ8kACQBIIn7SQJAEgCSuJ8kACQBIIn7SQJAEgCSkASAJO4nCQBJSAJAEpIAkIQk7icJSdxPEpKQBIAkJCEJSdxPEpKQhCQkIQlJvKgkIQlJSEISkpDE/SQhCUlI4n6SkMT9JCGJ+0lCEgCSkASAJCQBIAlJAEgCQBKSAJAEgCQkASAJAEncTxIAkgCQxP0kASAJAEncTxIAkgCQxP0kASCJ5yYJAEncTxIAkrifJJ6bJO4niftJ4n6SuOqqq6666qqr/ktRueqqq6666qqr/kvcd999twJsbW3xn0USL4gk/qNI4r+aJB5IEi8qSfxrSeJ+krifJJ6bJO4niecmiecmCQBJ3E8SAJIAkMRzkwSAJJ6bJAAkASCJ+0kCQBIAkgCQxP0kASCJ+0kCQBL3k8T9JHE/SdxPEveTxANJ4rlJ4gWRxH8E29xPEg9kGwBJ3M82krifbSRxP9tIAsA2kgCwjSRsAyAJ20gCwDaSsI0kAGwjCdtIwjaSALCNJGwjCdtIwjYAkrCNJGwjCdsASMI2krCNJGzzQJKwjSRsAyAJ20jCNg8kCdsASMI2krANgCRsAyAJ2zzQYrEA4L777ns6V1111VVXXXXVfwUqV1111VVXXXXVVf/NJPEfSRIviCTuJ4n7SeJ+knh+JHE/STw3SdxPEs9NEgCSeG6SAJDEc5MEgCQAJHE/SQBIAkASAJK4nyQAJAEgCQBJ3E8SAJIAkMT9JAEgiftJ4n6SuJ8k7ieJB5LEA0niuUniXyKJF5Vt7ieJ52YbAEnczzYAkrifbSQBYBsASQDYRhIAtpGEbSQBYBtJANhGEraRBIBtJGEbSdhGErYBkIRtJGEbSdhGErYBkIRtJGEbSdjmgSRhG0nYRhK2AZCEbSRhmweShG0kYRsASdjmgSRhGwBJ2OaBJGGbjY0NAM6ePfsMrrrqqquuuuqq/woEV1111VVXXXXVf4l/+Id/+G2A6667jv9JJPEfQRLPTRLPTRL/Ekk8kCQeSBIPJIkXRBL/HpJ4YSTx3CRxP0kASOK5SQJAEs9NEgCSAJDEc5MEgCQAJAEgiftJAkASAJIAkMT9JAEgCQBJ3E8SAJK4nyQAJCEJAElIAkASkrifJCQBIAlJSOJ+kpCEJO4nCUlIQhKSkIQk/jUkIQlJSEISkrifJCQhCUkASEISkrifJCQBIAlJ3E8S95MEgCQkASAJSQBIAkAS95MEgCQAJAEgCUkASAJAEgCSAJDE/SQBIAkASQBI4n6SAJAEgCSemyQAJHE/SQBI4n6SAJDE/STx3CRxP0lcddVVV1111VX/5ahcddVVV1111VX/a0jiv4ok/itI4j+SJF4QSdxPEveTxP0k8fxI4n6SeG6SeG6SeG6SAJDEc5MEgCReEEkASAJAEgCSeG6SAJAEgCQAJAEgiftJAkASAJK4nyQAJHE/SQBI4n6SeCBJ3E8SDySJB5LECyKJ/yi2AZDEA9kGQBL3s40k7mcbSQDYRhIAtpEEgG0kAWAbSQDYRhK2kYRtJAFgG0nYRhK2kQSAbSRhG0nYRhK2kYRtJGEbAEnYRhK2kYRtJGEbAEnYRhK2kYRtJGEbAEnYRhK2eSBJ2OaBJGGbB5KEbQAkYRuAjY0NAM6ePXsrV1111VVXXXXVfwUqV1111VVXXXXVf4n77rvvVoDt7W1eEEn8Z5DEfxRJ/GeSxL+GJF4QSfx7SOKFkcRzk8Rzk8QLIgkASTw3SQBIAkASAJJ4QSQBIAkASQBIAkASAJK4nyQAJAEgCQBJ3E8SAJK4nyTuJ4n7SeJ+krifJB5IEs9NEi+MJP61bHM/STw320jigWwjifvZRhIAtpEEgG0kAWAbSQDYRhIAtpGEbSRhG0kA2EYStpGEbSRhGwBJ2EYStpGEbSRhG0nYRhK2AZCEbSRhG0nYRhK2eSBJ2EYStpGEbR5IEraRhG0AJGEbSdgGQBK2kYRtACRhmwdaLBYA3Hfffbdy1VVXXXXVVVf9VyC46qqrrrrqqqv+T5DEfxdJPDdJPDdJ/GtJ4oEk8YJI4gWRxP0k8fxI4vmRxP0k8dwk8dwk8dwkASAJAEk8N0kASAJAEgCSeG6SAJAEgCQAJAEgCQBJAEgCQBL3kwSAJAAkASCJ+0kCQBIAkpAEgCQkASAJSQBIQhIAkpDE/SQhiftJQhKSuJ8kJCEJSUhCEv8WkpCEJCQhCUncTxKSkMT9JCGJ+0lCEgCSkASAJCQBIAlJAEhCEgCSAJAEgCQkASAJAEkASAJAEpIAkASAJAAkASAJAEkASOK5SQJAEgCSAJDEc5MEgCQAJPHcJPHcJPHcJPHcJAGwsbEBwH333XcrV1111VVXXXXVfwUqV1111VVXXXXVf4mzZ88+A2Bra4v/KSTx30kS/x6SeEEk8aKQxPMjiecmiftJ4rlJ4rlJAkASL4gkACQBIIkXRBIAkgCQBIAkACQBIAkASQBIAkAS95MEgCQAJAEgCQBJ3E8SAJK4nyQAJHE/SdxPEveTxANJ4oEk8fxI4j+abQAk8UC2kcT9bCOJ+9lGEgC2kQSAbSQBYBtJ2AZAEraRhG0kAWAbSdhGEraRhG0kAWAbSdhGEraRhG0kYRtJ2EYStpGEbSRhGwBJ2EYStpGEbSRhG0nY5oEkYRtJ2EYStgGQhG0kYZsHkoRtACRhG0nYBkASV1111VVXXXXVfzmCq6666qqrrrrqv8x99913K8DW1hb/k0ni+ZHEv5Uk/iWSeCBJPJAk/i0kcT9JPD+SeH4k8cJI4rlJAkASz00SAJIAkMQLIgkASQBIAkASAJIAkASAJAAkASAJAEkASOJ+kgCQBIAkACQBIAkASUgCQBIAkpAEgCQAJCEJAElIAkASkgCQhCQkASAJSUjifpKQhCQk8UCSkIQkJCEJSUhCEpKQhCQkIQlJSOKBJCEJSUjifpKQhCQAJCEJSQBIQhIAkpAEgCQkASAJAElIAkASkpCEJAAkASAJAElIQhKSAJAEgCQAJAEgCQBJAEgCQBIAkgCQxHOTBIAkACQBIAkASTw3SQBI4rlJAkAS95PEc5MEwGKxAOC+++67lauuuuqqq6666r8KwVVXXXXVVVdd9V/m7NmztwJsbW3xf4Uknpsk/qtJ4l9LEs+PJJ6bJO4niecmCQBJPDdJAEjiBZEEgCQAJAEgCQBJAEgCQBIAkgCQBIAkACQBIInnJgkASQBIAkASAJIAkASAJCQBIAkASUgCQBIAkpAEgCQkASAJSdxPEpK4nyQkIYn7SUISkpCEJB5IEpKQhCQkIQlJSEISDyQJSUhCEpKQBIAkJCEJSQBIQhKSAJCEJAAkIQkASUgCQBKSkIQkACRxP0kASAJAEgCSkASAJAAkASAJAEkASAJAEgCSAJAEgCQAJAEgCQBJPDdJAEgCQBIAkgCQxHOTBIAknpsknpsk7ieJjY0NAM6ePXsrV1111VVXXXXVfxWCq6666qqrrrrqv9z29jb/WpL4t5DE/0SS+NeQxANJ4gWRxP0k8W8liecmiftJAkASz00SAJJ4bpIAkASAJAAkASAJAEn8R5EEgCQAJAEgCQBJAEgCQBIAkgCQhCQAJAEgCUkASAJAEpIAkIQkACQhCUkASEISkgCQhCQkIQkASUhCEpKQhCQk8aKQhCQkIQlJSEIS95OEJCRxP0lI4n6SkASAJCQBIAlJAEhCEgCSAJCEJCQhCQBJAEhCEpKQBIAkACQBIAkASQBIAkASAJIAkASAJAAkASAJAEkASAJAEs9NEgCSAJAEgCQAJHE/SQBIAkAS95MEgCTuJ4n7LRYLAO67775bueqqq6666qqr/qsQXHXVVVddddVV/2X+/u///rcBtra2+I8kiX8tSTw/knh+JPFvJYl/iSQeSBIvKkm8KCRxP0ncTxL3k8Rzk8Rzk8Rzk8QLIgkASQBI4kUlCQBJAEgCQBIAkgCQBIAkACQBIAkASQBIAkASAJIAkASAJAAkASAJAElIAkASAJKQBIAkACQhCQBJSAJAEpKQBIAkJCEJAElIQhKSuJ8kJCEJSUhCEpKQhCQkIQlJSEISkpCEJCQhiftJQhKSkASAJCQhCQBJSEISAJKQBIAkJAEgCUkASAJAEpIAkASAJAAkIQkASQBIAkASAJIAkASAJAAkASAJAEkASAJAEgCSAJAEgCQAJAEgCQBJvCCSAJAEgCSemyQAJPHcJPHcJHHVVVddddVVV/2XI7jqqquuuuqqq/5HkMT/NpJ4bpL4l0ji30MSL4gk7ieJfytJPDdJPDdJPDdJAEjiXyIJAEkASAJAEgCSAJAEgCQAJAEgCQBJAEgCQBIAkgCQBIAkACQBIAkASQBIAkASAJIAkASAJCQBIAkASUgCQBIAkpAEgCQkcT9JSAJAEpKQxP0kIQlJSOKBJCEJSUhCEpKQhCQkIQlJSEISkrifJCQhCUlIAkASkpAEgCQkIQkASUgCQBKSAJCEJAAkASAJSQBIAkASAJKQBIAkACQBIAkASQBIAkASAJIAkASAJAAkASAJAEkASAJAEgCSAJAEgCQAJAEgCQBJPDdJAEgCQBLPTRIAkrifJAAkAXDy5EkA7rvvvlu56qqrrrrqqqv+q1C56qqrrrrqqqv+y5w9e/YZAFtbW1z1bJJ4IEk8kCReEEm8KCRxP0ncTxL3k8Rzk8Rzk8RzkwSAJJ6bJAAkASAJAEkASAJAEgCSeH4kASAJAEkASAJAEgCSAJAEgCQAJAEgCQBJAEgCQBIAkgCQBIAkACQBIIn7SQJAEveTBIAk7ieJB5LEA0nigSTxopDE82ObB5LEc7MNgCTuZxtJ3M82kgCwjSQAbCMJANtI4oFsIwnbSOKBbCMJ20jCNpKwjSRsIwnbSMI2krCNJGwjCdtIwjaSsI0kbCMJ20jCNpKwjSRsIwnbSMI2krCNJGwjCdtIwjbPjyRsIwnbPJAkbPNAkrjf2bNnn8FVV1111VVXXfVfheCqq6666qqrrvovc999990KsLW1xX8FSfxrSOL5kcS/lST+I0niBZHEfwRJPDdJPDdJvCCSAJDEv5UkACTxgkgCQBIAkgCQBIAkACQBIAkASQBIAkASAJIAkASAJAAkASAJAElIAkASAJKQBIAkACQhCQBJSEISAJKQhCQAJCEJSdxPEpKQhCQkIQlJSOIFkYQkJCEJSUhCEpIAkIQkJCEJAElIQhIAkpAEgCQkASAJSQBIQhIAkgCQhCQkIQkASQBIAkASAJIAkASAJAAkASAJAEkASAJAEgCSAJAEgCQAJAEgCQBJAEjigSQBIAkASQBIAkASAJIAkMRzkwSAJJ6bJO63WCwAuO+++27lqquuuuqqq676r0Llqquuuuqqq676L3P27NlbAba3t/nXkMQLIol/LUn8e0niuUniXyKJfw1J/FtI4n6SuJ8k7ieJ+0niuUniuUniuUkCQBIviCQAJAEgCQBJAEgCQBIAkgCQBIAkACQBIInnJgkASQBIAkASAJIAkASAJAAkIYn7SQJAEgCSAJAEgCQAJAEgiftJ4n6SAJDE/STxQJJ4IEk8P5L4j2AbAEk8kG0kcT/bSALANpJ4braRBIBtJGEbSQDYRhK2kYRtJGEbSdhGEraRxHOzjSRsIwnbSMI2krCNJGwjCdtIwjaSsI0kbPP8SMI2L4wkbCMJ20jCNpKwjSRs80CSsI0kbAMgCdtsbGwAcPbs2Vu56qqrrrrqqqv+q1C56qqrrrrqqquu+m8kiQeSxItKEveTxH8ESTw3STw3SbwgkgCQBIAkACTxwkjigSQBIAkASQBIAkASAJK4nyQAJAEgCQBJAEgCQBIAkpDE/SQhCQBJAEjifpIAkASAJAAkcT9JAEjifpK4nyQeSBIPJIkXRBL/FrYBkMRzs40k7mcbSTw/tpHEA9lGEg9kG0nYRhIvCttIwjaSeCDbSMI2krCNJGwjCdtIwjaSsI0kbAMgCdtIwjaSsI0kbCMJ20jCNpKwzfMjCdtIwjaSsI0kbPNAkrDNVVddddVVV13134rgqquuuuqqq676L3PffffdCrC1tcV/Nkn8R5DEi0ISz00S/5Ek8aKQxP0kcT9J3E8S95PEc5PEc5PEc5MEgCQAJPEvkQSAJAAk8UCSeEEkASAJAEkASOJ+kgCQBIAkACQBIAkASUgCQBKSkASAJAAkASAJSUhCEgCSAJAEgCQkASAJAElIAkASkgCQhCQkASAJSUjifpKQhCQkIYkHkoQkJCEJSUhCEpJ4IElIQhKSkMT9JCEJSQBIQhKSAJCEJAAkIQkASQBIQhIAkgCQhCQkIQkASQBIAkASAJIAkASAJAAkASAJSQBIAkASAJIAkASAJAAkcT9JAEgCQBIAkgCQBIAkACQBIAkASQBI4gWRBIAkACRxP0kASGKxWABw33333cpVV1111VVXXfVfheCqq6666qqrrvovdd99990KsLW1xf0k8V9FEs+PJF5Ukvi3kMQDSeKBJPFAknhBJPEfTRLPTRLPTRIAknhBJAEgCQBJAEgCQBIAkgCQBIAkACQBIAkASTw3SQBIAkAS95MEgCQAJAEgCQBJ3E8SAJIAkASAJAAkASAJAElIQhKSAJAEgCQkASAJAElIAkASkgCQhCQkASAJSUhCEgCSkIQkJCEJSUjiXyIJSUhCEpKQhCQAJCEJSUgCQBKSkASAJCQBIAlJAEhCEpKQBIAkJCEJSQBIAkASAJIAkASAJAAkASAJAEkASAJAEpIAkASAJAAkASAJAEncTxIAkgCQBIAkACQBIAkASQBIAkASAJIAkASAJAAk8dwkASCJB1osFgDcd999t3LVVVddddVVV/1XIrjqqquuuuqqq/5LnT179laAra0t/r0k8T+VJP4jSeIFkcT9JHE/SdxPEveTxP0k8dwk8dwk8YJIAkAS/xEkASAJAEkASAJAEveTBIAkACRxP0kASAJAEgCSAJCEJAAkASAJAEkASAJAEgCSAJAEgCQkIQlJAEhCEpKQBIAkJAEgCUkASEISkgCQhCQkIYn7SUISkpCEJCQhCUlIQhKSkIQkJCEJSUhCEveThCQkIQkASUhCEgCSkASAJCQBIAlJAEhCEpKQBIAkACQBIAkASUhCEpKQBIAkACQBIAkASQBIAkASkgCQBIAkACQBIIn7SQJAEgCSAJAEgCQAJPFAknhhJAEgCQBJAEjiuUkCQBKLxQKAs2fP3spVV1111VVXXfVficpVV1111VVXXfU/miT+u0jiRSGJf4kk/jUk8YJI4j+aJJ6bJJ6bJAAk8YJIAkASAJIAkASAJAAkASAJAEm8IJIAkASAJO4nCQBJAEjifpIAkASAJAAkcT9JAEgCQBIAkgCQBIAkACQBIAkASQBI4n6SAJDE/SRxP0ncTxLPTRLPjyT+LWwDIIkHsg2AJO5nG0m8MLaRBIBtJGEbSbwwtpGEbSTx/NhGEraRhG0kYRtJANhGEraRhG0kYRtJANhGEraRhG0kYRtJ2OaBJGGb+0nCNpKwjSRs8/xIwjaSsI0kbPNAGxsbANx33323ctVVV1111VVX/VciuOqqq6666qqr/kvdd999twJcf/31/GeRxPMjiedHEi8qSfxHkMQDSeLfQhL3k8TzI4n7SeJ+knhuknhuknhBJAEgCQBJvCgkASAJAEkASAJAEgCSuJ8kACQBIIn7SQJAEgCSuJ8kACQBIAkASUgCQBIAkgCQBIAkACQBIAkASQBIAkASAJKQhCQkASAJSQBIQhIAkpDE/SQhCUkASEISkpCEJB5IEpKQhCQkIQlJSOKBJCEJSUhCEgCSkIQkJAEgCUlIAkASkgCQhCQkIQkASUhCEpIAkASAJAAkASAJAEkASAJAEgCSkASAJAAkASAJAElIAkASAJIAkMT9JAEgCQBJAEjifpIAkASAJAAkASAJAEkASAJAEgCSeEEkASCJq6666qqrrrrqvxWVq6666qqrrrrqv9R99913K//HSeI/kiT+tSTxopLEc5PEc5MEgCT+JZIAkASAJAAk8S+RBIAkACRxP0kASAJAEveTBIAkACQhCQBJAEgCQBKSAJAEgCQAJAEgCUkASAJAEgCSAJDE/SQBIAkASdxPEveTxP0k8UCSeG6S+LeQxAtiG0k8kG0kcT/bSALANpIAsI0kHsg2krCNJGwjCdtI4n62kYRtJGEbSdhGEraRxAPZRhK2kYRtJAFgG0nYRhK2kQSAbSRhG0nYRhK2AZCEbSRhG0nYRhK2kYRtJGEbSdhGEraRhG0kYRtJ2EYStnkgSczncwDuu+++W7nqqquuuuqqq/4rUbnqqquuuuqqq/5LnT179hkAW1tbAEji30IS/5kk8dwk8dwk8S+RxANJ4oEk8UCSeEEkcT9J/GtI4n6SeG6SeG6SeEEkASAJAEkASAJAEgCSAJAEgCQAJAEgCQBJPDdJAEjiuUkCQBL3kwSAJO4nCQBJAEjifpIAkASAJAAkIQkASQBIAkASAJIAkASAJO4nCQBJ3E8S95PE/STxQJJ4bpL4j2IbSTyQbSRxP9tIAsA2kgCwjSQAbCMJ20jihbGNJJ4f20jCNpKwjSRsIwkA20jCNpKwjSQAbCMJ20jCNgCSsI0kbCMJ2wBIwjaSsI0kbCMJ29xPErZ5UUnCNpKwjSRsA7BYLAA4e/bsM7jqqquuuuqqq/4rUbnqqquuuuqqq/5L3XfffbcCbG1t8S+RxH82SfxPJokXhSTuJ4n7SeKFkcRzk8RzkwSAJP4zSAJAEgCSuJ8kACQBIIn7SQJAEveTBIAk7icJAEkASEISAJIAkASAJCQBIAkASQBIAkASAJIAkASAJAAkcT9JAEjifpJ4IEk8kCSeH0n8W9kGQBIPZBtJ3M82kgCwjSQAbCMJANtI4oFsIwnbSMI2krCNJGwjCdtIwjaSeCDbSMI2krCNJABsIwnbSMI2AJKwjSRsIwkA20jCNpKwDYAkbCMJ20jCNpKwDYAkbHM/SdhGEraRhG0kYRtJ2Ob5kYRtJHHVVVddddVVV/23oHLVVVddddVVV/232N7e5j+DJJ4fSfxXkMQDSeJfQxIviCT+rSRxP0k8N0k8N0m8IJIAkASAJAAkASAJAEkASAJAEgCSAJDEc5MEgCTuJwkASQBIQhIAkgCQhCQAJAEgCUkASAJAEpIAkASAJAAkIQkASQBIAkASAJKQBIAk7icJAEkASOJ+kgCQxP0k8UCSeCBJPD+S+NeyjSSem20kcT/bSOKFsY0kAGwjCdtI4kVlG0nYRhK2kQSAbSRhG0nYRhIAtpGEbSQBYBtJ2EYStgGQhG0kYRsASdhGEraRhG0eSBK2kYRtJGEbSdhGEraRhG0kYRtJ2EYStpGEbe534sQJAP7hH/7ht7nqqquuuuqqq/4rUbnqqquuuuqqq/5LnT179lb+h5PEc5PEc5PEv5YkHkgSL4gkXhBJ3E8S95PE/STxryWJ5yYJAEn8R5AEgCQAJAEgiftJAkAS95MEgCTuJwkASdxPEgCSuJ8kACRxP0kASAJAEpIAkASAJAAkIQkASQBIAkASAJIAkMT9JAEgiftJ4n6SeCBJPJAkXhhJvCC2uZ8knpttJPGC2EYSALaRxAPZRhIPZBtJ2EYStpGEbSRhG0k8kG0kYRtJPJBtJGEbSQDYRhK2kQSAbSRhG0kA2EYStpEEgG0kYRtJ2AZAEraRhG0kYRtJ2EYStpGEbSRhm+cmCdtIwjaSsI0krrrqqquuuuqq/zZUrrrqqquuuuqq/1L33XffrQBbW1v8W0niP4Ik/iNJ4t9DEi+IJP4jSOJ+knhBJPGCSAJAEgCSAJAEgCQAJAEgCQBJvCCSAJDEc5PE/SQBIIn7SQJAEveTBIAkJAEgCQBJSAJAEgCSkASAJAAkIQkASQBIAkASAJIAkASAJAAkcT9JAEjifpK4nyTuJ4nnJol/C0m8ILaRxAPZRhIAtpEEgG0kAWAbSTyQbSRhG0k8N9tIwjaSsI0kbCMJANtIwjaSsI0kAGwjCdtIAsA2krCNJABsIwnbAEjCNpKwDYAkbCMJ20gCwDaSsI0kbCMJ27wwkrCNJGzzwiwWCwDuu+++W7nqqquuuuqqq/4rEVx11VVXXXXVVf/l7rvvvlsBtre3eUEk8a8liedHEv/RJPEvkcQDSeKBJPFvIYn7SeJ+krifJO4niRdGEi+IJAAk8R9BEgCSAJDEc5MEgCTuJ4n7SQJAEveTBIAkJAEgiftJAkASkgCQBIAkJAEgCQBJSAJAEgCSAJAEgCQkIQlJSAJAEgCSkIQkJAEgCUlIQhKSAJCEJAAkIQlJSAJAEpKQhCQkIQlJSEISkpCEJCQhCUlIQhKSkASAJCQhCUkASEISkpCEJCQhCUlIQhKSAJCEJCQhCUlIAkASAJKQhCQkIQlJAEgCQBKSkIQkACQBIAlJAEjifpIAkMT9JAEgCUkASAJAEpIAkASAJO4nCQBJAEjifpIAkASAJAAkASAJAEkASAJAEgCSuOqqq6666qqr/lsRXHXVVVddddVV/+XOnj17K8DW1hb/00jiuUniv5ok/jNJ4rlJAkASL4gkACQBIAkASQBIAkASAJIAkMRzkwSAJAAkcT9JAEjifpK4nyQAJHE/SdxPEgCSkASAJO4nCQBJSAJAEgCSkASAJAAkASAJSUhCEgCSAJCEJCQhCQBJAEhCEpKQBIAkJCEJSUhCEgCSkIQkJHE/SUhCEpKQhCQkIQlJSEISkpCEJCQhCQBJSEISkgCQhCQkASAJSQBIQhIAkpCEJCQBIAkASQBIAkASAJIAkASAJCQhCUkASAJAEpIAkASAJCQBIAlJAEgCQBKSAJDE/SQBIIn7SQJAEveTBIAknpskACQBIAkASQBIAkASAJIAkASAJABOnjwJwD/8wz/8NlddddVVV1111X81KlddddVVV1111f9LkviPJIl/DUk8kCReEEncTxL/EkncTxL3k8Rzk8QLIgkASfx7SAJAEgCSeG6SAJDE/SQBIIn7SeJ+kgCQhCQAJHE/SdxPEgCSkASAJO4nCQBJSAJAEgCSkASAJAAkASAJAEkASAJAEgCSuJ8kACRxP0ncTxIPJInnRxL/WrYBkMQD2UYS97ONJJ6bbSQBYBtJ2EYS/1q2kYRtJAFgG0nYRhIAtpGEbSQBYBtJANhGEraRBIBtJAFgG0nYRhIAtpGEbQAkYRtJ2AZAEraRhG0kYRtJ2ObfYj6fA3DffffdylVXXXXVVVdd9V+N4Kqrrrrqqquu+i9333333QqwtbXFv5Yknh9JPD+S+I8miX+JJB5IEi8qSbwoJHE/SbyoJPHcJAEgiRdEEgCSAJAEgCQAJAEgCQBJvCCSAJDE/SQBIIn7SQJAEveTxP0kcT9JAEhCEgCSkASAJO4nCQBJSAJAEpIAkASAJCQBIAkASQBIAkASkpCEJCQBIAkASUhCEpIAkIQkACQhCQBJSEISAJKQhCQkIYn7SUISkpCEJCQhCUlI4n6SkIQkJCEJAElIQhKSkIQkJAEgCUlIQhKSkIQkJCEJAEkASAJAEgCSAJAEgCQkIQlJAEhCEpKQBIAkJAEgiftJAkASkgCQxP0kASAJSQBI4n6SAJCEJAAkcT9JAEgCQBLPTRIAkgCQBIAkACQBIAkASVx11VVXXXXVVf+tqFx11VVXXXXVVf/l7rvvvlsBtra2eH4k8d9BEs9NEv8SSfx7SOIFkcS/lSTuJ4nnJokXRBL/ESQBIAkASTw3SdxPEgCSuJ8kACQhCQBJ3E8S95PE/SRxP0kASEISAJKQBIAkJAEgCQBJSAJAEgCSkASAJAAkASAJAEkASAJAEveTBIAk7ieJB5LEA0ni30oSz49tJPFAtpEEgG0kAWAbSQDYRhK2kcS/lm0kYRtJANhGEraRBIBtJAFgG0kA2EYStpEEgG0kAWAbSdgGQBK2AZCEbSRhGwBJ2EYSALaRhG0kYRsASdhGEraRhG0kYRtJ2EYStpGEbSRhm8ViAcB99913K1ddddVVV1111X81KlddddVVV1111X+b7e1t/jtI4j+TJB5IEg8kiX8LSdxPEveTxP0k8cJI4rlJ4gWRBIAkACQBIAkASQBIAkASAJJ4QSQBIIn7SeK5SeJ+krifJAAkIQkASUgCQBKSAJCEJAAkIQkASdxPEveTBIAkJAEgCQBJSAJAEgCSAJAEgCQAJAEgCQBJAEjifpK4nyQeSBIPJIn/KLaRxAPZRhIvjG0k8UC2kYRtJGEbSdhGEraRhG0kAWAbSdhGEgC2kYRtJAFgG0kA2EYSALaRhG0AJGEbAEnYRhIAtpEEgG0kYRsASdhGErYBkIRtJGEbAEnYRhK2kYRtJGGbF8VisQDg7Nmzz+Cqq6666qqrrvqvRuWqq6666qqrrvov9w//8A+/A7C1tcW/hiT+NSTxopLEc5PEc5PEfyZJ3E8S/1aSuJ8knpsknpskACTxH0ESAJIAkMT9JAEgiftJAkAS95PE/SRxP0ncTxL3k8T9JHE/SdxPEgCSkASAJCQBIAlJAEgCQBKSAJAEgCQkASAJAEkASAJAEveTBIAk7ieJ+0nifpJ4fiTx72EbSTyQbSRxP9tIAsA2kngg20jiRWUbSdhGEg9kG0kA2EYStpEEgG0kAWAbSQDYRhIAtpEEgG0kYRsASdgGQBK2kQSAbSRhGwBJ2EYStgGQhG0kYRtJ2OaBJGEbSdhGEraRhG0kcdVVV1111VVX/beictVVV1111VVX/a8nif8ukvjXkMQDSeJFIYn7SeJ+krifJF4YSTw3SbwgkgCQBIAkACQBIAkASQBIAkASz00SAJJ4bpK4nyQAJHE/SdxPEveTxP0kcT9J3E8SkgCQhCQAJCEJAElIAkASkgCQBIAkJAEgCQBJSAJAEgCSAJAEgCQAJAEgiftJAkASDySJ+0ni+ZHEv4VtJPFvYRtJPJBtJGEbSdhGEraRhG0k8UC2kYRtJAFgG0k8kG0kAWAbSQDYRhIAtpEEgG0kAWAbSQDYRhIAtpGEbQAkYRtJANhGErYBkIRtJGGbB5KEbSRhG0nYRhK2kYRtJGGb+XwOwH333XcrV1111VVXXXXVfzUqV1111VVXXXXVf7mzZ8/eCrC1tcVzk8R/Jkn8W0niXyKJB5LEi0oS/9Ek8dwk8dwkASCJ/wiSAJDEc5MEgCTuJ4n7SQJAEpIAkIQkACQhCQBJSAJAEpIAkIQk7ieJ+0nifpKQBIAkJAEgCQBJSAJAEpIAkASAJAAkIQkASQBI4n6SAJAEgCTuJ4n7SeKBJPH8SOJfwzaSeG62kcT9bCMJANtI4oFsI4kXlW0kYRtJPJBtJAFgG0nYRhIAtpEEgG0kAWAbSQDYBkAStgGQhG0AJGEbSQDYRhIAtpGEbQAkYRsASdhGErYBkIRtJGEbSdhGErZ5YRaLBQBnz569lauuuuqqq6666r8alauuuuqqq6666n8FSfxrSOJFJYnnJol/iST+PSTxgkjifpL4l0jifpJ4UUjiBZEEgCQAJAEgCQBJAEgCQBIAknhukgCQxP0kASCJ+0nifpK4nyTuJ4n7SeJ+krifJO4nCUkASEISAJKQxP0kcT9JAEhCEgCSkASAJAAkIQkASQBIAkASAJIAkASAJO4niftJ4n6SeCBJvCCSeGFsAyCJ52YbSdzPNpJ4braRxAPZRhK2kYRtJGEbSdhGEg9kG0nYRhIAtpHEA9lGEgC2kQSAbQAkYRsASQDYRhIAtpEEgG0kYRsASdgGQBK2AZCEbSQBYBtJ2AZAEraRhG0kYZsHkoRtJGEbSdhGEvP5HID77rvvVq666qqrrrrqqv9qVK666qqrrrrqqv9y9913360AW1tbbG1tcXBwwL+VJP6nkMQDSeKBJPGCSOJFIYn7SeJFJYkXRBL/kSQBIInnJonnJon7SeJ+krifJO4niftJ4n6SkASAJCRxP0ncTxKSAJCEJAAkIQkASUgCQBKSAJAEgCQkASAJAEkASEIS95MEgCQAJAEgiftJ4oEk8UCS+LeQxPNjG0m8ILaRxAPZRhL/WraRxAPZRhIPZBtJANhGEgC2AZAEgG0kAWAbSQDYRhIAtgGQhG0kAWAbSQDYRhIAtpGEbQAkYRsASdhGErZ5IEnYRhK2kYRtJGGbq6666qqrrrrqfwSCq6666qqrrrrqv8U//MM//DbA1tYW/1Uk8W8lif9IknhBJPFvJYn7SeK5SeIFkQSAJAAkASAJAEkASAJAEgCSAJDEc5MEgCTuJwkASdxPEveTxP0kcT9J3E8SkgCQhCTuJ4n7SUISAJKQxP0kIQkASUgCQBKSAJCEJAAkIQlJSAJAEpKQhCQkIQkASUhCEpKQhCQAJAEgCUkASEISkpCEJCQhCQBJSEISkpCEJCQhCUlIQhKSkIQkJCEJSUgCQBKSkIQkACQhCUlIQhIAkpCEJCQBIAlJSEISkpCEJAAkASAJSUhCEgCSkASAJAAkIQkASUjifpKQBIAkJAEgCUkASEIS95OEJAAkcT9J3E8S95PE/SQBIAlJAEjifpIAkASAJAAk8dwkMZ/PAbjvvvtu5aqrrrrqqquu+u9A5aqrrrrqqquu+h9DEv8RJPGiksRzk8S/RBL/GpL4t5DE/SRxP0ncTxIvjCSemyQAJPEfSRIAknhukrifJAAkcT9J3E8S95PE/SQhiftJ4n6SuJ8kJHE/SUgCQBKSuJ8kJAEgCUkASEISAJKQBIAkACQhCQBJAEgCQBIAkgCQBIAkACRxP0ncTxL3k8Rzk8S/h20k8UC2kcT9bCOJf4ltJGEbSdhGEg9kG0nYRhIAtpEEgG0kYRtJANhGEvezjSQAbCMJANsASMI2AJIAsI0kAGwjCQDbSALANgCSsI0kAGwjCdsASMI2AJKwjSRsIwnbPJAkbCMJ2ywWCwDOnj17K1ddddVVV1111X8Hgquuuuqqq6666r/FfffddyvA1tYW/xJJPD+SeFFJ4t9KEv8SSTyQJF5UkviPIIn7SeK5SeIFkQSAJAAk8fxIAkASAJIAkMRzkwSAJO4niecmiftJ4n6SuJ8kJHE/SdxPEpIAkIQk7icJSdxPEpIAkIQk7icJSQBIQhIAkpAEgCQAJCEJAEkASEISkpCEJCQhCUlIQhKSAJCEJCQhCUlIQhKSAJCEJCQhiftJQhKSkIQkJCEJSUhCEpKQhCQAJCEJSUhCEpKQhCQAJCEJAElIAkASkpCEJCQhCUlIQhKSkASAJCQhCUkASEISkpCEJCQhCQBJSOJ+kpAEgCQkASAJSUgCQBKSAJCEJO4niftJ4n6SkASAJO4niftJ4n6SAJDEc5MEgCQAJAEgifl8DsB99913K1ddddVVV1111X8HKlddddVVV1111X+L++6771aAra0t/ieRxL9EEv8eknhBJHE/SdxPEveTxP0k8cJI4rlJAkAS/xJJAEjiXyIJAEk8N0ncTxIAkrifJO4niftJQhL3k8T9JCGJ+0nifpKQxP0kIYn7SUISAJKQxP0kcT9JSAJAEgCSkASAJCQBIAkASQBIAkASAJIAkASAJO4niftJ4oEk8fxI4kVlG0k8N9tI4kVlG0nYRhK2kYRtJGEbSTyQbSTxQLaRBIBtJAFgG0nczzaSALCNJABsAyAJANtIAsA2AJIAsI0kAGwDIAnbAEjCNgCSsA2AJGwjCQDbSMI2AJKwjSRsIwnbPLf5fM5VV1111VVXXfXfispVV1111VVXXfU/giT+I0jiRSWJ/wiSeCBJPJAkXhBJ/EeTxHOTxAsiCQBJvCgkASAJAEk8N0kASOJ+knhukrifJO4nCUncTxL3k8QDSeJ+kpDE/SQhiftJQhL3k4QkACQhCQBJSOJ+kgCQhCQAJCEJAEkASEISAJIAkASAJAAkcT9J3E8S95PEA0niBZHEC2IbAEk8N9tI4n62kQSAbSQBYBtJ/GvZRhIPZBtJANhGEgC2kQSAbSRxP9tIAsA2AJIAsI0kAGwDIAkA2wBIwjYAkgCwjSQAbCMJANtIAsA2krANgCRsAyAJ20jCNg8kCdtIwjbz+RyAf/iHf/gdrrrqqquuuuqq/w4EV1111VVXXXXVf4t/+Id/+B2A66+/nhdGEs+PJF5Ukvi3ksR/JEm8IJK4nySeH0ncTxL3k8Rzk8Rzk8S/RBIAkgCQBIAkXhBJAEjiuUnifpIAkMT9JHE/SUjifpK4nyQkASAJSdxPEpK4nyQkcT9JSOJ+kpDE/SQhCQBJSAJAEpIAkIQkACQhCQBJSEISkgCQBIAkACQBIAkASUhCEpKQhCQkIQlJSEISkgCQhCQkIQlJSOKFkYQkJCEJSUgCQBKSkIQkJCEJSUhCEpKQhCQAJAEgCUlIQhKSAJAEgCQkIQlJAEhCEgCSkASAJCQBIAlJ3E8SkgCQhCQkASAJSdxPEpK4nyQkASAJSQBIQhL3k8T9JHE/SdxPEveTBIAk7icJAEkASAJAElddddVVV1111X87KlddddVVV1111f9LknhukviXSOKBJPFAknggSbwgknhRSOJFJYnnJonnJgkASfxbSAJAEs9NEgCSuJ8k7icJAEncTxKSuJ8k7ieJB5LE/SQhiftJQhL3k4Qk7icJSdxPEpK4nyQkASAJSQBIQhIAkpAEgCQkASAJAElIAkASAJIAkMT9JAEgiftJ4n6SeG6S+M9gG0kA2EYSALaRxPNjG0nYRhLPj20kAWAbSQDYRhIAtpEEgG0kcT/bSALANgCSALANgCQAbCOJ+9lGEgC2AZCEbQAkAWAbSQDYBkAStgGQhG0kAWAbSdgGQBK2kYRtntt8Pgfgvvvuu5Wrrrrqqquuuuq/A5Wrrrrqqquuuuq/xdmzZ28F2NraQhL/ESTxH0kS/1Uk8a8hiftJ4kUhiRdEEgCSAJAEgCQAJAEgiecmCQBJPDdJ3E8Sz00SkrifJO4niftJQhL3k4Qk7icJSdxPEpK4nyQkIQkASUhCEgCSkMT9JCEJAElIAkASkgCQhCQAJCEJAEkASAJAEgCSAJAEgCTuJwkASTyQJJ6bJP49bCOJ+9lGEi+MbSTxL7GNJGwjCQDbSALANpIAsI0kAGwjCQDbAEgCwDaSuJ9tJHE/20gCwDYAkgCwDYAkAGwDIAnbAEjCNgCSALCNJABsIwnbAEjCNgCSsI0kbAMgCdtIwjbz+RyAs2fP3spVV1111VVXXfXfgcpVV1111VVXXfU/liSeH0m8qCTxopDEv0QS/xqSeCBJvCgkcT9J3E8SLypJvCCS+PeQBIAkXhBJ3E8Sz00SDySJ+0nifpKQxP0k8UCSkMT9JCGJ+0lCEg8kCUncTxKSAJCEJCQBIAlJAEhCEgCSkASAJCQBIAlJAEgCQBIAkgCQxP0kASCJ+0nigSTx3CTxb2EbSbwgtpEEgG0k8UC2kYRtJGEbSdhGEg9kG0m8MLaRBIBtJHE/20gCwDYAkgCwDYAkAGwDIAkA2wBIAsA2AJIAsI0kAGwDIAnbAEjCNgCSsA2AJGwDIAnbSMI2AJKwjSRsI4n5fM5VV1111VVXXfXfispVV1111VVXXfXf4r777rsVYGtri/9qkviPIIkHksSLShL/ESRxP0k8N0m8IJIAkASAJAAkASAJAEkASOIFkQSAJO4niftJAkAS95OEJO4niftJ4oEkcT9JSOKBJCGJ+0lCEveThCQkcT9JSOJ+kpDE/SQhCQBJSAJAEpKQBIAkACQhCQBJAEgCQBIAkgCQBIAk7ieJ+0nifpJ4fiTxorINgCQeyDaSeGFsI4kXlW0k8UC2kQSAbSTx/NhGEvezjSTuZxtJ3M82krifbQAkAWAbAEkA2AZAErYBkASAbSQBYBsASdgGQBK2AZCEbSRhGwBJ2EYStnlu9913361cddVVV1111VX/HQiuuuqqq6666qr/Nvfdd9+tAFtbW/x7SeK5SeLfShL/kSTxgkjifpK4nyTuJ4n7SeKFkcRzkwSAJP4jSAJAEs9NEveTxHOTxANJ4n6SuJ8kJHE/SUjifpKQxANJQhL3k4QkJHE/SUjifpKQhCQAJCEJSQBIQhIAkpCEJAAkIQlJSAJAEgCSkIQkJCEJSUhCEpIAkIQkJCEJSUhCEpIAkIQkJCEJSdxPEpKQhCQkIQlJSAJAEpKQhCQkASAJSUgCQBKSAJCEJCQhCQBJSEISkpAEgCQAJCEJSUgCQBKSAJCEJAAkIQkASUhCEgCSkIQk7icJSdxPEpK4nyQkIQkASUhCEveThCQAJCGJ+0nifpKQBIAkJAEgCUkASOJ+kgCQxP0kMZ/PATh79uwzuOqqq6666qqr/rsQXHXVVVddddVV/23uu+++WwG2trZ4bpJ4fiTx7yGJ5yaJf4kkHkgSDySJB5LECyKJ/2iSeG6SeEEkASAJAEkASAJAEgCSAJAEgCSemyQAJHE/STw3SdxPEpK4nyTuJwlJ3E8SDyQJSdxPEpJ4IElI4oEkIYn7SUISkrifJCRxP0lIAkASkpAEgCQkASAJAElIQhKSAJAEgCQAJAEgCUlIQhIAkpAEgCQkIQkASUhCEpKQhCTuJwlJSOKBJCEJSUhCEpKQhCQkIQlJSEISkpCEJCQhCUlIAkASAJKQhCQkIQlJAEhCEpKQhCQAJCEJAElI4n6SkMT9JCEJSQBIQhKSAJCEJCRxP0lI4n6SkIQkACQhiftJQhL3k8T9JHE/SdxPEveTBIAk7icJgPl8DsB99913K1ddddVVV1111X8XKlddddVVV1111f96kviPJIn/SJJ4QSRxP0k8P5K4nyTuJ4nnJonnJon/SJIAkMRzk8Rzk8T9JPFAkrifJB5IEveThCQeSBKSuJ8kJCGJ+0lCEpK4nyQkIYn7SUISkgCQhCQkASAJSdxPEpIAkIQkACQBIAlJAEgCQBIAkgCQxP0kASCJB5LEA0niRSGJF8Y2krifbSQBYBtJANhGEi8q20jigWwjiefHNpK4n20kcT/bSOJ+tpHE/WwDIIn72QZAEgC2AZAEgG0AJAFgGwBJANhGEgC2AZCEbQAkYRsASdhGErYBkIRtJDGbzQC47777buWqq6666qqrrvrvQnDVVVddddVVV/23+Yd/+IffBrjuuuv4jyaJF4Uk/iWS+NeQxAsiiReFJF5UknhuknhukgCQBIAkXhSSAJDEc5MEgCTuJwkASdxPEveTxANJ4n6SkMT9JCGJ+0lCEg8kCUk8kCQkIYn7SUISkrifJCQhiftJQhL3k4QkACQhCUkASEISAJIAkIQkACQBIAkASQBIAkASkpCEJAAkIQlJSEISkpAEgCQkIQlJSEISkpCEJCQhCUlIQhKSkASAJCQhCUlIQhKSkIQkJCEJSQBIAkASAJIAkASAJCQhCUkASEISAJKQBIAkJCEJAElIQhIAkpCEJO4nCUncTxKSkMT9JCEJSdxPEpK4nyQkcT9JSOJ+krifJCRxP0ncTxIAkrifJK666qqrrrrqqv9xqFx11VVXXXXVVf/jSOL5kcS/hyT+I0jigSTxbyGJfw1J3E8SLwpJ/EskASAJAEkASOIFkcRzk8Rzk8T9JHE/SUjifpJ4IEk8kCQeSBKSeCBJSEISDyQJSTyQJCQhiftJQhKSAJCEJCQBIAlJSAJAEpIAkIQkACQBIAlJAEgCQBIAkgCQxP0kcT9J3E8Sz00S/xa2kcQD2UYSALaRBIBtJPGvZRtJANhGEgC2kQSAbSRxP9tI4n62kcQD2UYS97MNgCTuZxsASdzPNgCSALANgCQAbAMgCQDbAEjCNgCSALCNJABsIwnbAEjCNgCSsM18PgfgvvvuezpXXXXVVVddddV/FypXXXXVVVddddV/m7Nnz94KsLW1xb+VJP4jSeLfQxIPJIkXhSTuJ4n7SeJFJYkXRBIAkvi3kASAJJ6bJJ6bJO4niftJ4oEkcT9JSOJ+kpDE/SQhiQeShCQk8UCSkIQk7icJSUjigSQhCUncTxKSuJ8kJHE/SUgCQBKSAJCEJAAkASAJAEkASAJAEgCSAJDE/STxQJJ4bpL417CNJB7INpJ4YWwjiRfENpKwjSQAbCOJF8Y2krifbSRxP9sASOJ+tgGQxP1sAyCJ+9kGQBL3sw2AJABsAyAJANsASALANgCSsA2AJGwDIAnbAEjCNgCSsI0k5vM5AGfPnn0GV1111VVXXXXVfxcqV1111VVXXXXVf5v77rvvVoCtrS3+JZJ4UUniuUniuUniXyKJB5LEA0niRSWJ/wiSuJ8knpsk/iWSAJAEgCQAJAEgCQBJPDdJAEjiuUnifpK4nyTuJ4kHksQDSeKBJCGJ+0lCEpJ4IElIQhIPJAlJSOJ+kpCEJB5IEpKQBIAkJCEJAElIQhIAkpAEgCQkASAJAElIAkASAJIAkASAJO4niftJ4oEk8fxI4l9iG0m8MLaRBIBtJPFAtpGEbSRhG0n8S2wjCQDbSOJ+tpHE/WwDIIn72QZAEvezDYAk7mcbAEnczzYAkrifbQAkAWAbAEkA2AZAEgC2AZCEbQAkYRsASdgGQBK2kYRtZrMZAGfPnr2Vq6666qqrrrrqvwuVq6666qqrrrrqv8199913K8DW1hb3k8R/F0n8R5LECyKJ+0nifpK4nyTuJ4kXRhLPTRIAkviPIInnJgkASdxPEveTxP0kcT9JSOJ+kpDE/SQhiQeShCQeSBKSkMQDSUISknggSUhCEveThCQkIYn7SUISkgCQhCQkASAJSQBIQhIAkpAEgCQAJAEgCUncTxIAkgCQxANJ4n6SeGEk8UC2uZ8knpttJPEfyTaSALCNJABsIwkA20jifraRxAPZRhIPZBsASdzPNgCSuJ9t7icJANvcTxIAtgGQBIBtACQBYBsASQDYRhIAtgGQhG0AJGEbSdgGYD6fA3DffffdylVXXXXVVVdd9d+FylVXXXXVVVdd9b+WJJ6bJF4UkviXSOKBJPFAknggSbwgkviPIIn7SeK5SeIFkQSAJAAkASAJAEkASAJAEgCSeG6SeG6SuJ8k7ieJ+0nigSTxQJJ4IElI4oEkIYnnJglJSOKBJCEJSTyQJCQhiQeShCQkcT9JSOJ+kpAEgCQkASAJSQBIQhIAkgCQBIAkACQBIIn7SeJ+knggSbyoJPGC2EYS97ONJABsIwkA20jCNpJ4braRhG0kAWAbSTw320gCwDaSuJ9tACRxP9sASOKBbAMgifvZBkASD2QbAEnczzYAkgCwzf0kYRsASQDYBkAStgGQBIBtJAFgG0nYBkASV1111VVXXXXV/whUrrrqqquuuuqq/zZnz559BsDW1hYvjCT+PSTxX00SL4gk7ieJ50cS95PECyOJ5yaJ/0iSAJDEc5PE/SRxP0ncTxL3k8QDSeKBJCGJB5KEJB5IEpKQxHOThCQk8UCSkIQkJHE/SUhCEpK4nyQkIQkASUhCEgCSkASAJCQBIAlJAEgCQBKSAJDE/SQBIIn7SeJ+knhukvi3so0k/i1sIwnbSOJfYhtJ3M82kgCwjSQeyDaSeCDbAEjigWwDIIn72eZ+krifbQAkcT/bAEjifrYBkIRtACQBYBsASdgGQBK2AZCEbQAkYZvZbAbAfffddytXXXXVVVddddV/F4Krrrrqqquuuuq/1X333XcrwNbWFpJ4UUniP5IkHkgS/xqSeEEk8aKQxItKEs9NEs9NEgCSAJDEi0ISAJJ4bpIAkMT9JHE/SdxPEveTxP0kIYn7SUISDyQJSTyQJCTx3CQhCUk8N0lIQhKSeCBJSEISkrifJCQhiftJQhKSAJCEJAAkIQkASUgCQBKSkIQkACQBIAlJSEISAJKQhCQkIQkASUhCEpIAkIQkJCEJSUhCEpKQhCQkIQlJAEhCEpKQBIAkJAEgCUkASEISkpCEJCQhCUlIQhKSAJCEJAAkIQkASUhCEgCSkMT9JCEJSdxPEpKQhCTuJwlJSEIS95OEJCQhiftJQhKSeCBJSOKBJCGJ+0nifpKQxP0kcT9J3E8SALPZDID77rvvVq666qqrrrrqqv9OBFddddVVV1111X+rs2fP3gqwtbXFv5cknpsknpsk/rUk8UCS+LeQxL+GJO4niReFJP4lkgCQBIAkACTxgkjiuUniXyKJ+0nigSTxQJJ4bpKQxANJQhKSkMQDSUISkpDEc5OEJCQhiQeShCQkcT9JSEIS95OEJAAkIQlJSEISkpCEJAAkASAJSUhCEpIAkIQkJCEJAElIQhIAkpCEJCQBIAlJSEISkpCEJCQhCUlIAkASkpCEJAAkIQlJSEISkpCEJAAkASAJSUgCQBIAkpCEJCQhCUlIQhIAkpCEJAAkIQlJAEhCEpKQxP0kIQlJSOJ+kpCEJCTxQJKQhCQeSBKSkMT9JCEJSdxPEpK4nyTuJwlJ3E8S95PE/ebzOQBnz569lauuuuqqq6666r8Tlauuuuqqq6666n80Sfxnk8S/hyQeSBIvCkncTxL3k8SLShIviCQAJPFvIQkASTw3STw3SdxPEg8kiftJQhL3k4Qk7icJSTw3SUhCEs9NEpKQxHOThCQkIYnnJglJSEIS95OEJCRxP0lIQhIAkpCEJAAkIQkASQBIQhIAkgCQBIAkACRxP0ncTxIPJInnRxIviG0AJPFAtpHE/WwjCQDbSOL5sY0knh/bSALANpK4n20kcT/bSOJ+tpHEc7MNgCQeyDb3k8QD2QZAEg9km/tJAsA295MEgG0AJAFgGwBJ2AZAEgC2AZCEbQAkMZvNALjvvvtu5aqrrrrqqquu+u9EcNVVV1111VVX/be67777bgXY3t7mRSWJ5yaJF4Uk/iWSeCBJPJAkXlSSuJ8k/q0kcT9JPDdJ/EskASAJAEkASAJAEgCSeG6SAJDEc5PE/SRxP0k8kCQeSBIPJIkHkoQkJPHcJCEJSTw3SUhCEpJ4bpKQhCQkIYkHkoQkJCEJAElIQhKSAJCEJCQBIAlJAEhCEpKQBIAkJCEJSUhCEpIAkIQkJCEJSUhCEpKQhCQkIQlJSEISL4wkJCEJSUhCEpKQhCQkIQlJSEISkgCQhCQkIQlJSEISkpAEgCQkASAJSQBIQhKSkIQkJCEJAElIQhL3k4QkJCEJSdxPEpKQhCQk8UCSkIQkHkgSkpCEJO4nCUlI4n6SkMT9JCGJ+0nifpKQBIAkJAEgiauuuuqqq6666n8EKlddddVVV1111X+r++6771aAzc1N/qNJ4l8iif9IknhRSOJ+krifJO4niRdGEs9NEgCS+I8giecmCQBJ3E8S95PE/STxQJJ4IEk8kCQk8dwkIQlJPDdJSEISknhukpCEJCQhiecmCUlIQhIPJAlJSOJ+kpDE/SQhCQBJSAJAEpIAkASAJAAkASAJAEncTxL3k8Rzk8S/h20kcT/bSALANpJ4INtIwjaSsI0kbCOJF8Y2kgCwDYAk7mcbSTyQbQAk8dxscz9JPDfbAEjigWxzP0nczzb3kwSAbe4nCdsASALANgCSsA2AJGwDIIm+7wG47777buWqq6666qqrrvrvROWqq6666qqrrvpvdfbs2WcAbG1t8dwk8dwk8Z9JEg8kiQeSxANJ4gWRxH8ESdxPEs9NEi+IJAAkASCJB5IEgCQAJAEgiecmiecmiftJ4n6SuJ8kJHE/SUjifpKQxANJQhLPjyQkIYnnRxKSkIQknh9JSEISkpDEA0lCEpKQxP0kIQlJAEhCEpIAkIQkACQhCQBJAEhCEgCSuJ8kACRxP0ncTxLPTRL/FraRxP1sI4nnZhtJvKhsIwkA20jiBbGNJO5nGwBJPJBt7ieJ52ab+0nigWzzQJK4n23uJ4n72QZAEvezDYAkbAMgCQDbAEjCNgCSsM1sNgPg7Nmzz+Cqq6666qqrrvrvROWqq6666qqrrvpvdd99990KsLW1xb+VJJ6bJJ6bJP4zSeIFkcT9JHE/SdxPEveTxAsjiecmiReVJP4lkgCQxHOTxP0kcT9J3E8SDySJB5LEA0lCEg8kCUlI4vmRhCQkIYnnRxKSkIQkJCGJ5yYJSUhCEpK4nyQkIYn7SUISkgCQhCQAJCEJAElIAkASAJIAkASAJO4nCQBJPJAknpskXlS2AZDEC2IbSTyQbSRhG0nYRhK2kYRtJAFgG0kA2EYSALaRxAPZRhIPZBtJPD+2AZDE82ObB5LEA9nmfpK4n23uJwkA29xPEgC2AZCEbQAkAWAbAEnYBkASV1111VVXXXXV/whUrrrqqquuuuqq/5Ek8Z9NEg8kiRdGEg8kiRdEEv/RJPHcJPHcJAEgiX8NSQBI4rlJAkAS95PE/SRxP0ncTxIPJIkHkoQkHkgSknhukpCEJCTx/EhCEpKQhCQk8fxIQhKSkIQkJPFAkpCEJCQBIAlJSOJ+kpAEgCQkASAJSQBIAkASAJIAkASAJAAkcT9JPJAknh9JvCC2AZDEc7ONJABsIwkA20jiRWUbSTw320gCwDaSeCDbSOKBbHM/STw32zyQJJ4f29xPEg9km/tJ4n62uZ8kAGwDIAkA2wBIwjb3k4RtACSxvb0NwD/8wz/8NlddddVVV1111X8nKlddddVVV1111X+rs2fP3gqwtbXFv0QSz00SLwpJ/GtJ4kUliRdEEveTxL9EEveTxItCEi+IJAAkASAJAEkASOIFkcRzk8S/RBL3k8QDSUISDySJ5yYJSUji+ZGEJCQhCUm8IJKQhCQkIQlJSOK5SUISkpDEA0lCEpIAkIQkJAEgCUkASEISAJKQBIAkACQBIAkASdxPEveTxANJ4l9DEs+PbSTxwthGEi+IbSTxQLaRxPNjGwBJ3M82AJJ4brYBkMQLYpsHksRzs839JPFAtrmfJO5nGwBJANgGQBIAtgGQBIBtJAFgm6uuuuqqq6666n8MKlddddVVV1111X+r++6771aAra0t/qNI4l8iiX8PSbwgknhRSOJ+knhRSeIFkcS/hyQAJPHcJPHcJHE/STyQJO4nCUk8kCQeSBKSeH4kIQlJvDCSkIQkJCEJSbwwkpCEJCQhiQeShCQkIYn7SUISkgCQhCQkASAJSQBIAkASAJIAkASAJAAkcT9J3E8SDySJfw/bSOJ+tpEEgG0k8UC2kYRtJGEbSTyQbSQBYBtJANhGEg9kG0k8kG0AJPHcbPNAknhBbPNAkngg2zyQJO5nm/tJAsA295OEbe4nCdsASMI2AJKYzWYA3Hfffbdy1VVXXXXVVVf9d6Jy1VVXXXXVVVf9t7vvvvtuveaaax68tbXFwcEBkviPJIl/iSQeSBIPJIl/C0n8W0nifpJ4bpJ4QSQBIAkASQBIAkASAJIAkMQLIonnJon7SeJ+knggSTyQJB5IEpJ4IElIQhLPjyQkIQlJSEISL4wkJCEJSUhCEpKQxHOThCQkIQlJ3E8SkpDE/SQhiftJQhIAkgCQhCQAJAEgCQBJ3E8SAJJ4IEk8kCT+LWwjifvZRhLPzTaS+JfYRhIvjG0k8UC2kcRzs839JPH82OaBJPGC2OaBJPFAtrmfJO5nm/tJAsA2AJIAsA2AJGwDIAnbXHXVVVddddVV/2MQXHXVVVddddVV/+3Onj17K8DW1hYviCSemySemyT+JZL495DEA0niRSGJ+0nifpK4nyReGEk8N0kASOI/giQAJPHcJHE/SdxPEveTxANJ4oEkIYkHkoQknpskJCEJSbwwkpCEJCQhCUlIQhIvjCQkIQlJSEISDyQJSUhCEgCSkIQkACQhCUkASEISkpAEgCQAJAEgCQBJSEISkgCQhCQkIQlJSEIS95OEJCQhCUlIQhKSkIQk7icJSUgCQBKSkASAJCQhCUkASAJAEgCSAJCEJCQhCQBJSAJAEpKQBIAkJCEJSdxPEpKQhCQkIYn7SUISkpCEJCQhCUk8P5KQhCQkIQlJPJAkJCEJSTyQJCQhiftJQhL3k4Qk7icJgO3tbQDuu+++W7nqqquuuuqqq/67Ubnqqquuuuqqq/5HkcR/NUk8kCQeSBIvKkncTxL/VpK4nySemyReEEkASOJFIQkASTw3SQBI4n6SuJ8k7ieJ+0nigSTx3CTx3CQhiRdEEpKQhCQk8aKShCQkIQlJSEISknh+JCEJSUhCEveThCQkASAJSUgCQBKSAJAEgCQkASAJAEkASOJ+krifJB5IEi+IJB7INveTxAtjG0kA2EYSLyrbSALANpIAsI0k7mcbAEk8kG0AJPH82Oa5SeKFsc1zk8QD2eaBJHE/29xPEgC2AZAEgG0AJAFgG4DZbAbAP/zDP/w2V1111VVXXXXVfzeCq6666qqrrrrqv9199913K8DW1hbPjySemySemySemyT+M0niRSGJ+0nifpK4nyReGEk8N0n8SyQBIAkASQBI4gWRxHOTxL9EEveThCTuJwlJPJAkJPHcJCEJSUjihZGEJCQhCUlIQhKSkIQk/iWSkIQkJCEJSUjigSQhCUncTxKSkASAJCQBIAlJSEISAJIAkASAJAAkIQkASUgCQBKSkASAJCQhCUlIQhLPTRKSkIQkJCGJ+0lCEpKQhCQkIQlJAEgCQBKSkASAJAAkIQkASUgCQBKSAJCEJCQhCQBJSEISkpDEA0lCEpKQhCQkIQlJvCCSkIQkJCEJSUjiuUlCEpKQxANJQhKSeCBJPJAk7icJSVx11VVXXXXVVf+jULnqqquuuuqqq/7b3XfffbcCbG5u8p9NEg8kiQeSxANJ4oEk8YJI4j+aJJ6bJJ6bJAAk8W8hCQBJPDdJPDdJ3E8SDySJB5LEA0lCEg8kCUm8IJKQhCQkIYl/LUlIQhKSkIQkJCEJSUhCEs9NEpKQhCTuJwlJSOJ+kpAEgCQkASAJAElIAkASAJK4nyQAJPFAknggSfxb2EYSD2QbSQDYRhLPj20k8UC2kcRzs40kAGwjiQeyDYAknh/bPJAkXhS2eX4k8dxs80CSuJ9t7ieJ+9kGQBIAtgGQhG0A+r4H4L777ruVq6666qqrrrrqvxuVq6666qqrrrrqfwxJ/EeSxH8mSbwgkrifJO4niftJ4n6SuJ8kXhSSeEEkASAJAEkASAJAEgCSeEEk8dwkcT9J3E8SDySJB5LEc5PEc5OEJCTxL5GEJCQhCUlIQhKSkIQkJCEJSbyoJCEJSUhCEpK4nyQkIQlJAEhCEpIAkIQkACQhCQBJAEgCQBIAkgCQxP0k8UCSeG6SeFHZRhIPZBtJANhGEgC2kYRtJPHcbCOJB7KNJO5nG0kA2AZAEg9kGwBJvDC2eW6SeFHZ5rlJ4oFs80CSALDN/SQBYBsASQDYBkASs9kMgLNnzz6Dq6666qqrrrrqvxuVq6666qqrrrrqv90//MM//A7Atddey3OTxHOTxHOTxL9EEg8kiRdGEg8kiRdEEv/RJHE/SbwgkviPIAkASTw3SdxPEveTxP0k8UCSeCBJSOKBJCGJ50cSkpCEJCTx7yUJSUhCEpKQhCQkIQlJSEISz00SkpCEJO4nCUncTxKSAJCEJAAkASAJSQBI4n6SAJDE/STxQJJ4QSTx3GxzP0k8kG0k8dxsI4kHso0kbCOJB7KNJABsI4n72UYS97ONJJ6bbe4niReFbf4lknhBbPNAkngg29xPEgC2uZ8kbHM/Sdjmqquuuuqqq676H4XKVVddddVVV131f5Ik/rUk8aKSxAsiiftJ4l8iiftJ4oWRxAsiCQBJAEji+ZEEgCQAJPHcJAEgiftJ4n6SuJ8k7ieJB5LEc5PEc5OEJCTxwkhCEpKQhCQkIQlJSEISkpCEJCQhCUlIQhKSeFFIQhKSkIQkJHE/SUhCEgCSkIQkACQhCQBJSAJAEgCSAJAEgCTuJ4n7SeKBJPGiksTzYxtJ3M82kngg20jiBbGNJABsIwkA20jifraRxP1sAyCJ58c2z00S/xa2eX4k8dxs80CSuJ9t7icJANsASALANgCz2QyA++6771auuuqqq6666qr/blSuuuqqq6666qr/dmfPnr0VYGtriweSxHOTxHOTxL9EEv8eknhBJPGikMT9JPGiksRzkwSAJP4lkgCQxL9EEs9NEv8SSdxPEg8kCUk8kCQk8fxIQhKSkMR/FklIQhKSkIQkJCEJSUhCEs9NEpKQxP0kIQlJAEhCEgCSkASAJAAkASAJAEkASOJ+krifJJ6bJP61bAMgifvZRhIAtpHEA9lGEraRhG0k8cLYRhL3s40kHsg2AJL4l9jmXyKJF5VtnpskHsg295PE/WwDIAkA2wBIAqDvewDOnj17K1ddddVVV1111X83KlddddVVV1111f9LknggSTyQJF4QSbwgkvi3ksT9JPHcJPGCSAJAEv8akgCQxHOTxHOTxP0k8UCSuJ8kJPFAknhukpCEJF4QSUhCEpKQhCQkIQlJSOKBJCEJSUhCEpKQhCQk8a8hCUlIQhKSuJ8kJCGJ+0lCEgCSkASAJAAkIQkASQBI4n6SuJ8k7ieJ50cS/xLbAEjigWwjCQDbSALANpJ4QWwjCdtIAsA2krifbSRxP9tI4rnZ5n6S+LeyzYtKEs/NNg8kifvZ5n6SALDN/SRhG4C+7wG47777buWqq6666qqrrvrvRuWqq6666qqrrvpvd999990KsLW1xQsjiReFJB5IEv8eknhBJPGCSOJ+krifJO4niRdGEs9NEv8SSQBIAkASAJIAkMQLIonnJon7SeJ+knggSTyQJB5IEpJ4fiQhCUn8W0hCEpJ4UUhCEpKQhCQkIQlJSEISkpCEJB5IEpKQhCQAJCEJSQBIQhIAkpAEgCQAJAEgCQBJ3E8S95PEA0niX0sSD2QbAEkA2EYSALaRBIBtJGEbSdhGEg9kG0kA2EYS97ONJO5nGwBJPD+2eUEk8R/FNs9NEg9kmweSBIBt7icJANsASOKqq6666qqrrvofheCqq6666qqrrvof4b777rsV4LrrrgNAEi8KSfxrSeKBJPFAkvi3kMS/lSTuJ4nnJonnJgkASfx7SAJAEs9NEveTxP0kcT9JPJAkHkgSz00SknhBJCEJSUhCEpKQxL+FJCQhCUlIQhKSkIQkJCEJSbwgkpCEJCTxQJKQxP0kIQkASUgCQBIAkgCQBIAkACQhCUlIQhIAkpCEJAAkIQlJSEISkpCEJCQhCUlIQhKSkASAJCQhCQBJSEISkpAEgCQkIQlJSAJAEgCSkASAJCQBIAlJSAJAEpKQhCTuJwlJSEISkpCEJCQhCUlI4j+KJCQhCUlIQhLPjyQkIYkHkoQk7icJSfR9D8B99913K1ddddVVV1111f8EVK666qqrrrrqqv8Rzp49e+s111zzYP6dJPEfSRIPJIkXhSTuJ4n7SeJ+knhhJPHcJPGCSAJAEgCSAJAEgCQAJAEgiecmCQBJ3E8Sz48k7ieJB5LEA0lCEs9NEpKQxItKEpKQhCQkIQlJSEISkpCEJCTxryUJSUhCEpKQhCQkcT9JSEISkgCQhCQkASAJSQBIAkASkgCQBIAk7ieJ+0nifpJ4bpJ4UdkGQBL3s40k7mcbSTyQbSRhG0k8kG0k8dxsI4n72QZAEg9kmweSxH822zw/knhutnkgSQDY5n6SsA1A3/cAnD179lauuuqqq6666qr/CQiuuuqqq6666qr/Ee67775bATY3N5HEc5PEc5PEv0QSDySJB5LEA0niRSWJ+0niP4IkXhSS+I8kiecmiecmiQeSxP0k8UCSkMQDSUISz48kJCEJSfxHk4QkJCEJSUhCEpKQhCQkIQlJSOL5kYQkJCGJ+0lCEveThCQAJCEJSUgCQBIAkgCQhCQAJCEJAElIAkASkpCEJJ6bJCQhiecmCUlIQhIAkpCEJAAkIQkASQBIAkASAJIAkIQkJCEJAElIQhIAkpCEJCRxP0lIQhKSkIQk/rUkIYkXRhKSkIQkJCEJSUhCEpJ4fiQhCUlI4oEkIYn7SaLvewDuu+++W7nqqquuuuqqq/4noHLVVVddddVVV/2PcN99990KsLW1xb+VJP4zSeJFIYn7SeJ+krifJO4niRdGEi+IJAAk8a8hCQBJPDdJPDdJ3E8SL4gknpsknpskJPHCSEISkpCEJCQhCUlIQhKSkIQkJCEJSUhCEpKQxL+VJCQhCUlIQhIPJAlJSAJAEpKQBIAkJAEgCQBJAEgCQBIAkrifJO4niQeSxL9EEi+IbSRxP9tIAsA2krCNJF4Q20jCNpIAsI0k7mcbSTw32wBI4t/DNgCSeEFs86KQxHOzzQNJ4n62uZ8kbHPVVVddddVVV/2PQ+Wqq6666qqrrvofTxLPTRL/Ekk8kCQeSBIPJIkHksQLIon/aJK4nySemyQAJPGCSAJAEgCSAJAEgCReEEk8N0ncTxL3k8T9JPFAkpDEA0ni+ZGEJCTxn00SAJKQhCQkIQlJSEISkpCEJCQhCUlI4oEkIQlJSOJ+kpDE/SQhCQBJAEhCEgCSuJ8kACRxP0ncTxLPTRL/GrYBkMT9bCMJANtI4oFsIwnbSMI2kngg20gCwDaSuJ9tACTx3GxzP0n8d7LN8yOJ+9nmgSQBYBuAra0tAO67775bueqqq6666qqr/icguOqqq6666qqr/kc4e/bsMwCuu+46/i0k8Z9JEi+IJO4niftJ4n6SuJ8k7ieJF0YSL4gk/j0kASCJ5yaJ+0nifpK4nyTuJwlJPJAkHkgSknhBJCEJSUhCEpKQxAsjCUlIQhKSkIQkJCEJSQBI4t9DEpKQhCQkcT9JSEISAJKQxP0kASAJSQBIAkASkpCEJAAkIQkASUgCQBKSkIQknpskJCEJSTw3SUhCEveThCQAJCEJAEkASEISkpCEJAAkASAJSQBIQhL3k4QkJHE/SUhCEpKQhCT+J5CEJCQhCUk8N0lIQhL3k4Qk7nf27NlncNVVV1111VVX/U9A5aqrrrrqqquu+h/hvvvuu5X/QJJ4IEm8MJJ4IEm8IJL4zySJ5yaJF0QSAJIAkASAJAAkASAJAEk8N0kASOJfQxIPJIkHkoQkHkgSkpDEi0oSkpCEJCQhCUn8a0lCEpKQhCQkIQlJSEISkpCEJCQhCUk8N0lIQhL3k4QkACQhCQBJSAJAEgCSAJAEgCTuJ4n7SeKBJPGikMTzYxtJ3M82kgCwjSQeyDaSsI0kHsg2kgCwjSTuZxtJPJBtACTxP41tnh9J3M8295MEgG0A+r4H4L777ruVq6666qqrrrrqfwIqV1111VVXXXXV/whnz569FWBzc5MHksRzk8S/lyReVJJ4QSRxP0ncTxLPjyTuJ4n7SeK5SeK5SQJAEv8RJPGCSOJ+krifJB5IEg8kiecmiedHEpKQhCT+I0hCEpKQhCQkIQlJ/HtJQhKSkIQk7icJSUgCQBKSAJCEJAAkASAJAEkASAJAEveTxP0k8dwk8a9hGwBJ3M82kgCwjSQAbCMJ20jCNpKwjSRsIwkA20gCwDaSuJ9tACTxQLZ5IEn8a9nmP5Iknh/bPJAkAGxzP0l0XQfA2bNnb+Wqq6666qqrrvqfgMpVV1111VVXXfU/zhu+4RvyL5GEbR5IEraRxL+WJGwDIIkXRBK2eSBJ2EYSL4wkbHM/STw/krDN/STx/EjCNgCSeEEk8S+RxPMjiecmiecmCdtI4rlJ4n6SsI0k7ieJ5yaJB5LEA0nigSRxP0k8N0k8kCTuJ4kHksT9bANgm/tJ4rlJ4rlJ4vmRxAsjiX8vSQDY5j+CbV4Q2zw/tnlutnlutnkg29xPEgCSeCDb3M82D2SbB7LNA9nmudnmfrZ5INs8N9s8N9sA9H3PVVddddVVV131PwqVq6666qqrrrrqf4T77rvv1q//+q9/nw//8A//rq2tLa666n8K2zyQba76ryOJ5yaJ/8m+/uu//n3uu+++W7nqqquuuuqqq/4nQA960IO46qqrrrrqqqv+53ixF3ux1wLEczIgnpMB8ZwMiOdkQDwnA+I5GRDPyYB4TgbEczIgnpMB8ZwMiOdkQDwnA+I5GRDPyYB4TgbEczIgnpMB8ZwMiOdkQDwnA+I5GRDPyYB4TgbEczIgnpMB8ZwMiOdkQDwnA+I5GRDPyYB4TgbEczIgnpMB8ZwMiOdkQDwnA+I5GRDPyYB4TgbEczIgnpMB8ZwMiOdkQDwnA+I5GRDPyYB4TgbEczIgnpMB8ZwMiOdkQDwnA+I5GRDPyYB4TgbEczIgnpMB8ZwMiOdkQDwn/8M//MPvcNVVV1111VVX/U+BHvSgB3HVVVddddVVV1111VVXXXXVVVddddVVV/2fROWqq6666qqrrrrqqquuuuqqq6666qqrrvq/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+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4p/BM+chmjnHublAAAAAElFTkSuQmCC) ```js -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) |> startProfileAt([10, 0], %) |> line(end = [5, -5]) |> line(end = [5, 5]) @@ -180,7 +180,7 @@ part001 = revolve( // Revolve two sketches around the same axis. -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) profile001 = startProfileAt([4, 8], sketch001) |> xLine(length = 3) |> yLine(length = -3) @@ -204,14 +204,14 @@ revolve([profile001, profile002], axis = "X") // Revolve around a path that has not been extruded. -profile001 = startSketchOn('XY') +profile001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 20], tag = $revolveAxis) |> line(end = [20, 0]) |> line(end = [0, -20]) |> close(%) -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) |> circle(center = [-10, 10], radius = 4) |> revolve(angle = 90, axis = revolveAxis) ``` @@ -222,12 +222,12 @@ sketch001 = startSketchOn('XY') // Revolve around a path that has not been extruded or closed. -profile001 = startSketchOn('XY') +profile001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 20], tag = $revolveAxis) |> line(end = [20, 0]) -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) |> circle(center = [-10, 10], radius = 4) |> revolve(angle = 90, axis = revolveAxis) ``` diff --git a/docs/kcl/rotate.md b/docs/kcl/rotate.md index d0560c137..bd74dea02 100644 --- a/docs/kcl/rotate.md +++ b/docs/kcl/rotate.md @@ -58,7 +58,7 @@ rotate( // Rotate a pipe with roll, pitch, and yaw. // Create a path for the sweep. -sweepPath = startSketchOn('XZ') +sweepPath = startSketchOn(XZ) |> startProfileAt([0.05, 0.05], %) |> line(end = [0, 7]) |> tangentialArc({ offset = 90, radius = 5 }, %) @@ -67,10 +67,10 @@ sweepPath = startSketchOn('XZ') |> line(end = [0, 7]) // Create a hole for the pipe. -pipeHole = startSketchOn('XY') +pipeHole = startSketchOn(XY) |> circle(center = [0, 0], radius = 1.5) -sweepSketch = startSketchOn('XY') +sweepSketch = startSketchOn(XY) |> circle(center = [0, 0], radius = 2) |> hole(pipeHole, %) |> sweep(path = sweepPath) @@ -83,7 +83,7 @@ sweepSketch = startSketchOn('XY') // Rotate a pipe about an axis with an angle. // Create a path for the sweep. -sweepPath = startSketchOn('XZ') +sweepPath = startSketchOn(XZ) |> startProfileAt([0.05, 0.05], %) |> line(end = [0, 7]) |> tangentialArc({ offset = 90, radius = 5 }, %) @@ -92,10 +92,10 @@ sweepPath = startSketchOn('XZ') |> line(end = [0, 7]) // Create a hole for the pipe. -pipeHole = startSketchOn('XY') +pipeHole = startSketchOn(XY) |> circle(center = [0, 0], radius = 1.5) -sweepSketch = startSketchOn('XY') +sweepSketch = startSketchOn(XY) |> circle(center = [0, 0], radius = 2) |> hole(pipeHole, %) |> sweep(path = sweepPath) @@ -120,7 +120,7 @@ cube // Sweep two sketches along the same path. -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) rectangleSketch = startProfileAt([-200, 23.86], sketch001) |> angledLine([0, 73.47], %, $rectangleSegmentA001) |> angledLine([ @@ -136,7 +136,7 @@ rectangleSketch = startProfileAt([-200, 23.86], sketch001) circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63) -sketch002 = startSketchOn('YZ') +sketch002 = startSketchOn(YZ) sweepPath = startProfileAt([0, 0], sketch002) |> yLine(length = 231.81) |> tangentialArc({ radius = 80, offset = -90 }, %) @@ -152,7 +152,7 @@ rotate(parts, axis = [0, 0, 1.0], angle = 90) ```js // Translate and rotate a sketch to create a loft. -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) fn square() { return startProfileAt([-10, 10], sketch001) diff --git a/docs/kcl/round.md b/docs/kcl/round.md index dc6d22e76..d1b03e5d3 100644 --- a/docs/kcl/round.md +++ b/docs/kcl/round.md @@ -31,7 +31,7 @@ round(num: number): number ### Examples ```js -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(endAbsolute = [12, 10]) |> line(end = [round(7.02986), 0]) diff --git a/docs/kcl/scale.md b/docs/kcl/scale.md index 7bafb55e2..ea13d8d8b 100644 --- a/docs/kcl/scale.md +++ b/docs/kcl/scale.md @@ -38,7 +38,7 @@ scale( // Scale a pipe. // Create a path for the sweep. -sweepPath = startSketchOn('XZ') +sweepPath = startSketchOn(XZ) |> startProfileAt([0.05, 0.05], %) |> line(end = [0, 7]) |> tangentialArc({ offset = 90, radius = 5 }, %) @@ -47,10 +47,10 @@ sweepPath = startSketchOn('XZ') |> line(end = [0, 7]) // Create a hole for the pipe. -pipeHole = startSketchOn('XY') +pipeHole = startSketchOn(XY) |> circle(center = [0, 0], radius = 1.5) -sweepSketch = startSketchOn('XY') +sweepSketch = startSketchOn(XY) |> circle(center = [0, 0], radius = 2) |> hole(pipeHole, %) |> sweep(path = sweepPath) @@ -75,7 +75,7 @@ cube // Sweep two sketches along the same path. -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) rectangleSketch = startProfileAt([-200, 23.86], sketch001) |> angledLine([0, 73.47], %, $rectangleSegmentA001) |> angledLine([ @@ -91,7 +91,7 @@ rectangleSketch = startProfileAt([-200, 23.86], sketch001) circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63) -sketch002 = startSketchOn('YZ') +sketch002 = startSketchOn(YZ) sweepPath = startProfileAt([0, 0], sketch002) |> yLine(length = 231.81) |> tangentialArc({ radius = 80, offset = -90 }, %) diff --git a/docs/kcl/segAng.md b/docs/kcl/segAng.md index a5d22fa1c..e247468c0 100644 --- a/docs/kcl/segAng.md +++ b/docs/kcl/segAng.md @@ -27,7 +27,7 @@ segAng(tag: TagIdentifier): number ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> line(end = [5, 10], tag = $seg01) diff --git a/docs/kcl/segEnd.md b/docs/kcl/segEnd.md index 31f68b100..a9f0925a8 100644 --- a/docs/kcl/segEnd.md +++ b/docs/kcl/segEnd.md @@ -28,7 +28,7 @@ segEnd(tag: TagIdentifier): [number] ```js w = 15 -cube = startSketchOn('XY') +cube = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [w, 0], tag = $line1) |> line(end = [0, w], tag = $line2) @@ -38,7 +38,7 @@ cube = startSketchOn('XY') |> extrude(length = 5) fn cylinder(radius, tag) { - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt([0, 0], %) |> circle(radius = radius, center = segEnd(tag)) |> extrude(length = radius) diff --git a/docs/kcl/segEndX.md b/docs/kcl/segEndX.md index 5c3f84de4..01f623a77 100644 --- a/docs/kcl/segEndX.md +++ b/docs/kcl/segEndX.md @@ -27,7 +27,7 @@ segEndX(tag: TagIdentifier): number ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [20, 0], tag = $thing) |> line(end = [0, 5]) diff --git a/docs/kcl/segEndY.md b/docs/kcl/segEndY.md index e41147a87..01788f8f0 100644 --- a/docs/kcl/segEndY.md +++ b/docs/kcl/segEndY.md @@ -27,7 +27,7 @@ segEndY(tag: TagIdentifier): number ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [20, 0]) |> line(end = [0, 3], tag = $thing) diff --git a/docs/kcl/segLen.md b/docs/kcl/segLen.md index f53137206..9e5653f66 100644 --- a/docs/kcl/segLen.md +++ b/docs/kcl/segLen.md @@ -27,7 +27,7 @@ segLen(tag: TagIdentifier): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 60, length = 10 }, %, $thing) |> tangentialArc({ offset = -120, radius = 5 }, %) diff --git a/docs/kcl/segStart.md b/docs/kcl/segStart.md index 870f78fa2..73a4b7f04 100644 --- a/docs/kcl/segStart.md +++ b/docs/kcl/segStart.md @@ -28,7 +28,7 @@ segStart(tag: TagIdentifier): [number] ```js w = 15 -cube = startSketchOn('XY') +cube = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [w, 0], tag = $line1) |> line(end = [0, w], tag = $line2) @@ -38,7 +38,7 @@ cube = startSketchOn('XY') |> extrude(length = 5) fn cylinder(radius, tag) { - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt([0, 0], %) |> circle(radius = radius, center = segStart(tag)) |> extrude(length = radius) diff --git a/docs/kcl/segStartX.md b/docs/kcl/segStartX.md index 7caa429e1..b897155c4 100644 --- a/docs/kcl/segStartX.md +++ b/docs/kcl/segStartX.md @@ -27,7 +27,7 @@ segStartX(tag: TagIdentifier): number ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [20, 0], tag = $thing) |> line(end = [0, 5]) diff --git a/docs/kcl/segStartY.md b/docs/kcl/segStartY.md index c4b062934..4e2d7d664 100644 --- a/docs/kcl/segStartY.md +++ b/docs/kcl/segStartY.md @@ -27,7 +27,7 @@ segStartY(tag: TagIdentifier): number ### Examples ```js -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [20, 0]) |> line(end = [0, 3], tag = $thing) diff --git a/docs/kcl/shell.md b/docs/kcl/shell.md index 1de197be4..bac00e26b 100644 --- a/docs/kcl/shell.md +++ b/docs/kcl/shell.md @@ -34,7 +34,7 @@ shell( ```js // Remove the end face for the extrusion. -firstSketch = startSketchOn('XY') +firstSketch = startSketchOn(XY) |> startProfileAt([-12, 12], %) |> line(end = [24, 0]) |> line(end = [0, -24]) @@ -50,7 +50,7 @@ shell(firstSketch, faces = ['end'], thickness = 0.25) ```js // Remove the start face for the extrusion. -firstSketch = startSketchOn('-XZ') +firstSketch = startSketchOn(-XZ) |> startProfileAt([-12, 12], %) |> line(end = [24, 0]) |> line(end = [0, -24]) @@ -66,7 +66,7 @@ shell(firstSketch, faces = ['start'], thickness = 0.25) ```js // Remove a tagged face and the end face for the extrusion. -firstSketch = startSketchOn('XY') +firstSketch = startSketchOn(XY) |> startProfileAt([-12, 12], %) |> line(end = [24, 0]) |> line(end = [0, -24]) @@ -82,7 +82,7 @@ shell(firstSketch, faces = [myTag], thickness = 0.25) ```js // Remove multiple faces at once. -firstSketch = startSketchOn('XY') +firstSketch = startSketchOn(XY) |> startProfileAt([-12, 12], %) |> line(end = [24, 0]) |> line(end = [0, -24]) @@ -99,7 +99,7 @@ shell(firstSketch, faces = [myTag, 'end'], thickness = 0.25) ```js // Shell a sketch on face. size = 100 -case = startSketchOn('-XZ') +case = startSketchOn(-XZ) |> startProfileAt([-size, -size], %) |> line(end = [2 * size, 0]) |> line(end = [0, 2 * size]) @@ -124,7 +124,7 @@ shell(case, faces = ['start'], thickness = 5) ```js // Shell a sketch on face object on the end face. size = 100 -case = startSketchOn('XY') +case = startSketchOn(XY) |> startProfileAt([-size, -size], %) |> line(end = [2 * size, 0]) |> line(end = [0, 2 * size]) @@ -152,7 +152,7 @@ shell(thing1, faces = ['end'], thickness = 5) size = 100 -case = startSketchOn('XY') +case = startSketchOn(XY) |> startProfileAt([-size, -size], %) |> line(end = [2 * size, 0]) |> line(end = [0, 2 * size]) diff --git a/docs/kcl/sqrt.md b/docs/kcl/sqrt.md index 41730dfa7..db5a43d4d 100644 --- a/docs/kcl/sqrt.md +++ b/docs/kcl/sqrt.md @@ -31,7 +31,7 @@ sqrt(num: number): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 50, length = sqrt(2500) }, %) |> yLine(endAbsolute = 0) diff --git a/docs/kcl/std.json b/docs/kcl/std.json index 0f79bcb30..2f97ef265 100644 --- a/docs/kcl/std.json +++ b/docs/kcl/std.json @@ -38,7 +38,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "myAngle = -120\n\nsketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [8, 0])\n |> angledLine({ angle = abs(myAngle), length = 5 }, %)\n |> line(end = [-5, 0])\n |> angledLine({ angle = myAngle, length = 5 }, %)\n |> close()\n\nbaseExtrusion = extrude(sketch001, length = 5)" + "myAngle = -120\n\nsketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [8, 0])\n |> angledLine({ angle = abs(myAngle), length = 5 }, %)\n |> line(end = [-5, 0])\n |> angledLine({ angle = myAngle, length = 5 }, %)\n |> close()\n\nbaseExtrusion = extrude(sketch001, length = 5)" ] }, { @@ -80,7 +80,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = toDegrees(acos(0.5)),\n length = 10\n }, %)\n |> line(end = [5, 0])\n |> line(endAbsolute = [12, 0])\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" + "sketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = toDegrees(acos(0.5)),\n length = 10\n }, %)\n |> line(end = [5, 0])\n |> line(endAbsolute = [12, 0])\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" ] }, { @@ -1796,7 +1796,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [2, 5], tag = $seg01)\n |> angledLineToX([-angleToMatchLengthX(seg01, 7, %), 10], %)\n |> close()\n\nextrusion = extrude(sketch001, length = 5)" + "sketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [2, 5], tag = $seg01)\n |> angledLineToX([-angleToMatchLengthX(seg01, 7, %), 10], %)\n |> close()\n\nextrusion = extrude(sketch001, length = 5)" ] }, { @@ -3512,7 +3512,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [1, 2], tag = $seg01)\n |> angledLine({\n angle = angleToMatchLengthY(seg01, 15, %),\n length = 5\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrusion = extrude(sketch001, length = 5)" + "sketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [1, 2], tag = $seg01)\n |> angledLine({\n angle = angleToMatchLengthY(seg01, 15, %),\n length = 5\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrusion = extrude(sketch001, length = 5)" ] }, { @@ -41304,15 +41304,15 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Add color to an extruded solid.\nexampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> line(endAbsolute = [10, 0])\n |> line(endAbsolute = [0, 10])\n |> line(endAbsolute = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)\n // There are other options besides 'color', but they're optional.\n |> appearance(color = '#ff0000')", - "// Add color to a revolved solid.\nsketch001 = startSketchOn('XY')\n |> circle(center = [15, 0], radius = 5)\n |> revolve(angle = 360, axis = 'y')\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)", - "// Add color to different solids.\nfn cube(center) {\n return startSketchOn('XY')\n |> startProfileAt([center[0] - 10, center[1] - 10], %)\n |> line(endAbsolute = [center[0] + 10, center[1] - 10])\n |> line(endAbsolute = [center[0] + 10, center[1] + 10])\n |> line(endAbsolute = [center[0] - 10, center[1] + 10])\n |> close()\n |> extrude(length = 10)\n}\n\nexample0 = cube([0, 0])\nexample1 = cube([20, 0])\nexample2 = cube([40, 0])\n\nappearance(\n [example0, example1],\n color = '#ff0000',\n metalness = 50,\n roughness = 50,\n)\nappearance(\n example2,\n color = '#00ff00',\n metalness = 50,\n roughness = 50,\n)", - "// You can set the appearance before or after you shell it will yield the same result.\n// This example shows setting the appearance _after_ the shell.\nfirstSketch = startSketchOn('XY')\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n\nshell(firstSketch, faces = ['end'], thickness = 0.25)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)", - "// You can set the appearance before or after you shell it will yield the same result.\n// This example shows setting the appearance _before_ the shell.\nfirstSketch = startSketchOn('XY')\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)\n\nshell(firstSketch, faces = ['end'], thickness = 0.25)", - "// Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern.\n// This example shows _before_ the pattern.\nexampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 2])\n |> line(end = [3, 1])\n |> line(end = [0, -4])\n |> close()\n\nexample = extrude(exampleSketch, length = 1)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)\n |> patternLinear3d(axis = [1, 0, 1], instances = 7, distance = 6)", - "// Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern.\n// This example shows _after_ the pattern.\nexampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 2])\n |> line(end = [3, 1])\n |> line(end = [0, -4])\n |> close()\n\nexample = extrude(exampleSketch, length = 1)\n |> patternLinear3d(axis = [1, 0, 1], instances = 7, distance = 6)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)", - "// Color the result of a 2D pattern that was extruded.\nexampleSketch = startSketchOn('XZ')\n |> startProfileAt([.5, 25], %)\n |> line(end = [0, 5])\n |> line(end = [-1, 0])\n |> line(end = [0, -5])\n |> close()\n |> patternCircular2d(\n center = [0, 0],\n instances = 13,\n arcDegrees = 360,\n rotateDuplicates = true,\n )\n\nexample = extrude(exampleSketch, length = 1)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)", - "// Color the result of a sweep.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn('XZ')\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\npipeHole = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> appearance(color = \"#ff0000\", metalness = 50, roughness = 50)" + "// Add color to an extruded solid.\nexampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(endAbsolute = [10, 0])\n |> line(endAbsolute = [0, 10])\n |> line(endAbsolute = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)\n // There are other options besides 'color', but they're optional.\n |> appearance(color = '#ff0000')", + "// Add color to a revolved solid.\nsketch001 = startSketchOn(XY)\n |> circle(center = [15, 0], radius = 5)\n |> revolve(angle = 360, axis = 'y')\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)", + "// Add color to different solids.\nfn cube(center) {\n return startSketchOn(XY)\n |> startProfileAt([center[0] - 10, center[1] - 10], %)\n |> line(endAbsolute = [center[0] + 10, center[1] - 10])\n |> line(endAbsolute = [center[0] + 10, center[1] + 10])\n |> line(endAbsolute = [center[0] - 10, center[1] + 10])\n |> close()\n |> extrude(length = 10)\n}\n\nexample0 = cube([0, 0])\nexample1 = cube([20, 0])\nexample2 = cube([40, 0])\n\nappearance(\n [example0, example1],\n color = '#ff0000',\n metalness = 50,\n roughness = 50,\n)\nappearance(\n example2,\n color = '#00ff00',\n metalness = 50,\n roughness = 50,\n)", + "// You can set the appearance before or after you shell it will yield the same result.\n// This example shows setting the appearance _after_ the shell.\nfirstSketch = startSketchOn(XY)\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n\nshell(firstSketch, faces = ['end'], thickness = 0.25)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)", + "// You can set the appearance before or after you shell it will yield the same result.\n// This example shows setting the appearance _before_ the shell.\nfirstSketch = startSketchOn(XY)\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)\n\nshell(firstSketch, faces = ['end'], thickness = 0.25)", + "// Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern.\n// This example shows _before_ the pattern.\nexampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 2])\n |> line(end = [3, 1])\n |> line(end = [0, -4])\n |> close()\n\nexample = extrude(exampleSketch, length = 1)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)\n |> patternLinear3d(axis = [1, 0, 1], instances = 7, distance = 6)", + "// Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern.\n// This example shows _after_ the pattern.\nexampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 2])\n |> line(end = [3, 1])\n |> line(end = [0, -4])\n |> close()\n\nexample = extrude(exampleSketch, length = 1)\n |> patternLinear3d(axis = [1, 0, 1], instances = 7, distance = 6)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)", + "// Color the result of a 2D pattern that was extruded.\nexampleSketch = startSketchOn(XZ)\n |> startProfileAt([.5, 25], %)\n |> line(end = [0, 5])\n |> line(end = [-1, 0])\n |> line(end = [0, -5])\n |> close()\n |> patternCircular2d(\n center = [0, 0],\n instances = 13,\n arcDegrees = 360,\n rotateDuplicates = true,\n )\n\nexample = extrude(exampleSketch, length = 1)\n |> appearance(color = '#ff0000', metalness = 90, roughness = 90)", + "// Color the result of a sweep.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\npipeHole = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> appearance(color = \"#ff0000\", metalness = 50, roughness = 50)" ] }, { @@ -51323,7 +51323,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = toDegrees(asin(0.5)),\n length = 20\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" + "sketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = toDegrees(asin(0.5)),\n length = 20\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" ] }, { @@ -51748,7 +51748,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = toDegrees(atan(1.25)),\n length = 20\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" + "sketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = toDegrees(atan(1.25)),\n length = 20\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" ] }, { @@ -51803,7 +51803,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = toDegrees(atan2(1.25, 2)),\n length = 20\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" + "sketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = toDegrees(atan2(1.25, 2)),\n length = 20\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" ] }, { @@ -56820,7 +56820,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(endAbsolute = [12, 10])\n |> line(end = [ceil(7.02986), 0])\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" + "sketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(endAbsolute = [12, 10])\n |> line(end = [ceil(7.02986), 0])\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" ] }, { @@ -64987,8 +64987,8 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Chamfer a mounting plate.\nwidth = 20\nlength = 10\nthickness = 1\nchamferLength = 2\n\nmountingPlateSketch = startSketchOn(\"XY\")\n |> startProfileAt([-width / 2, -length / 2], %)\n |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1)\n |> line(endAbsolute = [width / 2, length / 2], tag = $edge2)\n |> line(endAbsolute = [-width / 2, length / 2], tag = $edge3)\n |> close(tag = $edge4)\n\nmountingPlate = extrude(mountingPlateSketch, length = thickness)\n |> chamfer(\n length = chamferLength,\n tags = [\n getNextAdjacentEdge(edge1),\n getNextAdjacentEdge(edge2),\n getNextAdjacentEdge(edge3),\n getNextAdjacentEdge(edge4)\n ],\n )", - "// Sketch on the face of a chamfer.\nfn cube(pos, scale) {\n sg = startSketchOn('XY')\n |> startProfileAt(pos, %)\n |> line(end = [0, scale])\n |> line(end = [scale, 0])\n |> line(end = [0, -scale])\n\n return sg\n}\n\npart001 = cube([0, 0], 20)\n |> close(tag = $line1)\n |> extrude(length = 20)\n // We tag the chamfer to reference it later.\n |> chamfer(length = 10, tags = [getOppositeEdge(line1)], tag = $chamfer1)\n\nsketch001 = startSketchOn(part001, chamfer1)\n |> startProfileAt([10, 10], %)\n |> line(end = [2, 0])\n |> line(end = [0, 2])\n |> line(end = [-2, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n |> extrude(length = 10)" + "// Chamfer a mounting plate.\nwidth = 20\nlength = 10\nthickness = 1\nchamferLength = 2\n\nmountingPlateSketch = startSketchOn(XY)\n |> startProfileAt([-width / 2, -length / 2], %)\n |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1)\n |> line(endAbsolute = [width / 2, length / 2], tag = $edge2)\n |> line(endAbsolute = [-width / 2, length / 2], tag = $edge3)\n |> close(tag = $edge4)\n\nmountingPlate = extrude(mountingPlateSketch, length = thickness)\n |> chamfer(\n length = chamferLength,\n tags = [\n getNextAdjacentEdge(edge1),\n getNextAdjacentEdge(edge2),\n getNextAdjacentEdge(edge3),\n getNextAdjacentEdge(edge4)\n ],\n )", + "// Sketch on the face of a chamfer.\nfn cube(pos, scale) {\n sg = startSketchOn(XY)\n |> startProfileAt(pos, %)\n |> line(end = [0, scale])\n |> line(end = [scale, 0])\n |> line(end = [0, -scale])\n\n return sg\n}\n\npart001 = cube([0, 0], 20)\n |> close(tag = $line1)\n |> extrude(length = 20)\n // We tag the chamfer to reference it later.\n |> chamfer(length = 10, tags = [getOppositeEdge(line1)], tag = $chamfer1)\n\nsketch001 = startSketchOn(part001, chamfer1)\n |> startProfileAt([10, 10], %)\n |> line(end = [2, 0])\n |> line(end = [0, 2])\n |> line(end = [-2, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n |> extrude(length = 10)" ] }, { @@ -73061,8 +73061,8 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"-XZ\")\n |> circle(center = [0, 0], radius = 10)\n\nexample = extrude(exampleSketch, length = 5)", - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([-15, 0], %)\n |> line(end = [30, 0])\n |> line(end = [0, 30])\n |> line(end = [-30, 0])\n |> close()\n |> hole(circle(center = [0, 15], radius = 5), %)\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(-XZ)\n |> circle(center = [0, 0], radius = 10)\n\nexample = extrude(exampleSketch, length = 5)", + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([-15, 0], %)\n |> line(end = [30, 0])\n |> line(end = [0, 30])\n |> line(end = [-30, 0])\n |> close()\n |> hole(circle(center = [0, 15], radius = 5), %)\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -77993,7 +77993,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XY\")\n |> circleThreePoint(p1 = [10, 10], p2 = [20, 8], p3 = [15, 5])\n |> extrude(length = 5)" + "exampleSketch = startSketchOn(XY)\n |> circleThreePoint(p1 = [10, 10], p2 = [20, 8], p3 = [15, 5])\n |> extrude(length = 5)" ] }, { @@ -82977,7 +82977,7 @@ "unpublished": false, "deprecated": true, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 30, length = 2 * e() ^ 2 }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 10)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 30, length = 2 * e() ^ 2 }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 10)" ] }, { @@ -90985,8 +90985,8 @@ "unpublished": false, "deprecated": false, "examples": [ - "example = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> arc({\n angleStart = 120,\n angleEnd = 0,\n radius = 5\n }, %)\n |> line(end = [5, 0])\n |> line(end = [0, 10])\n |> bezierCurve({\n control1 = [-10, 0],\n control2 = [2, 10],\n to = [-5, 10]\n }, %)\n |> line(end = [-5, -2])\n |> close()\n |> extrude(length = 10)", - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([-10, 0], %)\n |> arc({\n angleStart = 120,\n angleEnd = -60,\n radius = 5\n }, %)\n |> line(end = [10, 0])\n |> line(end = [5, 0])\n |> bezierCurve({\n control1 = [-3, 0],\n control2 = [2, 10],\n to = [-5, 10]\n }, %)\n |> line(end = [-4, 10])\n |> line(end = [-5, -2])\n |> close()\n\nexample = extrude(exampleSketch, length = 10)" + "example = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> arc({\n angleStart = 120,\n angleEnd = 0,\n radius = 5\n }, %)\n |> line(end = [5, 0])\n |> line(end = [0, 10])\n |> bezierCurve({\n control1 = [-10, 0],\n control2 = [2, 10],\n to = [-5, 10]\n }, %)\n |> line(end = [-5, -2])\n |> close()\n |> extrude(length = 10)", + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([-10, 0], %)\n |> arc({\n angleStart = 120,\n angleEnd = -60,\n radius = 5\n }, %)\n |> line(end = [10, 0])\n |> line(end = [5, 0])\n |> bezierCurve({\n control1 = [-3, 0],\n control2 = [2, 10],\n to = [-5, 10]\n }, %)\n |> line(end = [-4, 10])\n |> line(end = [-5, -2])\n |> close()\n\nexample = extrude(exampleSketch, length = 10)" ] }, { @@ -100768,8 +100768,8 @@ "unpublished": false, "deprecated": false, "examples": [ - "width = 20\nlength = 10\nthickness = 1\nfilletRadius = 2\n\nmountingPlateSketch = startSketchOn(\"XY\")\n |> startProfileAt([-width / 2, -length / 2], %)\n |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1)\n |> line(endAbsolute = [width / 2, length / 2], tag = $edge2)\n |> line(endAbsolute = [-width / 2, length / 2], tag = $edge3)\n |> close(tag = $edge4)\n\nmountingPlate = extrude(mountingPlateSketch, length = thickness)\n |> fillet(\n radius = filletRadius,\n tags = [\n getNextAdjacentEdge(edge1),\n getNextAdjacentEdge(edge2),\n getNextAdjacentEdge(edge3),\n getNextAdjacentEdge(edge4)\n ],\n )", - "width = 20\nlength = 10\nthickness = 1\nfilletRadius = 1\n\nmountingPlateSketch = startSketchOn(\"XY\")\n |> startProfileAt([-width / 2, -length / 2], %)\n |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1)\n |> line(endAbsolute = [width / 2, length / 2], tag = $edge2)\n |> line(endAbsolute = [-width / 2, length / 2], tag = $edge3)\n |> close(tag = $edge4)\n\nmountingPlate = extrude(mountingPlateSketch, length = thickness)\n |> fillet(\n radius = filletRadius,\n tolerance = 0.000001,\n tags = [\n getNextAdjacentEdge(edge1),\n getNextAdjacentEdge(edge2),\n getNextAdjacentEdge(edge3),\n getNextAdjacentEdge(edge4)\n ],\n )" + "width = 20\nlength = 10\nthickness = 1\nfilletRadius = 2\n\nmountingPlateSketch = startSketchOn(XY)\n |> startProfileAt([-width / 2, -length / 2], %)\n |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1)\n |> line(endAbsolute = [width / 2, length / 2], tag = $edge2)\n |> line(endAbsolute = [-width / 2, length / 2], tag = $edge3)\n |> close(tag = $edge4)\n\nmountingPlate = extrude(mountingPlateSketch, length = thickness)\n |> fillet(\n radius = filletRadius,\n tags = [\n getNextAdjacentEdge(edge1),\n getNextAdjacentEdge(edge2),\n getNextAdjacentEdge(edge3),\n getNextAdjacentEdge(edge4)\n ],\n )", + "width = 20\nlength = 10\nthickness = 1\nfilletRadius = 1\n\nmountingPlateSketch = startSketchOn(XY)\n |> startProfileAt([-width / 2, -length / 2], %)\n |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1)\n |> line(endAbsolute = [width / 2, length / 2], tag = $edge2)\n |> line(endAbsolute = [-width / 2, length / 2], tag = $edge3)\n |> close(tag = $edge4)\n\nmountingPlate = extrude(mountingPlateSketch, length = thickness)\n |> fillet(\n radius = filletRadius,\n tolerance = 0.000001,\n tags = [\n getNextAdjacentEdge(edge1),\n getNextAdjacentEdge(edge2),\n getNextAdjacentEdge(edge3),\n getNextAdjacentEdge(edge4)\n ],\n )" ] }, { @@ -100811,7 +100811,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(endAbsolute = [12, 10])\n |> line(end = [floor(7.02986), 0])\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" + "sketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(endAbsolute = [12, 10])\n |> line(end = [floor(7.02986), 0])\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" ] }, { @@ -100895,7 +100895,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Get an edge shared between two faces, created after a chamfer.\n\n\nscale = 20\npart001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, scale])\n |> line(end = [scale, 0])\n |> line(end = [0, -scale])\n |> close(tag = $line0)\n |> extrude(length = 20, tagEnd = $end0)\n // We tag the chamfer to reference it later.\n |> chamfer(length = 10, tags = [getOppositeEdge(line0)], tag = $chamfer0)\n\n// Get the shared edge between the chamfer and the extrusion.\ncommonEdge = getCommonEdge(faces = [chamfer0, end0])\n\n// Chamfer the shared edge.\n// TODO: uncomment this when ssi for fillets lands\n// chamfer(part001, length = 5, tags = [commonEdge])" + "// Get an edge shared between two faces, created after a chamfer.\n\n\nscale = 20\npart001 = startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, scale])\n |> line(end = [scale, 0])\n |> line(end = [0, -scale])\n |> close(tag = $line0)\n |> extrude(length = 20, tagEnd = $end0)\n // We tag the chamfer to reference it later.\n |> chamfer(length = 10, tags = [getOppositeEdge(line0)], tag = $chamfer0)\n\n// Get the shared edge between the chamfer and the extrusion.\ncommonEdge = getCommonEdge(faces = [chamfer0, end0])\n\n// Chamfer the shared edge.\n// TODO: uncomment this when ssi for fillets lands\n// chamfer(part001, length = 5, tags = [commonEdge])" ] }, { @@ -100942,7 +100942,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> angledLine({ angle = 60, length = 10 }, %)\n |> angledLine({ angle = 120, length = 10 }, %)\n |> line(end = [-10, 0])\n |> angledLine({ angle = 240, length = 10 }, %, $referenceEdge)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)\n |> fillet(radius = 3, tags = [getNextAdjacentEdge(referenceEdge)])" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> angledLine({ angle = 60, length = 10 }, %)\n |> angledLine({ angle = 120, length = 10 }, %)\n |> line(end = [-10, 0])\n |> angledLine({ angle = 240, length = 10 }, %, $referenceEdge)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)\n |> fillet(radius = 3, tags = [getNextAdjacentEdge(referenceEdge)])" ] }, { @@ -100989,7 +100989,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> angledLine({ angle = 60, length = 10 }, %)\n |> angledLine({ angle = 120, length = 10 }, %)\n |> line(end = [-10, 0])\n |> angledLine({ angle = 240, length = 10 }, %, $referenceEdge)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)\n |> fillet(radius = 3, tags = [getOppositeEdge(referenceEdge)])" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> angledLine({ angle = 60, length = 10 }, %)\n |> angledLine({ angle = 120, length = 10 }, %)\n |> line(end = [-10, 0])\n |> angledLine({ angle = 240, length = 10 }, %, $referenceEdge)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)\n |> fillet(radius = 3, tags = [getOppositeEdge(referenceEdge)])" ] }, { @@ -101036,7 +101036,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> angledLine({ angle = 60, length = 10 }, %)\n |> angledLine({ angle = 120, length = 10 }, %)\n |> line(end = [-10, 0])\n |> angledLine({ angle = 240, length = 10 }, %, $referenceEdge)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)\n |> fillet(radius = 3, tags = [getPreviousAdjacentEdge(referenceEdge)])" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> angledLine({ angle = 60, length = 10 }, %)\n |> angledLine({ angle = 120, length = 10 }, %)\n |> line(end = [-10, 0])\n |> angledLine({ angle = 240, length = 10 }, %, $referenceEdge)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)\n |> fillet(radius = 3, tags = [getPreviousAdjacentEdge(referenceEdge)])" ] }, { @@ -101531,9 +101531,9 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Create a helix around the Z axis.\nhelixPath = helix(\n angleStart = 0,\n ccw = true,\n revolutions = 5,\n length = 10,\n radius = 5,\n axis = 'Z',\n)\n\n// Create a spring by sweeping around the helix path.\nspringSketch = startSketchOn('YZ')\n |> circle(center = [0, 0], radius = 0.5)\n |> sweep(path = helixPath)", - "// Create a helix around an edge.\nhelper001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 10], tag = $edge001)\n\nhelixPath = helix(\n angleStart = 0,\n ccw = true,\n revolutions = 5,\n length = 10,\n radius = 5,\n axis = edge001,\n)\n\n// Create a spring by sweeping around the helix path.\nspringSketch = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 0.5)\n |> sweep(path = helixPath)", - "// Create a helix around a custom axis.\nhelixPath = helix(\n angleStart = 0,\n ccw = true,\n revolutions = 5,\n length = 10,\n radius = 5,\n axis = {\n custom = {\n axis = [0, 0, 1.0],\n origin = [0, 0.25, 0]\n }\n },\n)\n\n// Create a spring by sweeping around the helix path.\nspringSketch = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 1)\n |> sweep(path = helixPath)" + "// Create a helix around the Z axis.\nhelixPath = helix(\n angleStart = 0,\n ccw = true,\n revolutions = 5,\n length = 10,\n radius = 5,\n axis = 'Z',\n)\n\n// Create a spring by sweeping around the helix path.\nspringSketch = startSketchOn(YZ)\n |> circle(center = [0, 0], radius = 0.5)\n |> sweep(path = helixPath)", + "// Create a helix around an edge.\nhelper001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 10], tag = $edge001)\n\nhelixPath = helix(\n angleStart = 0,\n ccw = true,\n revolutions = 5,\n length = 10,\n radius = 5,\n axis = edge001,\n)\n\n// Create a spring by sweeping around the helix path.\nspringSketch = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 0.5)\n |> sweep(path = helixPath)", + "// Create a helix around a custom axis.\nhelixPath = helix(\n angleStart = 0,\n ccw = true,\n revolutions = 5,\n length = 10,\n radius = 5,\n axis = {\n custom = {\n axis = [0, 0, 1.0],\n origin = [0, 0.25, 0]\n }\n },\n)\n\n// Create a spring by sweeping around the helix path.\nspringSketch = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 1)\n |> sweep(path = helixPath)" ] }, { @@ -104907,7 +104907,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "part001 = startSketchOn('XY')\n |> circle(center = [5, 5], radius = 10)\n |> extrude(length = 10)\n |> helixRevolutions({\n angleStart = 0,\n ccw = true,\n revolutions = 16\n }, %)" + "part001 = startSketchOn(XY)\n |> circle(center = [5, 5], radius = 10)\n |> extrude(length = 10)\n |> helixRevolutions({\n angleStart = 0,\n ccw = true,\n revolutions = 16\n }, %)" ] }, { @@ -113179,9 +113179,9 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Hollow a basic sketch.\nfirstSketch = startSketchOn('XY')\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n |> hollow(0.25, %)", - "// Hollow a basic sketch.\nfirstSketch = startSketchOn('-XZ')\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n |> hollow(0.5, %)", - "// Hollow a sketch on face object.\nsize = 100\ncase = startSketchOn('-XZ')\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close()\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nhollow(0.5, case)" + "// Hollow a basic sketch.\nfirstSketch = startSketchOn(XY)\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n |> hollow(0.25, %)", + "// Hollow a basic sketch.\nfirstSketch = startSketchOn(-XZ)\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n |> hollow(0.5, %)", + "// Hollow a sketch on face object.\nsize = 100\ncase = startSketchOn(-XZ)\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close()\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nhollow(0.5, case)" ] }, { @@ -113562,7 +113562,7 @@ "model = import(\"tests/inputs/cube.gltf\")", "model = import(\"tests/inputs/cube.sldprt\")", "model = import(\"tests/inputs/cube.step\")", - "import height, buildSketch from \"common.kcl\"\n\nplane = 'XZ'\nmargin = 2\ns1 = buildSketch(plane, [0, 0])\ns2 = buildSketch(plane, [0, height() + margin])" + "import height, buildSketch from \"common.kcl\"\n\nplane = XZ\nmargin = 2\ns1 = buildSketch(plane, [0, 0])\ns2 = buildSketch(plane, [0, height() + margin])" ] }, { @@ -113632,7 +113632,7 @@ "unpublished": false, "deprecated": true, "examples": [ - "n = int(ceil(5 / 2))\nassertEqual(n, 3, 0.0001, \"5/2 = 2.5, rounded up makes 3\")\n// Draw n cylinders.\nstartSketchOn('XZ')\n |> circle(center = [0, 0], radius = 2)\n |> extrude(length = 5)\n |> patternTransform(\n instances = n,\n transform = fn(id) {\n return { translate = [4 * id, 0, 0] }\n },\n )" + "n = int(ceil(5 / 2))\nassertEqual(n, 3, 0.0001, \"5/2 = 2.5, rounded up makes 3\")\n// Draw n cylinders.\nstartSketchOn(XZ)\n |> circle(center = [0, 0], radius = 2)\n |> extrude(length = 5)\n |> patternTransform(\n instances = n,\n transform = fn(id) {\n return { translate = [4 * id, 0, 0] }\n },\n )" ] }, { @@ -116843,7 +116843,7 @@ "unpublished": false, "deprecated": true, "examples": [ - "fn cube(center) {\n return startSketchOn('XY')\n |> startProfileAt([center[0] - 10, center[1] - 10], %)\n |> line(endAbsolute = [center[0] + 10, center[1] - 10])\n |> line(endAbsolute = [center[0] + 10, center[1] + 10])\n |> line(endAbsolute = [center[0] - 10, center[1] + 10])\n |> close()\n |> extrude(length = 10)\n}\n\npart001 = cube([0, 0])\npart002 = cube([8, 8])\n\nintersectedPart = intersect([part001, part002])" + "fn cube(center) {\n return startSketchOn(XY)\n |> startProfileAt([center[0] - 10, center[1] - 10], %)\n |> line(endAbsolute = [center[0] + 10, center[1] - 10])\n |> line(endAbsolute = [center[0] + 10, center[1] + 10])\n |> line(endAbsolute = [center[0] - 10, center[1] + 10])\n |> close()\n |> extrude(length = 10)\n}\n\npart001 = cube([0, 0])\npart002 = cube([8, 8])\n\nintersectedPart = intersect([part001, part002])" ] }, { @@ -118527,7 +118527,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> line(end = [5, 0])\n |> line(end = [20, 5])\n |> line(end = [lastSegX(%), 0])\n |> line(end = [-15, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [5, 0])\n |> line(end = [20, 5])\n |> line(end = [lastSegX(%), 0])\n |> line(end = [-15, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -120211,7 +120211,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> line(end = [5, 0])\n |> line(end = [20, 5])\n |> line(end = [0, lastSegY(%)])\n |> line(end = [-15, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [5, 0])\n |> line(end = [20, 5])\n |> line(end = [0, lastSegY(%)])\n |> line(end = [-15, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -128550,7 +128550,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> line(end = [ln(100), 15])\n |> line(end = [5, -6])\n |> line(end = [-10, -10])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [ln(100), 15])\n |> line(end = [5, -6])\n |> line(end = [-10, -10])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -141412,9 +141412,9 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Loft a square and a triangle.\nsquareSketch = startSketchOn('XY')\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ntriangleSketch = startSketchOn(offsetPlane('XY', offset = 75))\n |> startProfileAt([0, 125], %)\n |> line(end = [-15, -30])\n |> line(end = [30, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\nloft([squareSketch, triangleSketch])", - "// Loft a square, a circle, and another circle.\nsquareSketch = startSketchOn('XY')\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch0 = startSketchOn(offsetPlane('XY', offset = 75))\n |> circle(center = [0, 100], radius = 50)\n\ncircleSketch1 = startSketchOn(offsetPlane('XY', offset = 150))\n |> circle(center = [0, 100], radius = 20)\n\nloft([\n squareSketch,\n circleSketch0,\n circleSketch1\n])", - "// Loft a square, a circle, and another circle with options.\nsquareSketch = startSketchOn('XY')\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch0 = startSketchOn(offsetPlane('XY', offset = 75))\n |> circle(center = [0, 100], radius = 50)\n\ncircleSketch1 = startSketchOn(offsetPlane('XY', offset = 150))\n |> circle(center = [0, 100], radius = 20)\n\nloft(\n [\n squareSketch,\n circleSketch0,\n circleSketch1\n ],\n baseCurveIndex = 0,\n bezApproximateRational = false,\n tolerance = 0.000001,\n vDegree = 2,\n)" + "// Loft a square and a triangle.\nsquareSketch = startSketchOn(XY)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ntriangleSketch = startSketchOn(offsetPlane(XY, offset = 75))\n |> startProfileAt([0, 125], %)\n |> line(end = [-15, -30])\n |> line(end = [30, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\nloft([squareSketch, triangleSketch])", + "// Loft a square, a circle, and another circle.\nsquareSketch = startSketchOn(XY)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch0 = startSketchOn(offsetPlane(XY, offset = 75))\n |> circle(center = [0, 100], radius = 50)\n\ncircleSketch1 = startSketchOn(offsetPlane(XY, offset = 150))\n |> circle(center = [0, 100], radius = 20)\n\nloft([\n squareSketch,\n circleSketch0,\n circleSketch1\n])", + "// Loft a square, a circle, and another circle with options.\nsquareSketch = startSketchOn(XY)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch0 = startSketchOn(offsetPlane(XY, offset = 75))\n |> circle(center = [0, 100], radius = 50)\n\ncircleSketch1 = startSketchOn(offsetPlane(XY, offset = 150))\n |> circle(center = [0, 100], radius = 20)\n\nloft(\n [\n squareSketch,\n circleSketch0,\n circleSketch1\n ],\n baseCurveIndex = 0,\n bezApproximateRational = false,\n tolerance = 0.000001,\n vDegree = 2,\n)" ] }, { @@ -141469,7 +141469,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> line(end = [log(100, 5), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [log(100, 5), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -141511,7 +141511,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> line(end = [log10(100), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [log10(100), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -141553,7 +141553,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> line(end = [log2(100), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [log2(100), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -148936,8 +148936,8 @@ "unpublished": false, "deprecated": false, "examples": [ - "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`.\ncircles = map([1..3], drawCircle)", - "r = 10 // radius\n// Call `map`, using an anonymous function instead of a named one.\ncircles = map([1..3], fn(id) {\n return startSketchOn(\"XY\")\n |> circle(center = [id * 2 * r, 0], radius = r)\n})" + "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`.\ncircles = map([1..3], drawCircle)", + "r = 10 // radius\n// Call `map`, using an anonymous function instead of a named one.\ncircles = map([1..3], fn(id) {\n return startSketchOn(XY)\n |> circle(center = [id * 2 * r, 0], radius = r)\n})" ] }, { @@ -148982,7 +148982,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 70,\n length = max(15, 31, 4, 13, 22)\n }, %)\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 70,\n length = max(15, 31, 4, 13, 22)\n }, %)\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -149027,7 +149027,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 70,\n length = min(15, 31, 4, 13, 22)\n }, %)\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 70,\n length = min(15, 31, 4, 13, 22)\n }, %)\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -152496,10 +152496,10 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Mirror an un-closed sketch across the Y axis.\nsketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 10], %)\n |> line(end = [15, 0])\n |> line(end = [-7, -3])\n |> line(end = [9, -1])\n |> line(end = [-8, -5])\n |> line(end = [9, -3])\n |> line(end = [-8, -3])\n |> line(end = [9, -1])\n |> line(end = [-19, -0])\n |> mirror2d({ axis = 'Y' }, %)\n\nexample = extrude(sketch001, length = 10)", - "// Mirror a un-closed sketch across the Y axis.\nsketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 8.5], %)\n |> line(end = [20, -8.5])\n |> line(end = [-20, -8.5])\n |> mirror2d({ axis = 'Y' }, %)\n\nexample = extrude(sketch001, length = 10)", - "// Mirror a un-closed sketch across an edge.\nhelper001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 10], tag = $edge001)\n\nsketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 8.5], %)\n |> line(end = [20, -8.5])\n |> line(end = [-20, -8.5])\n |> mirror2d({ axis = edge001 }, %)\n\n// example = extrude(sketch001, length = 10)", - "// Mirror an un-closed sketch across a custom axis.\nsketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 8.5], %)\n |> line(end = [20, -8.5])\n |> line(end = [-20, -8.5])\n |> mirror2d({\n axis = {\n custom = {\n axis = [0.0, 1.0],\n origin = [0.0, 0.0]\n }\n }\n }, %)\n\nexample = extrude(sketch001, length = 10)" + "// Mirror an un-closed sketch across the Y axis.\nsketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 10], %)\n |> line(end = [15, 0])\n |> line(end = [-7, -3])\n |> line(end = [9, -1])\n |> line(end = [-8, -5])\n |> line(end = [9, -3])\n |> line(end = [-8, -3])\n |> line(end = [9, -1])\n |> line(end = [-19, -0])\n |> mirror2d({ axis = 'Y' }, %)\n\nexample = extrude(sketch001, length = 10)", + "// Mirror a un-closed sketch across the Y axis.\nsketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 8.5], %)\n |> line(end = [20, -8.5])\n |> line(end = [-20, -8.5])\n |> mirror2d({ axis = 'Y' }, %)\n\nexample = extrude(sketch001, length = 10)", + "// Mirror a un-closed sketch across an edge.\nhelper001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 10], tag = $edge001)\n\nsketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 8.5], %)\n |> line(end = [20, -8.5])\n |> line(end = [-20, -8.5])\n |> mirror2d({ axis = edge001 }, %)\n\n// example = extrude(sketch001, length = 10)", + "// Mirror an un-closed sketch across a custom axis.\nsketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 8.5], %)\n |> line(end = [20, -8.5])\n |> line(end = [-20, -8.5])\n |> mirror2d({\n axis = {\n custom = {\n axis = [0.0, 1.0],\n origin = [0.0, 0.0]\n }\n }\n }, %)\n\nexample = extrude(sketch001, length = 10)" ] }, { @@ -152932,11 +152932,11 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Loft a square and a circle on the `XY` plane using offset.\nsquareSketch = startSketchOn('XY')\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane('XY', offset = 150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])", - "// Loft a square and a circle on the `XZ` plane using offset.\nsquareSketch = startSketchOn('XZ')\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane('XZ', offset = 150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])", - "// Loft a square and a circle on the `YZ` plane using offset.\nsquareSketch = startSketchOn('YZ')\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane('YZ', offset = 150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])", - "// Loft a square and a circle on the `-XZ` plane using offset.\nsquareSketch = startSketchOn('-XZ')\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane('-XZ', offset = -150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])", - "// A circle on the XY plane\nstartSketchOn(\"XY\")\n |> startProfileAt([0, 0], %)\n |> circle(radius = 10, center = [0, 0])\n\n// Triangle on the plane 4 units above\nstartSketchOn(offsetPlane(\"XY\", offset = 4))\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> line(end = [0, 10])\n |> close()" + "// Loft a square and a circle on the `XY` plane using offset.\nsquareSketch = startSketchOn(XY)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane(XY, offset = 150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])", + "// Loft a square and a circle on the `XZ` plane using offset.\nsquareSketch = startSketchOn(XZ)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane(XZ, offset = 150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])", + "// Loft a square and a circle on the `YZ` plane using offset.\nsquareSketch = startSketchOn(YZ)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane(YZ, offset = 150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])", + "// Loft a square and a circle on the `-XZ` plane using offset.\nsquareSketch = startSketchOn(-XZ)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane(-XZ, offset = -150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])", + "// A circle on the XY plane\nstartSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> circle(radius = 10, center = [0, 0])\n\n// Triangle on the plane 4 units above\nstartSketchOn(offsetPlane(XY, offset = 4))\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> line(end = [0, 10])\n |> close()" ] }, { @@ -164136,7 +164136,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([.5, 25], %)\n |> line(end = [0, 5])\n |> line(end = [-1, 0])\n |> line(end = [0, -5])\n |> close()\n |> patternCircular2d(\n center = [0, 0],\n instances = 13,\n arcDegrees = 360,\n rotateDuplicates = true,\n )\n\nexample = extrude(exampleSketch, length = 1)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([.5, 25], %)\n |> line(end = [0, 5])\n |> line(end = [-1, 0])\n |> line(end = [0, -5])\n |> close()\n |> patternCircular2d(\n center = [0, 0],\n instances = 13,\n arcDegrees = 360,\n rotateDuplicates = true,\n )\n\nexample = extrude(exampleSketch, length = 1)" ] }, { @@ -176938,7 +176938,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> circle(center = [0, 0], radius = 1)\n\nexample = extrude(exampleSketch, length = -5)\n |> patternCircular3d(\n axis = [1, -1, 0],\n center = [10, -20, 0],\n instances = 11,\n arcDegrees = 360,\n rotateDuplicates = true,\n )" + "exampleSketch = startSketchOn(XZ)\n |> circle(center = [0, 0], radius = 1)\n\nexample = extrude(exampleSketch, length = -5)\n |> patternCircular3d(\n axis = [1, -1, 0],\n center = [10, -20, 0],\n instances = 11,\n arcDegrees = 360,\n rotateDuplicates = true,\n )" ] }, { @@ -186542,7 +186542,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> circle(center = [0, 0], radius = 1)\n |> patternLinear2d(axis = [1, 0], instances = 7, distance = 4)\n\nexample = extrude(exampleSketch, length = 1)" + "exampleSketch = startSketchOn(XZ)\n |> circle(center = [0, 0], radius = 1)\n |> patternLinear2d(axis = [1, 0], instances = 7, distance = 4)\n\nexample = extrude(exampleSketch, length = 1)" ] }, { @@ -196146,9 +196146,9 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 2])\n |> line(end = [3, 1])\n |> line(end = [0, -4])\n |> close()\n\nexample = extrude(exampleSketch, length = 1)\n |> patternLinear3d(axis = [1, 0, 1], instances = 7, distance = 6)", - "// Pattern a whole sketch on face.\nsize = 100\ncase = startSketchOn('XY')\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close(%)\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n // We pass in the \"case\" here since we want to pattern the whole sketch.\n// And the case was the base of the sketch.\npatternLinear3d(\n case,\n axis = [1, 0, 0],\n distance = 250,\n instances = 2,\n)", - "// Pattern an object on a face.\nsize = 100\ncase = startSketchOn('XY')\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close(%)\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n// We pass in `thing1` here with `useOriginal` since we want to pattern just this object on the face.\npatternLinear3d(\n thing1,\n axis = [1, 0, 0],\n distance = size,\n instances = 2,\n useOriginal = true,\n)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 2])\n |> line(end = [3, 1])\n |> line(end = [0, -4])\n |> close()\n\nexample = extrude(exampleSketch, length = 1)\n |> patternLinear3d(axis = [1, 0, 1], instances = 7, distance = 6)", + "// Pattern a whole sketch on face.\nsize = 100\ncase = startSketchOn(XY)\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close(%)\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n // We pass in the \"case\" here since we want to pattern the whole sketch.\n// And the case was the base of the sketch.\npatternLinear3d(\n case,\n axis = [1, 0, 0],\n distance = 250,\n instances = 2,\n)", + "// Pattern an object on a face.\nsize = 100\ncase = startSketchOn(XY)\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close(%)\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n// We pass in `thing1` here with `useOriginal` since we want to pattern just this object on the face.\npatternLinear3d(\n thing1,\n axis = [1, 0, 0],\n distance = size,\n instances = 2,\n useOriginal = true,\n)" ] }, { @@ -204149,12 +204149,12 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Each instance will be shifted along the X axis.\nfn transform(id) {\n return { translate = [4 * id, 0, 0] }\n}\n\n// Sketch 4 cylinders.\nsketch001 = startSketchOn('XZ')\n |> circle(center = [0, 0], radius = 2)\n |> extrude(length = 5)\n |> patternTransform(instances = 4, transform = transform)", - "// Each instance will be shifted along the X axis,\n// with a gap between the original (at x = 0) and the first replica\n// (at x = 8). This is because `id` starts at 1.\nfn transform(id) {\n return { translate = [4 * (1 + id), 0, 0] }\n}\n\nsketch001 = startSketchOn('XZ')\n |> circle(center = [0, 0], radius = 2)\n |> extrude(length = 5)\n |> patternTransform(instances = 4, transform = transform)", - "fn cube(length, center) {\n l = length / 2\n x = center[0]\n y = center[1]\n p0 = [-l + x, -l + y]\n p1 = [-l + x, l + y]\n p2 = [l + x, l + y]\n p3 = [l + x, -l + y]\n\n return startSketchOn('XY')\n |> startProfileAt(p0, %)\n |> line(endAbsolute = p1)\n |> line(endAbsolute = p2)\n |> line(endAbsolute = p3)\n |> line(endAbsolute = p0)\n |> close()\n |> extrude(length = length)\n}\n\nwidth = 20\nfn transform(i) {\n return {\n // Move down each time.\n translate = [0, 0, -i * width],\n // Make the cube longer, wider and flatter each time.\n scale = [pow(1.1, i), pow(1.1, i), pow(0.9, i)],\n // Turn by 15 degrees each time.\n rotation = { angle = 15 * i, origin = \"local\" }\n }\n}\n\nmyCubes = cube(width, [100, 0])\n |> patternTransform(instances = 25, transform = transform)", - "fn cube(length, center) {\n l = length / 2\n x = center[0]\n y = center[1]\n p0 = [-l + x, -l + y]\n p1 = [-l + x, l + y]\n p2 = [l + x, l + y]\n p3 = [l + x, -l + y]\n\n return startSketchOn('XY')\n |> startProfileAt(p0, %)\n |> line(endAbsolute = p1)\n |> line(endAbsolute = p2)\n |> line(endAbsolute = p3)\n |> line(endAbsolute = p0)\n |> close()\n |> extrude(length = length)\n}\n\nwidth = 20\nfn transform(i) {\n return {\n translate = [0, 0, -i * width],\n rotation = {\n angle = 90 * i,\n // Rotate around the overall scene's origin.\n origin = \"global\"\n }\n }\n}\nmyCubes = cube(width, [100, 100])\n |> patternTransform(instances = 4, transform = transform)", - "// Parameters\nr = 50 // base radius\nh = 10 // layer height\nt = 0.005 // taper factor [0-1)\n// Defines how to modify each layer of the vase.\n// Each replica is shifted up the Z axis, and has a smoothly-varying radius\nfn transform(replicaId) {\n scale = r * abs(1 - (t * replicaId)) * (5 + cos(replicaId / 8))\n return {\n translate = [0, 0, replicaId * 10],\n scale = [scale, scale, 0]\n }\n}\n// Each layer is just a pretty thin cylinder.\nfn layer() {\n return startSketchOn(\"XY\")\n // or some other plane idk\n |> circle(center = [0, 0], radius = 1, tag = $tag1)\n |> extrude(length = h)\n}\n// The vase is 100 layers tall.\n// The 100 layers are replica of each other, with a slight transformation applied to each.\nvase = layer()\n |> patternTransform(instances = 100, transform = transform)", - "fn transform(i) {\n // Transform functions can return multiple transforms. They'll be applied in order.\n return [\n { translate = [30 * i, 0, 0] },\n { rotation = { angle = 45 * i } }\n ]\n}\nstartSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> polygon({\n radius = 10,\n numSides = 4,\n center = [0, 0],\n inscribed = false\n }, %)\n |> extrude(length = 4)\n |> patternTransform(instances = 3, transform = transform)" + "// Each instance will be shifted along the X axis.\nfn transform(id) {\n return { translate = [4 * id, 0, 0] }\n}\n\n// Sketch 4 cylinders.\nsketch001 = startSketchOn(XZ)\n |> circle(center = [0, 0], radius = 2)\n |> extrude(length = 5)\n |> patternTransform(instances = 4, transform = transform)", + "// Each instance will be shifted along the X axis,\n// with a gap between the original (at x = 0) and the first replica\n// (at x = 8). This is because `id` starts at 1.\nfn transform(id) {\n return { translate = [4 * (1 + id), 0, 0] }\n}\n\nsketch001 = startSketchOn(XZ)\n |> circle(center = [0, 0], radius = 2)\n |> extrude(length = 5)\n |> patternTransform(instances = 4, transform = transform)", + "fn cube(length, center) {\n l = length / 2\n x = center[0]\n y = center[1]\n p0 = [-l + x, -l + y]\n p1 = [-l + x, l + y]\n p2 = [l + x, l + y]\n p3 = [l + x, -l + y]\n\n return startSketchOn(XY)\n |> startProfileAt(p0, %)\n |> line(endAbsolute = p1)\n |> line(endAbsolute = p2)\n |> line(endAbsolute = p3)\n |> line(endAbsolute = p0)\n |> close()\n |> extrude(length = length)\n}\n\nwidth = 20\nfn transform(i) {\n return {\n // Move down each time.\n translate = [0, 0, -i * width],\n // Make the cube longer, wider and flatter each time.\n scale = [pow(1.1, i), pow(1.1, i), pow(0.9, i)],\n // Turn by 15 degrees each time.\n rotation = { angle = 15 * i, origin = \"local\" }\n }\n}\n\nmyCubes = cube(width, [100, 0])\n |> patternTransform(instances = 25, transform = transform)", + "fn cube(length, center) {\n l = length / 2\n x = center[0]\n y = center[1]\n p0 = [-l + x, -l + y]\n p1 = [-l + x, l + y]\n p2 = [l + x, l + y]\n p3 = [l + x, -l + y]\n\n return startSketchOn(XY)\n |> startProfileAt(p0, %)\n |> line(endAbsolute = p1)\n |> line(endAbsolute = p2)\n |> line(endAbsolute = p3)\n |> line(endAbsolute = p0)\n |> close()\n |> extrude(length = length)\n}\n\nwidth = 20\nfn transform(i) {\n return {\n translate = [0, 0, -i * width],\n rotation = {\n angle = 90 * i,\n // Rotate around the overall scene's origin.\n origin = \"global\"\n }\n }\n}\nmyCubes = cube(width, [100, 100])\n |> patternTransform(instances = 4, transform = transform)", + "// Parameters\nr = 50 // base radius\nh = 10 // layer height\nt = 0.005 // taper factor [0-1)\n// Defines how to modify each layer of the vase.\n// Each replica is shifted up the Z axis, and has a smoothly-varying radius\nfn transform(replicaId) {\n scale = r * abs(1 - (t * replicaId)) * (5 + cos(replicaId / 8))\n return {\n translate = [0, 0, replicaId * 10],\n scale = [scale, scale, 0]\n }\n}\n// Each layer is just a pretty thin cylinder.\nfn layer() {\n return startSketchOn(XY)\n // or some other plane idk\n |> circle(center = [0, 0], radius = 1, tag = $tag1)\n |> extrude(length = h)\n}\n// The vase is 100 layers tall.\n// The 100 layers are replica of each other, with a slight transformation applied to each.\nvase = layer()\n |> patternTransform(instances = 100, transform = transform)", + "fn transform(i) {\n // Transform functions can return multiple transforms. They'll be applied in order.\n return [\n { translate = [30 * i, 0, 0] },\n { rotation = { angle = 45 * i } }\n ]\n}\nstartSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> polygon({\n radius = 10,\n numSides = 4,\n center = [0, 0],\n inscribed = false\n }, %)\n |> extrude(length = 4)\n |> patternTransform(instances = 3, transform = transform)" ] }, { @@ -212155,7 +212155,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Each instance will be shifted along the X axis.\nfn transform(id) {\n return { translate = [4 * id, 0] }\n}\n\n// Sketch 4 circles.\nsketch001 = startSketchOn('XZ')\n |> circle(center = [0, 0], radius = 2)\n |> patternTransform2d(instances = 4, transform = transform)" + "// Each instance will be shifted along the X axis.\nfn transform(id) {\n return { translate = [4 * id, 0] }\n}\n\n// Sketch 4 circles.\nsketch001 = startSketchOn(XZ)\n |> circle(center = [0, 0], radius = 2)\n |> patternTransform2d(instances = 4, transform = transform)" ] }, { @@ -212183,7 +212183,7 @@ "unpublished": false, "deprecated": true, "examples": [ - "circumference = 70\n\nexampleSketch = startSketchOn(\"XZ\")\n |> circle(center = [0, 0], radius = circumference / (2 * pi()))\n\nexample = extrude(exampleSketch, length = 5)" + "circumference = 70\n\nexampleSketch = startSketchOn(XZ)\n |> circle(center = [0, 0], radius = circumference / (2 * pi()))\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -212617,7 +212617,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = polar({ angle = 30, length = 5 }), tag = $thing)\n |> line(end = [0, 5])\n |> line(end = [segEndX(thing), 0])\n |> line(end = [-20, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = polar({ angle = 30, length = 5 }), tag = $thing)\n |> line(end = [0, 5])\n |> line(end = [segEndX(thing), 0])\n |> line(end = [-20, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -217535,8 +217535,8 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Create a regular hexagon inscribed in a circle of radius 10\nhex = startSketchOn('XY')\n |> polygon({\n radius = 10,\n numSides = 6,\n center = [0, 0],\n inscribed = true\n }, %)\n\nexample = extrude(hex, length = 5)", - "// Create a square circumscribed around a circle of radius 5\nsquare = startSketchOn('XY')\n |> polygon({\n radius = 5.0,\n numSides = 4,\n center = [10, 10],\n inscribed = false\n }, %)\nexample = extrude(square, length = 5)" + "// Create a regular hexagon inscribed in a circle of radius 10\nhex = startSketchOn(XY)\n |> polygon({\n radius = 10,\n numSides = 6,\n center = [0, 0],\n inscribed = true\n }, %)\n\nexample = extrude(hex, length = 5)", + "// Create a square circumscribed around a circle of radius 5\nsquare = startSketchOn(XY)\n |> polygon({\n radius = 5.0,\n numSides = 4,\n center = [10, 10],\n inscribed = false\n }, %)\nexample = extrude(square, length = 5)" ] }, { @@ -222882,7 +222882,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 50, length = pow(5, 2) }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 50, length = pow(5, 2) }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -246619,7 +246619,7 @@ "examples": [ "// This function adds two numbers.\nfn add(a, b) {\n return a + b\n}\n\n// This function adds an array of numbers.\n// It uses the `reduce` function, to call the `add` function on every\n// element of the `arr` parameter. The starting value is 0.\nfn sum(arr) {\n return reduce(arr, 0, add)\n}\n\n/* The above is basically like this pseudo-code:\nfn sum(arr):\n sumSoFar = 0\n for i in arr:\n sumSoFar = add(sumSoFar, i)\n return sumSoFar */\n\n// We use `assertEqual` to check that our `sum` function gives the\n// expected result. It's good to check your work!\nassertEqual(sum([1, 2, 3]), 6, 0.00001, \"1 + 2 + 3 summed is 6\")", "// This example works just like the previous example above, but it uses\n// an anonymous `add` function as its parameter, instead of declaring a\n// named function outside.\narr = [1, 2, 3]\nsum = reduce(arr, 0, fn(i, result_so_far) {\n return i + result_so_far\n})\n\n// We use `assertEqual` to check that our `sum` function gives the\n// expected result. It's good to check your work!\nassertEqual(sum, 6, 0.00001, \"1 + 2 + 3 summed is 6\")", - "// Declare a function that sketches a decagon.\nfn decagon(radius) {\n // Each side of the decagon is turned this many degrees from the previous angle.\n stepAngle = 1 / 10 * TAU\n\n // Start the decagon sketch at this point.\n startOfDecagonSketch = startSketchOn('XY')\n |> startProfileAt([cos(0) * radius, sin(0) * radius], %)\n\n // Use a `reduce` to draw the remaining decagon sides.\n // For each number in the array 1..10, run the given function,\n // which takes a partially-sketched decagon and adds one more edge to it.\n fullDecagon = reduce([1..10], startOfDecagonSketch, fn(i, partialDecagon) {\n // Draw one edge of the decagon.\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n return line(partialDecagon, end = [x, y])\n })\n\n return fullDecagon\n}\n\n/* The `decagon` above is basically like this pseudo-code:\nfn decagon(radius):\n stepAngle = (1/10) * TAU\n plane = startSketchOn('XY')\n startOfDecagonSketch = startProfileAt([(cos(0)*radius), (sin(0) * radius)], plane)\n\n // Here's the reduce part.\n partialDecagon = startOfDecagonSketch\n for i in [1..10]:\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n partialDecagon = line(partialDecagon, end = [x, y])\n fullDecagon = partialDecagon // it's now full\n return fullDecagon */\n\n// Use the `decagon` function declared above, to sketch a decagon with radius 5.\ndecagon(5.0)\n |> close()" + "// Declare a function that sketches a decagon.\nfn decagon(radius) {\n // Each side of the decagon is turned this many degrees from the previous angle.\n stepAngle = 1 / 10 * TAU\n\n // Start the decagon sketch at this point.\n startOfDecagonSketch = startSketchOn(XY)\n |> startProfileAt([cos(0) * radius, sin(0) * radius], %)\n\n // Use a `reduce` to draw the remaining decagon sides.\n // For each number in the array 1..10, run the given function,\n // which takes a partially-sketched decagon and adds one more edge to it.\n fullDecagon = reduce([1..10], startOfDecagonSketch, fn(i, partialDecagon) {\n // Draw one edge of the decagon.\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n return line(partialDecagon, end = [x, y])\n })\n\n return fullDecagon\n}\n\n/* The `decagon` above is basically like this pseudo-code:\nfn decagon(radius):\n stepAngle = (1/10) * TAU\n plane = startSketchOn('XY')\n startOfDecagonSketch = startProfileAt([(cos(0)*radius), (sin(0) * radius)], plane)\n\n // Here's the reduce part.\n partialDecagon = startOfDecagonSketch\n for i in [1..10]:\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n partialDecagon = line(partialDecagon, end = [x, y])\n fullDecagon = partialDecagon // it's now full\n return fullDecagon */\n\n// Use the `decagon` function declared above, to sketch a decagon with radius 5.\ndecagon(5.0)\n |> close()" ] }, { @@ -258340,17 +258340,17 @@ "unpublished": false, "deprecated": false, "examples": [ - "part001 = startSketchOn('XY')\n |> startProfileAt([4, 12], %)\n |> line(end = [2, 0])\n |> line(end = [0, -6])\n |> line(end = [4, -6])\n |> line(end = [0, -6])\n |> line(end = [-3.75, -4.5])\n |> line(end = [0, -5.5])\n |> line(end = [-2, 0])\n |> close()\n |> revolve(axis = 'y') // default angle is 360", - "// A donut shape.\nsketch001 = startSketchOn('XY')\n |> circle(center = [15, 0], radius = 5)\n |> revolve(angle = 360, axis = 'y')", - "part001 = startSketchOn('XY')\n |> startProfileAt([4, 12], %)\n |> line(end = [2, 0])\n |> line(end = [0, -6])\n |> line(end = [4, -6])\n |> line(end = [0, -6])\n |> line(end = [-3.75, -4.5])\n |> line(end = [0, -5.5])\n |> line(end = [-2, 0])\n |> close()\n |> revolve(axis = 'y', angle = 180)", - "part001 = startSketchOn('XY')\n |> startProfileAt([4, 12], %)\n |> line(end = [2, 0])\n |> line(end = [0, -6])\n |> line(end = [4, -6])\n |> line(end = [0, -6])\n |> line(end = [-3.75, -4.5])\n |> line(end = [0, -5.5])\n |> line(end = [-2, 0])\n |> close()\n |> revolve(axis = 'y', angle = 180)\n\npart002 = startSketchOn(part001, 'end')\n |> startProfileAt([4.5, -5], %)\n |> line(end = [0, 5])\n |> line(end = [5, 0])\n |> line(end = [0, -5])\n |> close()\n |> extrude(length = 5)", - "box = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20])\n |> line(end = [20, 0])\n |> line(end = [0, -20])\n |> close()\n |> extrude(length = 20)\n\nsketch001 = startSketchOn(box, \"END\")\n |> circle(center = [10, 10], radius = 4)\n |> revolve(angle = -90, axis = 'y')", - "box = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20])\n |> line(end = [20, 0])\n |> line(end = [0, -20], tag = $revolveAxis)\n |> close()\n |> extrude(length = 20)\n\nsketch001 = startSketchOn(box, \"END\")\n |> circle(center = [10, 10], radius = 4)\n |> revolve(angle = 90, axis = getOppositeEdge(revolveAxis))", - "box = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20])\n |> line(end = [20, 0])\n |> line(end = [0, -20], tag = $revolveAxis)\n |> close()\n |> extrude(length = 20)\n\nsketch001 = startSketchOn(box, \"END\")\n |> circle(center = [10, 10], radius = 4)\n |> revolve(angle = 90, axis = getOppositeEdge(revolveAxis), tolerance = 0.0001)", - "sketch001 = startSketchOn('XY')\n |> startProfileAt([10, 0], %)\n |> line(end = [5, -5])\n |> line(end = [5, 5])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\npart001 = revolve(\n sketch001,\n axis = {\n custom = {\n axis = [0.0, 1.0],\n origin = [0.0, 0.0]\n }\n },\n)", - "// Revolve two sketches around the same axis.\n\n\nsketch001 = startSketchOn('XY')\nprofile001 = startProfileAt([4, 8], sketch001)\n |> xLine(length = 3)\n |> yLine(length = -3)\n |> xLine(length = -3)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\nprofile002 = startProfileAt([-5, 8], sketch001)\n |> xLine(length = 3)\n |> yLine(length = -3)\n |> xLine(length = -3)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\nrevolve([profile001, profile002], axis = \"X\")", - "// Revolve around a path that has not been extruded.\n\n\nprofile001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20], tag = $revolveAxis)\n |> line(end = [20, 0])\n |> line(end = [0, -20])\n |> close(%)\n\nsketch001 = startSketchOn('XY')\n |> circle(center = [-10, 10], radius = 4)\n |> revolve(angle = 90, axis = revolveAxis)", - "// Revolve around a path that has not been extruded or closed.\n\n\nprofile001 = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20], tag = $revolveAxis)\n |> line(end = [20, 0])\n\nsketch001 = startSketchOn('XY')\n |> circle(center = [-10, 10], radius = 4)\n |> revolve(angle = 90, axis = revolveAxis)" + "part001 = startSketchOn(XY)\n |> startProfileAt([4, 12], %)\n |> line(end = [2, 0])\n |> line(end = [0, -6])\n |> line(end = [4, -6])\n |> line(end = [0, -6])\n |> line(end = [-3.75, -4.5])\n |> line(end = [0, -5.5])\n |> line(end = [-2, 0])\n |> close()\n |> revolve(axis = 'y') // default angle is 360", + "// A donut shape.\nsketch001 = startSketchOn(XY)\n |> circle(center = [15, 0], radius = 5)\n |> revolve(angle = 360, axis = 'y')", + "part001 = startSketchOn(XY)\n |> startProfileAt([4, 12], %)\n |> line(end = [2, 0])\n |> line(end = [0, -6])\n |> line(end = [4, -6])\n |> line(end = [0, -6])\n |> line(end = [-3.75, -4.5])\n |> line(end = [0, -5.5])\n |> line(end = [-2, 0])\n |> close()\n |> revolve(axis = 'y', angle = 180)", + "part001 = startSketchOn(XY)\n |> startProfileAt([4, 12], %)\n |> line(end = [2, 0])\n |> line(end = [0, -6])\n |> line(end = [4, -6])\n |> line(end = [0, -6])\n |> line(end = [-3.75, -4.5])\n |> line(end = [0, -5.5])\n |> line(end = [-2, 0])\n |> close()\n |> revolve(axis = 'y', angle = 180)\n\npart002 = startSketchOn(part001, 'end')\n |> startProfileAt([4.5, -5], %)\n |> line(end = [0, 5])\n |> line(end = [5, 0])\n |> line(end = [0, -5])\n |> close()\n |> extrude(length = 5)", + "box = startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20])\n |> line(end = [20, 0])\n |> line(end = [0, -20])\n |> close()\n |> extrude(length = 20)\n\nsketch001 = startSketchOn(box, \"END\")\n |> circle(center = [10, 10], radius = 4)\n |> revolve(angle = -90, axis = 'y')", + "box = startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20])\n |> line(end = [20, 0])\n |> line(end = [0, -20], tag = $revolveAxis)\n |> close()\n |> extrude(length = 20)\n\nsketch001 = startSketchOn(box, \"END\")\n |> circle(center = [10, 10], radius = 4)\n |> revolve(angle = 90, axis = getOppositeEdge(revolveAxis))", + "box = startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20])\n |> line(end = [20, 0])\n |> line(end = [0, -20], tag = $revolveAxis)\n |> close()\n |> extrude(length = 20)\n\nsketch001 = startSketchOn(box, \"END\")\n |> circle(center = [10, 10], radius = 4)\n |> revolve(angle = 90, axis = getOppositeEdge(revolveAxis), tolerance = 0.0001)", + "sketch001 = startSketchOn(XY)\n |> startProfileAt([10, 0], %)\n |> line(end = [5, -5])\n |> line(end = [5, 5])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\npart001 = revolve(\n sketch001,\n axis = {\n custom = {\n axis = [0.0, 1.0],\n origin = [0.0, 0.0]\n }\n },\n)", + "// Revolve two sketches around the same axis.\n\n\nsketch001 = startSketchOn(XY)\nprofile001 = startProfileAt([4, 8], sketch001)\n |> xLine(length = 3)\n |> yLine(length = -3)\n |> xLine(length = -3)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\nprofile002 = startProfileAt([-5, 8], sketch001)\n |> xLine(length = 3)\n |> yLine(length = -3)\n |> xLine(length = -3)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\nrevolve([profile001, profile002], axis = \"X\")", + "// Revolve around a path that has not been extruded.\n\n\nprofile001 = startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20], tag = $revolveAxis)\n |> line(end = [20, 0])\n |> line(end = [0, -20])\n |> close(%)\n\nsketch001 = startSketchOn(XY)\n |> circle(center = [-10, 10], radius = 4)\n |> revolve(angle = 90, axis = revolveAxis)", + "// Revolve around a path that has not been extruded or closed.\n\n\nprofile001 = startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20], tag = $revolveAxis)\n |> line(end = [20, 0])\n\nsketch001 = startSketchOn(XY)\n |> circle(center = [-10, 10], radius = 4)\n |> revolve(angle = 90, axis = revolveAxis)" ] }, { @@ -271286,11 +271286,11 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Rotate a pipe with roll, pitch, and yaw.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn('XZ')\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> rotate(roll = 10, pitch = 10, yaw = 90)", - "// Rotate a pipe about an axis with an angle.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn('XZ')\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> rotate(axis = [0, 0, 1.0], angle = 90)", + "// Rotate a pipe with roll, pitch, and yaw.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> rotate(roll = 10, pitch = 10, yaw = 90)", + "// Rotate a pipe about an axis with an angle.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> rotate(axis = [0, 0, 1.0], angle = 90)", "// Rotate an imported model.\n\n\nimport \"tests/inputs/cube.sldprt\" as cube\n\ncube\n |> rotate(axis = [0, 0, 1.0], angle = 90)", - "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn('XY')\nrectangleSketch = startProfileAt([-200, 23.86], sketch001)\n |> angledLine([0, 73.47], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 50.61\n ], %)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn('YZ')\nsweepPath = startProfileAt([0, 0], sketch002)\n |> yLine(length = 231.81)\n |> tangentialArc({ radius = 80, offset = -90 }, %)\n |> xLine(length = 384.93)\n\nparts = sweep([rectangleSketch, circleSketch], path = sweepPath)\n\n// Rotate the sweeps.\nrotate(parts, axis = [0, 0, 1.0], angle = 90)", - "// Translate and rotate a sketch to create a loft.\nsketch001 = startSketchOn('XY')\n\nfn square() {\n return startProfileAt([-10, 10], sketch001)\n |> xLine(length = 20)\n |> yLine(length = -20)\n |> xLine(length = -20)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n}\n\nprofile001 = square()\n\nprofile002 = square()\n |> translate(translate = [0, 0, 20])\n |> rotate(axis = [0, 0, 1.0], angle = 45)\n\nloft([profile001, profile002])" + "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn(XY)\nrectangleSketch = startProfileAt([-200, 23.86], sketch001)\n |> angledLine([0, 73.47], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 50.61\n ], %)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn(YZ)\nsweepPath = startProfileAt([0, 0], sketch002)\n |> yLine(length = 231.81)\n |> tangentialArc({ radius = 80, offset = -90 }, %)\n |> xLine(length = 384.93)\n\nparts = sweep([rectangleSketch, circleSketch], path = sweepPath)\n\n// Rotate the sweeps.\nrotate(parts, axis = [0, 0, 1.0], angle = 90)", + "// Translate and rotate a sketch to create a loft.\nsketch001 = startSketchOn(XY)\n\nfn square() {\n return startProfileAt([-10, 10], sketch001)\n |> xLine(length = 20)\n |> yLine(length = -20)\n |> xLine(length = -20)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n}\n\nprofile001 = square()\n\nprofile002 = square()\n |> translate(translate = [0, 0, 20])\n |> rotate(axis = [0, 0, 1.0], angle = 45)\n\nloft([profile001, profile002])" ] }, { @@ -271332,7 +271332,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "sketch001 = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(endAbsolute = [12, 10])\n |> line(end = [round(7.02986), 0])\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" + "sketch001 = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(endAbsolute = [12, 10])\n |> line(end = [round(7.02986), 0])\n |> yLine(endAbsolute = 0)\n |> close()\n\nextrude001 = extrude(sketch001, length = 5)" ] }, { @@ -277877,9 +277877,9 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Scale a pipe.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn('XZ')\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> scale(scale = [1.0, 1.0, 2.5])", + "// Scale a pipe.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> scale(scale = [1.0, 1.0, 2.5])", "// Scale an imported model.\n\n\nimport \"tests/inputs/cube.sldprt\" as cube\n\ncube\n |> scale(scale = [1.0, 1.0, 2.5])", - "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn('XY')\nrectangleSketch = startProfileAt([-200, 23.86], sketch001)\n |> angledLine([0, 73.47], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 50.61\n ], %)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn('YZ')\nsweepPath = startProfileAt([0, 0], sketch002)\n |> yLine(length = 231.81)\n |> tangentialArc({ radius = 80, offset = -90 }, %)\n |> xLine(length = 384.93)\n\nparts = sweep([rectangleSketch, circleSketch], path = sweepPath)\n\n// Scale the sweep.\nscale(parts, scale = [1.0, 1.0, 0.5])" + "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn(XY)\nrectangleSketch = startProfileAt([-200, 23.86], sketch001)\n |> angledLine([0, 73.47], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 50.61\n ], %)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn(YZ)\nsweepPath = startProfileAt([0, 0], sketch002)\n |> yLine(length = 231.81)\n |> tangentialArc({ radius = 80, offset = -90 }, %)\n |> xLine(length = 384.93)\n\nparts = sweep([rectangleSketch, circleSketch], path = sweepPath)\n\n// Scale the sweep.\nscale(parts, scale = [1.0, 1.0, 0.5])" ] }, { @@ -277927,7 +277927,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> line(end = [5, 10], tag = $seg01)\n |> line(end = [-10, 0])\n |> angledLine([segAng(seg01), 10], %)\n |> line(end = [-10, 0])\n |> angledLine([segAng(seg01), -15], %)\n |> close()\n\nexample = extrude(exampleSketch, length = 4)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> line(end = [5, 10], tag = $seg01)\n |> line(end = [-10, 0])\n |> angledLine([segAng(seg01), 10], %)\n |> line(end = [-10, 0])\n |> angledLine([segAng(seg01), -15], %)\n |> close()\n\nexample = extrude(exampleSketch, length = 4)" ] }, { @@ -277980,7 +277980,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "w = 15\ncube = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line(end = [w, 0], tag = $line1)\n |> line(end = [0, w], tag = $line2)\n |> line(end = [-w, 0], tag = $line3)\n |> line(end = [0, -w], tag = $line4)\n |> close()\n |> extrude(length = 5)\n\nfn cylinder(radius, tag) {\n return startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> circle(radius = radius, center = segEnd(tag))\n |> extrude(length = radius)\n}\n\ncylinder(1, line1)\ncylinder(2, line2)\ncylinder(3, line3)\ncylinder(4, line4)" + "w = 15\ncube = startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> line(end = [w, 0], tag = $line1)\n |> line(end = [0, w], tag = $line2)\n |> line(end = [-w, 0], tag = $line3)\n |> line(end = [0, -w], tag = $line4)\n |> close()\n |> extrude(length = 5)\n\nfn cylinder(radius, tag) {\n return startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> circle(radius = radius, center = segEnd(tag))\n |> extrude(length = radius)\n}\n\ncylinder(1, line1)\ncylinder(2, line2)\ncylinder(3, line3)\ncylinder(4, line4)" ] }, { @@ -278028,7 +278028,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0], tag = $thing)\n |> line(end = [0, 5])\n |> line(end = [segEndX(thing), 0])\n |> line(end = [-20, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0], tag = $thing)\n |> line(end = [0, 5])\n |> line(end = [segEndX(thing), 0])\n |> line(end = [-20, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -278076,7 +278076,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0])\n |> line(end = [0, 3], tag = $thing)\n |> line(end = [-10, 0])\n |> line(end = [0, segEndY(thing)])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0])\n |> line(end = [0, 3], tag = $thing)\n |> line(end = [-10, 0])\n |> line(end = [0, segEndY(thing)])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -278124,7 +278124,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 60, length = 10 }, %, $thing)\n |> tangentialArc({ offset = -120, radius = 5 }, %)\n |> angledLine({ angle = -60, length = segLen(thing) }, %)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 60, length = 10 }, %, $thing)\n |> tangentialArc({ offset = -120, radius = 5 }, %)\n |> angledLine({ angle = -60, length = segLen(thing) }, %)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -278177,7 +278177,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "w = 15\ncube = startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> line(end = [w, 0], tag = $line1)\n |> line(end = [0, w], tag = $line2)\n |> line(end = [-w, 0], tag = $line3)\n |> line(end = [0, -w], tag = $line4)\n |> close()\n |> extrude(length = 5)\n\nfn cylinder(radius, tag) {\n return startSketchOn('XY')\n |> startProfileAt([0, 0], %)\n |> circle(radius = radius, center = segStart(tag))\n |> extrude(length = radius)\n}\n\ncylinder(1, line1)\ncylinder(2, line2)\ncylinder(3, line3)\ncylinder(4, line4)" + "w = 15\ncube = startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> line(end = [w, 0], tag = $line1)\n |> line(end = [0, w], tag = $line2)\n |> line(end = [-w, 0], tag = $line3)\n |> line(end = [0, -w], tag = $line4)\n |> close()\n |> extrude(length = 5)\n\nfn cylinder(radius, tag) {\n return startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> circle(radius = radius, center = segStart(tag))\n |> extrude(length = radius)\n}\n\ncylinder(1, line1)\ncylinder(2, line2)\ncylinder(3, line3)\ncylinder(4, line4)" ] }, { @@ -278225,7 +278225,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0], tag = $thing)\n |> line(end = [0, 5])\n |> line(end = [20 - segStartX(thing), 0])\n |> line(end = [-20, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0], tag = $thing)\n |> line(end = [0, 5])\n |> line(end = [20 - segStartX(thing), 0])\n |> line(end = [-20, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -278273,7 +278273,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0])\n |> line(end = [0, 3], tag = $thing)\n |> line(end = [-10, 0])\n |> line(end = [0, 20 - segStartY(thing)])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0])\n |> line(end = [0, 3], tag = $thing)\n |> line(end = [-10, 0])\n |> line(end = [0, 20 - segStartY(thing)])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -284714,13 +284714,13 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Remove the end face for the extrusion.\nfirstSketch = startSketchOn('XY')\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n\n// Remove the end face for the extrusion.\nshell(firstSketch, faces = ['end'], thickness = 0.25)", - "// Remove the start face for the extrusion.\nfirstSketch = startSketchOn('-XZ')\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n\n// Remove the start face for the extrusion.\nshell(firstSketch, faces = ['start'], thickness = 0.25)", - "// Remove a tagged face and the end face for the extrusion.\nfirstSketch = startSketchOn('XY')\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0], tag = $myTag)\n |> close()\n |> extrude(length = 6)\n\n// Remove a tagged face for the extrusion.\nshell(firstSketch, faces = [myTag], thickness = 0.25)", - "// Remove multiple faces at once.\nfirstSketch = startSketchOn('XY')\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0], tag = $myTag)\n |> close()\n |> extrude(length = 6)\n\n// Remove a tagged face and the end face for the extrusion.\nshell(firstSketch, faces = [myTag, 'end'], thickness = 0.25)", - "// Shell a sketch on face.\nsize = 100\ncase = startSketchOn('-XZ')\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close()\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n// We put \"case\" in the shell function to shell the entire object.\nshell(case, faces = ['start'], thickness = 5)", - "// Shell a sketch on face object on the end face.\nsize = 100\ncase = startSketchOn('XY')\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close()\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n// We put \"thing1\" in the shell function to shell the end face of the object.\nshell(thing1, faces = ['end'], thickness = 5)", - "// Shell sketched on face objects on the end face, include all sketches to shell\n// the entire object.\n\n\nsize = 100\ncase = startSketchOn('XY')\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close()\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n// We put \"thing1\" and \"thing2\" in the shell function to shell the end face of the object.\nshell([thing1, thing2], faces = ['end'], thickness = 5)" + "// Remove the end face for the extrusion.\nfirstSketch = startSketchOn(XY)\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n\n// Remove the end face for the extrusion.\nshell(firstSketch, faces = ['end'], thickness = 0.25)", + "// Remove the start face for the extrusion.\nfirstSketch = startSketchOn(-XZ)\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0])\n |> close()\n |> extrude(length = 6)\n\n// Remove the start face for the extrusion.\nshell(firstSketch, faces = ['start'], thickness = 0.25)", + "// Remove a tagged face and the end face for the extrusion.\nfirstSketch = startSketchOn(XY)\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0], tag = $myTag)\n |> close()\n |> extrude(length = 6)\n\n// Remove a tagged face for the extrusion.\nshell(firstSketch, faces = [myTag], thickness = 0.25)", + "// Remove multiple faces at once.\nfirstSketch = startSketchOn(XY)\n |> startProfileAt([-12, 12], %)\n |> line(end = [24, 0])\n |> line(end = [0, -24])\n |> line(end = [-24, 0], tag = $myTag)\n |> close()\n |> extrude(length = 6)\n\n// Remove a tagged face and the end face for the extrusion.\nshell(firstSketch, faces = [myTag, 'end'], thickness = 0.25)", + "// Shell a sketch on face.\nsize = 100\ncase = startSketchOn(-XZ)\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close()\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n// We put \"case\" in the shell function to shell the entire object.\nshell(case, faces = ['start'], thickness = 5)", + "// Shell a sketch on face object on the end face.\nsize = 100\ncase = startSketchOn(XY)\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close()\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n// We put \"thing1\" in the shell function to shell the end face of the object.\nshell(thing1, faces = ['end'], thickness = 5)", + "// Shell sketched on face objects on the end face, include all sketches to shell\n// the entire object.\n\n\nsize = 100\ncase = startSketchOn(XY)\n |> startProfileAt([-size, -size], %)\n |> line(end = [2 * size, 0])\n |> line(end = [0, 2 * size])\n |> tangentialArcTo([-size, size], %)\n |> close()\n |> extrude(length = 65)\n\nthing1 = startSketchOn(case, 'end')\n |> circle(center = [-size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\nthing2 = startSketchOn(case, 'end')\n |> circle(center = [size / 2, -size / 2], radius = 25)\n |> extrude(length = 50)\n\n// We put \"thing1\" and \"thing2\" in the shell function to shell the end face of the object.\nshell([thing1, thing2], faces = ['end'], thickness = 5)" ] }, { @@ -284762,7 +284762,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 50, length = sqrt(2500) }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 50, length = sqrt(2500) }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -299941,7 +299941,7 @@ "unpublished": false, "deprecated": true, "examples": [ - "fn cube(center) {\n return startSketchOn('XY')\n |> startProfileAt([center[0] - 10, center[1] - 10], %)\n |> line(endAbsolute = [center[0] + 10, center[1] - 10])\n |> line(endAbsolute = [center[0] + 10, center[1] + 10])\n |> line(endAbsolute = [center[0] - 10, center[1] + 10])\n |> close()\n |> extrude(length = 10)\n}\n\npart001 = cube([0, 0])\npart002 = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 2)\n |> extrude(length = 10)\n\nsubtractedPart = subtract([part001], tools = [part002])" + "fn cube(center) {\n return startSketchOn(XY)\n |> startProfileAt([center[0] - 10, center[1] - 10], %)\n |> line(endAbsolute = [center[0] + 10, center[1] - 10])\n |> line(endAbsolute = [center[0] + 10, center[1] + 10])\n |> line(endAbsolute = [center[0] - 10, center[1] + 10])\n |> close()\n |> extrude(length = 10)\n}\n\npart001 = cube([0, 0])\npart002 = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 2)\n |> extrude(length = 10)\n\nsubtractedPart = subtract([part001], tools = [part002])" ] }, { @@ -311369,9 +311369,9 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Create a pipe using a sweep.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn('XZ')\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)", - "// Create a spring by sweeping around a helix path.\n\n// Create a helix around the Z axis.\nhelixPath = helix(\n angleStart = 0,\n ccw = true,\n revolutions = 4,\n length = 10,\n radius = 5,\n axis = 'Z',\n)\n\n// Create a spring by sweeping around the helix path.\nspringSketch = startSketchOn('YZ')\n |> circle(center = [0, 0], radius = 1)\n |> sweep(path = helixPath)", - "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn('XY')\nrectangleSketch = startProfileAt([-200, 23.86], sketch001)\n |> angledLine([0, 73.47], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 50.61\n ], %)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn('YZ')\nsweepPath = startProfileAt([0, 0], sketch002)\n |> yLine(length = 231.81)\n |> tangentialArc({ radius = 80, offset = -90 }, %)\n |> xLine(length = 384.93)\n\nsweep([rectangleSketch, circleSketch], path = sweepPath)" + "// Create a pipe using a sweep.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)", + "// Create a spring by sweeping around a helix path.\n\n// Create a helix around the Z axis.\nhelixPath = helix(\n angleStart = 0,\n ccw = true,\n revolutions = 4,\n length = 10,\n radius = 5,\n axis = 'Z',\n)\n\n// Create a spring by sweeping around the helix path.\nspringSketch = startSketchOn(YZ)\n |> circle(center = [0, 0], radius = 1)\n |> sweep(path = helixPath)", + "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn(XY)\nrectangleSketch = startProfileAt([-200, 23.86], sketch001)\n |> angledLine([0, 73.47], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 50.61\n ], %)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn(YZ)\nsweepPath = startProfileAt([0, 0], sketch002)\n |> yLine(length = 231.81)\n |> tangentialArc({ radius = 80, offset = -90 }, %)\n |> xLine(length = 384.93)\n\nsweep([rectangleSketch, circleSketch], path = sweepPath)" ] }, { @@ -311419,11 +311419,11 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Horizontal pill.\npillSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0])\n |> tangentialArcToRelative([0, 10], %, $arc1)\n |> angledLine({\n angle = tangentToEnd(arc1),\n length = 20\n }, %)\n |> tangentialArcToRelative([0, -10], %)\n |> close()\n\npillExtrude = extrude(pillSketch, length = 10)", - "// Vertical pill. Use absolute coordinate for arc.\npillSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20])\n |> tangentialArcTo([10, 20], %, $arc1)\n |> angledLine({\n angle = tangentToEnd(arc1),\n length = 20\n }, %)\n |> tangentialArcToRelative([-10, 0], %)\n |> close()\n\npillExtrude = extrude(pillSketch, length = 10)", - "rectangleSketch = startSketchOn('XZ')\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0], tag = $seg1)\n |> angledLine({\n angle = tangentToEnd(seg1),\n length = 10\n }, %)\n |> line(end = [0, 10])\n |> line(end = [-20, 0])\n |> close()\n\nrectangleExtrude = extrude(rectangleSketch, length = 10)", - "bottom = startSketchOn(\"XY\")\n |> startProfileAt([0, 0], %)\n |> arcTo({ end = [10, 10], interior = [5, 1] }, %, $arc1)\n |> angledLine([tangentToEnd(arc1), 20], %)\n |> close()", - "circSketch = startSketchOn(\"XY\")\n |> circle(center = [0, 0], radius = 3, tag = $circ)\n\ntriangleSketch = startSketchOn(\"XY\")\n |> startProfileAt([-5, 0], %)\n |> angledLine([tangentToEnd(circ), 10], %)\n |> line(end = [-15, 0])\n |> close()" + "// Horizontal pill.\npillSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [20, 0])\n |> tangentialArcToRelative([0, 10], %, $arc1)\n |> angledLine({\n angle = tangentToEnd(arc1),\n length = 20\n }, %)\n |> tangentialArcToRelative([0, -10], %)\n |> close()\n\npillExtrude = extrude(pillSketch, length = 10)", + "// Vertical pill. Use absolute coordinate for arc.\npillSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [0, 20])\n |> tangentialArcTo([10, 20], %, $arc1)\n |> angledLine({\n angle = tangentToEnd(arc1),\n length = 20\n }, %)\n |> tangentialArcToRelative([-10, 0], %)\n |> close()\n\npillExtrude = extrude(pillSketch, length = 10)", + "rectangleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0], tag = $seg1)\n |> angledLine({\n angle = tangentToEnd(seg1),\n length = 10\n }, %)\n |> line(end = [0, 10])\n |> line(end = [-20, 0])\n |> close()\n\nrectangleExtrude = extrude(rectangleSketch, length = 10)", + "bottom = startSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> arcTo({ end = [10, 10], interior = [5, 1] }, %, $arc1)\n |> angledLine([tangentToEnd(arc1), 20], %)\n |> close()", + "circSketch = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 3, tag = $circ)\n\ntriangleSketch = startSketchOn(XY)\n |> startProfileAt([-5, 0], %)\n |> angledLine([tangentToEnd(circ), 10], %)\n |> line(end = [-15, 0])\n |> close()" ] }, { @@ -326295,7 +326295,7 @@ "unpublished": false, "deprecated": true, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 50, length = 10 * tau() }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({ angle = 50, length = 10 * tau() }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -326337,7 +326337,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 50,\n length = 70 * cos(toDegrees(pi() / 4))\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 50,\n length = 70 * cos(toDegrees(pi() / 4))\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -326379,7 +326379,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "exampleSketch = startSketchOn(\"XZ\")\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 50,\n length = 70 * cos(toRadians(45))\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" + "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 50,\n length = 70 * cos(toRadians(45))\n }, %)\n |> yLine(endAbsolute = 0)\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" ] }, { @@ -332924,11 +332924,11 @@ "unpublished": false, "deprecated": false, "examples": [ - "// Move a pipe.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn('XZ')\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn('XY')\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> translate(translate = [1.0, 1.0, 2.5])", + "// Move a pipe.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n |> startProfileAt([0.05, 0.05], %)\n |> line(end = [0, 7])\n |> tangentialArc({ offset = 90, radius = 5 }, %)\n |> line(end = [-3, 0])\n |> tangentialArc({ offset = -90, radius = 5 }, %)\n |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n |> circle(center = [0, 0], radius = 2)\n |> hole(pipeHole, %)\n |> sweep(path = sweepPath)\n |> translate(translate = [1.0, 1.0, 2.5])", "// Move an imported model.\n\n\nimport \"tests/inputs/cube.sldprt\" as cube\n\ncube\n |> translate(translate = [1.0, 1.0, 2.5])", - "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn('XY')\nrectangleSketch = startProfileAt([-200, 23.86], sketch001)\n |> angledLine([0, 73.47], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 50.61\n ], %)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn('YZ')\nsweepPath = startProfileAt([0, 0], sketch002)\n |> yLine(length = 231.81)\n |> tangentialArc({ radius = 80, offset = -90 }, %)\n |> xLine(length = 384.93)\n\nparts = sweep([rectangleSketch, circleSketch], path = sweepPath)\n\n// Move the sweeps.\ntranslate(parts, translate = [1.0, 1.0, 2.5])", + "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn(XY)\nrectangleSketch = startProfileAt([-200, 23.86], sketch001)\n |> angledLine([0, 73.47], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 50.61\n ], %)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn(YZ)\nsweepPath = startProfileAt([0, 0], sketch002)\n |> yLine(length = 231.81)\n |> tangentialArc({ radius = 80, offset = -90 }, %)\n |> xLine(length = 384.93)\n\nparts = sweep([rectangleSketch, circleSketch], path = sweepPath)\n\n// Move the sweeps.\ntranslate(parts, translate = [1.0, 1.0, 2.5])", "// Move a sketch.\n\n\nfn square(length) {\n l = length / 2\n p0 = [-l, -l]\n p1 = [-l, l]\n p2 = [l, l]\n p3 = [l, -l]\n\n return startSketchOn(XY)\n |> startProfileAt(p0, %)\n |> line(endAbsolute = p1)\n |> line(endAbsolute = p2)\n |> line(endAbsolute = p3)\n |> close()\n}\n\nsquare(10)\n |> translate(translate = [5, 5, 0])\n |> extrude(length = 10)", - "// Translate and rotate a sketch to create a loft.\nsketch001 = startSketchOn('XY')\n\nfn square() {\n return startProfileAt([-10, 10], sketch001)\n |> xLine(length = 20)\n |> yLine(length = -20)\n |> xLine(length = -20)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n}\n\nprofile001 = square()\n\nprofile002 = square()\n |> translate(translate = [0, 0, 20])\n |> rotate(axis = [0, 0, 1.0], angle = 45)\n\nloft([profile001, profile002])" + "// Translate and rotate a sketch to create a loft.\nsketch001 = startSketchOn(XY)\n\nfn square() {\n return startProfileAt([-10, 10], sketch001)\n |> xLine(length = 20)\n |> yLine(length = -20)\n |> xLine(length = -20)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n}\n\nprofile001 = square()\n\nprofile002 = square()\n |> translate(translate = [0, 0, 20])\n |> rotate(axis = [0, 0, 1.0], angle = 45)\n\nloft([profile001, profile002])" ] }, { @@ -336139,7 +336139,7 @@ "unpublished": false, "deprecated": true, "examples": [ - "fn cube(center) {\n return startSketchOn('XY')\n |> startProfileAt([center[0] - 10, center[1] - 10], %)\n |> line(endAbsolute = [center[0] + 10, center[1] - 10])\n |> line(endAbsolute = [center[0] + 10, center[1] + 10])\n |> line(endAbsolute = [center[0] - 10, center[1] + 10])\n |> close()\n |> extrude(length = 10)\n}\n\npart001 = cube([0, 0])\npart002 = cube([20, 10])\n\nunionedPart = union([part001, part002])" + "fn cube(center) {\n return startSketchOn(XY)\n |> startProfileAt([center[0] - 10, center[1] - 10], %)\n |> line(endAbsolute = [center[0] + 10, center[1] - 10])\n |> line(endAbsolute = [center[0] + 10, center[1] + 10])\n |> line(endAbsolute = [center[0] - 10, center[1] + 10])\n |> close()\n |> extrude(length = 10)\n}\n\npart001 = cube([0, 0])\npart002 = cube([20, 10])\n\nunionedPart = union([part001, part002])" ] }, { diff --git a/docs/kcl/subtract.md b/docs/kcl/subtract.md index 32e864e4f..7b83aaf99 100644 --- a/docs/kcl/subtract.md +++ b/docs/kcl/subtract.md @@ -34,7 +34,7 @@ subtract( ```js fn cube(center) { - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt([center[0] - 10, center[1] - 10], %) |> line(endAbsolute = [center[0] + 10, center[1] - 10]) |> line(endAbsolute = [center[0] + 10, center[1] + 10]) @@ -44,7 +44,7 @@ fn cube(center) { } part001 = cube([0, 0]) -part002 = startSketchOn('XY') +part002 = startSketchOn(XY) |> circle(center = [0, 0], radius = 2) |> extrude(length = 10) diff --git a/docs/kcl/sweep.md b/docs/kcl/sweep.md index 97cef72ae..fd6edc3e4 100644 --- a/docs/kcl/sweep.md +++ b/docs/kcl/sweep.md @@ -44,7 +44,7 @@ sweep( // Create a pipe using a sweep. // Create a path for the sweep. -sweepPath = startSketchOn('XZ') +sweepPath = startSketchOn(XZ) |> startProfileAt([0.05, 0.05], %) |> line(end = [0, 7]) |> tangentialArc({ offset = 90, radius = 5 }, %) @@ -53,10 +53,10 @@ sweepPath = startSketchOn('XZ') |> line(end = [0, 7]) // Create a hole for the pipe. -pipeHole = startSketchOn('XY') +pipeHole = startSketchOn(XY) |> circle(center = [0, 0], radius = 1.5) -sweepSketch = startSketchOn('XY') +sweepSketch = startSketchOn(XY) |> circle(center = [0, 0], radius = 2) |> hole(pipeHole, %) |> sweep(path = sweepPath) @@ -78,7 +78,7 @@ helixPath = helix( ) // Create a spring by sweeping around the helix path. -springSketch = startSketchOn('YZ') +springSketch = startSketchOn(YZ) |> circle(center = [0, 0], radius = 1) |> sweep(path = helixPath) ``` @@ -89,7 +89,7 @@ springSketch = startSketchOn('YZ') // Sweep two sketches along the same path. -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) rectangleSketch = startProfileAt([-200, 23.86], sketch001) |> angledLine([0, 73.47], %, $rectangleSegmentA001) |> angledLine([ @@ -105,7 +105,7 @@ rectangleSketch = startProfileAt([-200, 23.86], sketch001) circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63) -sketch002 = startSketchOn('YZ') +sketch002 = startSketchOn(YZ) sweepPath = startProfileAt([0, 0], sketch002) |> yLine(length = 231.81) |> tangentialArc({ radius = 80, offset = -90 }, %) diff --git a/docs/kcl/tangentToEnd.md b/docs/kcl/tangentToEnd.md index 1175a5b80..5171881ab 100644 --- a/docs/kcl/tangentToEnd.md +++ b/docs/kcl/tangentToEnd.md @@ -28,7 +28,7 @@ tangentToEnd(tag: TagIdentifier): number ```js // Horizontal pill. -pillSketch = startSketchOn('XZ') +pillSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [20, 0]) |> tangentialArcToRelative([0, 10], %, $arc1) @@ -46,7 +46,7 @@ pillExtrude = extrude(pillSketch, length = 10) ```js // Vertical pill. Use absolute coordinate for arc. -pillSketch = startSketchOn('XZ') +pillSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 20]) |> tangentialArcTo([10, 20], %, $arc1) @@ -63,7 +63,7 @@ pillExtrude = extrude(pillSketch, length = 10) ![Rendered example of tangentToEnd 1](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAADC+klEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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+r6Jy1VVXXXXVVVddddX/Oddcc82DeaYzZ848mH/B2bNnb73vvvtu5aqrrrrqqquuuuqq/2uoXHXVVVddddVVV131v84111zzYIAXe7EXe+0zZ848CODFX/zFX/vMmTMPvuaaax7M87G7u8sDHT9+nOd233333Qpw9uzZW++7775bAf7hH/7hd+67775b/+Ef/uG3ueqqq6666qqrrrrqfxv0oAc9iKuuuuqqq6666qqr/me75pprHvzar/3a73XNNdc8+HVe53Xem2fa3d3l0qVL3HrrrQBcunSJ3d1dAC5dusTu7i7PzTYPdPz4cQBsc/z4cY4fPw7Agx70II4fP87x48c5fvw4APfdd9+t//AP//Db//AP//A79913363/8A//8NtcddVVV1111VVXXfU/GXrQgx7EVVddddVVV1111VX/s1xzzTUPfu3Xfu33evEXf/HXfrEXe7HXBtjd3eVv/uZvALjtttt4xjOewYvKNi+IbR7INg9km+PHjwPwoAc9iIc85CEcP36cBz/4wdx33323AvzWb/3Wd//DP/zD7/zDP/zDb3PVVVddddVVV1111f8k6EEPehBXXXXVVVddddVVV/33uuaaax782q/92u8F8E7v9E6fDbC7u8vf/u3f8oxnPINnPOMZ/EezzXOzzQPZ5n62uZ9tjh8/zrFjx3jIQx7Cgx/8YB7ykIdw33333foP//APv/0P//APv/Nbv/Vb381VV1111VVXXXXVVf/d0IMe9CCuuuqqq6666qqrrvrv8Tqv8zrv/WIv9mKv9Tqv8zrv/eQnP/nWu+6668GXLl3ib//2b3lukvj3ss3zY5vnZpv72eZ+trmfbQBsc/z4cR784AfzkIc8hJd5mZfhvvvuu/Uf/uEffvsf/uEffue3fuu3vpurrrrqqquuuuqqq/47oAc96EFcddVVV1111VVXXfVf55prrnnwa7/2a7/XO73TO3327u4uf/M3f8Ntt93GM57xDB5IEi+MJP4ltnlhbPPcbPNAtrmfbe5nGwDbANgGwDYAx44d43Vf93V52Zd9We67775b/+Ef/uG3f+u3fut7/uEf/uG3ueqqq6666qqrrrrqvwp60IMexFVXXXXVVVddddVV//ne8R3f8bNe53Ve572vueaaB+/u7vK7v/u7/O3f/i0PJInnJon/aLZ5brZ5bra5n23uZxsA29zPNgC2AbANwLFjx3jIQx7CQx7yEF72ZV+W++6779Yf/dEf/Zzf+q3f+m6uuuqqq6666qqrrvrPhh70oAdx1VVXXXXVVVddddV/nnd8x3f8rHd6p3f67N3dXf7mb/6Gv/3bv+XSpUvcTxIPJInnRxL/HrZ5fmzz3GzzQLa5n20AbHM/2wDYBsA2ALYBsI1tTpw4wcu8zMvweq/3etx33323/tZv/dZ3/+iP/ujncNVVV1111VVXXXXVfxb0oAc9iKuuuuqqq6666qqr/mNdc801D37t137t93qnd3qnz97d3eVv/uZv+N3f/V0kcT9J3E8S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AVgsFjzsYQ9DEk95ylMAsA2AbQ4PD5F0PCJ+5+zZs7dy1VVXXXXVVVdd9b8D5fjx41x11VVXXXXVVVf9b/E6r/M67/3kJz/5rcdxJCKICCKCiOAlX/IledM3fVMA7rzzTg4PD5HECyKJF0QSL4wk/iWS+NeSxP9GtvnXss2/xDYvjG1eENs8P7Z5bsvlknEc2dra4mEPexiSeMpTnoJtbGMb29x33328/Mu//K3/8A//8DtcddVVV1111VVX/e9AcNVVV1111VVXXfW/yGKxeK9Lly4REUQEkpDES77kS/Kmb/qmANx5550sl0sAbGMb2zw329jGNs/NNraxzfNjG9vYxjbPj21sYxvb2MY2L4xtbGMb29jGNraxjW1sY5v/CraxjW1sYxvb2MY2trHNC2Mb29jGNraxzfNjG9vYxjbPzTa2sY1tnpttbGObB7KNbWzzQLaxjW329va49957AXijN3oj3uRN3oSIICKICEopXLx4kcx8ba666qqrrrrqqqv+96AcP36cq6666qqrrrrqqv8tHvrQh373wcEBpRQigojgwQ9+MG/7tm8LwB133MFyueR+knh+JPGCSOKFkcSLQhL/WpL438g2/1q2+ZfY5oWxzQtimxfENs/NNuv1mnEc2dra4uEPfzgXL17kjjvuAMA2trn77rs5PDz8Gq666qqrrrrqqqv+d6AcP36cq6666qqrrrrqqv8NXud1Xue977jjjreutRIRlFJ48IMfzLu+67sCcM8993B4eMjzI4kXRBIvjCReGEm8qCTx7yWJ/0q2+feyzYvCNv8S27wgtnlBbPP82OaB1us1ABsbG9x4443cddddXLhwAdvYZrlcHl8ul78TEbdy1VVXXXXVVVdd9T8f5fjx41x11VVXXXXVVVf9b3B4ePhR29vbL11KISJ48IMfzLu927sBcP78eXZ3d3kgSTw/knhBJPEvkcS/RBL/WpL438w2/1q2+ZfY5oWxzQtim+fHNs+PbQCOjo4AOHXqFI94xCO48847OX/+PLaxzXq9JiJ+hquuuuqqq6666qr/+SjHjx/nqquuuuqqq6666n+D66+//qv7vj8eEZw8eZL3e7/3A+Do6Ih77rkHSbwgknh+JPHCSOJfIokXhST+vSTx38E2/x62eVHZ5oWxzQtjm+fHNi+IbZ7b0dERAKdOneIRj3gEf/u3f8tyuSQzAY631r6Gq6666qqrrrrqqv/5KMePH+eqq6666qqrrrrqf7qtra33PnXq1HvXWiml8A7v8A4cO3aMo6Mjbr/9dp6bJF4QSbwgknhhJPEvkcS/liT+L7DNv4ZtXhS2eWFs84LY5vmxzfNjm/uN48h8PmdnZ4eXeqmX4jd/8zcBsH18uVw+IyL+mquuuuqqq6666qr/2SjHjx/nqquuuuqqq6666n+666677qsWi8WDI4L3eI/34EEPehDjOHLrrbcCIIkXRBIviCReEEn8SyTxopLEv4ck/jvZ5t/DNi8q27wwtnlhbPP82Ob5sc3z01rj6OiI7e1ttra2OH36NH/zN38DgO2Xzsyv4aqrrrrqqquuuup/Nsrx48e56qqrrrrqqquu+p+s67rXvv766z+71sprv/Zr81Iv9VIA3HnnnYzjyHOTxAsiiRdEEi+MJP4lkvjXksT/Jbb517DNv8Q2L4xtXhDbvCC2eX5sc7/MZH9/n5MnT3LTTTcRETzxiU8kIo4vl8vfiYhbueqqq6666qqrrvqfi3L8+HGuuuqqq6666qqr/ie75pprPmtra+ulH/KQh/CWb/mWADzjGc/g6OiI+0ni+ZHECyKJF0QS/xJJvKgk8e8hif8JbPPvYZsXhW3+JbZ5QWzzgtjm+bHN82Ob1hrjOLK9vc2pU6e48847OXv2LOM4AvwMV1111VVXXXXVVf9zUY4fP85VV1111VVXXXXV/2QPetCDfvrUqVN84Ad+IABnz57l0qVLPD+SeEEk8YJI4oWRxItCEv8akvi/yDb/Grb5l9jmhbHNC2Kb58c2z49tnttqtcI2Z86c4VGPehR//dd/zeHh4fHW2tdw1VVXXXXVVVdd9T8X5fjx41x11VVXXXXVVVf9T7Wzs/Pex48ff+t3eZd34fjx4xweHnLXXXfxQJJ4fiTxgkjihZHECyOJF5Uk/q0k8T+Nbf49bPOisM2/xDYviG1eENs8P7Z5fmwDMI4j8/mcY8eOccstt/CHf/iHx4+OjoiI3+Gqq6666qqrrrrqfybK8ePHueqqq6666qqrrvqf6pZbbvmpN3zDNzz+Ui/1UgDceuutZCbPjyReEEm8IJJ4YSTxopDEv4Yk/q+yzb+Wbf4ltnlhbPOC2Ob5sc3zY5vnlpkcHByws7PDtddeS0TwxCc+8cGtta/hqquuuuqqq6666n8myvHjx7nqqquuuuqqq676n2hzc/O9H/7wh7/3O7/zOwNw6623slqteCBJPD+SeEEk8cJI4oWRxItKEv9Wkvifyjb/VrZ5UdnmhbHNC2Ob58c2L4htnh/bAGQmrTV2dnY4c+YMd9xxx/E77rjjdyTdylVXXXXVVVddddX/PJTjx49z1VVXXXXVVVdd9T/R9ddf/1Xv/d7v/eDjx49z8eJFzp8/jySeH0m8IJJ4QSTxwkjiRSGJfw1J/FeQxPNjm/9stvnXsM2LwjYvjG1eENs8P7Z5fmzz/CyXSwDOnDnDYx7zGH75l3/5wba/h6uuuuqqq6666qr/eSjHjx/nqquuuuqqq6666n+aUsqD3/3d3/2rX+ZlXoZhGLj11lt5bpJ4fiTxgkjihZHECyOJF5Uk/q0k8b+Bbf4tbPOiss0LY5sXxjbPj21eENs8N9s80DiO7OzssL29Tdd1D/7Lv/zL34mIW7nqqquuuuqqq676n4Vy/Phxrrrqqquuuuqqq/6nefSjH/1V7/d+7/fSAM94xjMYhgFJPD+SeEEk8YJI4oWRxItCEv8akvjPIIl/K9v8Z7DNv4Zt/iW2eWFs84LY5gWxzfNjm+dnmiaWyyUnT57k9OnT3HrrrZw9e/ZnuOqqq6666qqrrvqfhXL8+HGuuuqqq6666qqr/qf5lE/5lJ8+fvw4Fy9e5Pz58zw3STw/knhBJPHCSOKFkcSLShL/FpL438Y2/xa2eVHY5l9imxfENi+IbZ4f27wgtrnfOI70fc+pU6e47rrrjv/Wb/3W13DVVVddddVVV131Pwvl+PHjXHXVVVddddVVV/1P8jqv8zrv/YZv+IZvDfDkJz8ZSbwgknhBJPGCSOKFkcSLQhL/GpL4jySJ/2i2+Y9km38N2/xLbPPC2OYFsc0LYpvnxzbPj22WyyXHjh3juuuuO3727Nln3HrrrX/NVVddddVVV1111f8cBFddddVVV1111VX/w7zjO77jZwHcfvvtANjGNrZ5braxjW2em21sY5vnZhvb2MY2z802trGNbV4Q29jGNraxzQtjG9vYxja2sY1t/i1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNv8WtrGNbWxjG9vY5oWxjW1sYxvbPD+2sY1tbPP82MY2tnlutrGNbZ6bbWxjm+dmG9s8N9vYBmAYBu69914A3vEd3/GzuOqqq6666qqrrvqfhXL8+HGuuuqqq6666qqr/qd4x3d8x896pVd6pbc+ODjgrrvuQhIviCReEEm8IJJ4YSTxopDEv4Yk/qNI4j+bbf6j2OZfwzb/Etu8MLZ5QWzzgtjm+bHN82Ob5XLJ1tYWJ06cOH7NNdc8+E//9E9/hquuuuqqq6666qr/GSjHjx/nqquuuuqqq6666n+Ca6655sGf9Emf9NMAt99+O8Mw8ECSeH4k8cJI4oWRxAsjiReVJP61JPF/gW3+LWzzorDNv8Q2L4htXhDbvCC2eX5s80AHBwecOXOGzc3N43/2Z3/2M4eHh7tcddVVV1111VVX/fejHD9+nKuuuuqqq6666qr/Cd7nfd7nqx7ykIe89IULFzh79iySeH4k8YJI4oWRxAsjiReFJF5UkviPIIn/Lrb5j2CbF5Vt/iW2eWFs88LY5vmxzfNjm+fHNq01ZrMZp0+fPr65uXn8T//0T3+Gq6666qqrrrrqqv9+lOPHj3PVVVddddVVV1313+3FXuzFXvt93/d9vxrg6U9/Oq01HkgSz48kXhBJ/Esk8cJI4kUhiX8LSfxfY5t/Ldu8KGzzL7HNC2Ob58c2L4htnh/bPNByueSaa65hc3Pz+K233vo3Z8+evZWrrrrqqquuuuqq/14EV1111VVXXXXVVf8DvNM7vdNnAVy4cIH1es1zs41tnpttbGOb52Yb29jmBbGNbWzz/NjGNraxzQtiG9vYxja2sc2/xDa2sY1tbGMb29jGNv+T2MY2trGNbWxjG9vY5l9iG9vYxja2eUFsYxvb2Ob5sY1tbGOb58c2trHNc7ONbZ6bbWxjmweyjW1s80C2Wa/XnD9/nmuuuebB7/RO7/RZXHXVVVddddVVV/33I7jqqquuuuqqq676b/ZiL/Zir/1iL/Zirw1w9913A2Ab2zw329jGNs/NNraxzXOzjW1sY5vnxza2sY1tnh/b2MY2trHNC2Mb29jGNraxzb+GbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGObF5VtbGMb29jGNrZ5QWxjG9vYxjbPj21sYxvbPD+2sY1tbPPcbGMb2zw329jmudnGNs/NNra539133w3Ai73Yi732i73Yi702V1111VVXXXXVVf+9CK666qqrrrrqqqv+m73TO73TZwGcP3+eYRh4INvYxjbPzTa2sc1zs41tbPP82MY2tnlBbGMb29jmBbGNbWxjG9vY5oWxjW1sYxvb2MY2trHN/2S2sY1tbGMb29jGNv8S29jGNraxzQtiG9vYxjYviG1sY5vnxza2sc1zs41tbPNAtrGNbZ6bbWzzQLZZr9ecP38egHd6p3f6LK666qqrrrrqqqv+exFcddVVV1111VVX/Te65pprHvxiL/Zirw1w9913Yxvb2Oa52cY2tnlutrGNbZ6bbWxjG9s8N9vYxja2eUFsYxvb2MY2L4xtbGMb29jGNi8q29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWzzorKNbWxjG9vY5gWxjW1sYxvbvCC2sY1tbPPcbGMb29jmudnGNrZ5braxzXOzjW1s80C2sc397rrrLgBe7MVe7LVf7MVe7LW56qqrrrrqqquu+u9DcNVVV1111VVXXfXf6B3f8R0/C+D8+fMMw8AD2cY2tnlutrGNbZ6bbWxjm+fHNraxzfNjG9vYxjYvjG1sYxvb2OZfYhvb2MY2trGNbWzzv4ltbGMb29jGNraxzQtjG9vYxja2eWFsYxvb2Ob5sY1tbPP82MY2tnlutrGNbR7INraxzXOzjW2e23q95ty5cwC8zuu8zntx1VVXXXXVVVdd9d+HylVXXXXVVVddddV/o9d5ndd5b4C77roL29xPEg9kGwBJPDfb3E8SD2Sb+0niudnmgSTx3Gzz3CTxgtjm+ZHEi8I2/1aS+NewzX822/xr2eZFYZsXxjYvjG1eENs8P7Z5fmzzQHfddRenT5/mxV7sxV77mmuuefB99913K1ddddVVV1111VX/9Qiuuuqqq6666qqr/pu84zu+42cBnDt3jmEYeCDb2Oa52cY2tnl+bGMb2zw329jGNrZ5fmxjG9vY5gWxjW1sYxvb/EtsYxvb2MY2trGNbf4j2MY2trGNbWxjG9vYxja2sc1/BNvYxja2sY1tbGObf4ltbGMb29jmBbGNbWxjm+fHNraxzfNjG9vY5rnZxja2eW62sc1zs41tntt6vWZ/f59rrrnmwa/92q/9Xlx11VVXXXXVVVf99yC46qqrrrrqqquu+m/yOq/zOu8NcP78eWxjm+dmG9vY5rnZxja2eX5sYxvbPD+2sY1tXhDb2MY2tnlhbGMb29jGNrZ5UdnGNraxjW1sYxvb2MY2trHNfxbb2MY2trGNbWxjG9vYxja2+dewjW1sYxvbvDC2sY1tbPP82MY2trHN82Mb29jmudnGNrZ5braxjW0eyDa2sc1zs41tAO68804AXud1Xue9ueqqq6666qqrrvrvQXDVVVddddVVV1313+B1Xud13vuaa6558P7+Pvv7+9zPNraxzXOzjW1s89xsYxvbPD+2sY1tnh/b2MY2tnlBbGMb29jGNv8S29jGNraxjW1s8+9hG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trHNv5dtbGMb29jGNrZ5YWxjG9vYxjbPj21sYxvbPD+2sY1tbPPcbGMb2zw329jGNs/NNrZ5braxjW0eaG9vj729Pa655poHv9iLvdhrc9VVV1111VVXXfVfj+Cqq6666qqrrrrqv8HrvM7rvBfAuXPnsI1tnpttbPP82MY2tnlutrGNbZ4f29jGNrZ5fmxjG9vYxjYviG1sYxvb2MY2Lwrb2MY2trGNbWxjG9vY5n8C29jGNraxjW1sYxvb2OZfYhvb2MY2trHNC2Ib29jGNi+IbWxjm+fHNraxzXOzjW1s89xsYxvbPDfb2Oa52cY2AOfOnQPgnd7pnT6Lq6666qqrrrrqqv96VK666qqrrrrqqqv+G7zYi73YawOcO3eO+9kGQBIPZJv7SeK52eZ+kngg2zyQJJ6bbR5IEs+PbZ6bJF4Q27wgkvjXsM3/Jrb5t7DNi8o2L4xtXhjbvCC2eUFs84LY5rnt7+8D8GIv9mKv/WIv9mKv/Q//8A+/zVVXXXXVVVddddV/HYKrrrrqqquuuuqq/2Kv8zqv894A586dwzbPzTa2sc1zs41tbPP82MY2tnl+bGMb29jm+bGNbWxjmxfGNraxjW1s86KwjW1sYxvb2MY2trHN/2S2sY1tbGMb29jGNi8K29jGNraxzQtiG9vYxja2eX5sYxvbPD+2sY1tnh/b2Ob5sY1tnpttbGObB7KNbVarFXt7ewC82Iu92Gtx1VVXXXXVVVdd9V+L4Kqrrrrqqquuuuq/2Du+4zt+FsDZs2cBsI1tbPPcbGMb2zw329jGNs+PbWxjmxfENraxzQtiG9vYxja2eWFsYxvb2MY2trHNv4ZtbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2tnlR2cY2trGNbWxjmxfGNraxjW1eENvYxja2eX5sYxvbPD+2sY1tnpttbGOb52Yb2zw329jmge68804AXud1Xue9ueqqq6666qqrrvqvRXDVVVddddVVV131X+jFXuzFXvuaa655MMD+/j7PzTa2eX5sYxvbPDfb2MY2z49tbGMb2zw/trGNbWxjmxfENraxjW1s86KwjW1sYxvb2MY2tvnfxja2sY1tbGMb29jmX2Ib29jGNraxzQtiG9vYxjbPj21sYxvbPDfb2MY2tnlutrGNbZ6bbWxjm+dmG9s8N9usVisArrnmmge/2Iu92Gtz1VVXXXXVVVdd9V+H4Kqrrrrqqquuuuq/0Ou8zuu8F8DZs2exjW1s89xsYxvbPD+2sY1tnpttbGMb2zw/trGNbWzzgtjGNraxzQtjG9vYxja2sc2/hm1sYxvb2MY2trGNbWxjG9vYxjb/XraxjW1sYxvb2MY2trGNbWxjG9u8qGxjG9vYxja2eWFsYxvb2MY2z49tbGMb2zw/trGNbZ4f29jGNs/NNraxzXOzjW1s80C2sY1tANbrNWfPngXgxV7sxV6Lq6666qqrrrrqqv86BFddddVVV1111VX/hV7sxV7stQHOnTvHA9nGNrZ5braxjW2eH9vYxjbPj21sY5sXxDa2sY1tXhDb2MY2trHNv8Q2trGNbWxjG9vY5j+CbWxjG9vYxja2sY1tbGMb29jGNraxzX8E29jGNraxjW1s8y+xjW1sYxvbvCC2sY1tbPOC2MY2tnl+bGMb2zw329jGNs/NNraxzXOzjW2em23uu+8+AF7ndV7nvbnqqquuuuqqq676r0Nw1VVXXXXVVVdd9V/ommuueTDApUuXsM3zYxvbPD+2sY1tnh/b2MY2z49tbGMb27wgtrGNbWzzwtjGNraxjW1s86KyjW1sYxvb2MY2trGNbWxjm/8qtrGNbWxjG9vYxja2sY1tbPOisI1tbGMb29jmhbGNbWxjmxfENraxjW2eH9vYxjbPzTa2sc3zYxvbPDfb2MY2z802tgFYr9cAXHPNNQ9+sRd7sdfmqquuuuqqq6666r8GwVVXXXXVVVddddV/kdd5ndd5b4CzZ89yP9vYxjbPzTa2sc3zYxvb2Ob5sY1tbGOb58c2trGNbV4Q29jGNraxzb/ENraxjW1sYxvb/HvYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxjb/VraxjW1sYxvb2OZfYhvb2MY2tnlBbGMb29jm+bGNbWxjm+dmG9vY5vmxjW1s89xsY5vnxza2eaD1es2lS5cAeLEXe7HX4qqrrrrqqquuuuq/BsFVV1111VVXXXXVf5HXeZ3XeS+AS5cu8fzYxja2eW62sY1tnh/b2MY2L4htbGObF8Q2trGNbV4Y29jGNraxjW1eFLaxjW1sYxvb2MY2trHN/yS2sY1tbGMb29jGNraxzYvCNraxjW1sY5sXxja2sY1tXhDb2MY2z49tbGOb58c2trHNc7ONbWzz3GxjG9s8N9vY5vbbbwfgxV/8xV+bq6666qqrrrrqqv8aVK666qqrrrrqqqv+i7zYi73YawPs7e1hm/tJ4rnZBkASz80295PEc7PNA0niudnmgSTx/NjmuUnihbHNCyKJfw3b/G9mm38L27yobPMvsc0LY5sXxDYviG1eENs8t/V6DcCZM2cezFVXXXXVVVddddV/DYKrrrrqqquuuuqq/wKv8zqv894A9913H+v1mgeyjW1s89xsYxvbPD+2sY1tXhDb2MY2L4htbGMb29jmBbGNbWxjG9vY5kVhG9vYxja2sY1tbGOb/y1sYxvb2MY2trGNbWzzL7GNbWxjG9vY5gWxjW1sYxvbPD+2sY1tbPP82MY2tnl+bGOb58c2tnl+bGOb52ab1WrFpUuXuOaaax78Yi/2Yq/NVVddddVVV1111X8+gquuuuqqq6666qr/Ai/2Yi/2WjyTbWzz/NjGNs+PbWxjm+fHNraxjW2eH9vYxja2eWFsYxvb2OZfYhvb2MY2trHNv5ZtbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWzzr2Eb29jGNraxzb/ENraxjW1eENvYxja2eX5sYxvb2Ob5sY1tbPPcbGMb2zw329jGNs/NNra536VLlwB4sRd7sdfiqquuuuqqq6666j8fwVVXXXXVVVddddV/gRd7sRd7bYC9vT3uZxvb2Oa52cY2tnl+bGMb29jm+bGNbWzzgtjGNraxzQtjG9vYxja2eVHYxja2sY1tbGMb2/xfYBvb2MY2trGNbWzzorCNbWxjG9u8ILaxjW1s84LYxja2eX5sYxvb2Oa52cY2tnl+bGOb52Yb29jmuV26dAmAF3/xF39trrrqqquuuuqqq/7zUbnqqquuuuqqq676L3DNNdc8GGB3d5fnxzb3k8QD2eZ+knh+bHM/STw32zyQJJ4f2zw3Sbwgtnl+JPGiss2/liT+M9nmP4tt/rVs86Kwzb/ENi+MbV4Y27wgtnlBbAOwWq0AOHPmzIO56qqrrrrqqquu+s9HcNVVV1111VVXXfWf7JprrnkwwHq9Zr1eYxvb2Ob5sY1tnh/b2MY2tnl+bGMb27wgtrGNbWzzwtjGNraxjW3+JbaxjW1sYxvb2MY2/162sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxjb/HraxjW1sYxvb2MY2/xLb2MY2trHNC2Ib29jGNi+IbWxjm+fHNraxzfNjG9vY5rnZxja2eW62sY1t7rder7l06RLXXHPNg1/sxV7stbnqqquuuuqqq676z0Vw1VVXXXXVVVdd9Z/sxV7sxV4b4NKlSzw329jm+bGNbWzzgtjGNrZ5fmxjG9vY5gWxjW1sYxvbvDC2sY1tbGMb27yobGMb29jGNraxjW1sY5v/SWxjG9vYxja2sY1tbGObF5VtbGMb29jGNi+MbWxjG9u8ILaxjW1s8/zYxja2eX5sYxvbPD+2sc3zYxvbPDfb2OZ+L/ZiL/ZaXHXVVVddddVVV/3nIrjqqquuuuqqq676T/ZiL/ZirwWwu7uLbWzz3GxjG9s8P7axjW1eENvYxjYviG1sYxvbvDC2sY1tbGObf4ltbGMb29jGNrb5t7CNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbPNvYRvb2MY2trGNbf4ltrGNbWxjmxfENraxjW1eENvYxjbPj21sY5vnxza2sc1zs41tbPPcbGOb++3u7gLw4i/+4q/NVVddddVVV1111X8uKlddddVVV1111VX/yV7sxV7stQEuXbrE/WwDIInnZpv7SeK52eaBJPHcbPNAknh+bPNAknhhbPPcJPGisM0LI4n/TWzzH8E2/1q2eVHY5l9imxfGNi+IbV4Y2zw/ly5d4qqrrrrqqquuuuq/CJWrrrrqqquuuuqq/2TXXHPNg3kBbHM/STw329xPEs+Pbe4niefHNg8kiefHNs9NEi+MbZ4fSfxr2OY/giT+Jbb5r2abfwvbvKhs8y+xzb/ENi+MbV4Q27wgtgFYrVYAnDlz5sFcddVVV1111VVX/eeictVVV1111VVXXfWf6Jprrnkwz7RarbifJJ6bbe4niedmm/tJ4vmxzQNJ4vmxzQNJ4gWxzXOTxL/ENi+MJP4z2Oa/g23+vWzzr2GbF4Vt/iW2eWFs84LY5oWxzQOtVitWqxXXXHPNg6+55poH33fffbdy1VVXXXXVVVdd9Z+DylVXXXXVVVddddV/ohd7sRd7bYB7772XB7LN/STx3GxzP0k8N9s8kCSeH9vcTxIviG2emyReENs8P5J4UdnmX0MS/9Vs85/BNv9atnlR2eZFYZsXxjYvjG1eENu8ILZZrVbM53POnDnz4Pvuu+9Wrrrqqquuuuqqq/5zEFx11VVXXXXVVVf9N7ONbWzz/NjGNrZ5QWxjG9u8ILaxjW1sY5sXxja2sY1tbPMvsY1tbGMb29jGNv9etrGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjm38P29jGNraxjW1s86KwjW1sY5sXxja2sY1tXhDb2MY2tnl+bGMb2zw/trGNbZ4f29jm+bGNbQB2d3cBeLEXe7HX4qqrrrrqqquuuuo/D5Wrrrrqqquuuuqq/0Qv9mIv9loAu7u72OZ+knh+bHM/STw329xPEs+PbR5IEi+IbR5IEi+MbZ6bJF4UtnlRSOJ/Mtv8R7LNv5ZtXhS2eVHY5oWxzQtjmxfENlddddVVV1111VX/jQiuuuqqq6666qqr/hvYxja2eUFsYxvbPD+2sY1tbPOC2MY2trHNC2Mb29jGNrb5l9jGNraxjW1sY5t/C9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sY5t/C9vYxja2sY1tbPMvsY1tbGMb27wgtrGNbWzzgtjGNraxzfNjG9vY5vmxjW1s8/zYxjbPj212d3cBePEXf/HX5qqrrrrqqquuuuo/D5Wrrrrqqquuuuqq/0Qv9mIv9toAu7u72EYSz80295PE82Ob+0ni+bHNA0ni+bHNA0nihbHNc5PEi8I2L4wk/i+wzX8E2/xr2OZFZZt/iW3+JbZ5QWzzwtjmqquuuuqqq6666r8Ylauuuuqqq6666qr/QrYBkMTzY5v7SeL5sc39JPGC2OZ+knhBbPPcJPHC2Ob5kcS/hm3+tSTxn8k2/9ls829hmxeVbf4ltnlR2OaFsc0LYpvnZ7VaAXDmzJkHc9VVV1111VVXXfWfh8pVV1111VVXXXXVf6JrrrnmwQCr1YoHss39JPH82OZ+knh+bPNAknh+bPNAknhhbPPcJPEvsc0LI4l/L9v8T2ebfy/b/GvY5kVhmxeFbV4Y27wgtnlhbLNcLgG45pprHsxVV1111VVXXXXVfx4qV1111VVXXXXVVf8FbAMgiedmm/tJ4vmxzf0k8YLY5oEk8fzY5rlJ4oWxzfMjiReVbV4UkvifyDb/0Wzzr2WbF5VtXhS2+ZfY5oWxzQtim6uuuuqqq6666qr/BlSuuuqqq6666qqr/pNcc801DwZYrVbczzb3k8Rzs839JPH82OaBJPGC2OaBJPGC2Oa5SeJfYpvnRxL/Vrb5v8Q2/x62eVHZ5kVlm3+JbV4Y27wwtnlBVqsV8/mca6655sH33XffrVx11VVXXXXVVVf9xyO46qqrrrrqqquu+k9y5syZBwOsViueH9vY5gWxjW1s88LYxja2+ZfYxja2sc2/xDa2sY1tbPOiso1tbGMb29jGNraxzf8VtrGNbWxjG9vYxjYvKtvYxja2sY1tXhjb2MY2tnlhbGMb29jmBbGNbWzz/NjGNrZ5fmxjG9s8P7axzXK5BODMmTMP5qqrrrrqqquuuuo/B5Wrrrrqqquuuuqq/wK2AZDEc7PNA0niudnmgSTx/NjmgSTxwtjmuUnihbHN8yOJfy3b/GtJ4j+Tbf6z2ebfyjb/Grb5l9jmX2KbF8Y2L4xtrrrqqquuuuqqq/4bULnqqquuuuqqq676L2Sb+0ni+bHN/STx/NjmfpJ4QWzzQJL4l9jmuUniX2KbF0YS/xFs87+Bbf69bPOvZZsXhW3+Jbb5l9jmhbHNVVddddVVV1111X8jKlddddVVV1111VX/Sa655poHA6xWK54f29xPEs+Pbe4niefHNg8kiRfENg8kiReFbZ6bJP41bPOikMT/ZLb5j2abfwvbvKhs86Kwzb/ENi+MbV4Y21x11VVXXXXVVVf9F6Fy1VVXXXXVVVdd9Z/MNrYBkMTzY5v7SeL5sc39JPGC2OaBJPGC2Oa5SeJFYZsXRBL/Vrb5v8g2/162eVHZ5kVlm3+JbV4Y27wwtnluq9UKgGuuuebB//AP/8BVV1111VVXXXXVfwIqV1111VVXXXXVVf+FbHM/STw/trmfJJ4f2zyQJF4Q2zyQJF4Y2zw3Sfxr2OaFkcT/Nbb5j2Kbfy3bvKhs86KwzQtjmxfGNi+Mba666qqrrrrqqqv+k1G56qqrrrrqqquu+m9im/tJ4vmxzf0k8YLY5oEk8YLY5rlJ4oWxzfMjiX8L2/xrSeK/im3+K9jm38o2LyrbvChs8y+xzb/ENi+Mba666qqrrrrqqqv+i1C56qqrrrrqqquu+k9y33333Qown8+xDYAknh/b3E8Sz49tHkgSL4htHkgSL4xtnpsk/iW2eUEk8R/JNv8b2ebfyzb/GrZ5UdnmX2Kbf4ltXhjbXHXVVVddddVVV/03oHLVVVddddVVV131X8g295PE82Ob+0niBbHN/STxwtjmgSTxL7HNc5PEi8o2/xJJ/G9nm/8otvm3sM2LyjYvCtv8S2zzwtjmhVksFgDcd999t3LVVVddddVVV131n4PKVVddddVVV1111X8T29xPEs+PbR5IEs+PbR5IEi+MbZ6bJP4ltnlBJPGvZZt/L0n8e9jmv5pt/q1s869hmxeVbf4ltvmX2OaFsc1VV1111VVXXXXVfxEqV1111VVXXXXVVf8FbCOJF8Q295PEC2Kb+0niBbHNc5PEC2Ob5yaJF5VtXhBJ/Gexzf9Etvn3ss2/lm1eVLZ5UdjmX2KbF8Y2V1111VVXXXXVVf8NqFx11VVXXXXVVVf9Jzl79uytAPP5HADb3E8SL4ht7ieJF8Q2DySJF8Y2DySJf4ltnh9J/GvY5kUlif+pbPOfxTb/Frb517DNi8I2/xLb/Ets84LM53MAzp49eytXXXXVVVddddVV/zmoXHXVVVddddVVV/03sM0DSeL5sc0DSeIFsc0DSeKFsc1zk8SLwjYviCT+PWzzf5Vt/j1s869lmxeFbV4UtvmX2OaFsc1VV1111VVXXXXVfxEqV1111VVXXXXVVf8FbCOJF8Q295PEC2Kb+0nihbHNA0niX2Kb5yaJfw3bvDCS+L/KNv9RbPOvZZt/Ddu8KGzzL7HNC2Ob57ZYLLjqqquuuuqqq676T0blqquuuuqqq6666j/JfffddyvAYrEAwDb3k8QLYpv7SeIFsc0DSeKFsc1zk8S/xDbPjyT+LWzzryGJ/w62+a9gm38r2/xr2OZFYZsXhW3+Jbb5l9x33323ctVVV1111VVXXfWfg8pVV1111VVXXXXVfwPb3E8SL4htHkgSL4htHkgS/xLbPDdJvChs84JI4j+Kbf63s82/l23+tWzzorLNi8I2/xLbvDC2ueqqq6666qqrrvovQuWqq6666qqrrrrqP9F999136zXXXPPg+XzOarXi+bHNA0niBbHN/STxwtjmuUniX2Kb5yaJfw3bvCgk8b+Zbf6j2ebfyjYvKtu8qGzzL7HNv8Q291ssFgDcd999t3LVVVddddVVV131n4fKVVddddVVV1111X8R29xPEi+Ibe4niRfENg8kiX+JbR5IEi8K27wgkvi3ss2/hyT+PWzz38U2/x62+deyzYvCNi8K2/xLbHPVVVddddVVV13134jKVVddddVVV1111X+is2fP3nrNNdc8eD6fs1wuuZ9t7ieJF8Q295PEC2ObB5LEv8Q2z00S/xq2eUEk8Z/JNv+T2eY/gm3+tWzzr2GbF4Vt/iW2+ZfM53MAzp49eytXXXXVVVddddVV/3moXHXVVVddddVVV/03s839JPGC2OaBJPHC2Oa5SeJfYpvnRxL/WrZ5UUjifwvb/Gexzb+Vbf41bPOiss2/xDb/EttcddVVV1111VVX/RejctVVV1111VVXXfVfxDYAknhBbPNAknhBbPNAkviX2Oa5SeJFYZsXRBL/Hrb5/8Q2/x62+deyzYvKNi8K27wobPPcFosFV1111VVXXXXVVf8FCK666qqrrrrqqqv+E9133323AiwWC+5nG9vY5l9iG9vY5l9iG9vYxjYvKtvYxja2sc2/lm1sYxvb2MY2trHN/ze2sY1tbGMb29jGNv8atrGNbWxjmxeFbWxjG9v8S2xjG9u8MLaxjW1eGNvYxjYvzH333XcrV1111VVXXXXVVf95qFx11VVXXXXVVVf9N7LNA0niBbHNA0nihbHNc5PEi8I2z48k/i1s86KSxP80tvnPZpt/D9v8a9jmRWWbF4Vt/iW2AbDNVVddddVVV1111X8BKlddddVVV1111VX/ie67775bAebzObaRxAtjm/tJ4oWxzQNJ4l9im+cmiReVbV4QSfxHsM3/Vbb5j2Cbfy3b/GvY5kVhm3+Jba666qqrrrrqqqv+m1C56qqrrrrqqquu+i9km/tJ4oWxzQNJ4oWxzQNJ4kVhm+cmiX8t27wwkvi/zjb/kWzzb2Wbfw3bvKhs8y+xzQuzWCwAuO+++27lqquuuuqqq6666j8Plauuuuqqq6666qr/JrZ5IEm8MLa5nyT+JbZ5bpJ4Udjm+ZHEv5Vt/rUk8d/FNv9VbPPvYZt/Ldu8qGzzorDNi8I2V1111VVXXXXVVf9FqFx11VVXXXXVVVf9Jzp79uwzABaLBf8S29xPEi+MbZ6bJP4ltnluknhR2eYFkcR/NNv8X2Gb/wi2+bewzb+GbV4UtnlR2OaBFosFAGfPnn0GV1111VVXXXXVVf95qFx11VVXXXXVVVf9F7HN/STxwtjmgSTxL7HNA0niRWGb5yaJfy3b/Esk8X+Vbf6j2ebfyjb/GrZ5UdnmRWGbq6666qqrrrrqqv9mVK666qqrrrrqqqv+E9133323AiwWCx7INg8kiRfGNg8kiX+JbR5IEi8q2zw/kvj3sM2/hST+q9jmv5pt/j1s869lm38N27wobHPVVVddddVVV131PwiVq6666qqrrrrqqv8BbHM/SfxLbPNAkviX2Oa5SeJfwzYvjCT+M9jmfzvb/Eewzb+Fbf41bPOiss2Lwjb3WywWANx33323ctVVV1111VVXXfWfh8pVV1111VVXXXXVfwHb2AZAEi+MbR5IEv8S2zyQJF4Utnl+JPFvYZt/iST+r7HNfwbb/FvZ5l/LNi8q27wobHPVVVddddVVV13134jKVVddddVVV1111X+is2fP3gqwsbHB/WzzQJJ4YWzzQJL4l9jmuUniRWWb50cS/162+beSxH8W2/x3sc2/l23+tWzzr2GbF4Vt/iUbGxsAnD179lauuuqqq6666qqr/vNQueqqq6666qqrrvpvZpv7SeJfYpsHksSLwjbPTRL/GrZ5YSTxn8k2/xvZ5j+Sbf4tbPOvYZsXlW1eFLYBsM1VV1111VVXXXXVfwEqV1111VVXXXXVVf9FbCOJF8Y2DySJf4ltHkgSLyrbPDdJ/FvZ5l8iif9LbPOfxTb/Hrb517DNv4ZtXhS2ueqqq6666qqrrvpvQuWqq6666qqrrrrqP9F99913K8BisQDANveTxL/ENg8kiX+JbZ6bJF5UtnlBJPHvZZt/D0n8R7LNfzfb/HvZ5t/CNi8q27yobPPCbGxsAHDffffdylVXXXXVVVddddV/HipXXXXVVVddddVV/01s80CS+JfY5oEk8aKwzXOTxL+WbV4QSfxXsM3/Rrb5j2Kbfyvb/GvY5kVlmxeFba666qqrrrrqqqv+ixBcddVVV1111VVX/Se77777bgVYLBa8MLaxjW1eVLaxjW1s869hG9vYxja2sc2/lW1sYxvb2MY2trGNbWzzf41tbGMb29jGNraxjW1s829lG9vYxja2eVHZxja2sY1t/iW2sY1tbPMvsY1tbPPC2MY2ttnY2ADgvvvuu5Wrrrrqqquuuuqq/1xUrrrqqquuuuqqq/6L2MY2AJJ4YWzzQJJ4UdjmuUniX8M2z48k/iPY5t9DEv+RbPPfzTb/EWzzb2Gbfw3bvChsc9VVV1111VVXXfXfjMpVV1111VVXXXXVf7KzZ8/ees011zx4Y2OD5XIJgG3uJ4l/iW0eSBIvKts8N0n8a9nmBZHEfxXb/G9km/9Itvm3ss2/hm1eVLb5lywWCwDOnj17K1ddddVVV1111VX/uahcddVVV1111VVX/TezzQNJ4l9im+cmiReVbZ6bJP6tbPOikMT/Rbb5z2Kbfw/b/FvY5kVlm38N21x11VVXXXXVVVf9F6Fy1VVXXXXVVVdd9V/ENi8K2zyQJF4UtnkgSfxr2OYFkcR/BNv8W0niP4tt/rvZ5j+Cbf4tbPOvYZt/DdtcddVVV1111VVX/TcguOqqq6666qqrrvpPdt99990KsLGxgW1sY5sXlW1sYxvbvKhsYxvb2MY2/1a2sY1tbGMb29jmv4ptbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2+a9iG9vYxja2sY1t/i1sYxvb2MY2Lyrb2MY2tvmX2MY2trHNi8I2trHNA21sbABw33333cpVV1111VVXXXXVfy4qV1111VVXXXXVVf9NbPNAknhR2OaBJPGiss3zI4l/K9v8SyTxf51t/rPY5t/LNv9atvnXsM1VV1111VVXXXXV/zBUrrrqqquuuuqqq/6T3XfffbcCLBYLXhjbPJAkXhS2eW6S+NewzfMjif8Itvm3kMR/Ndv8d7HNfwTb/FvY5l/LNi8q21x11VVXXXXVVVf9F6Ny1VVXXXXVVVdd9T+UbR5IEi8q2zw3Sfxr2eYFkcR/Ntv8X2Ob/0i2+beyzb+FbV5Utnlui8UCgPvuu+9Wrrrqqquuuuqqq/5zUbnqqquuuuqqq676L2SbB5LEi8o2DySJfw3bPDdJ/FvZ5l8iif9PbPOfyTb/Hrb5t7DNv4Ztrrrqqquuuuqqq/6HoHLVVVddddVVV131n+zs2bPPANjY2OC52eaBJPGiss1zk8S/hm2eH0n8R7DNv5Yk/qewzX8H2/xHsM2/lW3+NWzzotrY2ADg7Nmzz+Cqq6666qqrrrrqPxeVq6666qqrrrrqqv9BbPNAkvjXsM1zk8S/lm1eEEn8Z7LN/we2+Y9km38P2/xr2eZFZZurrrrqqquuuuqq/wZUrrrqqquuuuqqq/6T3XfffbcCLBYLbAMgiReFbR5IEv9atnlukvi3ss2/RBL/39nmP4Nt/iPY5l/LNv8atrnqqquuuuqqq676b0blqquuuuqqq6666r+Bbe4niReVbR5IEv8Wtnl+JPEfwTYvKkn8b2Cb/2q2+Y9gm38L2/xr2eZfsrGxAcB99913K1ddddVVV1111VX/uahcddVVV1111VVX/TezzQNJ4kVlm+cmiX8r27wgkvjPYJv/z2zzH802/1a2+deyzYvKNlddddVVV1111VX/hahcddVVV1111VVX/Sc7e/bsrQAbGxu8KGzzQJL417DNc5PEv5dtXhhJXPW8bPOfyTb/Hrb517LNv4ZtHmhjYwOAs2fP3spVV1111VVXXXXVfy4qV1111VVXXXXVVf+FbHM/SbwobPPcJPGvYZvnRxL/UWzzopDE/wW2+a9km38v2/xb2eZfwzZXXXXVVVddddVV/wNQueqqq6666qqrrvpvYpsHksSLyjYPJIl/C9s8P5L4z2Kbq14w2/xHsc2/lW3+tWxz1VVXXXXVVVdd9T8Mlauuuuqqq6666qr/ZPfdd9+tABsbG7wwtnkgSbyobPPcJPFvZZsXRBJX/fvY5j+abf49bPOvZZt/LdtsbGwAcN99993KVVddddVVV1111X8uKlddddVVV1111VX/Q9nmgSTxr2Gb50cS/x62+ZdI4v8r2/xns82/l23+LWzzr2Wbq6666qqrrrrqqv8mVK666qqrrrrqqqv+C9x33323XnPNNQ9eLBYcHR1xP0m8qGzzQJL4t7DN8yOJ/yi2+deSxP80tvnvZJv/CLb5t7LNv5Ztrrrqqquuuuqqq/6HoHLVVVddddVVV13138g295PEv4Ztnpsk/q1s84JI4j+bbf4/ss1/JNv8e9jm38I2L4qNjQ0A7rvvvlu56qqrrrrqqquu+s9HcNVVV1111VVXXfVf4OzZs7cCbGxs8ILYxja2sY1t/rVsYxvb2MY2/xFsYxvb2MY2trGNba56wWxjG9vYxja2sY1t/j1sYxvb2MY2/1q2sY1tbPOvYRvb2OZFYRvbXHXVVVddddVVV/0XonLVVVddddVVV131P5htHkgS/1q2eX4k8R/FNi8qSfxvZ5v/arb5j2Cbfyvb/GvZ5oE2NzcBOHv27K1cddVVV1111VVX/eejctVVV1111VVXXfVfyDa2uZ8k/jVs89wk8W9hmxdEEv9ZbHPV82eb/0i2+fewzb+Fba666qqrrrrqqqv+hyC46qqrrrrqqquu+i9w33333QqwubnJA9nGNraxzb+FbWxjG9vY5t/LNraxjW1sYxvbXPXvYxvb2MY2trGNbf49bGMb29jGNv9atrGNbWzzorKNbWxjmxdmY2MDgPvuu+9Wrrrqqquuuuqqq/7zUbnqqquuuuqqq676H8Q2DySJfwvbPDdJ/EewzYtCEv/f2Oa/gm3+I9jm38o2/1q2sc1VV1111VVXXXXVfyEqV1111VVXXXXVVf8F7rvvvlsBNjY2+NewzXOTxL+FbZ4fSfxnsM2/liT+J7DN/wS2+Y9km38r2/xb2Oaqq6666qqrrrrqvxGVq6666qqrrrrqqv9CtrHN/STxr2Wb5yaJfyvbvCCS+K9km/9vbPOfwTb/Hrb5t7DNC7O5uQnAfffddytXXXXVVVddddVV//moXHXVVVddddVVV/03ss1zk8S/lm2emyT+vWzzL5HEVS+Ybf6z2ebfyzb/Vra56qqrrrrqqquu+h+KylVXXXXVVVddddV/gbNnzz4DYHNzk3+JbR5IEv8Wtnl+JPEfyTYvCkn8X2Gb/w62+Y9im38r2/xb2GZjYwOAs2fPPoOrrrrqqquuuuqq/3xUrrrqqquuuuqqq/6Hs81zk8S/lW2eH0n8Z7LNVS8a2/xHss2/l23+LWxz1VVXXXXVVVdd9d+IylVXXXXVVVddddV/gfvuu+9WgI2NDWxzP0n8W9jmuUni38M2L4wkrvqPYZv/LLb5j2CbfwvbXHXVVVddddVVV/0PQuWqq6666qqrrrrqv5Ftnpsk/i1s89wk8R/FNv8SSfx/Z5v/Krb5j2KbfyvbvKg2NzcBuO+++27lqquuuuqqq6666j8flauuuuqqq6666qr/YWzzQJL4t7LN8yOJ/wy2+deSxP9ktvnvZpv/SLb597DNv4VtbHPVVVddddVVV131X4jKVVddddVVV1111X+Bs2fP3gqwsbHBv5Ztnpsk/j1s84JI4r+Sba66wjb/0Wzz72WbfyvbPNDm5iYAZ8+evZWrrrrqqquuuuqq/3xUrrrqqquuuuqqq/6L2eZ+kvi3sM1zk8R/BNu8MJK46t/GNv+ZbPMfwTb/Hra56qqrrrrqqquu+h+CylVXXXXVVVddddV/I9s8kCT+rWzz/EjiP5JtXhSS+P/CNv/VbPMfxTb/Hra56qqrrrrqqquu+h+KylVXXXXVVVddddV/gfvuu+9WgM3NTV4Y2zw3Sfx72Ob5kcR/Jtv8W0niv5Jt/qeyzX802/x72ObfanNzE4D77rvvVq666qqrrrrqqqv+81G56qqrrrrqqquu+h/ONs9NEv9etnlBJPHfyTb/n9jmP4tt/iPY5t/KNlddddVVV1111VX/TQiuuuqqq6666qqr/ovcd999twJsbGxgm38P29jGNraxzX8k29jGNraxjW1sY5ur/nVsYxvb2MY2trGNbf6j2MY2trGNbf6tbGMb29jmX8M2trGNba666qqrrrrqqqv+G1G56qqrrrrqqquu+m9im+cmiX8r2zw/kviPZpsXlST+L7LNfxfb/Eeyzb+Xbf4lm5ubANx33323ctVVV1111VVXXfVfg8pVV1111VVXXXXVf5GzZ8/ees011zx4Y2ODw8NDnh/bPJAk/r1s8/xI4r+Cbf4jSeLfwjb/29jmP4Nt/r1sc9VVV1111VVXXfW/AJWrrrrqqquuuuqq/8Fs89wk8R/BNi+IJP6nss3/Jbb5z2Sb/wi2+fewzcbGBgBnz569lauuuuqqq6666qr/GlSuuuqqq6666qqr/pexzXOTxH8k2/xLJHHVC2eb/0q2+Y9im38P21x11VVXXXXVVVf9D0Dlqquuuuqqq6666r/Y5uYm9913Hw8kiX8P2zw/kvjPYpsXlST+r7DNfzfb/Eezzb+XbV6Yzc1NAO67775bueqqq6666qqrrvqvQeWqq6666qqrrrrqv8h9991364u92Ivx/NjmuUni38s2L4gk/qvY5qp/Pdv8Z7DNfwTbXHXVVVddddVVV/0PR+Wqq6666qqrrrrqfyjbPDdJ/EexzQsiiav+89nmP5tt/qPY5t/DNlddddVVV1111VX/xahcddVVV1111VVX/Re57777bgXY2Njg38o2z00S/9Fs8y+RxFUvnG3+K9nmP5Jt/j1s80Cbm5sA3Hfffbdy1VVXXXXVVVdd9V+DylVXXXXVVVddddV/A9vcTxL/HrZ5fiTxn8k2LypJ/F9gm/8JbPOfwTb/Xra56qqrrrrqqquu+h+EylVXXXXVVVddddV/kbNnzz4DYHNzkweyzXOTxL+XbV4QSfxXss1V/3q2+c9im/8ItnlRbW1tAXD27NlncNVVV1111VVXXfVfg8pVV1111VVXXXXV/0C2eW6S+I9imxdEElf917HNfzbb/EexzVVXXXXVVVddddX/IlSuuuqqq6666qqr/ovcd999twJsbm7yb2Gb5yaJ/2i2+ZdI4qp/mW3+q9nmP5Jt/r1sA2Cbq6666qqrrrrqqv9iVK666qqrrrrqqqv+G9hGEv9etnl+JPGfyTb/GpL4v8I2/xPY5j+Dbf69bPP8bG5uAnDffffdylVXXXXVVVddddV/DSpXXXXVVVddddVV/01s80CS+I9im+dHEv8dbHPVv41t/rPY5j+Kba666qqrrrrqqqv+B6Jy1VVXXXXVVVdd9V/k7NmztwJsbm7y/NjmuUniP5JtXhBJXPXfwzb/2WzzH8k2/1pbW1sAnD179lauuuqqq6666qqr/mtQueqqq6666qqrrvofzDbPjyT+o9nmXyKJq/51bPNfzTb/0Wxz1VVXXXXVVVdd9b8Qlauuuuqqq6666qr/hWzz3CTxn802LypJ/F9lm/8pbPOfwTb/Xra56qqrrrrqqquu+m9G5aqrrrrqqquuuuq/yH333XcrwObmJra5nyT+I9jmBZHEfzXb/GeSxAtim/9LbPOfyTb/UWzzgmxubgJw33333cpVV1111VVXXXXVfw0qV1111VVXXXXVVf/NbPPcJPEfyTYviCT+N7LN/yW2+a9gm/9Itrnqqquuuuqqq676H4zgqquuuuqqq6666r/QfffddyvA5uYmL4xtbGMb29jmP4ttbGMb29jGNraxzVX/MWxjG9vYxja2sY1t/jPYxja2sY1t/r1sYxvb2Oaqq6666qqrrrrqfzgqV1111VVXXXXVVf9L2Ob5kcR/Jtu8qCTx/41t/iewzX8G2/xH2NjYAOC+++67lauuuuqqq6666qr/OlSuuuqqq6666qqr/gudPXv21muuuebBm5ubHB4e8h/BNs+PJP6r2ebfSxL/VWzzv41t/rPY5j+Kba666qqrrrrqqqv+B6By1VVXXXXVVVdd9d/ENg8kif9ItnlBJPE/lW3+v7PNfwXb/EexzQuztbUFwNmzZ2/lqquuuuqqq6666r8Olauuuuqqq6666qr/IWzz3CTxn8E2L4wkrvrPY5v/arb5j2Sbq6666qqrrrrqqv8FqFx11VVXXXXVVVf9D2ab5yaJ/2y2+ZdI4qrnZJv/brb5z2Cbf4/NzU0A7rvvvlu56qqrrrrqqquu+q9DcNVVV1111VVXXfVf6L777rsVYHNzk38r29jGNraxjW3+q9nGNraxjW1sYxvb2MY2trGNbWzzv4VtbGMb29jGNraxjW1sYxvb2Oa/km1sYxvb2MY2/1FsYxvb2Oaqq6666qqrrrrqfykqV1111VVXXXXVVf8NbPMfzTYviCT+p7DNVS862/xns81/NNtcddVVV1111VVX/Q9A5aqrrrrqqquuuuq/0H333XcrwNbWFrZ5bpL4z2CbF0QSV/33sc1/Ndv8Z7DNC7K5uQnAfffddytXXXXVVVddddVV/3WoXHXVVVddddVVV/0PYpvnJon/TLb5l0jiqn8b2/x3sc1/JttcddVVV1111VVX/Q9H5aqrrrrqqquuuuq/webmJi8q2zw/kvivYpt/DUn8X2Wb/4ls85/JNv8eW1tbAJw9e/YZXHXVVVddddVVV/3XoXLVVVddddVVV131X+js2bPP4D+IbZ4fSfx3s81V/zls81/BNlddddVVV1111VX/B1C56qqrrrrqqquu+i9033333QqwtbXFfxbbvCCSuOp/Ptv8V7LNfzTbXHXVVVddddVVV/0PQOWqq6666qqrrrrqv4ltHkgS/9ls8y+RxFX/uWzz38k2/9Fs88Jsbm4CcN99993KVVddddVVV1111X8dKlddddVVV1111VX/Q9jm+ZHEfyXbvCgkcdVzss3/JLb5z2Kbq6666qqrrrrqqv8FqFx11VVXXXXVVVf9Fzp79uytAJubm7yobPPcJPHfzTb/FpL4n8w2/xvZ5j+Tbf49tra2ADh79uytXHXVVVddddVVV/3XoXLVVVddddVVV131v5BtXhBJ/E9mm6v+bWzzX8E2V1111VVXXXXVVf9HULnqqquuuuqqq676P8Y2L4gkrvqfzTb/1WzzH802V1111VVXXXXVVf8DULnqqquuuuqqq676L3TffffdCrC1tYVtHkgS/9ls88JI4qr/XLb572Sb/wy2eWG2trYAuO+++27lqquuuuqqq6666r8Olauuuuqqq6666qr/IWzz/Ejiv4ptXlSSuOrZbPM/iW3+M9nmqquuuuqqq6666n8Bgquuuuqqq6666qr/Yvfdd9+tAFtbW7wobGMb29jGNrb572Yb29jGNraxjW1sYxvb2MY2trGNbf6nso1tbGMb29jGNraxjW1sYxvb2MY2/11sYxvb2MY2tvmPZhvb2MY2V1111VVXXXXVVf9LULnqqquuuuqqq676X8o2z48k/qezzVX/Orb5r2Kb/0hbW1sA3Hfffbdy1VVXXXXVVVdd9V+LylVXXXXVVVddddX/MbZ5YSRx1f88tvnvYJv/LLYBsM1VV1111VVXXXXVfxOCq6666qqrrrrqqv9iZ8+evRVgc3MT29jGNv9VbGMb29jGNraxjW1sc9V/PNvYxja2sY1tbGOb/wq2sY1tbGOb/0i2sY1tbHO/ra0tAM6ePXsrV1111VVXXXXVVf+1qFx11VVXXXXVVVf9D2Gb5yaJ/w62eVFJ4v8r2/xPZZv/TLa56qqrrrrqqquu+l+AylVXXXXVVVddddX/YLZ5QSTxP4Ft/iNI4r+Kbf6vsM1/Bdv8W21tbQFw33333cpVV1111VVXXXXVfy2Cq6666qqrrrrqqv9i9913360AW1tb/HvYxja2sY1tbPO/lW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sY5v/bWxjG9vYxja2sc1/BtvYxja2sc1VV1111VVXXXXV/1JUrrrqqquuuuqqq/6Psc0LI4mr/mexzX8n2/xnsY1trrrqqquuuuqqq/6bULnqqquuuuqqq676L3bffffdCrC5uYltACTxX8U2/xJJXPUfxzb/E9jmP5ttntvW1hYA9913361cddVVV1111VVX/deictVVV1111VVXXfU/gG2emyT+u9jmX0MS/5/Y5n862/xns81VV1111VVXXXXV/3BUrrrqqquuuuqqq/6Hss3zI4n/aWzzH00S/xFs83+Zbf6r2ObfYnt7G4CzZ88+g6uuuuqqq6666qr/WlSuuuqqq6666qqr/oudPXv2GQBbW1v8W9jmBZHE/xW2ueoK2/xXs81VV1111VVXXXXV/wFUrrrqqquuuuqqq/6L3XfffbcCbG1t8R/NNi+MJK76n8k2/51s85/FNlddddVVV1111VX/TahcddVVV1111VVX/T9im3+JJK76j2Wb/yls85/NNg+0tbUFwH333XcrV1111VVXXXXVVf+1qFx11VVXXXXVVVf9N7LNc5PEfyfb/GtI4v8b2/xvYJv/Cra56qqrrrrqqquu+h+KylVXXXXVVVddddV/sbNnz94KsLW1xfNjmxdEEv/T2OY/miT+o9jm/zrb/Feyzb/G9vY2AGfPnr2Vq6666qqrrrrqqv9aVK666qqrrrrqqqv+F7HN8yOJ/0tsc9Vzss1/B9tcddVVV1111VVX/S9G5aqrrrrqqquuuur/ANu8MJK46n8+2/x3ss1VV1111VVXXXXV/zFUrrrqqquuuuqqq/6L3XfffbcCbG1t8V/FNv8SSVz1n8c2/5PY5j+bbQC2trYAuO+++27lqquuuuqqq6666r8Wlauuuuqqq6666qr/Rra5nyT+O9nmRSWJq8A2/xvY5r+Cba666qqrrrrqqqv+h6Fy1VVXXXXVVVdd9d9oa2uLg4MDAGzz/Ejifxrb/EeRxH8l2/xfZZv/Sra56qqrrrrqqquu+h+OylVXXXXVVVddddV/g/vuu+/Wa6655sG8CGzz/Eji/wLbXPWis81/B9v8W2xtbQFw33333cpVV1111VVXXXXVfz0qV1111VVXXXXVVf9L2eaFkcRV/zvZ5r+bba666qqrrrrqqqv+DyC46qqrrrrqqquu+m9w9uzZWwG2trb4z2Ib29jGNraxjW1sY5ur/uvZxja2sY1tbGMb29jmv5JtbGMb29jGNv9Rtre3ATh79uytXHXVVVddddVVV/3Xo3LVVVddddVVV131/5htXhSSuOqFs83/dLb5r2IbANtcddVVV1111VVX/TeictVVV1111VVXXfXfzDYPJIn/aWzzbyWJ/y1s83+Bbf6r2eb52draAuC+++67lauuuuqqq6666qr/elSuuuqqq6666qqr/hvcd999t77Yi70YW1tbPDfbvCCS+N/GNlf957DNfwfbXHXVVVddddVVV/0vQeWqq6666qqrrrrqfxHbvCCSuOr/Htv8d7PNVVddddVVV1111f9SVK666qqrrrrqqqv+G9x33323AmxtbfEfxTYvjCSu+p/HNv+T2OY/0vb2NgD33XffrVx11VVXXXXVVVf916Ny1VVXXXXVVVdd9f+EbV4Ukrjq3882/5PZ5qqrrrrqqquuuur/ASpXXXXVVVddddVVVz0H2/xrSeL/Otv8b2Wb/0q2ud/W1hYAZ8+efQZXXXXVVVddddVV//WoXHXVVVddddVVV/03OHv27DMAtra2sM3zI4n/LWxz1X8/2/x3sM1VV1111VVXXXXV/1BUrrrqqquuuuqqq/6Hss0LIomr/n+yzX8n21x11VVXXXXVVVf9L0Llqquuuuqqq6666r/BfffddyvA9vY2/xa2eUEkcdX/Xrb5n8I2/17b29sA3Hfffbdy1VVXXXXVVVdd9V+PylVXXXXVVVddddX/Mbb5l0jiqv8etvmfyDZXXXXVVVddddVV/wdRueqqq6666qqrrvpvcPbs2VsBtra2+O9gmxeVJK564Wzzv4lt/qtsbW0BcPbs2Vu56qqrrrrqqquu+q9H5aqrrrrqqquuuuqqF8o2/x6S+J/ONv8X2ea/g22uuuqqq6666qqr/oegctVVV1111VVXXfXfzDYviCT+t7PNVf+5bPPfxTZXXXXVVVddddVV/4NRueqqq6666qqrrvpvcN99990KsL29zQtjmxdEElf9/2Gb/wls86+xvb0NwH333XcrV1111VVXXXXVVf/1qFx11VVXXXXVVVf9L2WbF0YSV/3vYZv/aWxz1VVXXXXVVVdd9b8clauuuuqqq6666qr/o2zzopDEVf95bPO/gW2uuuqqq6666qqr/g8iuOqqq6666qqrrvpvct99990KsL29zX8n29jGNraxjW1sYxvb2MY2tvn/zja2sY1tbGMb29jGNraxjW3+p7GNbWxjG9vY5j/D9vY2APfdd9+tXHXVVVddddVVV/33oHLVVVddddVVV1111b+Kbf6jSeI/g23+v7LNfxfbANjmqquuuuqqq6666r8ZwVVXXXXVVVddddV/k7Nnz94KsLm5iW1sYxvb2MY2/1/Yxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWzz/4FtbGMb29jGNv+VbGMb29jmftvb2wCcPXv2Vq666qqrrrrqqqv+e1C56qqrrrrqqquu+h/MNi+IJK76/8E2/1PY5qqrrrrqqquuuup/ESpXXXXVVVddddVV/0vZ5l8iiav+Z7PN/1S2+ffY3t4G4L777ruVq6666qqrrrrqqv8eBFddddVVV1111VX/Te67775bAba3t/nPYhvb2MY2trGNbWxjm6v+89jGNraxjW1sYxvb2OZ/CtvYxja2sc1VV1111VVXXXXV/wFUrrrqqquuuuqqq/6fs82/liT+v7HN/wW2ueqqq6666qqrrvp/hMpVV1111VVXXXXVf5P77rvvVoDt7W3+t7HNVf+z2ea/k222trYAuO+++27lqquuuuqqq6666r8Hlauuuuqqq6666qr/ZraxzXOTxFVX/Uts8z+Bba666qqrrrrqqqv+B6Jy1VVXXXXVVVdd9T+UbV4QSVz1/4Nt/qexzYtie3sbgLNnzz6Dq6666qqrrrrqqv8eVK666qqrrrrqqqv+m5w9e/YZANvb2/xr2eZfIomr/uezzf9ktrnqqquuuuqqq676X4zKVVddddVVV1111f9RtnlRSOKq/3i2+d/GNlddddVVV1111VX/x1C56qqrrrrqqquu+m9y33333Qqwvb3Nfyfb/GtJ4v8T2/xfYpv/Ctvb2wDcd999t3LVVVddddVVV13134PKVVddddVVV1111VX/ara56n8+21x11VVXXXXVVVf9P0flqquuuuqqq6666r/Z9vY2trmfJK666l/DNv9T2OZ+29vbAJw9e/ZWrrrqqquuuuqqq/57ULnqqquuuuqqq676b3L27NlbeT5s84JI4qr/n2zzP41trrrqqquuuuqqq/6Ho3LVVVddddVVV131v4htXhhJXPW/j23+p7PNVVddddVVV1111f9CVK666qqrrrrqqqv+D7HNi0ISV/3XsM3/Nrb5j7C9vQ3AfffddytXXXXVVVddddVV/z2oXHXVVVddddVVV/03ue+++24F2N7e5r+abf61JPH/nW3+L7HNVVddddVVV1111f9xVK666qqrrrrqqquuepHY5j+bJP49bHPV87LNVVddddVVV1111f9TBFddddVVV1111VX/je67775bAba3t7kKbGMb29jGNraxjW1sYxvb2MY2trGNbf6/s41tbGMb29jmv8PW1hYAZ8+efQZXXXXVVVddddVV/32oXHXVVVddddVVV/0PYBvbPD+SuOqq+9nmfyLbXHXVVVddddVVV/0PRHDVVVddddVVV1313+js2bO3Amxvb/OC2MY2trGNbWxjG9tc9X+LbWxjG9vYxja2sc3/BLaxjW1sY5vntr29DcB99913K1ddddVVV1111VX/fahcddVVV1111VVX/S9nm3+JJK7672Wb/41sc9VVV1111VVXXfW/GJWrrrrqqquuuuqq/wds868hiav+Zbb5v8I2/5F2dnYAuO+++27lqquuuuqqq6666r8PwVVXXXXVVVddddV/o/vuu+9WgO3tbf4nsY1tbGMb29jGNraxjW1sYxvb2MY2trGNbf6nso1tbGMb29jGNraxjW1sYxvb2MY2trGNbf43so1tbGMb29jmqquuuuqqq6666v8oKlddddVVV1111VVX/aexzVX/PWxz1VVXXXXVVVdddRVUrrrqqquuuuqqq/4b3XfffbcCbG9vYxtJXHXVi8o2/xPZZmtrC4D77rvv6Vx11VVXXXXVVVf996Fy1VVXXXXVVVdd9T+IbV4YSVz1/4tt/iezzVVXXXXVVVddddX/YFSuuuqqq6666qqr/hexzb9EElf972Cb/01s86La2dkB4OzZs8/gqquuuuqqq6666r8Plauuuuqqq6666qr/RmfPnn0GwPb2Nv9RbPOiksRV/7Fs83+Bba666qqrrrrqqqv+D6By1VVXXXXVVVdd9f+Ybf4tJPF/nW3+P7DNVVddddVVV1111f9hVK666qqrrrrqqqv+G9133323Amxvb/O/iW2u+t/FNv+Vtre3ATh79uytXHXVVVddddVVV/33oXLVVVddddVVV1111VX/h9jmqquuuuqqq6666qpnoXLVVVddddVVV131P4Rt7ieJq656fmzzP5ltALa3twG47777buWqq6666qqrrrrqvw+Vq6666qqrrrrqqv9GZ8+evRVgZ2eHB7LNCyOJq/5vss3/Jra56qqrrrrqqquu+h+MylVXXXXVVVddddX/QrZ5UUjiqv85bPO/lW2uuuqqq6666qqr/heictVVV1111VVXXfV/mG3+NSRx1YvONv8X2ebfa2dnB4D77rvvVq666qqrrrrqqqv++1C56qqrrrrqqquu+m9033333Qqwvb3N/wS2+Y8gif/JbHMV2Oaqq6666qqrrrrq/zgqV1111VVXXXXVVVf9h7PNVf9z2Oaqq6666qqrrrrq/ymCq6666qqrrrrqqv9m9913360A29vbXHXVv5VtbGMb29jGNrb5r7a9vQ3AfffddytXXXXVVVddddVV/72oXHXVVVddddVVV/0PYRvb3E8SV131QLa56qqrrrrqqquuuupfheCqq6666qqrrrrqv9nZs2dvBdjZ2eGBbGMb29jGNraxjW1sc9X/HbaxjW1sYxvb2MY2tvmfzDa2sc329jYAZ8+evZWrrrrqqquuuuqq/15Urrrqqquuuuqqq/4Xs82LQhJX/fewzf81trnqqquuuuqqq676X4LKVVddddVVV1111f8DtvnXksRVz8s2/1/Y5t9iZ2cHgPvuu+9Wrrrqqquuuuqqq/57Ubnqqquuuuqqq676b3bffffd+mIv9mJsb2/zP4lt/jNI4j+bba7617HNVVddddVVV1111f9BVK666qqrrrrqqquu+i9lm6v++9jmqquuuuqqq6666v8RKlddddVVV1111VX/ze67775bAXZ2drjqqv8ItvnvtL29DcB99913K1ddddVVV1111VX/vahcddVVV1111VVXXXXV/0K2ueqqq6666qqrrrrqX0Tlqquuuuqqq6666n8I29jmBZHEVf9/2OZ/G9tcddVVV1111VVX/Q9D5aqrrrrqqquuuuq/2dmzZ58BsLOzwwtjmxeFJK76n8s2/xfY5gXZ2dkB4OzZs8/gqquuuuqqq6666r8Xlauuuuqqq6666qr/Y2zzryGJq/7tbPN/mW2uuuqqq6666qqr/hejctVVV1111VVXXfXf7L777rsVYGdnh/8Otvn3ksT/Vra56grbXHXVVVddddVVV/0fQ+Wqq6666qqrrrrqqn8321z1v4dt/jNtb28DcN99993KVVddddVVV1111X8vKlddddVVV1111VVXXfV/kG3+u+zs7ABw9uzZW7nqqquuuuqqq67670Xlqquuuuqqq6666r/Z2bNnbwXY3t7mqqv+NWxz1VVXXXXVVVddddULReWqq6666qqrrrrqfxDbPDdJXPX/k22uuuqqq6666qqrrvp3oXLVVVddddVVV131P5xtXhSSuOp/B9v8X2Gb57azswPAfffddytXXXXVVVddddVV/72oXHXVVVddddVVV/03u++++24F2NnZ4d/DNi8qSVz1H8s2/5fZ5qqrrrrqqquuuup/ISpXXXXVVVddddVV/w/Z5t9LEv9X2OaqZ7PNVVddddVVV1111f8RVK666qqrrrrqqqv+B7jvvvtuveaaax68s7PD3t4e/xvY5qr/3WzzH21nZweA++6771auuuqqq6666qqr/vtRueqqq6666qqrrrrqqv/DbHPVVVddddVVV131/xjBVVddddVVV1111f8AZ8+evRVge3ubq67617KNbWxjG9vYxjb/1XZ2dgA4e/bsrVx11VVXXXXVVVf996Ny1VVXXXXVVVdd9T+MbSRx1VX3s81VV1111VVXXXXVVf8mVK666qqrrrrqqqv+B7LNv0QSV/3vZ5v/K2yzvb0NwH333XcrV1111VVXXXXVVf/9CK666qqrrrrqqqv+B7jvvvtuBdjZ2eFFZRvb2MY2trGNbWxjG9vY5qr/WraxjW1sYxvb2MY2trGNbf43so1tbGMb29jmqquuuuqqq6666n8gKlddddVVV1111VX/D9jm30oS/x/Z5iqwzVVXXXXVVVddddX/YlSuuuqqq6666qqr/ge47777bgXY3t7mfxrbXPV/n23+I+zs7HDVVVddddVVV131PwiVq6666qqrrrrqqquu+n/CNv9V7rvvvlu56qqrrrrqqquu+u9H5aqrrrrqqquuuuqqq/4Psc1VV1111VVXXXXVVc9C5aqrrrrqqquuuup/gLNnzz4DYGdnh6uu+pfY5n+qnZ0dAM6ePfsMrrrqqquuuuqqq/77Ubnqqquuuuqqq676H8Y2z00SV/3/YJurrrrqqquuuuqqq/7DULnqqquuuuqqq676H+C+++67FWBnZ4fnxzYvKklc9T+Pbf6vss1VV1111VVXXXXV/1BUrrrqqquuuuqqq/6Psc2/liSuetHZ5v8r27wwOzs7ANx33323ctVVV1111VVXXfXfj8pVV1111VVXXXXVVdjmP5Ik/qewzVX/erb5t9jZ2eGqq6666qqrrrrqfxAqV1111VVXXXXVVf8DnD179laAnZ0d/i+wzVX/89nmP8vZs2dv5aqrrrrqqquuuuq/H5Wrrrrqqquuuuqqq676P842V1111VVXXXXVVf9PUbnqqquuuuqqq6666qr/5WzzP8XOzg4A9913361cddVVV1111VVX/fejctVVV1111VVXXfU/wH333XcrwM7ODldd9dxsc9VVV1111VVXXXXVvwmVq6666qqrrrrqqv9hbPPCSOKq/ztsc9VVV1111VVXXXXVfxqCq6666qqrrrrqqv8h7rvvvlsBdnZ2eGFsYxvb2MY2trGNbWxjG9vY5qr/eraxjW1sYxvb2MY2trGNbf63s41tbLO9vQ3AfffddytXXXXVVVddddVV/zNQueqqq6666qqrrvo/zjb/VpL4/8o2Vz0n21x11VVXXXXVVVf9L0Plqquuuuqqq6666n+Is2fP3nrNNdc8eGdnh729Pf4nsM1V///Y5t9iZ2cHgLNnz97KVVddddVVV1111f8MVK666qqrrrrqqquuuur/IdtcddVVV1111VVX/T9A5aqrrrrqqquuuuqqq/6Pss1/pZ2dHQDuu+++W7nqqquuuuqqq676n4Hgqquuuuqqq6666n+I++6771aAnZ0drrrqRWUb29jGNraxjW2uuuqqq6666qqrroLKVVddddVVV1111VVX/Q9lm6uuuuqqq6666qqr/l2oXHXVVVddddVVV/0Pcd99990KsLOzg23+JZK46n8n21x11VVXXXXVVVdd9V+CylVXXXXVVVddddX/Urb515LEVf/xbPP/lW3ut7OzA8B99913K1ddddVVV1111VX/M1C56qqrrrrqqquu+n/ENv9ekvi/xDZXvWhsc9VVV1111VVXXfW/DJWrrrrqqquuuuqq/yHOnj37DICdnR3+J7PNVf932ebf6tixYwCcPXv2GVx11VVXXXXVVVf9z0Dlqquuuuqqq6666qqr/h+yzVVXXXXVVVddddX/A1Suuuqqq6666qqr/oe47777bgU4duwYV131H8E2V1111VVXXXXVVf/PUbnqqquuuuqqq6666qr/pWzzP8nOzg4A9913361cddVVV1111VVX/c9A5aqrrrrqqquuuuqqq/4Hss1VV1111VVXXXXVVf9uVK666qqrrrrqqqv+hzh79uytADs7O9jmRSGJq/53sc3/VTs7OwCcPXv2Vq666qqrrrrqqqv+Z6By1VVXXXXVVVdd9b+Ybf41JHHVfyzb/H9nm6uuuuqqq6666qr/oahcddVVV1111VVX/T9im/8okvjfyjZX/dvY5gU5duwYV1111VVXXXXVVf/DULnqqquuuuqqq676H+K+++67FWBnZ4f/DWxz1f9Ntvn3uO+++27lqquuuuqqq6666n8GKlddddVVV1111VVXXfX/lG2uuuqqq6666qqr/o8juOqqq6666qqrrvof5L777rsVYGdnh6uu+o9gG9vYxja2sY1t/iPt7OwAcN99993KVVddddVVV1111f8cVK666qqrrrrqqquuuup/MdtcddVVV1111VVXXfUCEVx11VVXXXXVVVf9D3L27NlbAY4dO8ZVV9nGNraxjW1sYxvb2OZ/imPHjgFw9uzZW7nqqquuuuqqq676n4PKVVddddVVV1111f9AtrHNCyKJq/73ss1VV1111VVXXXXVVf8lqFx11VVXXXXVVVf9L2Sbfy1JXPUfzzZXwc7ODlddddVVV1111VX/AxFcddVVV1111VVX/Q9y33333Qqws7PDfzTb2MY2trGNbWxjG9vYxja2sY1tbGMb29jm/wrb2MY2trGNbWxjG9vYxja2sY1tbGMb29jm/yPb2MY2trHN/e67775bueqqq6666qqrrvqfg8pVV1111VVXXXXVVf8qtrnq/wfbXHXVVVddddVVV/0vR+Wqq6666qqrrrrqf5D77rvvVoBjx45x1VX/VWxz1VVXXXXVVVdd9X8Ulauuuuqqq6666qqrrvp/wDb/mXZ2dgC47777buWqq6666qqrrrrqfw4qV1111VVXXXXVVVdd9X+Aba666qqrrrrqqquueh5Urrrqqquuuuqqq/4HOXv27DMAdnZ2uOqq+9nmf7pjx44BcPbs2Wdw1VVXXXXVVVdd9T8Hlauuuuqqq6666qr/oWzzQJK46v8W21x11VVXXXXVVVdd9Z+KylVXXXXVVVddddX/IPfdd9+tAMeOHeO52eZfQxJX/deyzVVXXXXVVVddddVV/6NQueqqq6666qqrrvo/yjb/XpL4/8Q2V/3r2AZgZ2cHgPvuu+9Wrrrqqquuuuqqq/7noHLVVVddddVVV1111Qtkm6uuArDNVVddddVVV1111f9CVK666qqrrrrqqqv+Bzl79uytADs7O1x11X8H2/xbHDt2DICzZ8/eylVXXXXVVVddddX/HFSuuuqqq6666qqrrrrq/xnbXHXVVVddddVVV/0/QeWqq6666qqrrrrqqqv+j7HNVVddddVVV1111VWXUbnqqquuuuqqq676H+S+++67FeDYsWNcddULYpv/aY4dOwbAfffddytXXXXVVVddddVV/3NQueqqq6666qqrrrrqqv8hbHPVVVddddVVV1111X8ogquuuuqqq6666qr/Ye67775bAXZ2drCNbWxjG9vYxja2sY1trvqfyza2sY1tbGMb29jGNraxzf9Wx44dA+Ds2bPP4Kqrrrrqqquuuup/FipXXXXVVVddddVV/wfY5t9KEle9cLa56qqrrrrqqquuuup/JSpXXXXVVVddddVV/8Pcd999t15zzTUP3tnZ4dKlS/xns81/F0n8a9jmqv8ZbHO/nZ0dAO67775bueqqq6666qqrrvqfhcpVV1111VVXXXXVVf9tbHPV/2y2ueqqq6666qqrrvpfjMpVV1111VVXXXXVVVf9P2ebq6666qqrrrrqqv+jCK666qqrrrrqqqv+hzl79uytAMeOHeOqq/4j2MY2trGNbWxjG9v8ex07dgyA++6771auuuqqq6666qqr/mehctVVV1111VVXXXXVVf/L2eaqq6666qqrrrrqqueLylVXXXXVVVddddX/MPfdd9+tAMeOHeOqq2xz1VVXXXXVVVddddW/GZWrrrrqqquuuuqq/6FsY5v7SeKq/zts83/Fzs4OAPfdd9/Tueqqq6666qqrrvqfhcpVV1111VVXXXXV/xK2+beQxFX/uWxz1VVXXXXVVVddddX/SFSuuuqqq6666qqr/oc5e/bsrQDHjh3jP4Jt/iNI4v8a21z173fs2DEAzp49+wyuuuqqq6666qqr/mehctVVV1111VVXXXXVi8Q2V11lm6uuuuqqq6666qr/RahcddVVV1111VVX/Q9z33333Qpw7Ngxrrrqv4ttrrrqqquuuuqqq/4PoHLVVVddddVVV1111VX/T9nmP8KxY8cAOHv27K1cddVVV1111VVX/c9C5aqrrrrqqquuuuqqq/6Pss1VV1111VVXXXXV/3NUrrrqqquuuuqqq/6Hue+++24FOHbsGFdd9cLY5n+CY8eOAXDffffdylVXXXXVVVddddX/LFSuuuqqq6666qqrrrrqfxjbXHXVVVddddVVV131H4LKVVddddVVV1111f9gtnlBJHHV/x62ueqqq6666qqrrrrqvxyVq6666qqrrrrqqv9hzp49+wyAY8eO8cLY5t9KElf969nmqud17NgxAO67775bueqqq6666qqrrvqfhcpVV1111VVXXXXV/0O2+c8mif9Ktrnqqquuuuqqq6666qrnQnDVVVddddVVV131P9B99913K8CxY8f438o2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNba76r2Eb29jGNra56qqrrrrqqquu+h+MylVXXXXVVVddddVVV131HGzzojp27BgA9913361cddVVV1111VVX/c9DcNVVV1111VVXXfU/0NmzZ28FOHbsGFdd9Z/BNraxjW1sYxvbXHXVVVddddVVV/0fQuWqq6666qqrrrrqqqv+D7LNf4Vjx44BcPbs2Vu56qqrrrrqqquu+p+HylVXXXXVVVddddVVV/0vY5urrrrqqquuuuqqq14kBFddddVVV1111VX/A9133323Ahw7doyr/v+wjW1sYxvb2MY2trGNbf4nOXbsGAD33XffrVx11VVXXXXVVVf9z0Plqquuuuqqq6666n8w29jmXyKJq/7nsc1VV1111VVXXXXVVf+tqFx11VVXXXXVVVf9D3TffffdCnDs2DFeFLb595DEVc/LNlddddVVV1111VVX/a9G5aqrrrrqqquuuuoqbHPVVf8Wx44dA+C+++67lauuuuqqq6666qr/eahcddVVV1111VVXXXXVVS8y21x11VVXXXXVVVf9L0Llqquuuuqqq6666n+gs2fPPgPg+PHjXHXVfzXbvKiOHTsGwNmzZ5/BVVddddVVV1111f88VK666qqrrrrqqquuuur/IdtcddVVV1111VVX/T9A5aqrrrrqqquuuup/oPvuu+9WgGPHjnHVVf8Wtrnqqquuuuqqq666CipXXXXVVVddddVVV131v4xt/qc4duwYAPfdd9+tXHXVVVddddVVV/3PQ+Wqq6666qqrrrrqqqv+B7DNVVddddVVV1111VX/4ahcddVVV1111VVX/Q909uzZWwGOHTuGbf4lkrjqfxbb/H9w/PhxAM6ePXsrV1111VVXXXXVVf/zULnqqquuuuqqq676P8A2/16SuOoK21x11VVXXXXVVVdd9X8Clauuuuqqq6666qqrLrPNVVddddVVV1111VVX/R9D5aqrrrrqqquuuup/oPvuu+9WgGPHjnHVVf/T2OZ+x44dA+C+++67lauuuuqqq6666qr/eahcddVVV1111VVXXXXVVc/DNlddddVVV1111VX/BxBcddVVV1111VVX/Q9133333Qpw7NgxrrrqP4NtbGMb29jGNra56qqrrrrqqquu+j+CylVXXXXVVVddddVVV/0fZZv/TMeOHQPgvvvuu5Wrrrrqqquuuuqq/5kIrrrqqquuuuqqq/6HOnv27K0Ax44d46qrnpttbGMb29jGNraxjW2uuuqqq6666qqrroLKVVddddVVV1111VVX/Q9hm/9Njh8/DsDZs2dv5aqrrrrqqquuuup/JipXXXXVVVddddVV/wvY5gWRxFX/M9nmqquuuuqqq6666qr/VlSuuuqqq6666qqr/oc7duwYL4xt/r0kcdVzss1VL9yxY8cAuO+++27lqquuuuqqq6666n8mKlddddVVV1111VX/Q9133323vtiLvRj/FWxz1VVXXXXVVVddddVV/wdRueqqq6666qqrrrrqqqv+TWxz1VVXXXXVVVdd9T8clauuuuqqq6666qr/oe67775bAY4dO8ZVV/13sc0Lcvz4cQDuu+++W7nqqquuuuqqq676n4nKVVddddVVV1111VVX/T9nm6uuuuqqq6666qr/o6hcddVVV1111VVX/Q919uzZZwAcP36cq67697DNf4Zjx44BcPbs2Wdw1VVXXXXVVVdd9T8Tlauuuuqqq6666qqrrvpfzDZXXXXVVVddddVVV71AVK666qqrrrrqqqv+h7rvvvtuBTh27BhX/f9jm6uuuuqqq6666qqr/t2oXHXVVVddddVVV/0vYJvnJomr/newzf9Fx48fB+C+++67lauuuuqqq6666qr/mahcddVVV1111VVX/S9lm38PSVz1orPNVVddddVVV1111VX/61C56qqrrrrqqquu+h/q7NmztwIcO3aM/wy2ueqqf49jx44BcPbs2Vu56qqrrrrqqquu+p+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VX/Q9133323Ahw/fpyrrvrvYpsX5Pjx4wDcd999t3LVVVddddVVV131PxOVq6666qqrrrrqqquu+n/ONlddddVVV1111VX/RxFcddVVV1111VVX/Q9233333Qpw/Phxrrrq38I2trGNbWxjG9vYxjb/FseOHeOqq6666qqrrrrqfwEqV1111VVXXXXVVVdd9b+Ubf673Xfffbdy1VVXXXXVVVdd9T8XwVVXXXXVVVddddX/YP/wD//w2wDHjh3jqv8/bGMb29jGNraxjW1sY5v/TsePHwfg7Nmzt3LVVVddddVVV131PxeVq6666qqrrrrqqv/BrrnmmgcD2MY2z00SV/3PZpv/i44fPw7AfffddytXXXXVVVddddVV/3MRXHXVVVddddVVV/0Pdt99990K8KAHPYjnxza2sY1tbGMb29jGNraxjW1sYxvb2MY2V71gtrGNbWxjG9vYxja2sY1tbGMb29jGNra56qqrrrrqqquuuuq/FcFVV1111VVXXXXV/2D/8A//8Dv8J7ONbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2V71gD3rQgwC47777buWqq6666qqrrrrqfy6Cq6666qqrrrrqqv/B7rvvvlsBHvzgB3PVVf8TnT179hlcddVVV1111VVX/c9F5aqrrrrqqquuuup/sLNnz94KcPz4ca666n8C2wA86EEPAuAf/uEffpurrrrqqquuuuqq/7moXHXVVVddddVVV/0Pdt99990KcOzYMa666r+Kbf4lx48fB+C+++67lauuuuqqq6666qr/uQiuuuqqq6666qqr/of7h3/4h98GeNCDHsRVV/1HsI1tbGMb29jGNrb5l7zUS70UAP/wD//w21x11VVXXXXVVVf9z0Zw1VVXXXXVVVdd9T/c3//93/82wIMe9CCuuupfYhvb2MY2trGNbWxjm3+v48ePA3DffffdylVXXXXVVVddddX/bARXXXXVVVddddVV/8P9wz/8w+8APPjBD+aq/79sYxvb2MY2trGNbWxjm/8KD3rQgwD4h3/4h9/hqquuuuqqq6666n82KlddddVVV1111VX/w509e/ZWgGPHjnHV/x22+d/qwQ9+MAD/8A//8NtcddVVV1111VVX/c9GcNVVV1111VVXXfU/3H333Xfr3//93//28ePHueWWW7CNbWxjG9vYxja2sY1tbGObq/7z2MY2trGNbWxjG9vYxja2sY1tbGOb/61e6qVeCoDf+q3f+p777rvvVq666qqrrrrqqqv+ZyO46qqrrrrqqquu+l/gH/7hH34b4KVf+qX517KNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2tvmfzDa2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vY5v+jBz/4wQDcd999T+eqq6666qqrrrrqfz6Cq6666qqrrrrqqv8Ffuu3fuu7AR70oAfxP41tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trnqP96DHvQgAH77t3/7e7jqqquuuuqqq676n4/gqquuuuqqq6666n+Bs2fPPuMf/uEffvv48eM86EEP4qqr/ju81Eu9FMePHwfgvvvuu5Wrrrrqqquuuuqq//kIrrrqqquuuuqqq/6X+Pu///vfBnjpl35prrrqv5ptHvSgBwHwW7/1W9/NVVddddVVV1111f8OBFddddVVV1111VX/S/zoj/7o5wA86EEP4qqr/qPZxja2sY1tbGMb2wC89Eu/NAA/+qM/+jlcddVVV1111VVX/e9AcNVVV1111VVXXfW/yD/8wz/89vHjx3mpl3oprrrqRWUb29jGNraxjW1sY5t/yUu/9EsD8Fu/9Vvffd99993KVVddddVVV1111f8OBFddddVVV1111VX/i/zIj/zI5wC81mu9FlddBWAb29jGNraxjW1sY5v/CK/1Wq8FwD/8wz/8DlddddVVV1111VX/exBcddVVV1111VVX/S9y9uzZW++7775bjx8/zoMf/GCu+r/JNraxjW1sYxvb2MY2trHNf4WXeqmX4vjx4wD81m/91ndz1VVXXXXVVVdd9b8HwVVXXXXVVVddddX/Ivfdd9+tP/qjP/o5AK/5mq/JVf/z2cY2trGNbWxjG9vYxja2sY1t/qd56Zd+aQC+/uu//n246qqrrrrqqquu+t+FylVXXXXVVVddddX/Mv/wD//w2wAPfvCDedCDHsStt97Kv5ckrnpOtrkKHvzgB/PgBz8YgN/6rd/6bq666qqrrrrqqqv+d6EcP36cq6666qqrrrrqqv9NDg8Pd8+ePfuMV3zFV3zr48eP8zd/8zdcddV/lrd6q7fi+PHj/MiP/Mhn/8M//MPvcNVVV1111VVXXfW/C8FVV1111VVXXXXV/0L/8A//8Nv33XffrQ9+8IN58IMfzFVX/Wd46Zd+aR784AcD8KM/+qOfw1VXXXXVVVddddX/PgRXXXXVVVddddVV/wvdd999t/7oj/7o5wC81Vu9FVdd9Z/htV7rtQD4+q//+vfhqquuuuqqq6666n8ngquuuuqqq6666qr/pf7+7//+t/7hH/7ht48fP85rvdZrcdVV/5Fe67Vei+PHj3Pffffd+lu/9VvfzVVXXXXVVVddddX/TgRXXXXVVVddddVV/0udPXv2GT/yIz/yOQAv/dIvzfHjx7nqqn8t29jGNraxzbFjx3jt135tAL7+67/+fbjqqquuuuqqq67634vgqquuuuqqq6666n+xf/iHf/jt3/qt3/ru48eP81Zv9VZcddUD2cY2trGNbWxjG9vY5vl567d+awB+67d+67v/4R/+4be56qqrrrrqqquu+t+L4Kqrrrrqqquuuup/uR/90R/9HIAHP/jBvPRLvzRX/d9nG9vYxja2sY1tbGMb2/xbvPRLvzQPfvCDAfjRH/3Rz+Gqq6666qqrrrrqfzfK8ePHueqqq6666qqrrvrf7PDwcPfs2bPPeMVXfMW3vu6663jiE5/IarXiqv89bPM/wfHjx3nv935v7rvvvlu/5Eu+5G1uvfXWv+aqq6666qqrrrrqfzeCq6666qqrrrrqqv8Dfuu3fuu7f+u3fuu7jx8/znu913tx1X8P29jGNraxjW1sYxvb2MY2trGNbf6neOu3fmsAzp49e+s//MM//DZXXXXVVVddddVV//tRjh8/zlVXXXXVVVddddX/BbfeeuvfvOIrvuJbnzp16jjArbfeyn8kSfxfYZurntNrv/Zr89Iv/dLcd999t378x3/8y3DVVVddddVVV131fwPBVVddddVVV1111f8R9913362f+Zmf+doAr/3ar81Lv/RL8x/JNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxjW1sYxvb2MY2trGNbWxjG9vYxja2sY1tbGMb29jGNraxzVXP6cEPfjCv/dqvDcDXf/3Xvw9XXXXVVVddddVV/3dQjh8/zlVXXXXVVVddddX/FUdHR5cAXvzFX/y1r7vuOu655x52d3e56qoX5Pjx43zwB38wAD/yIz/y2b/927/9PVx11VVXXXXVVVf930E5fvw4V1111VVXXXXVVf+X/MM//MPvALz8y7/8az/4wQ/mCU94AqvViquuem7Hjx/nvd/7vZnP5/zWb/3Wd3/Xd33Xx3DVVVddddVVV131fwvl+PHjXHXVVVddddVVV/1fc/bs2Wc85CEPeelbbrnlwY9+9KP54z/+Y6666rm98zu/M9dddx3/8A//8Ntf8iVf8jZc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zTXXPPi1X/u13+ud3umdPptn2t3d5bd+67f4q7/6K6560T34wQ/mdV7ndXjIQx7C/X7kR37ks3/7t3/7e+67775bueqqq6666qqrrrrq3wI96EEP4qqrrrrqqquuuuqqf58zZ8486HVe53Xe+53e6Z0+m2fa3d3lr/7qr/irv/ordnd3uep5HT9+nJd5mZfhdV7ndbjffffdd+tv/dZvffeP/uiPfg5XXXXVVVddddVVV/17oQc96EFcddVVV1111VVXXfUf45prrnnwa7/2a7/Xi7/4i7/2i73Yi702wO7uLhcvXuSv//qv+au/+iv+vzt+/Dgv8zIvw/Hjx3mZl3kZ7nfffffd+lu/9Vvf/aM/+qOfw1VXXXXVVVddddVV/1HQgx70IK666qqrrrrqqquu+o935syZB73TO73TZ7/O67zOe/NMu7u7PP3pT+fWW2/lr/7qr/j/4vjx4xw/fpyHPOQhvM7rvA4Au7u7HD9+nB/5kR/57LNnz976W7/1W9/DVVddddVVV1111VX/0dCDHvQgrrrqqquuuuqqq676z3PNNdc8+MVe7MVe+3Ve53Xe68Ve7MVem2fa3d3l4sWL/PVf/zUXL17k1ltv5f+S48eP8zIv8zI8+MEP5iEPeQgPdN999936W7/1W9/9oz/6o5/DVVddddVVV1111VX/mdCDHvQgrrrqqquuuuqqq676r3HmzJkHvfiLv/jrvM7rvM57vdiLvdhr8wC7u7s8/elP59Zbb+XixYvceuut/E9km+fn+PHjvMzLvAwAr/u6r8tzu++++279rd/6re/+0R/90c/hqquuuuqqq6666qr/KuhBD3oQV1111VVXXXXVVVf917vmmmse/GIv9mKv/WIv9mKv9Tqv8zrvzXPZ3d3l6U9/OhcvXmR3d5enP/3p7O7u8j/B8ePHOXHiBA9+8IN5yEMewkMe8hCe23333XfrP/zDP/z2fffdd+uP/uiPfg5XXXXVVVddddVVV/13QA960IO46qqrrrrqqquuuuq/3zXXXPPgF3uxF3vtF3uxF3ut13md13lvno/d3V0Anv70p3Px4kV2d3fZ3d3l4sWL7O7u8h/p+PHjnDhxguPHj3P8+HFOnDjB8ePHechDHsLzc99999169uzZW//+7//+t//hH/7hd/7hH/7ht7nqqquuuuqqq6666r8betCDHsRVV1111VVXXXXVVf/zXHPNNQ9+sRd7sdd+sRd7sde65pprHnzmzJkHX3PNNQ/mhdjd3eV+Fy9eBGB3d5cX5vjx49zvxIkTHD9+nH/Jfffdd+vZs2dv/fu///vfPnv27DN+67d+67u56qqrrrrqqquuuup/IvSgBz2Iq6666qqrrrrqqqv+d7jmmmsefObMmQdfc801Dz5z5syDrrnmmgdfc801Dz5z5syDr7nmmgfzH+gf/uEffhvg7//+73/77Nmzzzhz5syD/uEf/uF3/uEf/uG3ueqqq6666qqrrrrqfwv0oAc9iKuuuuqqq6666qqr/m+45pprHmzb11xzzUN4pmuuuebBgAHxnAzovvvuu5Vnuu+++55+9uzZZ3DVVVddddVVV1111f8V6EEPehBXXXXVVVddddVVV1111VVXXXXVVVddddX/SVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/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/1X8Ix0LsEYli70pAAAAAElFTkSuQmCC) ```js -rectangleSketch = startSketchOn('XZ') +rectangleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0], tag = $seg1) |> angledLine({ @@ -80,7 +80,7 @@ rectangleExtrude = extrude(rectangleSketch, length = 10) ![Rendered example of tangentToEnd 2](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAEH1ElEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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+KylVXXXXVVVc9l2uuuebBXHXVVVddddVV/+vcd999t3LVVVddddVVz4nKVVddddVVVz3Ah3/4h3/XNddc8+AXe7EX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D/+ua6655sFcddVVV1111VVX/T/y93//97/9oz/6o5/DVVddddVV/5XQgx70IK666qqrrrrqqquuuuqqq6666qqrrrrqqv+TqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/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+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8q/hEWh8IbWM3tKQAAAABJRU5ErkJggg==) ```js -bottom = startSketchOn("XY") +bottom = startSketchOn(XY) |> startProfileAt([0, 0], %) |> arcTo({ end = [10, 10], interior = [5, 1] }, %, $arc1) |> angledLine([tangentToEnd(arc1), 20], %) @@ -90,10 +90,10 @@ bottom = startSketchOn("XY") ![Rendered example of tangentToEnd 3](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAABx4klEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+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/6uoXHXVVVddddVVV1111VWXfe7nfu5vnTlz5sEAH/IhH/IQrrrqqquuuuqqq/73I7jqqquuuuqqq6666qqreMd3fMfPerEXe7HXfsITnvBb11xzzYNf7MVe7LW56qqrrrrqqquu+t+P4Kqrrrrqqquuuuqqq/6fe7EXe7HXfqd3eqfP/t3f/d3v4ple7MVe7LW46qqrrrrqqquu+t+P4Kqrrrrqqquuuuqqq/4fu+aaax78uZ/7ub/1u7/7u9/FM/3u7/7ud734i7/4a3PVVVddddVVV131vx+Vq6666qqrrrrqqquu+n/swz/8w7+L5+PMmTMP5qqrrrrqqquuuup/P4Krrrrqqquuuuqqq676f+od3/EdP+vFXuzFXvt3f/d3v4vncs011zz4xV7sxV6bq6666qqrrrrqqv/dCK666qqrrrrqqquuuur/oRd7sRd77Xd6p3f67N/93d/9Lp6P3/3d3/2u13md13kvrrrqqquuuuqqq/53o3LVVVddddVVV1111VX/z1xzzTUP/tzP/dzf+t3f/d3v4oV4sRd7sdfmqquuuuqqq6666n83gquuuuqqq6666qqrrvp/5sM//MO/63d/93e/i3/BNddc8+AXe7EXe22uuuqqq6666qqr/vciuOqqq6666qqrrrrqqv9HPvdzP/e3XuzFXuy1eRG92Iu92Gtx1VVXXXXVVVdd9b8XwVVXXXXVVVddddVVV/0/8Tqv8zrv/WIv9mKv/bu/+7vfxYvgd3/3d7/rxV/8xV+bq6666qqrrrrqqv+9qFx11VVXXXXVVVddddX/Ay/2Yi/22h/+4R/+Xb/7u7/7XfwrvNiLvdhrc9VVV1111VVXXfW/F8FVV1111VVXXXXVVVf9P/DhH/7h3/W7v/u738W/wYu92Iu9NlddddVVV1111VX/OxFcddVVV1111VVXXXXV/3Gf+7mf+1vXXHPNg/k3+N3f/d3veqd3eqfP4qqrrrrqqquuuup/JypXXXXVVVddddVVV131f9g7vuM7ftaLvdiLvfbv/u7vfhf/RmfOnHkwV1111VVXXXXVVf87EVx11VVXXXXVVVddddX/US/2Yi/22u/0Tu/02b/7u7/7Xfw7XHPNNQ9+sRd7sdfmqquuuuqqq6666n8fgquuuuqqq6666qqrrvo/6Jprrnnw537u5/7W7/7u734X/wFe7MVe7LW46qqrrrrqqquu+t8HPehBD+Kqq6666qqrrrrqqqv+r/ncz/3c3zp//vzT+Q/y6Ec/+nU+5EM+5CFcddVVV1111VVX/e9CcNVVV1111VVXXXXVVf/HfO7nfu5vvdiLvdhr8x/ommuuefCLvdiLvTZXXXXVVVddddVV/7sQXHXVVVddddVVV1111f8hL/ZiL/baL/ZiL/bav/u7v/td/Ad7sRd7sdfiqquuuuqqq6666n8Xgquuuuqqq6666qqrrvo/4pprrnnw537u5/7W7/7u734X/8F+93d/97te/MVf/LW56qqrrrrqqquu+t+FylVXXXXVVVddddVVV/0f8eEf/uHf9bu/+7vfxX+SM2fOPJirrrrqqquuuuqq/10Irrrqqquuuuqqq6666v+Az/3cz/2tF3uxF3tt/hNdc801D36xF3ux1+aqq6666qqrrrrqfw+Cq6666qqrrrrqqquu+l/uHd/xHT/rxV7sxV77d3/3d7+L/0S/+7u/+12v8zqv815cddVVV1111VVX/e9B5aqrrrrqqquuuuqqq/4Xe7EXe7HXfqd3eqfP/t3f/d3v4r/Ai73Yi702V1111VVXXXXVVf97EFx11VVXXXXVVVddddX/Utdcc82DP/dzP/e3fvd3f/e7+C9yzTXXPPjFXuzFXpurrrrqqquuuuqq/x0Irrrqqquuuuqqq6666n+pD//wD/+u3/3d3/0u/ou92Iu92Gtx1VVXXXXVVVdd9b8DwVVXXXXVVVddddVVV/0v9I7v+I6f9WIv9mKvzX+x3/3d3/2uF3/xF39trrrqqquuuuqqq/53oHLVVVddddVVV1111VX/y7zYi73Ya7/TO73TZ//u7/7ud/Hf4MyZMw/mqquuuuqqq6666n8Hgquuuuqqq6666qqrrvpf5Jprrnnw537u5/7W7/7u734X/02uueaaB7/Yi73Ya3PVVVddddVVV131Px960IMexFVXXXXVVVddddVVV/1v8bmf+7m/df78+afz3+zUqVMP+czP/MzX4aqrrrrqqquuuup/NoKrrrrqqquuuuqqq676X+JzP/dzf+vFXuzFXpv/Ac6cOfNgrrrqqquuuuqqq/7nI7jqqquuuuqqq6666qr/Bd7xHd/xs17sxV7stX/3d3/3u/gf4Jprrnnwi73Yi702V1111VVXXXXVVf+zEVx11VVXXXXVVVddddX/cC/2Yi/22u/0Tu/02b/7u7/7XfwP8mIv9mKvxVVXXXXVVVddddX/bOhBD3oQV1111VVXXXXVVVdd9T/ZN33TNz39CU94wm/xP8yjH/3o1/mQD/mQh3DVVVddddVVV131PxfBVVddddVVV1111VVX/Q/2uZ/7ub91zTXXPJj/ga655poHv9iLvdhrc9VVV1111VVXXfU/F8FVV1111VVXXXXVVVf9D/WO7/iOn/ViL/Zir/27v/u738X/UC/2Yi/2Wlx11VVXXXXVVVf9z0Vw1VVXXXXVVVddddVV/wO92Iu92Gu/0zu902f/7u/+7nfxP9Tv/u7vfteLv/iLvzZXXXXVVVddddVV/3NRueqqq6666qqrrrrqqv9hrrnmmgd/7ud+7m/97u/+7nfxP9yZM2cezFVXXXXVVVddddX/XARXXXXVVVddddVVV131P8yHf/iHf9fv/u7vfhf/C1xzzTUPfrEXe7HX5qqrrrrqqquuuup/JoKrrrrqqquuuuqqq676H+RzP/dzf+vFXuzFXpv/JX73d3/3u17ndV7nvbjqqquuuuqqq676n4nKVVddddVVV1111VVX/Q/xYi/2Yq/9Yi/2Yq/9u7/7u9/F/yIv9mIv9tpcddVVV1111VVX/c9EcNVVV1111VVXXXXVVf8DvNiLvdhrf+7nfu5v/e7v/u538b/MNddc8+AXe7EXe22uuuqqq6666qqr/uchuOqqq6666qqrrrrqqv8B3umd3umzfvd3f/e7+F/qxV7sxV6Lq6666qqrrrrqqv95CK666qqrrrrqqquuuuq/2ed+7uf+1ou92Iu9Nv9L/e7v/u53vfiLv/hrc9VVV1111VVXXfU/D5Wrrrrqqquuuuqqq676b/SO7/iOn/ViL/Zir/27v/u738X/YmfOnHkwV1111VVXXXXVVf/zEFx11VVXXXXVVVddddV/kxd7sRd77Xd6p3f67N/93d/9Lv6Xu+aaax78Yi/2Yq/NVVddddVVV1111f8s6EEPehBXXXXVVVddddVVV131X+2aa6558Dd90zc9/Xd/93e/i/8jTp069ZDP/MzPfB2uuuqqq6666qqr/uegctVVV1111VVXXXXVVf8NPvzDP/y7fvd3f/e7+D/kzJkzD+aqq6666qqrrrrqfxaCq6666qqrrrrqqquu+i/2ju/4jp/1Yi/2Yq/N/zHXXHPNg1/sxV7stbnqqquuuuqqq676n4Pgqquuuuqqq6666qqr/gu92Iu92Gu/0zu902f/7u/+7nfxf9CLvdiLvRZXXXXVVVddddVV/3OgBz3oQVx11VVXXXXVVVddddV/hWuuuebB3/RN3/T03/3d3/0u/o969KMf/Tof8iEf8hCuuuqqq6666qqr/mcguOqqq6666qqrrrrqqv8iH/7hH/5dv/u7v/td/B92zTXXPPjFXuzFXpurrrrqqquuuuqq/xkIrrrqqquuuuqqq6666r/A537u5/7Wi73Yi702/w9cc801D+aqq6666qqrrrrqfwaCq6666qqrrrrqqquu+k/2ju/4jp/1Yi/2Yq/9u7/7u9/F/3G/+7u/+12v8zqv815cddVVV1111VVX/c9A5aqrrrrqqquuuuqqq/4TvdiLvdhrv9M7vdNn/+7v/u538f/EmTNnHsxVV1111VVXXXXV/wwEV1111VVXXXXVVVdd9Z/kmmuuefCHf/iHf9fv/u7vfhf/j1xzzTUPfrEXe7HX5qqrrrrqqquuuuq/H8FVV1111VVXXXXVVVf9J/nwD//w77rmmmsezP8zv/u7v/tdr/M6r/NeXHXVVVddddVVV/33o3LVVVddddVVV1111VX/Cd7xHd/xs17sxV7stX/3d3/3u/h/6MVe7MVem6uuuuqqq6666qr/fgRXXXXVVVddddVVV131H+zFXuzFXvud3umdPvt3f/d3v4v/p6655poHv9iLvdhrc9VVV1111VVXXfXfi+Cqq6666qqrrrrqqqv+A11zzTUP/tzP/dzf+t3f/d3v4v+5F3uxF3strrrqqquuuuqqq/57oQc96EFcddVVV1111VVXXXXVf5TP/dzP/a3z588/nas4derUQz7zMz/zdbjqqquuuuqqq67670Nw1VVXXXXVVVddddVV/0E+93M/97de7MVe7LW56rIzZ848mKuuuuqqq6666qr/XgRXXXXVVVddddVVV131H+DFXuzFXvvFXuzFXvt3f/d3v4urLrvmmmse/OIv/uKvzVVXXXXVVVddddV/H/SgBz2Iq6666qqrrrrqqquu+vd4sRd7sdf+3M/93N/63d/93e/iqudw6tSph37mZ37ma3PVVVddddVVV13134PKVVddddVVV1111VVX/Tt9+Id/+Hf97u/+7ndx1fO45pprHsxVV1111VVXXXXVfx+Cq6666qqrrrrqqquu+nf43M/93N+65pprHsxVz9eZM2ce9GIv9mKvzVVXXXXVVVddddV/D4Krrrrqqquuuuqqq676N3rHd3zHz3qxF3ux1/7d3/3d7+KqF+jFXuzFXourrrrqqquuuuqq/x4EV1111VVXXXXVVVdd9W/wYi/2Yq/9Tu/0Tp/9u7/7u9/FVS/Q7/7u737X67zO67w3V1111VVXXXXVVf89CK666qqrrrrqqquuuupf6Zprrnnw537u5/7W7/7u734XV/2Lrrnmmgdfc801D+aqq6666qqrrrrqvx7BVVddddVVV1111VVX/St9+Id/+Hf97u/+7ndx1YvsxV7sxV6bq6666qqrrrrqqv96BFddddVVV1111VVXXfWv8Lmf+7m/9WIv9mKvzVUvst/93d/9rtd5ndd5L6666qqrrrrqqqv+61G56qqrrrrqqquuuuqqF9GLvdiLvfaLvdiLvfbv/u7vfhdX/aucOXPmwVx11VVXXXXVVVf91yO46qqrrrrqqquuuuqqF8E111zz4M/93M/9rd/93d/9Lq76V7vmmmse/GIv9mKvzVVXXXXVVVddddV/Lcrx48e56qqrrrrqqquuuuqqf8knfdIn/dQTnvCE3+Kqf5NnPOMZf71YLI7/wz/8w+9w1VVXXXXVVVdd9V+H4Kqrrrrqqquuuuqqq/4Fn/u5n/tbL/ZiL/baXPXv8jqv8zrvzVVXXXXVVVddddV/LYKrrrrqqquuuuqqq656Id7xHd/xs17sxV7stX/3d3/3u7jq3+Waa6558Iu92Iu9NlddddVVV1111VX/dQiuuuqqq6666qqrrrrqBXixF3ux136nd3qnz/7d3/3d7+Kq/xAv9mIv9lpcddVVV1111VVX/dchuOqqq6666qqrrrrqqufjmmuuefDnfu7n/tbv/u7vfhdX/Yf43d/93e968Rd/8dfmqquuuuqqq6666r8Olauuuuqqq6666qqrrno+PvzDP/y7fvd3f/e7uOo/1JkzZx7MVVddddVVV1111X8dgquuuuqqq6666qqrrnou7/iO7/hZL/ZiL/baXPUf7pprrnnwi7/4i782V1111VVXXXXVVf81CK666qqrrrrqqquuuuoBXuzFXuy13+md3umzf/d3f/e7uOo/3O/+7u9+12u/9mu/F1ddddVVV1111VX/NahcddVVV1111VVXXXXVM11zzTUP/tzP/dzf+t3f/d3v4qr/NC/+4i/+Olx11VVXXXXVVVf91yC46qqrrrrqqquuuuqqZ/rwD//w7/rd3/3d7+Kq/1Rnzpx50Iu92Iu9NlddddVVV1111VX/+Qiuuuqqq6666qqrrroK+NzP/dzferEXe7HX5qr/Ei/2Yi/2Wlx11VVXXXXVVVf95yO46qqrrrrqqquuuur/vdd5ndd57xd7sRd77d/93d/9Lq76T/e7v/u73/XiL/7ir81VV1111VVXXXXVfz4qV1111VVXXXXVVVf9v/ZiL/Zir/3hH/7h3/W7v/u738VV/2Ve7MVe7LW56qqrrrrqqquu+s9HcNVVV1111VVXXXXV/2sf/uEf/l2/+7u/+11c9V/uxV7sxV6bq6666qqrrrrqqv9cBFddddVVV1111VVX/b/1uZ/7ub91zTXXPJir/sv97u/+7ne90zu902dx1VVXXXXVVVdd9Z+LylVXXXXVVVddddVV/y+94zu+42e92Iu92Gv/7u/+7ndx1X+LM2fOPJirrrrqqquuuuqq/1wEV1111VVXXXXVVVf9v/NiL/Zir/1O7/ROn/27v/u738VV/22uueaaB7/Yi73Ya3PVVVddddVVV131n4dy/Phxrrrqqquuuuqqq676/+Oaa6558Fd8xVf81e/+7u9+F1f9t3rGM57x14vF4vg//MM//A5XXXXVVVddddVV/zkIrrrqqquuuuqqq676f+XDP/zDv+t3f/d3v4ur/kd4ndd5nffmqquuuuqqq6666j8PwVVXXXXVVVddddVV/2987ud+7m+92Iu92Gtz1f8Y11xzzYNf7MVe7LW56qqrrrrqqquu+s9BcNVVV1111VVXXXXV/wsv9mIv9tov9mIv9tq/+7u/+11c9T/Ki73Yi70WV1111VVXXXXVVf85CK666qqrrrrqqquu+j/vxV7sxV77cz/3c3/rd3/3d7+Lq/5H+d3f/d3vevEXf/HX5qqrrrrqqquuuuo/B5Wrrrrqqquuuuqqq/7Pe6d3eqfP+t3f/d3v4qr/kc6cOfNgrrrqqquuuuqqq/5zEFx11VVXXXXVVVdd9X/a537u5/7Wi73Yi702V/2Pdc011zz4xV/8xV+bq6666qqrrrrqqv94BFddddVVV1111VVX/Z/1ju/4jp/1Yi/2Yq/9u7/7u9/FVf9j/e7v/u53vfZrv/Z7cdVVV1111VVXXfUfj8pVV1111VVXXXXVVf8nvdiLvdhrv9M7vdNn/+7v/u53cdX/eC/+4i/+Olx11VVXXXXVVVf9xyO46qqrrrrqqquuuur/nGuuuebBn/u5n/tbv/u7v/tdXPW/wpkzZx70Yi/2Yq/NVVddddVVV1111X8sgquuuuqqq6666qqr/s/58A//8O/63d/93e/iqv9VXuzFXuy1uOqqq6666qqrrvqPRXDVVVddddVVV1111f8p7/iO7/hZL/ZiL/baXPW/yu/+7u9+14u/+Iu/NlddddVVV1111VX/sahcddVVV1111VVXXfV/xou92Iu99ju90zt99u/+7u9+F1f9r/NiL/Zir81VV1111VVXXXXVfyyCq6666qqrrrrqqqv+T7jmmmse/Lmf+7m/9bu/+7vfxVX/a73Yi73Ya3PVVVddddVVV131Hwc96EEP4qqrrrrqqquuuuqq//0+93M/97fOnz//dK76X+3UqVMP+czP/MzX4aqrrrrqqquuuuo/BsFVV1111VVXXXXVVf/rfe7nfu5vvdiLvdhrc9X/emfOnHkwV1111VVXXXXVVf9xCK666qqrrrrqqquu+l/tHd/xHT/rxV7sxV77d3/3d7+Lq/7Xu+aaax78Yi/2Yq/NVVddddVVV1111X8Mgquuuuqqq6666qqr/td6sRd7sdd+p3d6p8/+3d/93e/iqv8zXuzFXuy1uOqqq6666qqrrvqPgR70oAdx1VVXXXXVVVddddX/Ptdcc82DP+dzPue3nvCEJ/wWV/2f8uhHP/p1PuRDPuQhXHXVVVddddVVV/37EVx11VVXXXXVVVdd9b/Sh3/4h3/XNddc82Cu+j/nmmuuefCLvdiLvTZXXXXVVVddddVV/34EV1111VVXXXXVVVf9r/OO7/iOn/ViL/Zir/27v/u738VV/ye92Iu92Gtx1VVXXXXVVVdd9e9HcNVVV1111VVXXXXV/yov9mIv9trv9E7v9Nm/+7u/+11c9X/S7/7u737Xi7/4i782V1111VVXXXXVVf9+VK666qqrrrrqqquu+l/jmmuuefDnfu7n/tbv/u7vfhdX/Z925syZB3PVVVddddVVV13170dw1VVXXXXVVVddddX/Gh/+4R/+Xb/7u7/7XVz1f94111zz4Bd/8Rd/ba666qqrrrrqqqv+fQiuuuqqq6666qqrrvpf4XM/93N/68Ve7MVem6v+X/jd3/3d73rt137t9+Kqq6666qqrrrrq34fKVVddddVVV1111VX/473Yi73Ya7/Yi73Ya//u7/7ud3HV/xsv/uIv/jpcddVVV1111VVX/fsQXHXVVVddddVVV131P9qLvdiLvfbnfu7n/tbv/u7vfhdX/b9y5syZB73Yi73Ya3PVVVddddVVV131b0dw1VVXXXXVVVddddX/aB/+4R/+Xb/7u7/7XVz1/9KLvdiLvRZXXXXVVVddddVV/3YEV1111VVXXXXVVVf9j/W5n/u5v3XNNdc8mKv+X/rd3/3d73rxF3/x1+aqq6666qqrrrrq347KVVddddVVV1111VX/I73jO77jZ73Yi73Ya//u7/7ud3HV/1tnzpx5MFddddVVV1111VX/dgRXXXXVVVddddVVV/2P82Iv9mKv/U7v9E6f/bu/+7vfxVX/r11zzTUPfrEXe7HX5qqrrrrqqquuuurfBj3oQQ/iqquuuuqqq6666qr/Oa655poHf9M3fdPTf/d3f/e7uOoq4NSpUw/5zM/8zNfhqquuuuqqq6666l+PylVXXXXVVVddddVV/6N8+Id/+Hf97u/+7ndx1VXPdObMmQdz1VVXXXXVVVdd9W9DcNVVV1111VVXXXXV/xgf/uEf/l0v9mIv9tpcddUDXHPNNQ9+sRd7sdfmqquuuuqqq6666l+P4Kqrrrrqqquuuuqq/xFe7MVe7LVf53Ve571/93d/97u46qrn8mIv9mKvxVVXXXXVVVddddW/HnrQgx7EVVddddVVV1111VX/va655poHf9M3fdPTf/d3f/e7uOqq5+PRj37063zIh3zIQ7jqqquuuuqqq6761yG46qqrrrrqqquuuuq/3Yd/+Id/1+/+7u9+F1dd9QJcc801D36xF3ux1+aqq6666qqrrrrqX4fgqquuuuqqq6666qr/Vp/7uZ/7Wy/2Yi/22lx11b/gmmuueTBXXXXVVVddddVV/zoEV1111VVXXXXVVVf9t3nHd3zHz3qxF3ux1/7d3/3d7+Kqq16I3/3d3/2u13md13kvrrrqqquuuuqqq/51qFx11VVXXXXVVVdd9d/ixV7sxV77nd7pnT77d3/3d7+Lq656EZw5c+bBXHXVVVddddVVV/3rEFx11VVXXXXVVVdd9V/ummuuefDnfu7n/tbv/u7vfhdXXfUiuuaaax784i/+4q/NVVddddVVV1111YsOPehBD+Kqq6666qqrrrrqqv9an/u5n/tb58+ffzpXXfWv1FrT13/9178PV1111VVXXXXVVS8agquuuuqqq6666qqr/ku94zu+42e92Iu92Gtz1VX/Bi/+4i/+Olx11VVXXXXVVVe96Aiuuuqqq6666qqrrvov82Iv9mKv/U7v9E6f/bu/+7vfxVVX/RucOXPmQS/2Yi/22lx11VVXXXXVVVe9aAiuuuqqq6666qqrrvovcc011zz4cz/3c3/rd3/3d7+Lq676d3ixF3ux1+Kqq6666qqrrrrqRYMe9KAHcdVVV1111VVXXXXVf77P/dzP/a3z588/nauu+nc6derUQz7zMz/zdbjqqquuuuqqq676lxFcddVVV1111VVXXfWf7nM/93N/68Ve7MVem6uu+g9w5syZB3PVVVddddVVV131oiG46qqrrrrqqquuuuo/1eu8zuu894u92Iu99u/+7u9+F1dd9R/gmmuuefCLvdiLvTZXXXXVVVddddVV/zL0oAc9iKuuuuqqq6666qqr/nO82Iu92Gt/7ud+7m/97u/+7ndx1VX/gU6dOvWQz/zMz3wdrrrqqquuuuqqq144KlddddVVV1111VVX/af58A//8O/63d/93e/iqqv+g505c+bBXHXVVVddddVVV/3LCK666qqrrrrqqquu+k/xuZ/7ub91zTXXPJirrvpPcM011zz4xV7sxV6bq6666qqrrrrqqheO4Kqrrrrqqquuuuqq/3Dv+I7v+Fkv9mIv9tq/+7u/+11cddV/khd7sRd7La666qqrrrrqqqteOIKrrrrqqquuuuqqq/5DvdiLvdhrv9M7vdNn/+7v/u53cdVV/0l+93d/97te53Ve57256qqrrrrqqquueuEIrrrqqquuuuqqq676D3PNNdc8+HM/93N/63d/93e/i6uu+k92zTXXPPjFXuzFXpurrrrqqquuuuqqF4zgqquuuuqqq6666qr/MB/+4R/+Xb/7u7/7XVx11X+Ra6655sFcddVVV1111VVXvWAEV1111VVXXXXVVVf9h/jcz/3c33qxF3ux1+aqq/6L/O7v/u53vc7rvM57cdVVV1111VVXXfWCUbnqqquuuuqqq6666t/txV7sxV77xV7sxV77d3/3d7+Lq676L3TmzJkHc9VVV1111VVXXfWCEVx11VVXXXXVVVdd9e/yYi/2Yq/9uZ/7ub/1u7/7u9/FVVf9F7vmmmse/OIv/uKvzVVXXXXVVVddddXzhx70oAdx1VVXXXXVVVddddW/3ed+7uf+1vnz55/OVVf9Nzl16tRDP/MzP/O1ueqqq6666qqrrnpeBFddddVVV1111VVX/Zt97ud+7m+92Iu92Gtz1VX/ja655poHv9iLvdhrc9VVV1111VVXXfW8CK666qqrrrrqqquu+jd5x3d8x896sRd7sdf+3d/93e/iqqv+G505c+ZBL/ZiL/ZaXHXVVVddddVVVz0vgquuuuqqq6666qqr/tVe7MVe7LXf6Z3e6bN/93d/97u46qr/Zr/7u7/7Xa/zOq/z3lx11VVXXXXVVVc9L4Krrrrqqquuuuqqq/5Vrrnmmgd/7ud+7m/97u/+7ndx1VX/Q1xzzTUPfrEXe7HX5qqrrrrqqquuuuo5EVx11VVXXXXVVVdd9a/y4R/+4d/1u7/7u9/FVVf9D/NiL/Zir8VVV1111VVXXXXVcyK46qqrrrrqqquuuupF9o7v+I6f9WIv9mKvzVVX/Q/zu7/7u9/14i/+4q/NVVddddVVV1111XOictVVV1111VVXXXXVi+TFXuzFXvud3umdPvt3f/d3v4urrvof6MyZMw/mqquuuuqqq6666jkRXHXVVVddddVVV131L7rmmmse/Lmf+7m/9bu/+7vfxVVX/Q91zTXXPPjFXuzFXpurrrrqqquuuuqqZyO46qqrrrrqqquuuupf9OEf/uHf9bu/+7vfxVVX/Q93zTXXPJirrrrqqquuuuqqZyO46qqrrrrqqquuuuqF+tzP/dzferEXe7HX5qqr/of73d/93e96sRd7sdfiqquuuuqqq6666tmoXHXVVVddddVVV131Ar3jO77jZ73Yi73Ya//u7/7ud3HVVf8LXHPNNQ/mqquuuuqqq6666tmoXHXVVVddddVVV131fL3Yi73Ya7/TO73TZ//u7/7ud3HVVf9LnDlz5sFcddVVV1111VVXPRvBVVddddVVV1111VXP14d/+Id/1+/+7u9+F1dd9b/INddc8+BrrrnmwVx11VVXXXXVVVddQXDVVVddddVVV1111fP43M/93N+65pprHsxVV1111VVXXXXVVVf970Zw1VVXXXXVVVddddVzeMd3fMfPerEXe7HX/t3f/d3v4qqr/hd6sRd7sdfmqquuuuqqq6666goqV1111VVXXXXVVVc9y4u92Iu99ju90zt99u/+7u9+F1ddddVVV1111VVXXfW/H5Wrrrrqqquuuuqqqy675pprHvy5n/u5v/W7v/u738VVV/0vdubMmQdx1VVXXXXVVVdddQWVq6666qqrrrrqqqsu+/AP//Dv+t3f/d3v4qqr/hf73d/93e/iqquuuuqqq6666tkIrrrqqquuuuqqq67icz/3c3/rxV7sxV6bq676P+Caa655MFddddVVV1111VVXULnqqquuuuqqq676f+7FXuzFXvvFXuzFXvt3f/d3v4urrrrqqquuuuqqq676v4XKVVddddVVV1111f9jL/ZiL/ban/u5n/tbv/u7v/tdXHXVVVddddVVV1111f89VK666qqrrrrqqqv+H/vwD//w7/rd3/3d7+Kqq/4Pue+++27lqquuuuqqq6666gqCq6666qqrrrrqqv+nPvdzP/e3rrnmmgdz1VX/h7zma77m+3DVVVddddVVV131bFSuuuqqq6666qqr/h96x3d8x896sRd7sdf+3d/93e/iqqv+jzl79uwzuOqqq6666qqrrrqCylVXXXXVVVddddX/My/2Yi/22u/0Tu/02b/7u7/7XVx11VVXXXXVVVddddX/bVSuuuqqq6666qqr/h+55pprHvy5n/u5v/W7v/u738VVV1111VVXXXXVVVf930flqquuuuqqq6666v+RD//wD/+u3/3d3/0urrrq/7B/+Id/+G2uuuqqq6666qqrriC46qqrrrrqqquu+n/iwz/8w7/rxV7sxV6bq676P+6+++67lauuuuqqq6666qorqFx11VVXXXXVVVf9P/BiL/Zir/06r/M67/27v/u738VVV/0fdt99993KVVddddVVV1111bNRueqqq6666qqrrvo/7pprrnnw537u5/7W7/7u734XV131f9w//MM//DZXXXXVVVddddVVz0blqquuuuqqq6666v+4D//wD/+u3/3d3/0urrrqqquuuuqqq6666v8fgquuuuqqq6666qr/wz73cz/3t17sxV7stbnqqv8HHv3oR7/OP/zDP/wOV1111VVXXXXVVc9G5aqrrrrqqquuuur/qHd8x3f8rBd7sRd77d/93d/9Lq666v+Ba6655sH/8A//8NtcddVVV1111VVXPRuVq6666qqrrrrqqv+DXuzFXuy13+md3umzf/d3f/e7uOqq/0fuu+++W7nqqquuuuqqq656NipXXXXVVVddddVV/8dcc801D/7cz/3c3/rd3/3d7+Kqq/4f+a3f+q3v5qqrrrrqqquuuuo5EVx11VVXXXXVVVf9H/PhH/7h38VVV/0/85qv+Zrv8w//8A+/w1VXXXXVVVddddVzonLVVVddddVVV131f8g7vuM7ftaLvdiLvfbv/u7vfhdXXfX/zD/8wz/8NlddddVVV1111VXPicpVV1111VVXXXXV/xEv9mIv9trv9E7v9Nm/+7u/+11cddX/M7/1W7/13ffdd9+tXHXVVVddddVVVz0ngquuuuqqq6666qr/A6655poHf+7nfu5v/e7v/u53cdVV/8+85mu+5vv8wz/8w+9w1VVXXXXVVVdd9byoXHXVVVddddVVV/0f8OEf/uHf9bu/+7vfxVVX/T/1W7/1W9/NVVddddVVV1111fMiuOqqq6666qqrrvpf7nM/93N/68Ve7MVem6uu+n/qt37rt76Hq6666qqrrrrqqueP4Kqrrrrqqquuuup/sdd5ndd57xd7sRd77d/93d/9Lq666v+h13zN13yff/iHf/htrrrqqquuuuqqq54/KlddddVVV1111VX/S73Yi73Ya3/4h3/4d/3u7/7ud3HVVf+P/dZv/dZ3c9VVV1111VVXXfX8Ubnqqquuuuqqq676X+rDP/zDv+t3f/d3v4urrvp/6jVf8zXf57d+67e+m6uuuuqqq6666qoXjOCqq6666qqrrrrqf6HP/dzP/a1rrrnmwVx11f9zP/qjP/o5XHXVVVddddVVV71gVK666qqrrrrqqqv+l3nHd3zHz3qxF3ux1/7d3/3d7+Kqq/6fes3XfM33+a3f+q3vvu+++27lqquuuuqqq6666gWjctVVV1111VVXXfW/yIu92Iu99ju90zt99u/+7u9+F1dd9f/cj/7oj34OV1111VVXXXXVVS8clauuuuqqq6666qr/Ja655poHf+7nfu5v/e7v/u53cdVV/8/91m/91nffd999t3LVVVddddVVV131wlG56qqrrrrqqquu+l/iwz/8w7/rd3/3d7+Lq676f+41X/M13+dDPuRDHsJVV1111VVXXXXVv4zgqquuuuqqq6666n+Bz/3cz/2tF3uxF3ttrrrq/7nXfM3XfJ/f+q3f+u777rvvVq666qqrrrrqqqv+ZVSuuuqqq6666qqr/od7sRd7sdd+sRd7sdf+3d/93e/iqquu4kd/9Ec/h6uuuuqqq6666qoXDZWrrrrqqquuuuqq/8GuueaaB3/u537ub/3u7/7ud3HVVf/PveZrvub7/OiP/ujn3Hfffbdy1VVXXXXVVVdd9aKhHD9+nKuuuuqqq6666qr/qT7pkz7pp57whCf8FldddRWLxeLEl3zJl7wNV1111VVXXXXVVS86gquuuuqqq6666qr/oT73cz/3t17sxV7stbnqqqt4zdd8zff5+q//+vfhqquuuuqqq6666l+HylVXXXXVVVddddX/QO/4ju/4WS/2Yi/22r/7u7/7XVx11VX8wz/8w2//wz/8w29z1VVXXXXVVVdd9a9D5aqrrrrqqquuuup/mBd7sRd77Xd6p3f67N/93d/9Lq666ipe8zVf830+5EM+5CFcddVVV1111VVX/etRueqqq6666qqrrvof5Jprrnnw537u5/7W7/7u734XV111Fa/5mq/5Pp/5mZ/5Ovfdd9+tXHXVVVddddVVV/3rUbnqqquuuuqqq676H+TDP/zDv+t3f/d3v4urrrqK13zN13yff/iHf/jtf/iHf/htrrrqqquuuuqqq/5tCK666qqrrrrqqqv+h3jHd3zHz3qxF3ux1+aqq6667L777rv1Mz/zM1+Hq6666qqrrrrqqn87gquuuuqqq6666qr/AV7sxV7std/pnd7ps3/3d3/3u7jqqqt4zdd8zff5+q//+vfhqquuuuqqq6666t+HylVXXXXVVVddddV/s2uuuebBn/u5n/tbv/u7v/tdXHXVVbzma77m+/zIj/zIZ//DP/zDb3PVVVddddVVV13174Me9KAHcdVVV1111VVXXfXf6XM/93N/6/z580/nqquuuqy1pq//+q9/H6666qqrrrrqqqv+/Qiuuuqqq6666qqr/ht97ud+7m+92Iu92Gtz1VVXXfboRz/6db7+67/+fbjqqquuuuqqq676j0Fw1VVXXXXVVVdd9d/kdV7ndd77xV7sxV77d3/3d7+Lq666itd8zdd8n6//+q9/H6666qqrrrrqqqv+41C56qqrrrrqqquu+m/wYi/2Yq/94R/+4d/1u7/7u9/FVVddxWu+5mu+z2d+5me+zj/8wz/8NlddddVVV1111VX/cahcddVVV1111VVX/Tf48A//8O/63d/93e/iqquu4jVf8zXf50d/9Ec/5x/+4R9+m6uuuuqqq6666qr/WARXXXXVVVddddVV/8U+93M/97euueaaB3PVVVfxmq/5mu/zD//wD7/9Iz/yI5/NVVddddVVV1111X88KlddddVVV1111VX/hd7xHd/xs17sxV7stX/3d3/3u7jqqv/nXvM1X/N9fuu3fuu7v/7rv/59uOqqq6666qqrrvrPQeWqq6666qqrrrrqv8iLvdiLvfY7vdM7ffbv/u7vfhdXXfX/3Gu+5mu+zz/8wz/89td//de/D1ddddVVV1111VX/eSjHjx/nqquuuuqqq6666j/bNddc8+Cv+Iqv+Kvf/d3f/S6uuuoqFovFiY//+I9/Ga666qqrrrrqqqv+c6EHPehBXHXVVVddddVVV/1n+9zP/dzfOn/+/NO56qqrePSjH/06H/IhH/IQrrrqqquuuuqqq/7zEVx11VVXXXXVVVf9J/vcz/3c33qxF3ux1+aqq67i0Y9+9Ot81md91utw1VVXXXXVVVdd9V+DylVXXXXVVVddddV/ohd7sRd77Rd7sRd77d/93d/9Lq666v+5Rz/60a/z9V//9e9z33333cpVV1111VVXXXXVfw0qV1111VVXXXXVVf9JXuzFXuy1P/dzP/e3fvd3f/e7uOqq/+ce/ehHv87Xf/3Xv88//MM//DZXXXXVVVddddVV/3XQgx70IK666qqrrrrqqqv+M3zu537ub50/f/7pXHXV/3OPfvSjX+ezPuuzXue+++67lauuuuqqq6666qr/WpTjx49z1VVXXXXVVVdd9R/tcz/3c3/rxV7sxV77Gc94xl9z1VX/T73ma77m+ywWixMf8iEf8pDDw8Ndrrrqqquuuuqqq/7rEVx11VVXXXXVVVf9B3vHd3zHz3qxF3ux1/7d3/3d7+Kqq/6fes3XfM33+Yd/+Iff/pAP+ZCHcNVVV1111VVXXfXfh8pVV1111VVXXXXVf6AXe7EXe+13eqd3+uzf/d3f/S6uuur/qdd8zdd8n3/4h3/47c/8zM98Ha666qqrrrrqqqv+e6EHPehBXHXVVVddddVVV/1HuOaaax78Td/0TU//3d/93e/iqqv+n3rN13zN9/mHf/iH3/7Mz/zM1+Gqq6666qqrrrrqvx960IMexFVXXXXVVVddddV/hM/93M/9rfPnzz+dq676f+o1X/M13+dHfuRHPvtHf/RHP4errrrqqquuuuqq/xkIrrrqqquuuuqqq/4DvOM7vuNnvdiLvdhrc9VV/0+95mu+5vt85md+5uv86I/+6Odw1VVXXXXVVVdd9T8Hlauuuuqqq6666qp/pxd7sRd77Xd6p3f67N/93d/9Lq666v+Z13zN13yf++6779bP/MzPfJ1/+Id/+G2uuuqqq6666qqr/mdBD3rQg7jqqquuuuqqq676t7rmmmse/E3f9E1P/93f/d3v4qqr/p95zdd8zff5h3/4h9/+zM/8zNfhqquuuuqqq6666n8m9KAHPYirrrrqqquuuuqqf6vP/dzP/a3z588/nauu+n/mNV/zNd/nt37rt77767/+69+Hq6666qqrrrrqqv+5CK666qqrrrrqqqv+jT73cz/3t17sxV7stbnqqv9nHv3oR7/O13/917/P13/9178PV1111VVXXXXVVf+zUbnqqquuuuqqq676N3jHd3zHz3qxF3ux1/7d3/3d7+Kqq/6feM3XfM33ue+++279+q//+vf5h3/4h9/mqquuuuqqq6666n8+KlddddVVV1111VX/Si/2Yi/22u/0Tu/02b/7u7/7XVx11f8Tr/mar/k+v/Vbv/XdX//1X/8+XHXVVVddddVVV/3vQeWqq6666qqrrrrqX+Gaa6558Id/+Id/1+/+7u9+F1dd9f/Ea77ma77PZ37mZ77OP/zDP/w2V1111VVXXXXVVf+7ULnqqquuuuqqq676V/jwD//w77rmmmse/IQnPIGrrvq/7jVf8zXf57777rv1gz/4gx989uzZZ3DVVVddddVVV131vw+Vq6666qqrrrrqqhfRO77jO37Wi73Yi7327/7u734XV131f9xrvuZrvs+P/MiPfPaP/uiPfg5XXXXVVVddddVV/3tRueqqq6666qqrrnoRvNiLvdhrv9M7vdNn/+7v/u53cdVV/4e95mu+5vv8wz/8w29/5md+5uv8wz/8w29z1VVXXXXVVVdd9b8betCDHsRVV1111VVXXXXVC3PNNdc8+Ju+6Zue/ru/+7vfxVVX/R/2mq/5mu/zIz/yI5/9oz/6o5/DVVddddVVV1111f8N6EEPehBXXXXVVVddddVVL8znfu7n/tb58+efzlVX/R/1mq/5mu9z33333fr1X//17/MP//APv81VV1111VVXXXXV/x0EV1111VVXXXXVVS/E537u5/7Wi73Yi702V131f9RrvuZrvs+P/MiPfPaHfMiHPOQf/uEffpurrrrqqquuuuqq/1uoXHXVVVddddVVV70AL/ZiL/baL/ZiL/bav/u7v/tdXHXV/zGv+Zqv+T733XffrZ/5mZ/5Ov/wD//w21x11VVXXXXVVVf934Qe9KAHcdVVV1111VVXXfXcXuzFXuy1P/dzP/e3fvd3f/e7uOqq/2Me/ehHv85v/dZvffeP/uiPfg5XXXXVVVddddVV/7ehBz3oQVx11VVXXXXVVVc9t2/6pm96+hOe8ITf4qqr/g95zdd8zff5h3/4h9/++q//+ve57777buWqq6666qqrrrrq/z4qV1111VVXXXXVVc/lcz/3c3/rmmuuefATnvAErrrq/4LXfM3XfJ/77rvv1s/8zM98nX/4h3/4ba666qqrrrrqqqv+/6By1VVXXXXVVVdd9QDv+I7v+Fkv9mIv9tq/+7u/+11cddX/cq/5mq/5Pvfdd9+tP/IjP/LZP/qjP/o5XHXVVVddddVVV/3/Q+Wqq6666qqrrrrqmV7sxV7std/pnd7ps3/3d3/3u7jqqv/lXvM1X/N9fuRHfuSzf/RHf/RzuOqqq6666qqrrvr/Cz3oQQ/iqquuuuqqq6666pprrnnwN33TNz39d3/3d7+Lq676X+w1X/M13+e+++679eu//uvf5x/+4R9+m6uuuuqqq6666qr/39CDHvQgrrrqqquuuuqqqz73cz/3t86fP/90rrrqf6nXfM3XfJ/77rvv1h/90R/9nN/6rd/6bq666qqrrrrqqquuAqBy1VVXXXXVVVf9v/e5n/u5v/ViL/Zir/27v/u7T+eqq/6Xec3XfM33ue+++279kR/5kc/+0R/90c/hqquuuuqqq6666qoHonLVVVddddVVV/2/9mIv9mKv/WIv9mKv/bu/+7vfxVVX/S/ymq/5mu9z33333fojP/Ijn/2jP/qjn8NVV1111VVXXXXVVc8PetCDHsRVV1111VVXXfX/0zXXXPPgb/qmb3r67/7u734XV131v8RrvuZrvs99991362/91m9994/+6I9+DlddddVVV1111VVXvTDoQQ96EFddddVVV1111f9Pn/u5n/tb58+ffzpXXfW/wGu+5mu+D8CP/MiPfPaP/uiPfg5XXXXVVVddddVVV70oqFx11VVXXXXVVf8vfe7nfu5vvdiLvdhr/+7v/u7Tueqq/8Fe8zVf830AfuRHfuSzf/RHf/RzuOqqq6666qqrrrrqX4PKVVddddVVV131/847vuM7ftaLvdiLvfbv/u7vfhdXXfU/1Gu+5mu+z3333Xfrj/zIj3z2j/7oj34OV1111VVXXXXVVVf9W1C56qqrrrrqqqv+X3mxF3ux136nd3qnz/7d3/3d7+Kqq/4Hes3XfM33ue+++279kR/5kc/+0R/90c/hqquuuuqqq6666qp/D/SgBz2Iq6666qqrrrrq/4drrrnmwd/0Td/09N/93d/9Lq666n+Y13zN13yf++6779bf+q3f+u4f/dEf/Ryuuuqqq6666qqrrvqPgB70oAdx1VVXXXXVVVf9//C5n/u5v3X+/Pmnc9VV/4O85mu+5vvcd999t/7oj/7o5/zWb/3Wd3PVVVddddVVV1111X8kKlddddVVV1111f8L7/iO7/hZL/ZiL/bav/u7v/t0rrrqv9lrvuZrvg/AP/zDP/z2Z37mZ77OP/zDP/w2V1111VVXXXXVVVf9Z6By1VVXXXXVVVf9n/diL/Zir/1O7/ROn/27v/u738VVV/03es3XfM33ue+++279kR/5kc/+7d/+7e+57777buWqq6666qqrrrrqqv9M6EEPehBXXXXVVVddddX/Xddcc82Dv+mbvunpv/u7v/tdXHXVf5PXfM3XfJ/77rvv1t/6rd/67h/90R/9HK666qqrrrrqqquu+q+CHvSgB3HVVVddddVVV/3f9bmf+7m/df78+adz1VX/xV7zNV/zfQB+5Ed+5LN/+7d/+3vuu+++W7nqqquuuuqqq6666r8alauuuuqqq6666v+sz/3cz/2tF3uxF3vt3/3d3306V131X+Q1X/M13+e+++679Ud+5Ec++0d/9Ec/h6uuuuqqq6666qqr/juhBz3oQVx11VVXXXXVVf/3vM7rvM57f/iHf/h3/e7v/u53cdVV/8le8zVf830AfuRHfuSzz549+4zf+q3f+m6uuuqqq6666qqrrvqfgMpVV1111VVXXfV/zou92Iu99od/+Id/1+/+7u9+F1dd9Z/kNV/zNd8H4L777rv1R37kRz77R3/0Rz+Hq6666qqrrrrqqqv+p0EPetCDuOqqq6666qqr/m/5pm/6pqc/4QlP+C2uuuo/wWu+5mu+z3333Xfrb/3Wb333b//2b3/PfffddytXXXXVVVddddVVV/1PReWqq6666qqrrvo/5XM/93N/65prrnnwE57wBK666j/Ka77ma74PwG/91m9999d//de/z2/91m99N1ddddVVV1111VVX/W9A5aqrrrrqqquu+j/jHd/xHT/rxV7sxV77d3/3d7+Lq676d3rN13zN9wG47777bv2RH/mRz/7RH/3Rz+Gqq6666qqrrrrqqv9tqFx11VVXXXXVVf8nvNiLvdhrv9M7vdNn/+7v/u53cdVV/0av+Zqv+T4A9913360/8iM/8tk/+qM/+jlcddVVV1111VVXXfW/GXrQgx7EVVddddVVV131v9s111zz4G/6pm96+u/+7u9+F1dd9a/0mq/5mu8DcN999936W7/1W9/9oz/6o5/DVVddddVVV1111VX/V6AHPehBXHXVVVddddVV/7t97ud+7m+dP3/+6Vx11YvoNV/zNd8H4L777rv1t37rt777R3/0Rz+Hq6666qqrrrrqqqv+L6Jy1VVXXXXVVVf9r/a5n/u5v/ViL/Zir/27v/u7T+eqq16I13zN13wfgPvuu+/WH/mRH/nsH/3RH/0crrrqqquuuuqqq676v47KVVddddVVV131v9aLvdiLvfaLvdiLvfbv/u7vfhdXXfVcXvM1X/N9AO67775bf+u3fuu7v/7rv/59fuu3fuu7ueqqq6666qqrrrrq/xP0oAc9iKuuuuqqq6666n+fF3uxF3vtz/3cz/2t3/3d3/0urrrqmV7zNV/zfQDuu+++W3/rt37ru//hH/7hd/7hH/7ht7nqqquuuuqqq6666v8r9KAHPYirrrrqqquuuup/n8/93M/9rfPnzz+dq/5fe83XfM33AbjvvvtuPXv27K1///d//9s/+qM/+jlcddVVV1111VVXXXXVFVSuuuqqq6666qr/dT73cz/3t17sxV7stX/3d3/36Vz1/85rvuZrvg/Afffdd+uP/MiPfPY//MM//M4//MM//DZXXXXVVVddddVVV131vKhcddVVV1111VX/q7zjO77jZ73Yi73Ya//u7/7ud3HV/wuv+Zqv+T4A9913362/9Vu/9d2f+Zmf+Tr/8A//8NtcddVVV1111VVXXXXVvww96EEP4qqrrrrqqquu+t/hxV7sxV77cz/3c3/rd3/3d7+Lq/7Pes3XfM33Abjvvvtu/a3f+q3v/od/+Iff+Yd/+Iff5qqrrrrqqquuuuqqq/710IMe9CCuuuqqq6666qr/+a655poHf9M3fdPTf/d3f/e7uOr/jNd8zdd8H57pvvvuu/W3fuu3vhvgR3/0Rz+Hq6666qqrrrrqqquu+vdDD3rQg7jqqquuuuqqq/7n+9zP/dzfOn/+/NO56n+113zN13wfgPvuu+/Ws2fP3vr3f//3v/0P//APv/0P//APv8NVV1111VVXXXXVVVf9x0MPetCDuOqqq6666qqr/md7x3d8x896p3d6p8/+3d/93e/iqv81XvM1X/N9eKb77rvv1t/6rd/6boB/+Id/+J1/+Id/+G2uuuqqq6666qqrrrrqPx960IMexFVXXXXVVVdd9T/Xi73Yi732537u5/7W7/7u734XV/2P9Zqv+ZrvwzPdd999t/7DP/zDb9933323/sM//MPv/MM//MNvc9VVV1111VVXXXXVVf890IMe9CCuuuqqq6666qr/ma655poHf9M3fdPTf/d3f/e7uOp/jNd8zdd8H57pvvvuu/Uf/uEffvu+++679R/+4R9+5x/+4R9+m6uuuuqqq6666qqrrvqfAz3oQQ/iqquuuuqqq676n+lzP/dzf+v8+fNP56r/Fq/5mq/5PjzTfffddyvAb/3Wb303wD/8wz/8zj/8wz/8NlddddVVV1111VVXXfU/G3rQgx7EVVddddVVV131P8/nfu7n/taLvdiLvfbv/u7vfhdX/ad6zdd8zffhme67775bAf7hH/7ht++7775bz549e+t99933jH/4h3/4ba666qqrrrrqqquuuup/H/SgBz2Iq6666qqrrrrqf5Z3fMd3/Kx3eqd3+uzf/d3f/S6u+g/xmq/5mu/DA9x33323nj179ta///u//22Af/iHf/idf/iHf/htrrrqqquuuuqqq6666v8W9KAHPYirrrrqqquuuup/jhd7sRd77c/93M/9rd/93d/9Lq56kb3ma77m+/Bc7rvvvlvPnj1763333Xfrfffdd+vZs2efcd999936D//wD7/NVVddddVVV1111VVX/f+AHvSgB3HVVVddddVVV/3PcM011zz4cz7nc37rCU94wm9x1XN4zdd8zffhudx33323nj179tb77rvv1vvuu+/Ws2fPPuO+++57+j/8wz/8DlddddVVV1111VVXXXUVAJWrrrrqqquuuup/jHd8x3f8rGuuuebBT3jCE/i/7jVf8zXfhxfgvvvuu/Xs2bO3Atx333233nfffbf+yI/8yGefPXv2Gffdd9+t//AP//DbXHXVVVddddVVV1111VUvCvSgBz2Iq6666qqrrrrqf4Zrrrnmwd/0Td/0dJ7L7/7u734X/8O85mu+5vvwIrjvvvtuBTh79uytAPfdd9+tAPfdd9+tAGfPnr31vvvue8bZs2dvve+++27lqquuuuqqq6666qqrrvqPhB70oAdx1VVXXXXVVVf9z3DNNdc8+MVe7MVeCxDPdObMmQcBXHPNNQ/mAa655poH8wBnzpx5MP9OZ8+evZUHuO+++27lAe67775beS5nz559xn333fd0QABnz5699b777ruVq6666qqrrrrqqquuuup/AvSgBz2Iq6666qqrrrrqqquuuuqqq6666qqrrrrq/yQqV1111VVXXXXVVVddddVVV1111VVXXXXV/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+r+IfAb1coShu8PQlAAAAAElFTkSuQmCC) ```js -circSketch = startSketchOn("XY") +circSketch = startSketchOn(XY) |> circle(center = [0, 0], radius = 3, tag = $circ) -triangleSketch = startSketchOn("XY") +triangleSketch = startSketchOn(XY) |> startProfileAt([-5, 0], %) |> angledLine([tangentToEnd(circ), 10], %) |> line(end = [-15, 0]) diff --git a/docs/kcl/tau.md b/docs/kcl/tau.md index d61dc76fa..0080e0edd 100644 --- a/docs/kcl/tau.md +++ b/docs/kcl/tau.md @@ -28,7 +28,7 @@ tau(): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 50, length = 10 * tau() }, %) |> yLine(endAbsolute = 0) diff --git a/docs/kcl/toDegrees.md b/docs/kcl/toDegrees.md index ec80fdc30..a14fd13b6 100644 --- a/docs/kcl/toDegrees.md +++ b/docs/kcl/toDegrees.md @@ -31,7 +31,7 @@ toDegrees(num: number): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 50, diff --git a/docs/kcl/toRadians.md b/docs/kcl/toRadians.md index f99e4fbb4..44de6b8c0 100644 --- a/docs/kcl/toRadians.md +++ b/docs/kcl/toRadians.md @@ -31,7 +31,7 @@ toRadians(num: number): number ### Examples ```js -exampleSketch = startSketchOn("XZ") +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 50, diff --git a/docs/kcl/translate.md b/docs/kcl/translate.md index 3a986de2c..7fbb197a8 100644 --- a/docs/kcl/translate.md +++ b/docs/kcl/translate.md @@ -36,7 +36,7 @@ translate( // Move a pipe. // Create a path for the sweep. -sweepPath = startSketchOn('XZ') +sweepPath = startSketchOn(XZ) |> startProfileAt([0.05, 0.05], %) |> line(end = [0, 7]) |> tangentialArc({ offset = 90, radius = 5 }, %) @@ -45,10 +45,10 @@ sweepPath = startSketchOn('XZ') |> line(end = [0, 7]) // Create a hole for the pipe. -pipeHole = startSketchOn('XY') +pipeHole = startSketchOn(XY) |> circle(center = [0, 0], radius = 1.5) -sweepSketch = startSketchOn('XY') +sweepSketch = startSketchOn(XY) |> circle(center = [0, 0], radius = 2) |> hole(pipeHole, %) |> sweep(path = sweepPath) @@ -73,7 +73,7 @@ cube // Sweep two sketches along the same path. -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) rectangleSketch = startProfileAt([-200, 23.86], sketch001) |> angledLine([0, 73.47], %, $rectangleSegmentA001) |> angledLine([ @@ -89,7 +89,7 @@ rectangleSketch = startProfileAt([-200, 23.86], sketch001) circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63) -sketch002 = startSketchOn('YZ') +sketch002 = startSketchOn(YZ) sweepPath = startProfileAt([0, 0], sketch002) |> yLine(length = 231.81) |> tangentialArc({ radius = 80, offset = -90 }, %) @@ -131,7 +131,7 @@ square(10) ```js // Translate and rotate a sketch to create a loft. -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) fn square() { return startProfileAt([-10, 10], sketch001) diff --git a/docs/kcl/union.md b/docs/kcl/union.md index d9e9337b7..6f841d90b 100644 --- a/docs/kcl/union.md +++ b/docs/kcl/union.md @@ -30,7 +30,7 @@ union(solids: [Solid]): [Solid] ```js fn cube(center) { - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt([center[0] - 10, center[1] - 10], %) |> line(endAbsolute = [center[0] + 10, center[1] - 10]) |> line(endAbsolute = [center[0] + 10, center[1] + 10]) diff --git a/e2e/playwright/basic-sketch.spec.ts b/e2e/playwright/basic-sketch.spec.ts index f558fa88e..fd79e64cb 100644 --- a/e2e/playwright/basic-sketch.spec.ts +++ b/e2e/playwright/basic-sketch.spec.ts @@ -5,6 +5,7 @@ import { TEST_COLORS, commonPoints, PERSIST_MODELING_CONTEXT, + orRunWhenFullSuiteEnabled, } from './test-utils' import { HomePageFixture } from './fixtures/homePageFixture' @@ -46,7 +47,7 @@ async function doBasicSketch( await page.mouse.click(700, 200) if (openPanes.includes('code')) { - await expect(u.codeLocator).toHaveText(`sketch001 = startSketchOn('XZ')`) + await expect(u.codeLocator).toHaveText(`sketch001 = startSketchOn(XZ)`) } await u.closeDebugPanel() @@ -56,7 +57,7 @@ async function doBasicSketch( await page.mouse.click(startXPx + PUR * 10, 500 - PUR * 10) if (openPanes.includes('code')) { await expect(u.codeLocator).toContainText( - `sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001)` + `sketch001 = startSketchOn(XZ)profile001 = startProfileAt(${commonPoints.startAt}, sketch001)` ) } await page.waitForTimeout(500) @@ -65,14 +66,14 @@ async function doBasicSketch( if (openPanes.includes('code')) { await expect(u.codeLocator) - .toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001) + .toHaveText(`sketch001 = startSketchOn(XZ)profile001 = startProfileAt(${commonPoints.startAt}, sketch001) |> xLine(length = ${commonPoints.num1})`) } await page.waitForTimeout(500) await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 20) if (openPanes.includes('code')) { await expect(u.codeLocator) - .toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${ + .toHaveText(`sketch001 = startSketchOn(XZ)profile001 = startProfileAt(${ commonPoints.startAt }, sketch001) |> xLine(length = ${commonPoints.num1}) @@ -154,7 +155,7 @@ async function doBasicSketch( test.describe('Basic sketch', { tag: ['@skipWin'] }, () => { test('code pane open at start', async ({ page, homePage }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) await doBasicSketch(page, homePage, ['code']) }) diff --git a/e2e/playwright/code-pane-and-errors.spec.ts b/e2e/playwright/code-pane-and-errors.spec.ts index 91fcd8210..ffef789f3 100644 --- a/e2e/playwright/code-pane-and-errors.spec.ts +++ b/e2e/playwright/code-pane-and-errors.spec.ts @@ -1,6 +1,9 @@ import { test, expect } from './zoo-test' - -import { getUtils, executorInputPath } from './test-utils' +import { + orRunWhenFullSuiteEnabled, + getUtils, + executorInputPath, +} from './test-utils' import { join } from 'path' import { bracket } from 'lib/exampleKcl' import { TEST_CODE_LONG_WITH_ERROR_OUT_OF_VIEW } from './storageStates' @@ -19,7 +22,7 @@ test.describe('Code pane and errors', { tag: ['@skipWin'] }, () => { localStorage.setItem( 'persistCode', `// Extruded Triangle - sketch001 = startSketchOn('XZ') + sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> line(end = [-5, 10]) @@ -51,7 +54,7 @@ test.describe('Code pane and errors', { tag: ['@skipWin'] }, () => { homePage, editor, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const u = await getUtils(page) // Load the app with the working starter code @@ -125,7 +128,7 @@ test.describe('Code pane and errors', { tag: ['@skipWin'] }, () => { homePage, context, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) // Load the app with the working starter code await context.addInitScript((code) => { localStorage.setItem('persistCode', code) diff --git a/e2e/playwright/command-bar-tests.spec.ts b/e2e/playwright/command-bar-tests.spec.ts index 34ffee1c7..41deb75c4 100644 --- a/e2e/playwright/command-bar-tests.spec.ts +++ b/e2e/playwright/command-bar-tests.spec.ts @@ -1,6 +1,10 @@ import { test, expect } from './zoo-test' import * as fsp from 'fs/promises' -import { executorInputPath, getUtils } from './test-utils' +import { + executorInputPath, + getUtils, + orRunWhenFullSuiteEnabled, +} from './test-utils' import { KCL_DEFAULT_LENGTH } from 'lib/constants' import path, { join } from 'path' @@ -12,7 +16,7 @@ test.describe('Command bar tests', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -48,11 +52,11 @@ test.describe('Command bar tests', { tag: ['@skipWin'] }, () => { // TODO: fix this test after the electron migration test('Fillet from command bar', async ({ page, homePage }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) |> startProfileAt([-5, -5], %) |> line(end = [0, 10]) |> line(end = [10, 0]) @@ -235,7 +239,7 @@ test.describe('Command bar tests', { tag: ['@skipWin'] }, () => { localStorage.setItem( 'persistCode', `distance = sqrt(20) - sketch001 = startSketchOn('XZ') + sketch001 = startSketchOn(XZ) |> startProfileAt([-6.95, 10.98], %) |> line(end = [25.1, 0.41]) |> line(end = [0.73, -20.93]) diff --git a/e2e/playwright/copilot-ghost-test.spec.ts b/e2e/playwright/copilot-ghost-test.spec.ts index 70531ed12..c7f552258 100644 --- a/e2e/playwright/copilot-ghost-test.spec.ts +++ b/e2e/playwright/copilot-ghost-test.spec.ts @@ -20,7 +20,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -29,7 +29,7 @@ test.describe('Copilot ghost text', () => { // We should be able to hit Tab to accept the completion. await page.keyboard.press('Tab') await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) // Hit enter a few times. @@ -37,7 +37,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20) ` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20) ` ) await expect(page.locator('.cm-ghostText')).not.toBeVisible() @@ -80,7 +80,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -89,7 +89,7 @@ test.describe('Copilot ghost text', () => { // We should be able to hit Tab to accept the completion. await page.keyboard.press('Tab') await expect(page.locator('.cm-content')).toContainText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) }) @@ -123,7 +123,7 @@ test.describe('Copilot ghost text', () => { await page.waitForTimeout(500) await expect(page.locator('.cm-ghostText').first()).not.toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')` + `sketch001 = startSketchOn(XZ)` ) // Escape to exit the tool. @@ -139,7 +139,7 @@ test.describe('Copilot ghost text', () => { await page.waitForTimeout(500) await expect(page.locator('.cm-ghostText').first()).not.toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')` + `sketch001 = startSketchOn(XZ)` ) // Escape again to exit sketch mode. @@ -156,7 +156,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `sketch001 = startSketchOn(XZ)fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -165,7 +165,7 @@ test.describe('Copilot ghost text', () => { // We should be able to hit Tab to accept the completion. await page.keyboard.press('Tab') await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `sketch001 = startSketchOn(XZ)fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) // Hit enter a few times. @@ -173,7 +173,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20) ` + `sketch001 = startSketchOn(XZ)fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20) ` ) await expect(page.locator('.cm-ghostText')).not.toBeVisible() @@ -194,7 +194,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -225,7 +225,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -256,7 +256,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -287,7 +287,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -315,7 +315,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -326,7 +326,7 @@ test.describe('Copilot ghost text', () => { await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) }) @@ -348,7 +348,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -409,7 +409,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `{thing: "blah"}fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `{thing: "blah"}fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -450,7 +450,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -483,7 +483,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` @@ -514,7 +514,7 @@ test.describe('Copilot ghost text', () => { await page.keyboard.press('Enter') await expect(page.locator('.cm-ghostText').first()).toBeVisible() await expect(page.locator('.cm-content')).toHaveText( - `fn cube = (pos, scale) => { sg = startSketchOn('XY') |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` + `fn cube = (pos, scale) => { sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale], %) |> line(end = [scale, 0]) |> line(end = [0, -scale]) return sg}part001 = cube([0,0], 20) |> close() |> extrude(length = 20)` ) await expect(page.locator('.cm-ghostText').first()).toHaveText( `fn cube = (pos, scale) => {` diff --git a/e2e/playwright/debug-pane.spec.ts b/e2e/playwright/debug-pane.spec.ts index 317a225a3..59ff83605 100644 --- a/e2e/playwright/debug-pane.spec.ts +++ b/e2e/playwright/debug-pane.spec.ts @@ -18,7 +18,7 @@ test.describe('Debug pane', () => { context, homePage, }) => { - const code = `sketch001 = startSketchOn('XZ') + const code = `sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [1, 1]) ` diff --git a/e2e/playwright/editor-tests.spec.ts b/e2e/playwright/editor-tests.spec.ts index ed0293e36..5365095b2 100644 --- a/e2e/playwright/editor-tests.spec.ts +++ b/e2e/playwright/editor-tests.spec.ts @@ -2,10 +2,10 @@ import { test, expect } from './zoo-test' import fsp from 'fs/promises' import { uuidv4 } from 'lib/utils' import { - darkModeBgColor, - darkModePlaneColorXZ, executorInputPath, getUtils, + orRunWhenFullSuiteEnabled, + TEST_COLORS, } from './test-utils' import { join } from 'path' @@ -21,7 +21,7 @@ test.describe('Editor tests', { tag: ['@skipWin'] }, () => { await expect(page.locator('.cm-lint-marker-error')).not.toBeVisible() await u.codeLocator.click() - await page.keyboard.type(`sketch001 = startSketchOn('XY') + await page.keyboard.type(`sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -69,7 +69,7 @@ sketch001 = startSketchOn('XY') await u.waitForPageLoad() await u.codeLocator.click() - await page.keyboard.type(`sketch001 = startSketchOn('XY') + await page.keyboard.type(`sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -118,7 +118,7 @@ sketch001 = startSketchOn('XY') await u.waitForPageLoad() await u.codeLocator.click() - await page.keyboard.type(`sketch001 = startSketchOn('XY') + await page.keyboard.type(`sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -173,7 +173,7 @@ sketch001 = startSketchOn('XY') await expect(page.locator('.cm-lint-marker-error')).not.toBeVisible() await u.codeLocator.click() - await page.keyboard.type(`sketch001 = startSketchOn('XY') + await page.keyboard.type(`sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -206,7 +206,7 @@ sketch001 = startSketchOn('XY') await expect(page.locator('.cm-lint-marker-error')).not.toBeVisible() await u.codeLocator.click() - await page.keyboard.type(`sketch_001 = startSketchOn('XY') + await page.keyboard.type(`sketch_001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -254,7 +254,7 @@ sketch_001 = startSketchOn('XY') }) test('fold gutters work', async ({ page, homePage }) => { - const fullCode = `sketch001 = startSketchOn('XY') + const fullCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -263,7 +263,7 @@ sketch_001 = startSketchOn('XY') await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -301,7 +301,7 @@ sketch_001 = startSketchOn('XY') await foldGutterFoldLine.click() await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XY')… ` + `sketch001 = startSketchOn(XY)… ` ) await expect(page.locator('.cm-content')).not.toHaveText(fullCode) await expect(foldGutterFoldLine).not.toBeVisible() @@ -332,7 +332,7 @@ sketch_001 = startSketchOn('XY') await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -379,7 +379,7 @@ sketch_001 = startSketchOn('XY') await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -406,7 +406,7 @@ sketch_001 = startSketchOn('XY') await page.keyboard.press('Alt+Shift+KeyF') await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XY') + .toHaveText(`sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -422,7 +422,7 @@ sketch_001 = startSketchOn('XY') await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch_001 = startSketchOn('XY') + `sketch_001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -459,7 +459,7 @@ sketch_001 = startSketchOn('XY') await u.closeDebugPanel() await expect(page.locator('.cm-content')) - .toHaveText(`sketch_001 = startSketchOn('XY') + .toHaveText(`sketch_001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -532,7 +532,7 @@ sketch_001 = startSketchOn('XY') await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([3.29, 7.86], %) |> line(end = [2.48, 2.44]) |> line(end = [2.66, 1.17]) @@ -647,7 +647,7 @@ sketch_001 = startSketchOn('XY') page, homePage, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const u = await getUtils(page) await page.addInitScript(async () => { localStorage.setItem( @@ -658,7 +658,7 @@ sketch_001 = startSketchOn('XY') dia = 4 fn squareHole = (l, w) => { - squareHoleSketch = startSketchOn('XY') + squareHoleSketch = startSketchOn(XY) |> startProfileAt([-width / 2, -length / 2], %) |> line(endAbsolute = [width / 2, -length / 2]) |> line(endAbsolute = [width / 2, length / 2]) @@ -698,7 +698,7 @@ sketch_001 = startSketchOn('XY') await page.keyboard.press('ArrowDown') await page.keyboard.press('ArrowDown') await page.keyboard.press('Enter') - await page.keyboard.type(`extrusion = startSketchOn('XY') + await page.keyboard.type(`extrusion = startSketchOn(XY) |> circle(center: [0, 0], radius: dia/2) |> hole(squareHole(length, width, height), %) |> extrude(length = height)`) @@ -721,7 +721,7 @@ sketch_001 = startSketchOn('XY') await context.addInitScript(async () => { localStorage.setItem( 'persistCode', - `box = startSketchOn('XY') + `box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10]) |> line(end = [10, 0]) @@ -780,7 +780,7 @@ sketch_001 = startSketchOn('XY') }).toPass() // this makes sure we can accept a completion with click await page.getByText('startSketchOn').click() - await page.keyboard.type("'XZ'") + await page.keyboard.type('XZ') await page.keyboard.press('Tab') await page.keyboard.press('Enter') await page.keyboard.type(' |> startProfi') @@ -856,7 +856,7 @@ sketch001 = startSketchOn('XZ') await page.keyboard.press('ArrowDown') await page.keyboard.press('Tab') await page.waitForTimeout(500) - await page.keyboard.type("'XZ'") + await page.keyboard.type('XZ') await page.keyboard.press('Tab') await page.keyboard.press('Enter') await page.keyboard.type(' |> startProfi') @@ -915,7 +915,7 @@ sketch001 = startSketchOn('XZ') await context.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -14.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -5.38], %) @@ -967,7 +967,7 @@ sketch001 = startSketchOn('XZ') // expect the code to have changed await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ') |> startProfileAt([4.61, -14.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -5.38], %) |> close()extrude001 = extrude(sketch001, length = 5)` + `sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -14.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -5.38], %) |> close()extrude001 = extrude(sketch001, length = 5)` ) // Now hit undo @@ -977,7 +977,7 @@ sketch001 = startSketchOn('XZ') await page.waitForTimeout(100) await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ') + .toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -14.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -5.38], %) @@ -992,7 +992,7 @@ sketch001 = startSketchOn('XZ') await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -10.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -0.38], %) @@ -1083,7 +1083,7 @@ sketch001 = startSketchOn('XZ') // expect the code to have changed await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ') + .toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([2.71, -2.71], %) |> line(end = [15.4, -2.78]) |> tangentialArcTo([27.6, -3.05], %) @@ -1097,7 +1097,7 @@ sketch001 = startSketchOn('XZ') await page.keyboard.up('Control') await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ') + .toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([2.71, -2.71], %) |> line(end = [15.4, -2.78]) |> tangentialArcTo([24.95, -0.38], %) @@ -1110,7 +1110,7 @@ sketch001 = startSketchOn('XZ') await page.keyboard.up('Control') await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ') + .toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([2.71, -2.71], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -0.38], %) @@ -1125,7 +1125,7 @@ sketch001 = startSketchOn('XZ') await page.waitForTimeout(100) await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ') + .toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -10.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -0.38], %) @@ -1138,7 +1138,7 @@ sketch001 = startSketchOn('XZ') `Can use the import stdlib function on a local OBJ file`, { tag: '@electron' }, async ({ page, context }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) await context.folderSetupFn(async (dir) => { const bracketDir = join(dir, 'cube') await fsp.mkdir(bracketDir, { recursive: true }) @@ -1175,7 +1175,8 @@ sketch001 = startSketchOn('XZ') await u.waitForPageLoad() await expect .poll( - async () => locationToHavColor(notTheOrigin, darkModePlaneColorXZ), + async () => + locationToHavColor(notTheOrigin, TEST_COLORS.DARK_MODE_PLANE_XZ), { timeout: 5000, message: 'XZ plane color is visible', @@ -1196,16 +1197,23 @@ sketch001 = startSketchOn('XZ') await test.step(`Verify that we see the imported geometry and no errors`, async () => { await expect(errorIndicators).toHaveCount(0) await expect - .poll(async () => locationToHavColor(origin, darkModePlaneColorXZ), { - timeout: 3000, - message: 'Plane color should not be visible', - }) + .poll( + async () => + locationToHavColor(origin, TEST_COLORS.DARK_MODE_PLANE_XZ), + { + timeout: 3000, + message: 'Plane color should not be visible', + } + ) .toBeGreaterThan(15) await expect - .poll(async () => locationToHavColor(origin, darkModeBgColor), { - timeout: 3000, - message: 'Background color should not be visible', - }) + .poll( + async () => locationToHavColor(origin, TEST_COLORS.DARK_MODE_BKGD), + { + timeout: 3000, + message: 'Background color should not be visible', + } + ) .toBeGreaterThan(15) }) } diff --git a/e2e/playwright/feature-tree-pane.spec.ts b/e2e/playwright/feature-tree-pane.spec.ts index c04269508..54e4ed0b6 100644 --- a/e2e/playwright/feature-tree-pane.spec.ts +++ b/e2e/playwright/feature-tree-pane.spec.ts @@ -6,7 +6,7 @@ const FEATURE_TREE_EXAMPLE_CODE = `export fn timesFive(x) { return 5 * x } export fn triangle() { - return startSketchOn('XZ') + return startSketchOn(XZ) |> startProfileAt([0, 0], %) |> xLine(length = 10) |> line(end = [-10, -5]) @@ -15,7 +15,7 @@ export fn triangle() { } length001 = timesFive(1) * 5 -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([20, 10], %) |> line(end = [10, 10]) |> angledLine([-45, length001], %) @@ -24,7 +24,7 @@ sketch001 = startSketchOn('XZ') revolve001 = revolve(sketch001, axis = "X") triangle() |> extrude(length = 30) -plane001 = offsetPlane('XY', offset = 10) +plane001 = offsetPlane(XY, offset = 10) sketch002 = startSketchOn(plane001) |> startProfileAt([-20, 0], %) |> line(end = [5, -15]) @@ -35,7 +35,7 @@ sketch002 = startSketchOn(plane001) extrude001 = extrude(sketch002, length = 10) ` -const FEATURE_TREE_SKETCH_CODE = `sketch001 = startSketchOn('XZ') +const FEATURE_TREE_SKETCH_CODE = `sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine([0, 4], %, $rectangleSegmentA001) |> angledLine([ @@ -54,7 +54,7 @@ sketch002 = startSketchOn(extrude001, rectangleSegmentB001) center = [-1, 2], radius = .5 ) -plane001 = offsetPlane('XZ', offset = -5) +plane001 = offsetPlane(XZ, offset = -5) sketch003 = startSketchOn(plane001) |> circle(center = [0, 0], radius = 5) ` @@ -116,7 +116,7 @@ test.describe('Feature Tree pane', () => { await testViewSource({ operationName: 'Offset Plane', operationIndex: 0, - expectedActiveLine: "plane001 = offsetPlane('XY', offset = 10)", + expectedActiveLine: 'plane001 = offsetPlane(XY, offset = 10)', }) await testViewSource({ operationName: 'Extrude', @@ -174,7 +174,7 @@ test.describe('Feature Tree pane', () => { await editor.expectState({ highlightedCode: '', diagnostics: [], - activeLines: ["sketch001 = startSketchOn('XZ')"], + activeLines: ['sketch001 = startSketchOn(XZ)'], }) await toolbar.exitSketchBtn.click() }) @@ -227,12 +227,12 @@ test.describe('Feature Tree pane', () => { page, }) => { const initialInput = '23' - const initialCode = `sketch001 = startSketchOn('XZ') + const initialCode = `sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 5) renamedExtrude = extrude(sketch001, length = ${initialInput})` const newConstantName = 'distance001' const expectedCode = `${newConstantName} = 23 - sketch001 = startSketchOn('XZ') + sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 5) renamedExtrude = extrude(sketch001, length = ${newConstantName})` @@ -316,8 +316,7 @@ test.describe('Feature Tree pane', () => { toolbar, cmdBar, }) => { - const testCode = (value: string) => - `p = offsetPlane('XY', offset = ${value})` + const testCode = (value: string) => `p = offsetPlane(XY, offset = ${value})` const initialInput = '10' const initialCode = testCode(initialInput) const newInput = '5 + 10' @@ -396,7 +395,7 @@ test.describe('Feature Tree pane', () => { toolbar, cmdBar, }) => { - const beforeKclCode = `plane001 = offsetPlane('XY', offset = 5) + const beforeKclCode = `plane001 = offsetPlane(XY, offset = 5) sketch001 = startSketchOn(plane001) profile001 = circle(sketch001, center = [0, 20], radius = 12) profile002 = startProfileAt([0, 7.25], sketch001) diff --git a/e2e/playwright/file-tree.spec.ts b/e2e/playwright/file-tree.spec.ts index 1e90d485f..7ac2408a7 100644 --- a/e2e/playwright/file-tree.spec.ts +++ b/e2e/playwright/file-tree.spec.ts @@ -1,7 +1,12 @@ import { test, expect } from './zoo-test' import * as fsp from 'fs/promises' import * as fs from 'fs' -import { createProject, executorInputPath, getUtils } from './test-utils' +import { + createProject, + executorInputPath, + getUtils, + orRunWhenFullSuiteEnabled, +} from './test-utils' import { join } from 'path' import { FILE_EXT } from 'lib/constants' @@ -272,7 +277,7 @@ test.describe('when using the file tree to', () => { tag: '@electron', }, async ({ page }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const { panesOpen, pasteCodeInEditor, @@ -1059,7 +1064,7 @@ test.describe('Undo and redo do not keep history when navigating between files', // Click in the editor and add some new lines. await u.codeLocator.click() - await page.keyboard.type(`sketch001 = startSketchOn('XY') + await page.keyboard.type(`sketch001 = startSketchOn(XY) some other shit`) // Ensure the content in the editor changed. diff --git a/e2e/playwright/fixtures/editorFixture.ts b/e2e/playwright/fixtures/editorFixture.ts index f4719f0a4..ea393c26a 100644 --- a/e2e/playwright/fixtures/editorFixture.ts +++ b/e2e/playwright/fixtures/editorFixture.ts @@ -205,7 +205,7 @@ export class EditorFixture { // Use Playwright's built-in text selection on the code content // it seems to only select whole divs, which works out to align with syntax highlighting - // for code mirror, so you can probably select "sketch002 = startSketchOn('XZ')" + // for code mirror, so you can probably select "sketch002 = startSketchOn(XZ)" // but less so for exactly "sketch002 = startS" await this.codeContent.getByText(text).first().selectText() diff --git a/e2e/playwright/onboarding-tests.spec.ts b/e2e/playwright/onboarding-tests.spec.ts index 7a0e80516..167f22010 100644 --- a/e2e/playwright/onboarding-tests.spec.ts +++ b/e2e/playwright/onboarding-tests.spec.ts @@ -6,6 +6,7 @@ import { executorInputPath, createProject, settingsToToml, + orRunWhenFullSuiteEnabled, } from './test-utils' import { bracket } from 'lib/exampleKcl' import { onboardingPaths } from 'routes/Onboarding/paths' @@ -116,7 +117,7 @@ test.describe('Onboarding tests', () => { } await tronApp.cleanProjectDir() - const initialCode = `sketch001 = startSketchOn('XZ')` + const initialCode = `sketch001 = startSketchOn(XZ)` // Load the page up with some code so we see the confirmation warning // when we go to replay onboarding @@ -325,7 +326,7 @@ test.describe('Onboarding tests', () => { homePage, tronApp, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) if (!tronApp) { fail() } @@ -398,7 +399,7 @@ test.describe('Onboarding tests', () => { homePage, tronApp, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) if (!tronApp) { fail() } @@ -457,7 +458,7 @@ test('Restarting onboarding on desktop takes one attempt', async ({ page, tronApp, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) if (!tronApp) { fail() } diff --git a/e2e/playwright/point-click.spec.ts b/e2e/playwright/point-click.spec.ts index cfa1dd366..2d11377ff 100644 --- a/e2e/playwright/point-click.spec.ts +++ b/e2e/playwright/point-click.spec.ts @@ -5,7 +5,7 @@ import { SceneFixture } from './fixtures/sceneFixture' import { ToolbarFixture } from './fixtures/toolbarFixture' import fs from 'node:fs/promises' import path from 'node:path' -import { getUtils } from './test-utils' +import { getUtils, orRunWhenFullSuiteEnabled } from './test-utils' import { Locator } from '@playwright/test' // test file is for testing point an click code gen functionality that's not sketch mode related @@ -45,7 +45,7 @@ test.describe('Point-and-click tests', () => { await moveToCircle() const circleSnippet = 'circle(center = [318.33, 168.1], radius = 182.8)' await editor.expectState({ - activeLines: ["sketch002=startSketchOn('XZ')"], + activeLines: ['sketch002=startSketchOn(XZ)'], highlightedCode: circleSnippet, diagnostics: [], }) @@ -54,7 +54,7 @@ test.describe('Point-and-click tests', () => { await moveToCircle() const circleSnippet = 'circle(center = [318.33, 168.1], radius = 182.8)' await editor.expectState({ - activeLines: ["sketch002=startSketchOn('XZ')"], + activeLines: ['sketch002=startSketchOn(XZ)'], highlightedCode: circleSnippet, diagnostics: [], }) @@ -525,7 +525,7 @@ profile001 = startProfileAt([205.96, 254.59], sketch002) ) const expectedCodeSnippets = { - sketchOnXzPlane: `sketch001 = startSketchOn('XZ')`, + sketchOnXzPlane: `sketch001 = startSketchOn(XZ)`, pointAtOrigin: `startProfileAt([${originSloppy.kcl[0]}, ${originSloppy.kcl[1]}], sketch001)`, segmentOnXAxis: `xLine(length = ${xAxisSloppy.kcl[0]})`, afterSegmentDraggedOffYAxis: `startProfileAt([${offYAxis.kcl[0]}, ${offYAxis.kcl[1]}], sketch001)`, @@ -583,9 +583,9 @@ profile001 = startProfileAt([205.96, 254.59], sketch002) }) => { const u = await getUtils(page) - const initialCode = `closedSketch = startSketchOn('XZ') + const initialCode = `closedSketch = startSketchOn(XZ) |> circle(center = [8, 5], radius = 2) -openSketch = startSketchOn('XY') +openSketch = startSketchOn(XY) |> startProfileAt([-5, 0], %) |> line(endAbsolute = [0, 5]) |> xLine(length = 5) @@ -689,7 +689,7 @@ openSketch = startSketchOn('XY') scene, }) => { // Code samples - const initialCode = `sketch001 = startSketchOn('XY') + const initialCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-12, -6], %) |> line(end = [0, 12]) |> line(end = [24, 0]) @@ -858,7 +858,7 @@ openSketch = startSketchOn('XY') scene, editor, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) // Locators const firstPointLocation = { x: 200, y: 100 } const secondPointLocation = { x: 800, y: 100 } @@ -1019,7 +1019,7 @@ openSketch = startSketchOn('XY') // One dumb hardcoded screen pixel value const testPoint = { x: 700, y: 150 } const [clickOnXzPlane] = scene.makeMouseHelpers(testPoint.x, testPoint.y) - const expectedOutput = `plane001 = offsetPlane('XZ', offset = 5)` + const expectedOutput = `plane001 = offsetPlane(XZ, offset = 5)` await homePage.goToModelingScene() // FIXME: Since there is no KCL code loaded. We need to wait for the scene to load before we continue. @@ -1195,9 +1195,9 @@ openSketch = startSketchOn('XY') toolbar, cmdBar, }) => { - const initialCode = `sketch001 = startSketchOn('XZ') + const initialCode = `sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 30) - plane001 = offsetPlane('XZ', offset = 50) + plane001 = offsetPlane(XZ, offset = 50) sketch002 = startSketchOn(plane001) |> circle(center = [0, 0], radius = 20) ` @@ -1281,9 +1281,9 @@ openSketch = startSketchOn('XY') homePage, scene, }) => { - const initialCode = `sketch001 = startSketchOn('XZ') + const initialCode = `sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 30) - plane001 = offsetPlane('XZ', offset = 50) + plane001 = offsetPlane(XZ, offset = 50) sketch002 = startSketchOn(plane001) |> circle(center = [0, 0], radius = 20) loft001 = loft([sketch001, sketch002]) @@ -1330,7 +1330,7 @@ loft001 = loft([sketch001, sketch002]) await page.waitForTimeout(1000) await clickOnSketch2() await expect(page.locator('.cm-activeLine')).toHaveText(` - plane001 = offsetPlane('XZ', offset = 50) + plane001 = offsetPlane(XZ, offset = 50) `) await page.keyboard.press('Delete') // Check for sketch 1 @@ -1338,7 +1338,7 @@ loft001 = loft([sketch001, sketch002]) }) }) - test(`Sweep point-and-click`, async ({ + test(`Sweep point-and-click base`, async ({ context, page, homePage, @@ -1347,12 +1347,12 @@ loft001 = loft([sketch001, sketch002]) toolbar, cmdBar, }) => { - const initialCode = `sketch001 = startSketchOn('YZ') + const initialCode = `sketch001 = startSketchOn(YZ) |> circle( center = [0, 0], radius = 500 ) -sketch002 = startSketchOn('XZ') +sketch002 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> xLine(length = -500) |> tangentialArcTo([-2000, 500], %) @@ -1371,7 +1371,10 @@ sketch002 = startSketchOn('XZ') testPoint.x - 50, testPoint.y ) - const sweepDeclaration = 'sweep001 = sweep(sketch001, path = sketch002)' + const sweepDeclaration = + 'sweep001 = sweep(sketch001, path = sketch002, sectional = false)' + const editedSweepDeclaration = + 'sweep001 = sweep(sketch001, path = sketch002, sectional = true)' await test.step(`Look for sketch001`, async () => { await toolbar.closePane('code') @@ -1385,6 +1388,7 @@ sketch002 = startSketchOn('XZ') currentArgKey: 'target', currentArgValue: '', headerArguments: { + Sectional: '', Target: '', Trajectory: '', }, @@ -1397,6 +1401,7 @@ sketch002 = startSketchOn('XZ') currentArgKey: 'trajectory', currentArgValue: '', headerArguments: { + Sectional: '', Target: '1 face', Trajectory: '', }, @@ -1406,18 +1411,50 @@ sketch002 = startSketchOn('XZ') await clickOnSketch2() await page.waitForTimeout(500) await cmdBar.progressCmdBar() - await toolbar.openPane('code') - await page.waitForTimeout(500) + await cmdBar.expectState({ + commandName: 'Sweep', + headerArguments: { + Target: '1 face', + Trajectory: '1 segment', + Sectional: '', + }, + stage: 'review', + }) + await cmdBar.progressCmdBar() }) await test.step(`Confirm code is added to the editor, scene has changed`, async () => { - // await scene.expectPixelColor([135, 64, 73], testPoint, 15) // FIXME + await toolbar.openPane('code') await editor.expectEditor.toContain(sweepDeclaration) - await editor.expectState({ - diagnostics: [], - activeLines: [sweepDeclaration], - highlightedCode: '', + await toolbar.closePane('code') + }) + + await test.step('Edit sweep via feature tree selection works', async () => { + await toolbar.openPane('feature-tree') + const operationButton = await toolbar.getFeatureTreeOperation('Sweep', 0) + await operationButton.dblclick({ button: 'left' }) + await cmdBar.expectState({ + commandName: 'Sweep', + currentArgKey: 'sectional', + currentArgValue: '', + headerArguments: { + Sectional: '', + }, + highlightedHeaderArg: 'sectional', + stage: 'arguments', }) + await cmdBar.selectOption({ name: 'True' }).click() + await cmdBar.expectState({ + commandName: 'Sweep', + headerArguments: { + Sectional: '', + }, + stage: 'review', + }) + await cmdBar.progressCmdBar() + await toolbar.closePane('feature-tree') + await toolbar.openPane('code') + await editor.expectEditor.toContain(editedSweepDeclaration) await toolbar.closePane('code') }) @@ -1441,12 +1478,12 @@ sketch002 = startSketchOn('XZ') toolbar, cmdBar, }) => { - const initialCode = `sketch001 = startSketchOn('YZ') + const initialCode = `sketch001 = startSketchOn(YZ) |> circle( center = [0, 0], radius = 500 ) -sketch002 = startSketchOn('XZ') +sketch002 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> xLine(length = -500) |> line(endAbsolute = [-2000, 500]) @@ -1478,6 +1515,7 @@ sketch002 = startSketchOn('XZ') currentArgKey: 'target', currentArgValue: '', headerArguments: { + Sectional: '', Target: '', Trajectory: '', }, @@ -1490,6 +1528,7 @@ sketch002 = startSketchOn('XZ') currentArgKey: 'trajectory', currentArgValue: '', headerArguments: { + Sectional: '', Target: '1 face', Trajectory: '', }, @@ -1515,7 +1554,7 @@ sketch002 = startSketchOn('XZ') cmdBar, }) => { // Code samples - const initialCode = `sketch001 = startSketchOn('XY') + const initialCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-12, -6], %) |> line(end = [0, 12]) |> line(end = [24, 0]) @@ -1750,7 +1789,7 @@ extrude001 = extrude(sketch001, length = -12) toolbar, }) => { // Code samples - const initialCode = `sketch001 = startSketchOn('XY') + const initialCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-12, -6], %) |> line(end = [0, 12]) |> line(end = [24, 0], tag = $seg02) @@ -1893,7 +1932,7 @@ fillet04 = fillet(extrude001, radius = 5, tags = [getOppositeEdge(seg02)]) cmdBar, }) => { // Create a cube with small edges that will cause some fillets to fail - const initialCode = `sketch001 = startSketchOn('XY') + const initialCode = `sketch001 = startSketchOn(XY) profile001 = startProfileAt([0, 0], sketch001) |> yLine(length = -1) |> xLine(length = -10) @@ -2006,7 +2045,7 @@ extrude001 = extrude(profile001, length = 5) cmdBar, }) => { // Code samples - const initialCode = `sketch001 = startSketchOn('XY') + const initialCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-12, -6], %) |> line(end = [0, 12]) |> line(end = [24, 0]) @@ -2230,7 +2269,7 @@ extrude001 = extrude(sketch001, length = -12) toolbar, }) => { // Code samples - const initialCode = `sketch001 = startSketchOn('XY') + const initialCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-12, -6], %) |> line(end = [0, 12]) |> line(end = [24, 0], tag = $seg02) @@ -2384,7 +2423,7 @@ chamfer04 = chamfer(extrude001, length = 5, tags = [getOppositeEdge(seg02)]) toolbar, cmdBar, }) => { - const initialCode = `sketch001 = startSketchOn('XZ') + const initialCode = `sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 30) extrude001 = extrude(sketch001, length = 30) ` @@ -2519,7 +2558,7 @@ extrude001 = extrude(sketch001, length = 30) toolbar, cmdBar, }) => { - const initialCode = `sketch001 = startSketchOn('XY') + const initialCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-20, 20], %) |> xLine(length = 40) |> yLine(length = -60) @@ -2637,7 +2676,7 @@ extrude001 = extrude(sketch001, length = 40) }) const shellSketchOnFacesCases = [ - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 100) |> extrude(length = 100) @@ -2645,7 +2684,7 @@ sketch002 = startSketchOn(sketch001, 'END') |> circle(center = [0, 0], radius = 50) |> extrude(length = 50) `, - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 100) extrude001 = extrude(sketch001, length = 100) @@ -2740,7 +2779,7 @@ extrude002 = extrude(sketch002, length = 50) toolbar, cmdBar, }) => { - const sketchCode = `sketch001 = startSketchOn('XY') + const sketchCode = `sketch001 = startSketchOn(XY) profile001 = startProfileAt([-20, 20], sketch001) |> xLine(length = 40) |> yLine(length = -60) @@ -2823,12 +2862,12 @@ profile001 = startProfileAt([-20, 20], sketch001) toolbar, cmdBar, }) => { - const initialCode = `sketch001 = startSketchOn('YZ') + const initialCode = `sketch001 = startSketchOn(YZ) |> circle( center = [0, 0], radius = 500 ) -sketch002 = startSketchOn('XZ') +sketch002 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> xLine(length = -2000) sweep001 = sweep(sketch001, path = sketch002) @@ -2883,7 +2922,7 @@ sweep001 = sweep(sketch001, path = sketch002) cmdBar, }) => { const initialCode = ` -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([-100.0, 100.0], %) |> angledLine([0, 200.0], %, $rectangleSegmentA001) |> angledLine([segAng(rectangleSegmentA001) - 90, 200], %, $rectangleSegmentB001) @@ -2939,7 +2978,7 @@ segAng(rectangleSegmentA002), cmdBar, }) => { const initialCode = ` -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([-102.57, 101.72], %) |> angledLine([0, 202.6], %, $rectangleSegmentA001) |> angledLine([ @@ -2989,7 +3028,7 @@ radius = 8.69 cmdBar, }) => { const initialCode = ` - sketch002 = startSketchOn('XY') + sketch002 = startSketchOn(XY) |> startProfileAt([-2.02, 1.79], %) |> xLine(length = 2.6) sketch001 = startSketchOn('-XY') @@ -3041,7 +3080,7 @@ radius = 8.69 toolbar, cmdBar, }) => { - const initialCode = `sketch001 = startSketchOn('XZ') + const initialCode = `sketch001 = startSketchOn(XZ) profile001 = circle( sketch001, center = [0, 0], diff --git a/e2e/playwright/projects.spec.ts b/e2e/playwright/projects.spec.ts index 63d86f724..9a901db5c 100644 --- a/e2e/playwright/projects.spec.ts +++ b/e2e/playwright/projects.spec.ts @@ -7,6 +7,7 @@ import { Paths, createProject, getPlaywrightDownloadDir, + orRunWhenFullSuiteEnabled, } from './test-utils' import fsp from 'fs/promises' import fs from 'fs' @@ -1248,7 +1249,7 @@ test( 'Deleting projects, can delete individual project, can still create projects after deleting all', { tag: '@electron' }, async ({ context, page }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const projectData = [ ['router-template-slate', 'cylinder.kcl'], ['bracket', 'focusrite_scarlett_mounting_braket.kcl'], @@ -1471,7 +1472,7 @@ test( 'When the project folder is empty, user can create new project and open it.', { tag: '@electron' }, async ({ page }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const u = await getUtils(page) await page.setBodyDimensions({ width: 1200, height: 500 }) @@ -2061,7 +2062,7 @@ test( 'Original project name persist after onboarding', { tag: '@electron' }, async ({ page }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) await page.setBodyDimensions({ width: 1200, height: 500 }) const getAllProjects = () => page.getByTestId('project-link').all() diff --git a/e2e/playwright/prompt-to-edit-snapshot-tests.spec.ts b/e2e/playwright/prompt-to-edit-snapshot-tests.spec.ts index df19c18f6..083ea8406 100644 --- a/e2e/playwright/prompt-to-edit-snapshot-tests.spec.ts +++ b/e2e/playwright/prompt-to-edit-snapshot-tests.spec.ts @@ -21,7 +21,7 @@ import { test, expect } from './zoo-test' * */ -const file = `sketch001 = startSketchOn('XZ') +const file = `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([57.81, 250.51], sketch001) |> line(end = [121.13, 56.63], tag = $seg02) |> line(end = [83.37, -34.61], tag = $seg01) @@ -30,7 +30,7 @@ profile001 = startProfileAt([57.81, 250.51], sketch001) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() extrude001 = extrude(profile001, length = 200) -sketch002 = startSketchOn('XZ') +sketch002 = startSketchOn(XZ) |> startProfileAt([-73.64, -42.89], %) |> xLine(length = 173.71) |> line(end = [-22.12, -94.4]) @@ -38,7 +38,7 @@ sketch002 = startSketchOn('XZ') |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() extrude002 = extrude(sketch002, length = 50) -sketch003 = startSketchOn('XY') +sketch003 = startSketchOn(XY) |> startProfileAt([52.92, 157.81], %) |> angledLine([0, 176.4], %, $rectangleSegmentA001) |> angledLine([ diff --git a/e2e/playwright/prompt-to-edit.spec.ts b/e2e/playwright/prompt-to-edit.spec.ts index bb17c75a4..0121a1d32 100644 --- a/e2e/playwright/prompt-to-edit.spec.ts +++ b/e2e/playwright/prompt-to-edit.spec.ts @@ -1,8 +1,9 @@ import { test, expect } from './zoo-test' +import { orRunWhenFullSuiteEnabled } from './test-utils' /* eslint-disable jest/no-conditional-expect */ -const file = `sketch001 = startSketchOn('XZ') +const file = `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([57.81, 250.51], sketch001) |> line(end = [121.13, 56.63], tag = $seg02) |> line(end = [83.37, -34.61], tag = $seg01) @@ -11,7 +12,7 @@ profile001 = startProfileAt([57.81, 250.51], sketch001) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() extrude001 = extrude(profile001, length = 200) -sketch002 = startSketchOn('XZ') +sketch002 = startSketchOn(XZ) |> startProfileAt([-114, 85.52], %) |> xLine(length = 265.36) |> line(end = [33.17, -261.22]) @@ -19,7 +20,7 @@ sketch002 = startSketchOn('XZ') |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() extrude002 = extrude(sketch002, length = 50) -sketch003 = startSketchOn('XY') +sketch003 = startSketchOn(XY) |> startProfileAt([52.92, 157.81], %) |> angledLine([0, 176.4], %, $rectangleSegmentA001) |> angledLine([ @@ -204,7 +205,7 @@ test.describe('Prompt-to-edit tests', { tag: '@skipWin' }, () => { page, scene, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const body1CapCoords = { x: 571, y: 311 } await context.addInitScript((file) => { @@ -224,7 +225,7 @@ test.describe('Prompt-to-edit tests', { tag: '@skipWin' }, () => { // Verify the selection was made await editor.expectState({ highlightedCode: '', - activeLines: ["sketch002 = startSketchOn('XZ')"], + activeLines: ['sketch002 = startSketchOn(XZ)'], diagnostics: [], }) }) diff --git a/e2e/playwright/regression-tests.spec.ts b/e2e/playwright/regression-tests.spec.ts index f59f43136..a938b9fb5 100644 --- a/e2e/playwright/regression-tests.spec.ts +++ b/e2e/playwright/regression-tests.spec.ts @@ -2,9 +2,16 @@ import { Page } from '@playwright/test' import { test, expect } from './zoo-test' import path from 'path' import * as fsp from 'fs/promises' -import { getUtils, executorInputPath } from './test-utils' +import { + getUtils, + executorInputPath, + TEST_COLORS, + TestColor, + orRunWhenFullSuiteEnabled, +} from './test-utils' import { TEST_CODE_TRIGGER_ENGINE_EXPORT_ERROR } from './storageStates' import { bracket } from 'lib/exampleKcl' +import { reportRejection } from 'lib/trap' test.describe('Regression tests', { tag: ['@skipWin'] }, () => { // bugs we found that don't fit neatly into other categories @@ -58,7 +65,7 @@ test.describe('Regression tests', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) |> startProfileAt([82.33, 238.21], %) |> angledLine([0, 288.63], %, $rectangleSegmentA001) |> angledLine([ @@ -126,7 +133,7 @@ extrude001 = extrude(sketch001, length = 50) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('-XZ') + `sketch001 = startSketchOn(-XZ) |> startProfileAt([-6.95, 4.98], %) |> line(end = [25.1, 0.41]) |> line(end = [0.73, -14.93]) @@ -187,7 +194,7 @@ extrude001 = extrude(sketch001, length = 50) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part = startSketchOn('XY') + `part = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 1]) |> line(end = [1, 0]) @@ -315,6 +322,89 @@ extrude001 = extrude(sketch001, length = 50) } ) + test( + 'window resize updates should reconfigure the stream', + { tag: '@skipLocalEngine' }, + async ({ scene, page, homePage, cmdBar, toolbar }) => { + await page.addInitScript( + async ({ code }) => { + localStorage.setItem( + 'persistCode', + `@settings(defaultLengthUnit = mm) +sketch002 = startSketchOn('XY') +profile002 = startProfileAt([72.24, -52.05], sketch002) + |> angledLine([0, 181.26], %, $rectangleSegmentA001) + |> angledLine([ + segAng(rectangleSegmentA001) - 90, + 21.54 + ], %) + |> angledLine([ + segAng(rectangleSegmentA001), + -segLen(rectangleSegmentA001) + ], %) + |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) + |> close() +extrude002 = extrude(profile002, length = 150) +` + ) + ;(window as any).playwrightSkipFilePicker = true + }, + { code: TEST_CODE_TRIGGER_ENGINE_EXPORT_ERROR } + ) + + const websocketPromise = page.waitForEvent('websocket') + await page.setBodyDimensions({ width: 500, height: 500 }) + + await homePage.goToModelingScene() + const websocket = await websocketPromise + + await scene.connectionEstablished() + await scene.settled(cmdBar) + await toolbar.closePane('code') + + // expect pixel color to be background color + const offModelBefore = { x: 446, y: 250 } + const onModelBefore = { x: 422, y: 250 } + const offModelAfter = { x: 692, y: 262 } + const onModelAfter = { x: 673, y: 266 } + + await scene.expectPixelColor( + TEST_COLORS.DARK_MODE_BKGD, + offModelBefore, + 15 + ) + const standardModelGrey: TestColor = [100, 100, 100] + await scene.expectPixelColor(standardModelGrey, onModelBefore, 15) + + await test.step('resize window and expect "reconfigure_stream" websocket message', async () => { + // note this is a bit low level for our tests, usually this would go into a fixture + // but it's pretty unique to this resize test, it can be moved/abstracted if we have further need + // to listen to websocket messages + await Promise.all([ + new Promise((resolve) => { + websocket + // @ts-ignore + .waitForEvent('framesent', (frame) => { + frame.payload + .toString() + .includes( + '"type":"reconfigure_stream","width":1000,"height":500' + ) && resolve(true) + }) + .catch(reportRejection) + }), + page.setBodyDimensions({ width: 1000, height: 500 }), + ]) + }) + + await scene.expectPixelColor( + TEST_COLORS.DARK_MODE_BKGD, + offModelAfter, + 15 + ) + await scene.expectPixelColor(standardModelGrey, onModelAfter, 15) + } + ) test( 'when engine fails export we handle the failure and alert the user', { tag: '@skipLocalEngine' }, @@ -487,7 +577,7 @@ extrude001 = extrude(sketch001, length = 50) `Network health indicator only appears in modeling view`, { tag: '@electron' }, async ({ context, page }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) await context.folderSetupFn(async (dir) => { const bracketDir = path.join(dir, 'bracket') await fsp.mkdir(bracketDir, { recursive: true }) @@ -534,7 +624,7 @@ extrude001 = extrude(sketch001, length = 50) // Constants and locators const planeColor: [number, number, number] = [170, 220, 170] - const bgColor: [number, number, number] = [27, 27, 27] + const bgColor: [number, number, number] = TEST_COLORS.DARK_MODE_BKGD const middlePixelIsColor = async (color: [number, number, number]) => { return u.getGreatestPixDiff({ x: 600, y: 250 }, color) } diff --git a/e2e/playwright/sketch-tests.spec.ts b/e2e/playwright/sketch-tests.spec.ts index 907f28c8a..40d5eafb8 100644 --- a/e2e/playwright/sketch-tests.spec.ts +++ b/e2e/playwright/sketch-tests.spec.ts @@ -9,6 +9,7 @@ import { getUtils, PERSIST_MODELING_CONTEXT, TEST_COLORS, + orRunWhenFullSuiteEnabled, } from './test-utils' import { uuidv4, roundOff } from 'lib/utils' import { SceneFixture } from './fixtures/sceneFixture' @@ -41,7 +42,7 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => { wireRadius = 2 wireOffset = 0.5 - screwHole = startSketchOn('XY') + screwHole = startSketchOn(XY) ${startProfileAt1} |> arc({ radius = screwRadius, @@ -49,7 +50,7 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => { angleEnd = 360 }, %) - part001 = startSketchOn('XY') + part001 = startSketchOn(XY) ${startProfileAt2} |> xLine(length = width * .5) |> yLine(length = height) @@ -58,7 +59,7 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => { |> hole(screwHole, %) |> extrude(length = thickness) - part002 = startSketchOn('-XZ') + part002 = startSketchOn(-XZ) ${startProfileAt3} |> xLine(length = width / 4) |> tangentialArcTo([width / 2, 0], %) @@ -112,7 +113,7 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([2.61, -4.01], %) |> xLine(length = 8.73) |> tangentialArcTo([8.33, -1.31], %)` @@ -158,7 +159,7 @@ test.describe('Sketch tests', { tag: ['@skipWin'] }, () => { await page.mouse.click(700, 200) await expect.poll(u.normalisedEditorCode, { timeout: 1000 }) - .toBe(`sketch002 = startSketchOn('XZ') + .toBe(`sketch002 = startSketchOn(XZ) sketch001 = startProfileAt([12.34, -12.34], sketch002) |> yLine(length = 12.34) @@ -189,7 +190,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) ).toBeVisible() }) test('Can edit segments by dragging their handles', () => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const doEditSegmentsByDraggingHandle = async ( page: Page, homePage: HomePageFixture, @@ -202,7 +203,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -14.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -5.38], %) @@ -252,7 +253,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) // If we have the code pane open, we should see the code. if (openPanes.includes('code')) { - await expect(u.codeLocator).toHaveText(`sketch001 = startSketchOn('XZ') + await expect(u.codeLocator).toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -14.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -5.38], %) @@ -397,7 +398,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) // expect the code to have changed await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ') + .toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([6.44, -12.07], %) |> line(end = [14.72, 1.97]) |> tangentialArcTo([26.92, -3.32], %) @@ -474,7 +475,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> circle(center = [4.61, -5.01], radius = 8)` ) }) @@ -551,7 +552,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) // expect the code to have changed await editor.expectEditor.toContain( - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> circle(center = [7.26, -2.37], radius = 11.44)`, { shouldNormalise: true } ) @@ -564,7 +565,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -10.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -0.38], %) @@ -650,7 +651,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) // expect the code to have changed await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ') + .toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([7.12, -12.68], %) |> line(end = [12.68, -1.09]) |> tangentialArcTo([24.89, 0.68], %) @@ -668,7 +669,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([4.61, -14.01], %) |> line(end = [12.73, -0.09]) |> tangentialArcTo([24.95, -5.38], %) @@ -754,7 +755,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) // expect the code to have changed await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ') + .toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([6.44, -12.07], %) |> line(end = [14.72, 1.97]) |> tangentialArcTo([24.95, -5.38], %) @@ -788,7 +789,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) 200 ) - let codeStr = "sketch001 = startSketchOn('XY')" + let codeStr = 'sketch001 = startSketchOn(XY)' await page.mouse.click(center.x, viewportSize.height * 0.55) await expect(u.codeLocator).toHaveText(codeStr) @@ -827,7 +828,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) // so selecting the plane again is a bit easier. await page.mouse.click(center.x + 200, center.y + 100) await page.waitForTimeout(600) // TODO detect animation ending, or disable animation - codeStr += "sketch002 = startSketchOn('XY')" + codeStr += 'sketch002 = startSketchOn(XY)' await expect(u.codeLocator).toHaveText(codeStr) await u.closeDebugPanel() @@ -867,7 +868,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002) await u.openDebugPanel() - const code = `sketch001 = startSketchOn('-XZ') + const code = `sketch001 = startSketchOn(-XZ) profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( scale * 34.8 )}], sketch001) @@ -897,7 +898,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( await page.mouse.move(700, 200, { steps: 10 }) await page.mouse.click(700, 200, { delay: 200 }) await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('-XZ')` + `sketch001 = startSketchOn(-XZ)` ) let prevContent = await page.locator('.cm-content').innerText() @@ -972,7 +973,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([-0.45, 0.87], %) |> line(end = [1.32, 0.38]) |> line(end = [1.02, -1.32], tag = $seg01) @@ -1030,7 +1031,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([-0.45, 0.87], %) |> line(end = [1.32, 0.38]) |> line(end = [1.02, -1.32], tag = $seg01) @@ -1073,7 +1074,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( ).toBeVisible() await expect((await u.codeLocator.innerText()).replace(/\s/g, '')).toBe( - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([-0.45, 0.87], %) |> line(end = [1.32, 0.38]) |> line(end = [1.02, -1.32], tag = $seg01) @@ -1091,7 +1092,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( page, homePage, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) /** * Tests the following things * 1) The the planes are there on load because the scene is empty @@ -1126,7 +1127,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( await u.openAndClearDebugPanel() - await u.codeLocator.fill(`sketch001 = startSketchOn('XY') + await u.codeLocator.fill(`sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -1165,7 +1166,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( await page.mouse.click(XYPlanePoint.x, XYPlanePoint.y) await page.waitForTimeout(200) await page.mouse.click(XYPlanePoint.x + 50, XYPlanePoint.y + 50) - await expect(u.codeLocator).toHaveText(`sketch001 = startSketchOn('XZ') + await expect(u.codeLocator).toHaveText(`sketch001 = startSketchOn(XZ) |> startProfileAt([11.8, 9.09], %) |> line(end = [3.39, -3.39]) `) @@ -1173,7 +1174,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([11.8, 9.09], %) |> line(end = [3.39, -3.39]) ` @@ -1213,7 +1214,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( return lugSketch } - lug([0, 0], 10, .5, "XY")` + lug([0, 0], 10, .5, XY)` ) }) @@ -1272,7 +1273,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff( const railBaseLength = in2mm(.200) const railClampable = in2mm(.200) - const rail = startSketchOn('XZ') + const rail = startSketchOn(XZ) |> startProfileAt([ -railTop / 2, railClampable + railBaseLength @@ -1425,7 +1426,7 @@ test.describe(`Sketching with offset planes`, () => { await context.addInitScript(() => { localStorage.setItem( 'persistCode', - `offsetPlane001 = offsetPlane("XY", offset = 10)` + `offsetPlane001 = offsetPlane(XY, offset = 10)` ) }) @@ -1439,9 +1440,9 @@ test.describe(`Sketching with offset planes`, () => { await test.step(`Hovering should highlight code`, async () => { await planeHover() await editor.expectState({ - activeLines: [`offsetPlane001=offsetPlane("XY",offset=10)`], + activeLines: [`offsetPlane001=offsetPlane(XY,offset=10)`], diagnostics: [], - highlightedCode: 'offsetPlane("XY", offset = 10)', + highlightedCode: 'offsetPlane(XY, offset = 10)', }) }) @@ -1452,7 +1453,7 @@ test.describe(`Sketching with offset planes`, () => { await expect(toolbar.lineBtn).toBeEnabled() await editor.expectEditor.toContain('startSketchOn(offsetPlane001)') await editor.expectState({ - activeLines: [`offsetPlane001=offsetPlane("XY",offset=10)`], + activeLines: [`offsetPlane001=offsetPlane(XY,offset=10)`], diagnostics: [], highlightedCode: '', }) @@ -1466,13 +1467,13 @@ test.describe('multi-profile sketching', () => { `test it removes half-finished expressions when changing tools in sketch mode`, { tag: ['@skipWin'] }, async ({ context, page, scene, toolbar, editor, homePage, cmdBar }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) // We seed the scene with a single offset plane await context.addInitScript(() => { localStorage.setItem( 'persistCode', `yo = 5 -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) profile001 = startProfileAt([121.52, 168.25], sketch001) |> line(end = [115.04, 113.61]) |> line(end = [130.87, -97.79]) @@ -1603,7 +1604,7 @@ profile002 = startProfileAt([117.2, 56.08], sketch001) await context.addInitScript(() => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) profile002 = startProfileAt([40.68, 87.67], sketch001) |> xLine(length = 239.17) profile003 = startProfileAt([206.63, -56.73], sketch001) @@ -1682,7 +1683,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) ` ) }) @@ -1732,7 +1733,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001) await selectXZPlane() // timeout wait for engine animation is unavoidable await page.waitForTimeout(600) - await editor.expectEditor.toContain(`sketch001 = startSketchOn('XZ')`) + await editor.expectEditor.toContain(`sketch001 = startSketchOn(XZ)`) const [startProfile1] = scene.makeMouseHelpers(568, 70) const [segment1Clk] = scene.makeMouseHelpers(701, 78) @@ -1750,7 +1751,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001) }) await test.step('delete all profiles', async () => { - await editor.replaceCode('', "sketch001 = startSketchOn('XZ')\n") + await editor.replaceCode('', 'sketch001 = startSketchOn(XZ)\n') await page.waitForTimeout(600) // wait for deferred execution }) @@ -1833,7 +1834,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001) await selectXZPlane() // timeout wait for engine animation is unavoidable await page.waitForTimeout(600) - await editor.expectEditor.toContain(`sketch001 = startSketchOn('XZ')`) + await editor.expectEditor.toContain(`sketch001 = startSketchOn(XZ)`) await test.step('Create a close profile stopping mid profile to equip the tangential arc, then three-point arc, and then back to the line tool', async () => { await startProfile1() await editor.expectEditor.toContain( @@ -2171,7 +2172,7 @@ profile003 = startProfileAt([206.63, -56.73], sketch001) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([6.24, 4.54], sketch001) |> line(end = [-0.41, 6.99]) |> line(end = [8.61, 0.74]) @@ -2316,7 +2317,7 @@ profile004 = circleThreePoint(sketch001, p1 = [13.44, -6.8], p2 = [13.39, -2.07] await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([6.24, 4.54], sketch001) |> line(end = [-0.41, 6.99]) |> line(end = [8.61, 0.74]) @@ -2421,7 +2422,7 @@ profile003 = circle(sketch001, center = [6.92, -4.2], radius = 3.16) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([-63.43, 193.08], sketch001) |> line(end = [168.52, 149.87]) |> line(end = [190.29, -39.18]) @@ -2503,16 +2504,16 @@ extrude001 = extrude(profile003, length = 5) // timeout wait for engine animation is unavoidable await page.waitForTimeout(600) - await editor.expectEditor.toContain(`sketch001 = startSketchOn('XZ')`) + await editor.expectEditor.toContain(`sketch001 = startSketchOn(XZ)`) await toolbar.exitSketch() - await editor.expectEditor.not.toContain(`sketch001 = startSketchOn('XZ')`) + await editor.expectEditor.not.toContain(`sketch001 = startSketchOn(XZ)`) await test.step("still renders code, hasn't got into a weird state", async () => { await editor.replaceCode( 'myVar = 5', `myVar = 5 - sketch001 = startSketchOn('XZ') + sketch001 = startSketchOn(XZ) profile001 = circle( sketch001, center = [12.41, 3.87], @@ -2532,13 +2533,13 @@ extrude001 = extrude(profile003, length = 5) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([85.19, 338.59], sketch001) |> line(end = [213.3, -94.52]) |> line(end = [-230.09, -55.34]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -sketch002 = startSketchOn('XY') +sketch002 = startSketchOn(XY) profile002 = startProfileAt([85.81, 52.55], sketch002) ` @@ -2574,7 +2575,7 @@ profile002 = startProfileAt([85.81, 52.55], sketch002) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `thePart = startSketchOn('XZ') + `thePart = startSketchOn(XZ) |> startProfileAt([7.53, 10.51], %) |> line(end = [12.54, 1.83]) |> line(end = [6.65, -6.91]) @@ -2605,14 +2606,14 @@ extrude001 = extrude(thePart, length = 75) await test.step('expect code to match initial conditions still', async () => { await editor.expectEditor.toContain( - `thePart = startSketchOn('XZ') |> startProfileAt([7.53, 10.51], %)` + `thePart = startSketchOn(XZ) |> startProfileAt([7.53, 10.51], %)` ) }) await test.step('equiping the line tool should break up the pipe expression', async () => { await toolbar.lineBtn.click() await editor.expectEditor.toContain( - `sketch001 = startSketchOn('XZ')thePart = startProfileAt([7.53, 10.51], sketch001)` + `sketch001 = startSketchOn(XZ)thePart = startProfileAt([7.53, 10.51], sketch001)` ) }) @@ -2635,7 +2636,7 @@ extrude001 = extrude(thePart, length = 75) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([6.71, -3.66], sketch001) |> line(end = [2.65, 9.02], tag = $seg02) |> line(end = [3.73, -9.36], tag = $seg01) @@ -2675,7 +2676,7 @@ revolve001 = revolve( axis = getNextAdjacentEdge(seg01) ) extrude002 = extrude(profile006, length = 4) -sketch003 = startSketchOn('-XZ') +sketch003 = startSketchOn(-XZ) profile007 = startProfileAt([4.8, 7.55], sketch003) |> line(end = [7.39, 2.58]) |> line(end = [7.02, -2.85]) @@ -2808,13 +2809,13 @@ extrude003 = extrude(profile011, length = 2.5) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([34, 42.66], sketch001) |> line(end = [102.65, 151.99]) |> line(end = [76, -138.66]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -plane001 = offsetPlane('XZ', offset = 50) +plane001 = offsetPlane(XZ, offset = 50) sketch002 = startSketchOn(plane001) profile002 = startProfileAt([39.43, 172.21], sketch002) |> xLine(length = 183.99) @@ -2862,17 +2863,17 @@ loft([profile001, profile002]) page, homePage, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([34, 42.66], sketch001) |> line(end = [102.65, 151.99]) |> line(end = [76, -138.66]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -plane001 = offsetPlane('XZ', offset = 50) +plane001 = offsetPlane(XZ, offset = 50) sketch002 = startSketchOn(plane001) profile002 = startProfileAt([39.43, 172.21], sketch002) |> xLine(length = 183.99) @@ -2942,7 +2943,7 @@ test.describe(`Click based selection don't brick the app when clicked out of ran await context.addInitScript(() => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [3.14, 3.14]) |> arcTo({ @@ -2980,7 +2981,7 @@ test.describe(`Click based selection don't brick the app when clicked out of ran // Check that the code is highlighted await editor.expectState({ - activeLines: ["sketch001=startSketchOn('XZ')"], + activeLines: ['sketch001=startSketchOn(XZ)'], diagnostics: [], highlightedCode: 'arcTo({end = [4, 2], interior = [1, 2]}, %)', }) @@ -2991,7 +2992,7 @@ test.describe(`Click based selection don't brick the app when clicked out of ran await page.mouse.move(655, 337) await editor.expectState({ - activeLines: ["sketch001=startSketchOn('XZ')"], + activeLines: ['sketch001=startSketchOn(XZ)'], diagnostics: [], highlightedCode: '', }) @@ -3024,7 +3025,7 @@ test.describe('Redirecting to home page and back to the original file should cle await context.addInitScript(() => { localStorage.setItem( 'persistCode', - ` sketch001 = startSketchOn('XZ') + ` sketch001 = startSketchOn(XZ) |> startProfileAt([256.85, 14.41], %) |> line(endAbsolute = [0, 211.07]) ` diff --git a/e2e/playwright/snapshot-tests.spec.ts b/e2e/playwright/snapshot-tests.spec.ts index 783365441..8e2171696 100644 --- a/e2e/playwright/snapshot-tests.spec.ts +++ b/e2e/playwright/snapshot-tests.spec.ts @@ -1,6 +1,12 @@ import { test, expect } from './zoo-test' import { secrets } from './secrets' -import { Paths, doExport, getUtils, settingsToToml } from './test-utils' +import { + Paths, + doExport, + getUtils, + settingsToToml, + orRunWhenFullSuiteEnabled, +} from './test-utils' import { Models } from '@kittycad/lib' import fsp from 'fs/promises' import { spawn } from 'child_process' @@ -40,7 +46,7 @@ test( 'exports of each format should work', { tag: ['@snapshot', '@skipWin', '@skipMacos'] }, async ({ page, context, scene, cmdBar, tronApp }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) if (!tronApp) { fail() } @@ -59,7 +65,7 @@ baseHeight = 1 totalHeightHalf = 2 armThick = 0.5 totalLen = 9.5 -part001 = startSketchOn('-XZ') +part001 = startSketchOn(-XZ) |> startProfileAt([0, 0], %) |> yLine(length = baseHeight) |> xLine(length = baseLen) @@ -316,7 +322,7 @@ const extrudeDefaultPlane = async ( scene: SceneFixture, plane: string ) => { - const code = `part001 = startSketchOn('${plane}') + const code = `part001 = startSketchOn(${plane}) |> startProfileAt([7.00, 4.40], %) |> line(end = [6.60, -0.20]) |> line(end = [2.80, 5.00]) @@ -440,7 +446,7 @@ test( // select a plane await page.mouse.click(700, 200) - let code = `sketch001 = startSketchOn('XZ')` + let code = `sketch001 = startSketchOn(XZ)` await expect(page.locator('.cm-content')).toHaveText(code) await page.waitForTimeout(700) // TODO detect animation ending, or disable animation @@ -554,7 +560,7 @@ test( await page.mouse.click(700, 200) await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')` + `sketch001 = startSketchOn(XZ)` ) // Wait for camera animation @@ -600,7 +606,7 @@ test( await page.mouse.click(700, 200) await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')` + `sketch001 = startSketchOn(XZ)` ) // Wait for camera animation @@ -622,7 +628,7 @@ test( mask: [page.getByTestId('model-state-indicator')], }) await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')profile001 = circle(sketch001, center = [14.44, -2.44], radius = 1)` + `sketch001 = startSketchOn(XZ)profile001 = circle(sketch001, center = [14.44, -2.44], radius = 1)` ) } ) @@ -651,7 +657,7 @@ test.describe( // select a plane await page.mouse.click(700, 200) - let code = `sketch001 = startSketchOn('XZ')` + let code = `sketch001 = startSketchOn(XZ)` await expect(page.locator('.cm-content')).toHaveText(code) // Wait for camera animation @@ -746,7 +752,7 @@ test.describe( // select a plane await page.mouse.click(700, 200) - let code = `sketch001 = startSketchOn('XZ')` + let code = `sketch001 = startSketchOn(XZ)` await expect(u.codeLocator).toHaveText(code) // Wait for camera animation @@ -817,7 +823,7 @@ test( await context.addInitScript(async (KCL_DEFAULT_LENGTH) => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('-XZ') + `part001 = startSketchOn(-XZ) |> startProfileAt([1.4, 2.47], %) |> line(end = [9.31, 10.55], tag = $seg01) |> line(end = [11.91, -10.42]) @@ -879,7 +885,7 @@ test( await context.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XY') + `part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -919,7 +925,7 @@ test( await context.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XY') + `part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -1093,12 +1099,12 @@ test.describe('Grid visibility', { tag: '@snapshot' }, () => { }) test('theme persists', async ({ page, context }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const u = await getUtils(page) await context.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XY') + `part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -1168,7 +1174,7 @@ test.describe('code color goober', { tag: '@snapshot' }, () => { `// Create a pipe using a sweep. // Create a path for the sweep. -sweepPath = startSketchOn('XZ') +sweepPath = startSketchOn(XZ) |> startProfileAt([0.05, 0.05], %) |> line(end = [0, 7]) |> tangentialArc({ offset = 90, radius = 5 }, %) @@ -1176,7 +1182,7 @@ sweepPath = startSketchOn('XZ') |> tangentialArc({ offset = -90, radius = 5 }, %) |> line(end = [0, 7]) -sweepSketch = startSketchOn('XY') +sweepSketch = startSketchOn(XY) |> startProfileAt([2, 0], %) |> arc({ angleEnd = 360, @@ -1218,7 +1224,7 @@ sweepSketch = startSketchOn('XY') `// Create a pipe using a sweep. // Create a path for the sweep. -sweepPath = startSketchOn('XZ') +sweepPath = startSketchOn(XZ) |> startProfileAt([0.05, 0.05], %) |> line(end = [0, 7]) |> tangentialArc({ offset = 90, radius = 5 }, %) @@ -1226,7 +1232,7 @@ sweepPath = startSketchOn('XZ') |> tangentialArc({ offset = -90, radius = 5 }, %) |> line(end = [0, 7]) -sweepSketch = startSketchOn('XY') +sweepSketch = startSketchOn(XY) |> startProfileAt([2, 0], %) |> arc({ angleEnd = 360, diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-circle-should-look-right-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-circle-should-look-right-1-Google-Chrome-linux.png index 021c589bf..b2954c343 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-circle-should-look-right-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-circle-should-look-right-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-segments-should-look-right-3-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-segments-should-look-right-3-Google-Chrome-linux.png index efd71721a..c0a52375a 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-segments-should-look-right-3-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-segments-should-look-right-3-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Sketch-on-face-with-none-z-up-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Sketch-on-face-with-none-z-up-1-Google-Chrome-linux.png index c580f8931..2779f732d 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Sketch-on-face-with-none-z-up-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Sketch-on-face-with-none-z-up-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Zoom-to-fit-on-load---solid-2d-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Zoom-to-fit-on-load---solid-2d-1-Google-Chrome-linux.png index 6a7a2ec45..d2f4cbe68 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Zoom-to-fit-on-load---solid-2d-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Zoom-to-fit-on-load---solid-2d-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Zoom-to-fit-on-load---solid-3d-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Zoom-to-fit-on-load---solid-3d-1-Google-Chrome-linux.png index 304fdc743..0ac20fca6 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Zoom-to-fit-on-load---solid-3d-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Zoom-to-fit-on-load---solid-3d-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/code-color-goober-code-color-goober-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/code-color-goober-code-color-goober-1-Google-Chrome-linux.png index a6ecdc976..feb68fd77 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/code-color-goober-code-color-goober-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/code-color-goober-code-color-goober-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/code-color-goober-code-color-goober-opening-window-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/code-color-goober-code-color-goober-opening-window-1-Google-Chrome-linux.png index a69400aa6..e9fbb5fee 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/code-color-goober-code-color-goober-opening-window-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/code-color-goober-code-color-goober-opening-window-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable--XZ-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable--XZ-1-Google-Chrome-linux.png index 78899446b..eaa45b1b9 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable--XZ-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable--XZ-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable--YZ-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable--YZ-1-Google-Chrome-linux.png index da8525be1..93adcda7d 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable--YZ-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable--YZ-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable-XZ-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable-XZ-1-Google-Chrome-linux.png index 2859f9d59..8240ecba9 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable-XZ-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/extrude-on-default-planes-should-be-stable-XZ-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshots/prompt-to-edit/prompt-to-edit-snapshot-tests-spec-ts--edit-with-ai-example-snapshots--change-colour.snap.json b/e2e/playwright/snapshots/prompt-to-edit/prompt-to-edit-snapshot-tests-spec-ts--edit-with-ai-example-snapshots--change-colour.snap.json index 676f3dde5..91724538d 100644 --- a/e2e/playwright/snapshots/prompt-to-edit/prompt-to-edit-snapshot-tests-spec-ts--edit-with-ai-example-snapshots--change-colour.snap.json +++ b/e2e/playwright/snapshots/prompt-to-edit/prompt-to-edit-snapshot-tests-spec-ts--edit-with-ai-example-snapshots--change-colour.snap.json @@ -1,5 +1,5 @@ { - "original_source_code": "sketch001 = startSketchOn('XZ')\nprofile001 = startProfileAt([57.81, 250.51], sketch001)\n |> line(end = [121.13, 56.63], tag = $seg02)\n |> line(end = [83.37, -34.61], tag = $seg01)\n |> line(end = [19.66, -116.4])\n |> line(end = [-221.8, -41.69])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude001 = extrude(profile001, length = 200)\nsketch002 = startSketchOn('XZ')\n |> startProfileAt([-73.64, -42.89], %)\n |> xLine(length = 173.71)\n |> line(end = [-22.12, -94.4])\n |> xLine(length = -156.98)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude002 = extrude(sketch002, length = 50)\nsketch003 = startSketchOn('XY')\n |> startProfileAt([52.92, 157.81], %)\n |> angledLine([0, 176.4], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 53.4\n ], %, $rectangleSegmentB001)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %, $rectangleSegmentC001)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude003 = extrude(sketch003, length = 20)\n", + "original_source_code": "sketch001 = startSketchOn(XZ)\nprofile001 = startProfileAt([57.81, 250.51], sketch001)\n |> line(end = [121.13, 56.63], tag = $seg02)\n |> line(end = [83.37, -34.61], tag = $seg01)\n |> line(end = [19.66, -116.4])\n |> line(end = [-221.8, -41.69])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude001 = extrude(profile001, length = 200)\nsketch002 = startSketchOn(XZ)\n |> startProfileAt([-73.64, -42.89], %)\n |> xLine(length = 173.71)\n |> line(end = [-22.12, -94.4])\n |> xLine(length = -156.98)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude002 = extrude(sketch002, length = 50)\nsketch003 = startSketchOn(XY)\n |> startProfileAt([52.92, 157.81], %)\n |> angledLine([0, 176.4], %, $rectangleSegmentA001)\n |> angledLine([\n segAng(rectangleSegmentA001) - 90,\n 53.4\n ], %, $rectangleSegmentB001)\n |> angledLine([\n segAng(rectangleSegmentA001),\n -segLen(rectangleSegmentA001)\n ], %, $rectangleSegmentC001)\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\nextrude003 = extrude(sketch003, length = 20)\n", "prompt": "make this neon green please, use #39FF14", "source_ranges": [ { diff --git a/e2e/playwright/storageStates.ts b/e2e/playwright/storageStates.ts index 4ddda716d..4b2cc30c6 100644 --- a/e2e/playwright/storageStates.ts +++ b/e2e/playwright/storageStates.ts @@ -77,7 +77,7 @@ export const TEST_SETTINGS_CORRUPTED = { }, } satisfies Partial -export const TEST_CODE_GIZMO = `part001 = startSketchOn('XZ') +export const TEST_CODE_GIZMO = `part001 = startSketchOn(XZ) |> startProfileAt([20, 0], %) |> line(end = [7.13, 4 + 0]) |> angledLine({ angle: 3 + 0, length: 3.14 + 0 }, %) @@ -128,7 +128,7 @@ keychain2 = startSketchOn("XY") |> close() |> extrude(length = thickness) -box = startSketchOn('XY') +box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10]) |> line(end = [10, 0]) @@ -147,7 +147,7 @@ sketch001 = startSketchOn(box, revolveAxis) angle = 90 ) -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0.0, 0.0], %) |> xLine(length = 0.0) |> close() diff --git a/e2e/playwright/test-network-and-connection-issues.spec.ts b/e2e/playwright/test-network-and-connection-issues.spec.ts index 8d03b72a3..50bf53b64 100644 --- a/e2e/playwright/test-network-and-connection-issues.spec.ts +++ b/e2e/playwright/test-network-and-connection-issues.spec.ts @@ -1,5 +1,5 @@ import { test, expect } from './zoo-test' -import { commonPoints, getUtils } from './test-utils' +import { commonPoints, getUtils, orRunWhenFullSuiteEnabled } from './test-utils' import { EngineCommand } from 'lang/std/artifactGraph' import { uuidv4 } from 'lib/utils' @@ -8,7 +8,7 @@ test.describe('Test network and connection issues', () => { 'simulate network down and network little widget', { tag: '@skipLocalEngine' }, async ({ page, homePage }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const u = await getUtils(page) await page.setBodyDimensions({ width: 1200, height: 500 }) @@ -85,7 +85,7 @@ test.describe('Test network and connection issues', () => { 'Engine disconnect & reconnect in sketch mode', { tag: '@skipLocalEngine' }, async ({ page, homePage, toolbar }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const networkToggle = page.getByTestId('network-toggle') const u = await getUtils(page) @@ -105,7 +105,7 @@ test.describe('Test network and connection issues', () => { await page.mouse.click(700, 200) await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')` + `sketch001 = startSketchOn(XZ)` ) await u.closeDebugPanel() @@ -114,7 +114,7 @@ test.describe('Test network and connection issues', () => { const startXPx = 600 await page.mouse.click(startXPx + PUR * 10, 500 - PUR * 10) await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001)` + `sketch001 = startSketchOn(XZ)profile001 = startProfileAt(${commonPoints.startAt}, sketch001)` ) await page.waitForTimeout(100) @@ -122,7 +122,7 @@ test.describe('Test network and connection issues', () => { await page.waitForTimeout(100) await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001) + .toHaveText(`sketch001 = startSketchOn(XZ)profile001 = startProfileAt(${commonPoints.startAt}, sketch001) |> xLine(length = ${commonPoints.num1})`) // Expect the network to be up @@ -211,7 +211,7 @@ test.describe('Test network and connection issues', () => { // Ensure we can continue sketching await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 20) await expect.poll(u.normalisedEditorCode) - .toBe(`sketch001 = startSketchOn('XZ') + .toBe(`sketch001 = startSketchOn(XZ) profile001 = startProfileAt([12.34, -12.34], sketch001) |> xLine(length = 12.34) |> line(end = [-12.34, 12.34]) @@ -221,7 +221,7 @@ profile001 = startProfileAt([12.34, -12.34], sketch001) await page.mouse.click(startXPx, 500 - PUR * 20) await expect.poll(u.normalisedEditorCode) - .toBe(`sketch001 = startSketchOn('XZ') + .toBe(`sketch001 = startSketchOn(XZ) profile001 = startProfileAt([12.34, -12.34], sketch001) |> xLine(length = 12.34) |> line(end = [-12.34, 12.34]) diff --git a/e2e/playwright/test-utils.ts b/e2e/playwright/test-utils.ts index 71144112e..f4a36a8fa 100644 --- a/e2e/playwright/test-utils.ts +++ b/e2e/playwright/test-utils.ts @@ -31,11 +31,13 @@ const toNormalizedCode = (text: string) => { return text.replace(/\s+/g, '') } -type TestColor = [number, number, number] -export const TEST_COLORS = { - WHITE: [249, 249, 249] as TestColor, - YELLOW: [255, 255, 0] as TestColor, - BLUE: [0, 0, 255] as TestColor, +export type TestColor = [number, number, number] +export const TEST_COLORS: { [key: string]: TestColor } = { + WHITE: [249, 249, 249], + YELLOW: [255, 255, 0], + BLUE: [0, 0, 255], + DARK_MODE_BKGD: [27, 27, 27], + DARK_MODE_PLANE_XZ: [50, 50, 99], } as const export const PERSIST_MODELING_CONTEXT = 'persistModelingContext' @@ -50,17 +52,13 @@ export const commonPoints = { num3: -2.44, } as const -/** A semi-reliable color to check the default XZ plane on - * in dark mode in the default camera position - */ -export const darkModePlaneColorXZ: [number, number, number] = [50, 50, 99] - -/** A semi-reliable color to check the default dark mode bg color against */ -export const darkModeBgColor: [number, number, number] = [27, 27, 27] - export const editorSelector = '[role="textbox"][data-language="kcl"]' type PaneId = 'variables' | 'code' | 'files' | 'logs' +export function orRunWhenFullSuiteEnabled() { + return process.env.GITHUB_HEAD_REF !== 'all-e2e' +} + async function waitForPageLoadWithRetry(page: Page) { await expect(async () => { await page.goto('/') @@ -938,8 +936,8 @@ function failOnConsoleErrors(page: Page, testInfo?: TestInfo) { // Fail when running on CI and FAIL_ON_CONSOLE_ERRORS is set // use expect to prevent page from closing and not cleaning up expect(`An error was detected in the console: \r\n message:${exception.message} \r\n name:${exception.name} \r\n stack:${exception.stack} - - *Either fix the console error or add it to the whitelist defined in ./lib/console-error-whitelist.ts (if the error can be safely ignored) + + *Either fix the console error or add it to the whitelist defined in ./lib/console-error-whitelist.ts (if the error can be safely ignored) `).toEqual('Console error detected') } else { // the (test-results/exceptions.txt) file will be uploaded as part of an upload artifact in GH diff --git a/e2e/playwright/testing-camera-movement.spec.ts b/e2e/playwright/testing-camera-movement.spec.ts index 63fef3748..c900f3fc6 100644 --- a/e2e/playwright/testing-camera-movement.spec.ts +++ b/e2e/playwright/testing-camera-movement.spec.ts @@ -1,7 +1,7 @@ import { test, expect } from './zoo-test' import { EngineCommand } from 'lang/std/artifactGraph' import { uuidv4 } from 'lib/utils' -import { getUtils } from './test-utils' +import { getUtils, orRunWhenFullSuiteEnabled } from './test-utils' test.describe('Testing Camera Movement', { tag: ['@skipWin'] }, () => { test('Can move camera reliably', async ({ page, context, homePage }) => { @@ -183,7 +183,7 @@ test.describe('Testing Camera Movement', { tag: ['@skipWin'] }, () => { page, homePage, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) // start new sketch pan and zoom before exiting, when exiting the sketch should stay in the same place // than zoom and pan outside of sketch mode and enter again and it should not change from where it is // than again for sketching diff --git a/e2e/playwright/testing-constraints.spec.ts b/e2e/playwright/testing-constraints.spec.ts index aefed0288..57ae5e8da 100644 --- a/e2e/playwright/testing-constraints.spec.ts +++ b/e2e/playwright/testing-constraints.spec.ts @@ -5,6 +5,7 @@ import { TEST_COLORS, pollEditorLinesSelectedLength, executorInputPath, + orRunWhenFullSuiteEnabled, } from './test-utils' import { XOR } from 'lib/utils' import path from 'node:path' @@ -14,7 +15,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -57,7 +58,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { .click() await expect(page.locator('.cm-content')).toHaveText( - `length001 = 20sketch001 = startSketchOn('XY') |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> angledLine([90, length001], %) |> xLine(length = -20)` + `length001 = 20sketch001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> angledLine([90, length001], %) |> xLine(length = -20)` ) // Make sure we didn't pop out of sketch mode. @@ -81,13 +82,13 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { localStorage.setItem( 'persistCode', `yo = 79 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4], tag = $seg01) |> line(end = [78.92, -120.11]) |> angledLine([segAng(seg01), yo], %) |> line(end = [41.19, 58.97 + 5]) - part002 = startSketchOn('XZ') + part002 = startSketchOn(XZ) |> startProfileAt([299.05, 120], %) |> xLine(length = -385.34, tag = $seg_what) |> yLine(length = -170.06) @@ -145,13 +146,13 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { localStorage.setItem( 'persistCode', `yo = 5 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4], tag = $seg01) |> line(end = [78.92, -120.11]) |> angledLine([segAng(seg01), 78.33], %) |> line(end = [51.19, 48.97]) - part002 = startSketchOn('XZ') + part002 = startSketchOn(XZ) |> startProfileAt([299.05, 231.45], %) |> xLine(length = -425.34, tag = $seg_what) |> yLine(length = -264.06) @@ -277,13 +278,13 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { localStorage.setItem( 'persistCode', `yo = 5 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4]) |> line(end = [78.92, -120.11]) |> line(end = [9.16, 77.79]) |> line(end = [51.19, 48.97]) - part002 = startSketchOn('XZ') + part002 = startSketchOn(XZ) |> startProfileAt([299.05, 231.45], %) |> xLine(length = -425.34, tag = $seg_what) |> yLine(length = -264.06) @@ -387,13 +388,13 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { localStorage.setItem( 'persistCode', `yo = 5 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4]) |> line(end = [78.92, -120.11]) |> line(end = [9.16, 77.79]) |> line(end = [51.19, 48.97]) - part002 = startSketchOn('XZ') + part002 = startSketchOn(XZ) |> startProfileAt([299.05, 231.45], %) |> xLine(length = -425.34, tag = $seg_what) |> yLine(length = -264.06) @@ -500,13 +501,13 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { localStorage.setItem( 'persistCode', `yo = 5 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4]) |> line(end = [78.92, -120.11]) |> line(end = [9.16, 77.79]) |> line(end = [51.19, 48.97]) - part002 = startSketchOn('XZ') + part002 = startSketchOn(XZ) |> startProfileAt([299.05, 231.45], %) |> xLine(length = -425.34, tag = $seg_what) |> yLine(length = -264.06) @@ -602,13 +603,13 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { localStorage.setItem( 'persistCode', `yo = 5 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4]) |> line(end = [78.92, -120.11]) |> line(end = [9.16, 77.79]) |> line(end = [51.19, 48.97]) - part002 = startSketchOn('XZ') + part002 = startSketchOn(XZ) |> startProfileAt([299.05, 231.45], %) |> xLine(length = -425.34, tag = $seg_what) |> yLine(length = -264.06) @@ -688,13 +689,13 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { localStorage.setItem( 'persistCode', `yo = 5 -part001 = startSketchOn('XZ') +part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4]) |> line(end = [78.92, -120.11]) |> line(end = [9.16, 77.79]) |> line(end = [51.19, 48.97]) -part002 = startSketchOn('XZ') +part002 = startSketchOn(XZ) |> startProfileAt([299.05, 231.45], %) |> xLine(length = -425.34, tag = $seg_what) |> yLine(length = -264.06) @@ -768,13 +769,13 @@ part002 = startSketchOn('XZ') localStorage.setItem( 'persistCode', `yo = 5 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4]) |> line(end = [78.92, -120.11]) |> line(end = [9.16, 77.79]) |> line(end = [51.19, 48.97]) - part002 = startSketchOn('XZ') + part002 = startSketchOn(XZ) |> startProfileAt([299.05, 231.45], %) |> xLine(length = -425.34, tag = $seg_what) |> yLine(length = -264.06) @@ -869,12 +870,12 @@ part002 = startSketchOn('XZ') localStorage.setItem( 'persistCode', `yo = 5 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4]) |> line(end = [78.92, -120.11]) |> line(end = [9.16, 77.79]) - part002 = startSketchOn('XZ') + part002 = startSketchOn(XZ) |> startProfileAt([299.05, 231.45], %) |> xLine(length = -425.34, tag = $seg_what) |> yLine(length = -264.06) @@ -950,12 +951,12 @@ part002 = startSketchOn('XZ') localStorage.setItem( 'persistCode', `yo = 5 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> line(end = [74.36, 130.4]) |> line(end = [78.92, -120.11]) |> line(end = [9.16, 77.79]) - part002 = startSketchOn('XZ') + part002 = startSketchOn(XZ) |> startProfileAt([299.05, 231.45], %) |> xLine(length = -425.34, tag = $seg_what) |> yLine(length = -264.06) @@ -1009,12 +1010,12 @@ part002 = startSketchOn('XZ') page, homePage, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) test.setTimeout(70_000) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) |> startProfileAt([-1.05, -1.07], %) |> line(end = [3.79, 2.68], tag = $seg01) |> line(end = [3.13, -2.4])` diff --git a/e2e/playwright/testing-gizmo.spec.ts b/e2e/playwright/testing-gizmo.spec.ts index b1bba54be..a08382412 100644 --- a/e2e/playwright/testing-gizmo.spec.ts +++ b/e2e/playwright/testing-gizmo.spec.ts @@ -256,7 +256,7 @@ test.describe(`Testing gizmo, fixture-based`, () => { localStorage.setItem( 'persistCode', ` - const sketch002 = startSketchOn('XZ') + const sketch002 = startSketchOn(XZ) |> startProfileAt([-108.83, -57.48], %) |> angledLine([0, 105.13], %, $rectangleSegmentA001) |> angledLine([ @@ -268,7 +268,7 @@ test.describe(`Testing gizmo, fixture-based`, () => { -segLen(rectangleSegmentA001) ], %) |> close() - const sketch001 = startSketchOn('XZ') + const sketch001 = startSketchOn(XZ) |> circle(center = [818.33, 168.1], radius = 182.8) |> extrude(length = 50) ` diff --git a/e2e/playwright/testing-perspective-toggle.spec.ts b/e2e/playwright/testing-perspective-toggle.spec.ts index 48363973c..78c83e7b0 100644 --- a/e2e/playwright/testing-perspective-toggle.spec.ts +++ b/e2e/playwright/testing-perspective-toggle.spec.ts @@ -1,9 +1,9 @@ import { test, expect } from './zoo-test' -import { getUtils } from './test-utils' +import { getUtils, orRunWhenFullSuiteEnabled } from './test-utils' test.describe('Test toggling perspective', () => { test('via command palette and toggle', async ({ page, homePage }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const u = await getUtils(page) // Locators and constants diff --git a/e2e/playwright/testing-segment-overlays.spec.ts b/e2e/playwright/testing-segment-overlays.spec.ts index ddd0c265c..f888909f9 100644 --- a/e2e/playwright/testing-segment-overlays.spec.ts +++ b/e2e/playwright/testing-segment-overlays.spec.ts @@ -1,7 +1,12 @@ import { Page } from '@playwright/test' import { test, expect } from './zoo-test' -import { deg, getUtils, wiggleMove } from './test-utils' +import { + deg, + getUtils, + wiggleMove, + orRunWhenFullSuiteEnabled, +} from './test-utils' import { LineInputsType } from 'lang/std/sketchcombos' import { uuidv4 } from 'lib/utils' import { EditorFixture } from './fixtures/editorFixture' @@ -9,7 +14,7 @@ import { EditorFixture } from './fixtures/editorFixture' test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => { test('Hover over a segment should show its overlay, hovering over the input overlays should show its popover, clicking the input overlay should constrain/unconstrain it:\nfor the following segments', () => { // TODO: fix this test on mac after the electron migration - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) /** * Clicks on an constrained element * @param {Page} page - The page to perform the action on @@ -205,7 +210,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) |> startProfileAt([5 + 0, 20 + 0], %) |> line(end = [0.5, -14 + 0]) |> angledLine({ angle = 3 + 0, length = 32 + 0 }, %) @@ -371,7 +376,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => { editor, homePage, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', @@ -382,7 +387,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => { yAbs001 = 11.5 xAbs001 = 33 xAbs002 = 4 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0.5, yRel001]) |> angledLine({ angle = angle001, length = len001 }, %) @@ -454,7 +459,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0.5, -14 + 0]) |> angledLine({ angle = 3 + 0, length = 32 + 0 }, %) @@ -585,7 +590,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0.5, -14 + 0]) |> angledLine({ angle = 3 + 0, length = 32 + 0 }, %) @@ -746,7 +751,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0.5, -14 + 0]) |> angledLine({ angle = 3 + 0, length = 32 + 0 }, %) @@ -826,7 +831,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([56.37, 120.33], sketch001) |> line(end = [162.86, 106.48]) |> arcTo({ @@ -952,7 +957,7 @@ profile001 = startProfileAt([56.37, 120.33], sketch001) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) |> circle(center = [1 + 0, 0], radius = 8) ` ) @@ -1072,7 +1077,7 @@ profile001 = startProfileAt([56.37, 120.33], sketch001) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) |>startProfileAt([0, 0], %) |> line(end = [0.5, -14 + 0]) |> angledLine({ angle = 3 + 0, length = 32 + 0 }, %) @@ -1346,7 +1351,7 @@ profile001 = startProfileAt([56.37, 120.33], sketch001) async ({ lineToBeDeleted, extraLine }) => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) |> startProfileAt([5, 6], %) |> ${lineToBeDeleted} |> line(end = [-10, -15]) @@ -1511,7 +1516,7 @@ profile001 = startProfileAt([56.37, 120.33], sketch001) async ({ lineToBeDeleted }) => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) |> startProfileAt([5, 6], %) |> ${lineToBeDeleted} |> line(end = [-10, -15]) diff --git a/e2e/playwright/testing-selections.spec.ts b/e2e/playwright/testing-selections.spec.ts index 2c889226c..3db4e7f43 100644 --- a/e2e/playwright/testing-selections.spec.ts +++ b/e2e/playwright/testing-selections.spec.ts @@ -1,6 +1,6 @@ import { test, expect } from './zoo-test' -import { commonPoints, getUtils } from './test-utils' +import { commonPoints, getUtils, orRunWhenFullSuiteEnabled } from './test-utils' import { Coords2d } from 'lang/std/sketch' import { KCL_DEFAULT_LENGTH } from 'lib/constants' import { uuidv4 } from 'lib/utils' @@ -68,20 +68,20 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => { await u.closeDebugPanel() await page.mouse.click(startXPx + PUR * 10, 500 - PUR * 10) await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001)` + `sketch001 = startSketchOn(XZ)profile001 = startProfileAt(${commonPoints.startAt}, sketch001)` ) await page.waitForTimeout(100) await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 10) await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${commonPoints.startAt}, sketch001) + .toHaveText(`sketch001 = startSketchOn(XZ)profile001 = startProfileAt(${commonPoints.startAt}, sketch001) |> xLine(length = ${commonPoints.num1})`) await page.waitForTimeout(100) await page.mouse.click(startXPx + PUR * 20, 500 - PUR * 20) await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${ + .toHaveText(`sketch001 = startSketchOn(XZ)profile001 = startProfileAt(${ commonPoints.startAt }, sketch001) |> xLine(length = ${commonPoints.num1}) @@ -89,7 +89,7 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => { await page.waitForTimeout(100) await page.mouse.click(startXPx, 500 - PUR * 20) await expect(page.locator('.cm-content')) - .toHaveText(`sketch001 = startSketchOn('XZ')profile001 = startProfileAt(${ + .toHaveText(`sketch001 = startSketchOn(XZ)profile001 = startProfileAt(${ commonPoints.startAt }, sketch001) |> xLine(length = ${commonPoints.num1}) @@ -260,7 +260,7 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([-79.26, 95.04], %) |> line(end = [112.54, 127.64], tag = $seg02) |> line(end = [170.36, -121.61], tag = $seg01) @@ -299,7 +299,7 @@ pipeLength = 40 pipeSmallDia = 10 pipeLargeDia = 20 thickness = 0.5 -part009 = startSketchOn('XY') +part009 = startSketchOn(XY) |> startProfileAt([pipeLargeDia - (thickness / 2), 38], %) |> line(end = [thickness, 0]) |> line(end = [0, -1]) @@ -320,7 +320,7 @@ part009 = startSketchOn('XY') |> angledLineToX({ angle = 60, to = pipeLargeDia }, %) |> close() rev = revolve(part009, axis = 'y') -sketch006 = startSketchOn('XY') +sketch006 = startSketchOn(XY) profile001 = circle( sketch006, center = [42.91, -70.42], @@ -455,13 +455,13 @@ profile003 = startProfileAt([40.16, -120.48], sketch006) cmdBar, editor, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) test.setTimeout(90_000) const u = await getUtils(page) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XY') + `part001 = startSketchOn(XY) yo = startProfileAt([4.83, 12.56], part001) |> line(end = [15.1, 2.48]) |> line(end = [3.15, -9.85], tag = $seg01) @@ -528,7 +528,7 @@ profile001 = startProfileAt([7.49, 9.96], sketch001) await page.addInitScript(async (KCL_DEFAULT_LENGTH) => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) |> startProfileAt([20, 0], %) |> line(end = [7.13, 4 + 0]) |> angledLine({ angle = 3 + 0, length = 3.14 + 0 }, %) @@ -747,7 +747,7 @@ profile001 = startProfileAt([7.49, 9.96], sketch001) await page.waitForTimeout(200) await u.removeCurrentCode() - await u.codeLocator.fill(`sketch001 = startSketchOn('XZ') + await u.codeLocator.fill(`sketch001 = startSketchOn(XZ) |> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag] |> angledLine([0, 268.43], %, $rectangleSegmentA001) |> angledLine([ @@ -869,7 +869,7 @@ profile001 = startProfileAt([7.49, 9.96], sketch001) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([3.29, 7.86], %) |> line(end = [2.48, 2.44]) |> line(end = [2.66, 1.17]) @@ -966,7 +966,7 @@ profile001 = startProfileAt([7.49, 9.96], sketch001) localStorage.setItem( 'persistCode', `yo = 79 - part001 = startSketchOn('XZ') + part001 = startSketchOn(XZ) |> startProfileAt([-7.54, -26.74], %) |> ${cases[0].expectedCode} |> line(end = [-3.19, -138.43]) @@ -1020,7 +1020,7 @@ profile001 = startProfileAt([7.49, 9.96], sketch001) await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([-79.26, 95.04], %) |> line(end = [112.54, 127.64]) |> line(end = [170.36, -121.61], tag = $seg01) @@ -1135,7 +1135,7 @@ profile001 = startProfileAt([7.49, 9.96], sketch001) }: any) => { localStorage.setItem( 'persistCode', - `part001 = startSketchOn('XZ') + `part001 = startSketchOn(XZ) ${extrudeAndEditBlocked} |> line(end = [25.96, 2.93]) |> line(end = [5.25, -5.72]) @@ -1143,14 +1143,14 @@ profile001 = startProfileAt([7.49, 9.96], sketch001) |> line(end = [-27.65, -2.78]) |> close() |> extrude(length = 5) - sketch002 = startSketchOn('XZ') + sketch002 = startSketchOn(XZ) ${extrudeAndEditAllowed} |> line(end = [10.32, 6.47]) |> line(end = [9.71, -6.16]) |> line(end = [-3.08, -9.86]) |> line(end = [-12.02, -1.54]) |> close() - sketch003 = startSketchOn('XZ') + sketch003 = startSketchOn(XZ) ${editOnly} |> line(end = [27.55, -1.65]) |> line(end = [4.95, -8]) @@ -1158,7 +1158,7 @@ profile001 = startProfileAt([7.49, 9.96], sketch001) |> line(end = [-15.79, 17.08]) fn yohey = (pos) => { - sketch004 = startSketchOn('XZ') + sketch004 = startSketchOn(XZ) ${extrudeAndEditBlockedInFunction} |> line(end = [27.55, -1.65]) |> line(end = [4.95, -10.53]) @@ -1253,7 +1253,7 @@ profile001 = startProfileAt([7.49, 9.96], sketch001) await page.mouse.click(700, 200) await expect(page.locator('.cm-content')).toHaveText( - `sketch001 = startSketchOn('XZ')` + `sketch001 = startSketchOn(XZ)` ) await page.waitForTimeout(600) diff --git a/e2e/playwright/testing-settings.spec.ts b/e2e/playwright/testing-settings.spec.ts index 3ea8003b5..b0c856aa1 100644 --- a/e2e/playwright/testing-settings.spec.ts +++ b/e2e/playwright/testing-settings.spec.ts @@ -6,6 +6,8 @@ import { executorInputPath, createProject, tomlToSettings, + TEST_COLORS, + orRunWhenFullSuiteEnabled, } from './test-utils' import { SettingsLevel } from 'lib/settings/settingsTypes' import { SETTINGS_FILE_NAME, PROJECT_SETTINGS_FILE_NAME } from 'lib/constants' @@ -59,7 +61,7 @@ test.describe('Testing settings', () => { page, homePage, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const u = await getUtils(page) await test.step(`Setup`, async () => { await page.setBodyDimensions({ width: 1200, height: 500 }) @@ -172,7 +174,7 @@ test.describe('Testing settings', () => { }) test('Project and user settings can be reset', async ({ page, homePage }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const u = await getUtils(page) await test.step(`Setup`, async () => { await page.setBodyDimensions({ width: 1200, height: 500 }) @@ -262,7 +264,7 @@ test.describe('Testing settings', () => { `Project settings override user settings on desktop`, { tag: ['@electron', '@skipWin'] }, async ({ context, page }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const projectName = 'bracket' const { dir: projectDirName } = await context.folderSetupFn( async (dir) => { @@ -404,7 +406,7 @@ test.describe('Testing settings', () => { tag: '@electron', }, async ({ context, page, tronApp }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) if (!tronApp) { fail() } @@ -462,7 +464,7 @@ test.describe('Testing settings', () => { 'project settings reload on external change', { tag: '@electron' }, async ({ context, page }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const { dir: projectDirName } = await context.folderSetupFn( async () => {} ) @@ -731,7 +733,7 @@ test.describe('Testing settings', () => { await context.addInitScript(() => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [5, 0]) |> line(end = [0, 5]) @@ -811,7 +813,7 @@ test.describe('Testing settings', () => { // Selectors and constants const darkBackgroundCss = 'oklch(0.3012 0 264.5)' const lightBackgroundCss = 'oklch(0.9911 0 264.5)' - const darkBackgroundColor: [number, number, number] = [27, 27, 27] + const darkBackgroundColor = TEST_COLORS.DARK_MODE_BKGD const lightBackgroundColor: [number, number, number] = [245, 245, 245] const streamBackgroundPixelIsColor = async ( color: [number, number, number] @@ -983,7 +985,7 @@ fn cube` toolbar, cmdBar, }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) await context.folderSetupFn(async (dir) => { const projectDir = join(dir, 'project-000') await fsp.mkdir(projectDir, { recursive: true }) diff --git a/e2e/playwright/text-to-cad-tests.spec.ts b/e2e/playwright/text-to-cad-tests.spec.ts index 639921fa8..8dddbcb33 100644 --- a/e2e/playwright/text-to-cad-tests.spec.ts +++ b/e2e/playwright/text-to-cad-tests.spec.ts @@ -1,6 +1,10 @@ import { Page } from '@playwright/test' import { test, expect } from './zoo-test' -import { getUtils, createProject } from './test-utils' +import { + getUtils, + createProject, + orRunWhenFullSuiteEnabled, +} from './test-utils' import { join } from 'path' import fs from 'fs' @@ -435,7 +439,7 @@ test.describe('Text-to-CAD tests', { tag: ['@skipWin'] }, () => { 'can do many at once and get many prompts back, and interact with many', { tag: ['@skipWin'] }, async ({ page, homePage }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) // Let this test run longer since we've seen it timeout. test.setTimeout(180_000) @@ -624,7 +628,7 @@ test( 'Text-to-CAD functionality', { tag: '@electron' }, async ({ context, page }, testInfo) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const projectName = 'project-000' const prompt = 'lego 2x4' const textToCadFileName = 'lego-2x4.kcl' diff --git a/e2e/playwright/various.spec.ts b/e2e/playwright/various.spec.ts index c7ce7c0f8..3591a6f7d 100644 --- a/e2e/playwright/various.spec.ts +++ b/e2e/playwright/various.spec.ts @@ -1,9 +1,14 @@ import { test, expect } from './zoo-test' -import { doExport, getUtils, makeTemplate } from './test-utils' +import { + doExport, + getUtils, + makeTemplate, + orRunWhenFullSuiteEnabled, +} from './test-utils' test('Units menu', async ({ page, homePage }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) await page.setBodyDimensions({ width: 1200, height: 500 }) await homePage.goToModelingScene() @@ -51,7 +56,7 @@ baseHeight = 1 totalHeightHalf = 2 armThick = 0.5 totalLen = 9.5 -part001 = startSketchOn('-XZ') +part001 = startSketchOn(-XZ) |> startProfileAt([0, 0], %) |> yLine(length = baseHeight) |> xLine(length = baseLen) @@ -268,7 +273,7 @@ test('Basic default modeling and sketch hotkeys work', async ({ page, homePage, }) => { - test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e') + test.fixme(orRunWhenFullSuiteEnabled()) const u = await getUtils(page) // This test can run long if it takes a little too long to load @@ -478,7 +483,7 @@ test('Sketch on face', async ({ page, homePage, scene, cmdBar, toolbar }) => { await page.addInitScript(async () => { localStorage.setItem( 'persistCode', - `sketch001 = startSketchOn('XZ') + `sketch001 = startSketchOn(XZ) |> startProfileAt([3.29, 7.86], %) |> line(end = [2.48, 2.44]) |> line(end = [2.66, 1.17]) diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 70ed283c9..c2ec9fcb8 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -193,9 +193,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.87" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d556ec1359574147ec0c4fc5eb525f3f23263a592b1a9c07e0a75b427de55c97" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", @@ -789,9 +789,9 @@ checksum = "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b" [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", ] @@ -1230,9 +1230,9 @@ dependencies = [ [[package]] name = "handlebars" -version = "6.3.1" +version = "6.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d752747ddabc4c1a70dd28e72f2e3c218a816773e0d7faf67433f1acfa6cba7c" +checksum = "759e2d5aea3287cb1190c8ec394f42866cb5bf74fcbf213f354e3c856ea26098" dependencies = [ "derive_builder", "log", @@ -2033,9 +2033,9 @@ dependencies = [ [[package]] name = "kittycad-modeling-cmds" -version = "0.2.105" +version = "0.2.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64667cdf4b21ba87940b6733aad67ce9fd819b94fd3b6ca90f10389c1a3750c" +checksum = "cb129c1f4906a76e3518e58f61968f16cb56f1279366415d2bae6059aa68fce8" dependencies = [ "anyhow", "chrono", @@ -3086,9 +3086,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.14" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e327e510263980e231de548a33e63d34962d29ae61b467389a1a09627a254" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ "base64", "bytes", @@ -3890,9 +3890,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.39" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad298b01a40a23aac4580b67e3dbedb7cc8402f3592d7f49469de2ea4aecdd8" +checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" dependencies = [ "deranged", "itoa", @@ -3905,15 +3905,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c97a5b985b7c11d7bc27fa927dc4fe6af3a6dfb021d28deb60d3bf51e76ef" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8093bc3e81c3bc5f7879de09619d06c9a5a5e45ca44dfeeb7225bae38005c5c" +checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" dependencies = [ "num-conv", "time-core", @@ -4389,9 +4389,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.15.1" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f540e3240398cce6128b64ba83fdbdd86129c16a3aa1a3a252efd66eb3d587" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" dependencies = [ "getrandom 0.3.1", "js-sys", @@ -5027,9 +5027,9 @@ dependencies = [ [[package]] name = "zip" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938cc23ac49778ac8340e366ddc422b2227ea176edb447e23fc0627608dddadd" +checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" dependencies = [ "aes", "arbitrary", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 273803707..3de4d4ebb 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -28,7 +28,7 @@ similar = { opt-level = 3 } debug = "line-tables-only" [workspace.dependencies] -async-trait = "0.1.85" +async-trait = "0.1.88" anyhow = { version = "1" } bson = { version = "2.13.0", features = ["uuid-1", "chrono"] } clap = { version = "4.5.31", features = ["derive"] } @@ -36,7 +36,7 @@ dashmap = { version = "6.1.0" } http = "1" indexmap = "2.7.0" kittycad = { version = "0.3.33", default-features = false, features = ["js", "requests"] } -kittycad-modeling-cmds = { version = "0.2.105", features = ["ts-rs", "websocket"] } +kittycad-modeling-cmds = { version = "0.2.107", features = ["ts-rs", "websocket"] } lazy_static = "1.5.0" miette = "7.5.0" pyo3 = { version = "0.24.0" } @@ -50,7 +50,7 @@ tokio = { version = "1" } tower-lsp = { version = "0.20.0", default-features = false } tracing-subscriber = { version = "0.3.19", features = ["registry", "std", "fmt", "smallvec", "ansi", "tracing-log", "json"] } uuid = { version = "1", features = ["v4", "serde"] } -zip = { version = "2.4.1", default-features = false } +zip = { version = "2.4.2", default-features = false } [workspace.lints.clippy] assertions_on_result_states = "warn" diff --git a/rust/kcl-language-server-release/Cargo.toml b/rust/kcl-language-server-release/Cargo.toml index 0836efb63..393c7be16 100644 --- a/rust/kcl-language-server-release/Cargo.toml +++ b/rust/kcl-language-server-release/Cargo.toml @@ -21,7 +21,7 @@ slog = { workspace = true } slog-async = { workspace = true } slog-json = { workspace = true } slog-term = { workspace = true } -time = "0.3.37" +time = "0.3.40" tokio = { workspace = true, features = ["full"] } tracing-subscriber = { workspace = true } xshell = "0.2.6" diff --git a/rust/kcl-lib/Cargo.toml b/rust/kcl-lib/Cargo.toml index 3913292ae..e8566d2c4 100644 --- a/rust/kcl-lib/Cargo.toml +++ b/rust/kcl-lib/Cargo.toml @@ -120,7 +120,7 @@ approx = "0.5" base64 = "0.22.1" criterion = { version = "0.5.1", features = ["async_tokio"] } expectorate = "1.1.0" -handlebars = "6.3.0" +handlebars = "6.3.2" image = { version = "0.25.5", default-features = false, features = ["png"] } insta = { version = "1.41.1", features = ["json", "filters", "redactions"] } kcl-directory-test-macro = { version = "0.1", path = "../kcl-directory-test-macro" } diff --git a/rust/kcl-lib/e2e/executor/inputs/angled_line.kcl b/rust/kcl-lib/e2e/executor/inputs/angled_line.kcl index c6d1bd348..9a3e4f20d 100644 --- a/rust/kcl-lib/e2e/executor/inputs/angled_line.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/angled_line.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([4.83, 12.56], %) |> line(end = [15.1, 2.48]) |> line(end = [3.15, -9.85], tag = $seg01) diff --git a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_close_opposite.kcl b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_close_opposite.kcl index b5270d2c1..da85cb418 100644 --- a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_close_opposite.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_close_opposite.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([0,0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_end.kcl b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_end.kcl index 27b6795bb..431759464 100644 --- a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_end.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_end.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([0,0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_next_adjacent.kcl b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_next_adjacent.kcl index 9663891ca..7a4309eef 100644 --- a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_next_adjacent.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_next_adjacent.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([0,0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0], tag = $thing1) diff --git a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_previous_adjacent.kcl b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_previous_adjacent.kcl index fe9f642a2..eeeb9adea 100644 --- a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_previous_adjacent.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_previous_adjacent.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([0,0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0], tag = $thing1) diff --git a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_start.kcl b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_start.kcl index 17d764599..7212d7fed 100644 --- a/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_start.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/basic_fillet_cube_start.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([0,0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/big_number_angle_to_match_length_x.kcl b/rust/kcl-lib/e2e/executor/inputs/big_number_angle_to_match_length_x.kcl index 321f48a47..05ea423dc 100644 --- a/rust/kcl-lib/e2e/executor/inputs/big_number_angle_to_match_length_x.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/big_number_angle_to_match_length_x.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [1, 3.82], tag = $seg01) |> angledLineToX([ diff --git a/rust/kcl-lib/e2e/executor/inputs/big_number_angle_to_match_length_y.kcl b/rust/kcl-lib/e2e/executor/inputs/big_number_angle_to_match_length_y.kcl index f3f66699d..66b8ea47a 100644 --- a/rust/kcl-lib/e2e/executor/inputs/big_number_angle_to_match_length_y.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/big_number_angle_to_match_length_y.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [1, 3.82], tag = $seg01) |> angledLineToX([ diff --git a/rust/kcl-lib/e2e/executor/inputs/broken-code-test.kcl b/rust/kcl-lib/e2e/executor/inputs/broken-code-test.kcl index 7301c0726..883fa21da 100644 --- a/rust/kcl-lib/e2e/executor/inputs/broken-code-test.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/broken-code-test.kcl @@ -20,7 +20,7 @@ const thickness = sqrt(6 * M * FOS / (width * sigmaAllow)) const filletR = 0.25 // Sketch the bracket and extrude with fillets -const bracket = startSketchOn('XY') +const bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, wallMountL], tag = 'outerEdge') |> line(end = [-shelfMountL, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/circular_pattern3d_a_pattern.kcl b/rust/kcl-lib/e2e/executor/inputs/circular_pattern3d_a_pattern.kcl index cdf86f94c..20e085499 100644 --- a/rust/kcl-lib/e2e/executor/inputs/circular_pattern3d_a_pattern.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/circular_pattern3d_a_pattern.kcl @@ -1,4 +1,4 @@ -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 2]) |> line(end = [3, 1]) diff --git a/rust/kcl-lib/e2e/executor/inputs/close_arc.kcl b/rust/kcl-lib/e2e/executor/inputs/close_arc.kcl index 3cafb98a4..bd6c23c87 100644 --- a/rust/kcl-lib/e2e/executor/inputs/close_arc.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/close_arc.kcl @@ -2,7 +2,7 @@ const center = [0,0] const radius = 40 const height = 3 -const body = startSketchOn('XY') +const body = startSketchOn(XY) |> startProfileAt([center[0]+radius, center[1]], %) |> arc({angleEnd: 360, angleStart: 0, radius}, %) |> close() diff --git a/rust/kcl-lib/e2e/executor/inputs/cylinder.kcl b/rust/kcl-lib/e2e/executor/inputs/cylinder.kcl index 94a7b4372..e5e058274 100644 --- a/rust/kcl-lib/e2e/executor/inputs/cylinder.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/cylinder.kcl @@ -1,3 +1,3 @@ -const cylinder = startSketchOn('XY') +const cylinder = startSketchOn(XY) |> circle(center= [0, 0], radius= 22) |> extrude(length = 14) diff --git a/rust/kcl-lib/e2e/executor/inputs/dimensions_match.kcl b/rust/kcl-lib/e2e/executor/inputs/dimensions_match.kcl index 5e34ad96c..fed26eb9e 100644 --- a/rust/kcl-lib/e2e/executor/inputs/dimensions_match.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/dimensions_match.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) diff --git a/rust/kcl-lib/e2e/executor/inputs/extrude-custom-plane.kcl b/rust/kcl-lib/e2e/executor/inputs/extrude-custom-plane.kcl index 3a7812c18..76adba417 100644 --- a/rust/kcl-lib/e2e/executor/inputs/extrude-custom-plane.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/extrude-custom-plane.kcl @@ -1,5 +1,5 @@ // create a sketch with name sketch000 -const sketch000 = startSketchOn('XY') +const sketch000 = startSketchOn(XY) |> startProfileAt([0.0, 0.0], %) |> line(end = [1.0, 1.0], tag = $line000) |> line(end = [0.0, -1.0], tag = $line001) diff --git a/rust/kcl-lib/e2e/executor/inputs/fillet-and-shell.kcl b/rust/kcl-lib/e2e/executor/inputs/fillet-and-shell.kcl index 762a76aea..7cd53de80 100644 --- a/rust/kcl-lib/e2e/executor/inputs/fillet-and-shell.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/fillet-and-shell.kcl @@ -41,7 +41,7 @@ miniHdmiHole = startSketchOn(XY) ], %) |> close() -case = startSketchOn('XY') +case = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [caseWidth, 0], $edge1) |> line(endAbsolute = [caseWidth, caseLength], $edge2) diff --git a/rust/kcl-lib/e2e/executor/inputs/function_sketch.kcl b/rust/kcl-lib/e2e/executor/inputs/function_sketch.kcl index 0b7252e24..01b9e0eac 100644 --- a/rust/kcl-lib/e2e/executor/inputs/function_sketch.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/function_sketch.kcl @@ -1,5 +1,5 @@ fn box = (h, l, w) => { - const myBox = startSketchOn('XY') + const myBox = startSketchOn(XY) |> startProfileAt([0,0], %) |> line(end = [0, l]) |> line(end = [w, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/function_sketch_with_position.kcl b/rust/kcl-lib/e2e/executor/inputs/function_sketch_with_position.kcl index d84f7ccc3..b54642210 100644 --- a/rust/kcl-lib/e2e/executor/inputs/function_sketch_with_position.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/function_sketch_with_position.kcl @@ -1,5 +1,5 @@ fn box = (p, h, l, w) => { - const myBox = startSketchOn('XY') + const myBox = startSketchOn(XY) |> startProfileAt(p, %) |> line(end = [0, l]) |> line(end = [w, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/helix_defaults.kcl b/rust/kcl-lib/e2e/executor/inputs/helix_defaults.kcl index 68ddef5c8..d816fdc1e 100644 --- a/rust/kcl-lib/e2e/executor/inputs/helix_defaults.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/helix_defaults.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> circle(center= [5, 5], radius= 10) |> extrude(length = 10) |> helixRevolutions({revolutions = 16, angleStart = 0}, %) diff --git a/rust/kcl-lib/e2e/executor/inputs/helix_defaults_negative_extrude.kcl b/rust/kcl-lib/e2e/executor/inputs/helix_defaults_negative_extrude.kcl index 23a8170e0..8cd30053c 100644 --- a/rust/kcl-lib/e2e/executor/inputs/helix_defaults_negative_extrude.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/helix_defaults_negative_extrude.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> circle(center = [5, 5], radius = 10) |> extrude(length = -10) |> helixRevolutions({revolutions = 16, angleStart = 0}, %) diff --git a/rust/kcl-lib/e2e/executor/inputs/helix_with_length.kcl b/rust/kcl-lib/e2e/executor/inputs/helix_with_length.kcl index 9cca910d2..43cfcd8fb 100644 --- a/rust/kcl-lib/e2e/executor/inputs/helix_with_length.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/helix_with_length.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> circle(center= [5, 5], radius= 10) |> extrude(length = 10) |> helixRevolutions({revolutions = 16, angleStart = 0, length = 3}, %) diff --git a/rust/kcl-lib/e2e/executor/inputs/kittycad_svg.kcl b/rust/kcl-lib/e2e/executor/inputs/kittycad_svg.kcl index 3e4597d34..431421f21 100644 --- a/rust/kcl-lib/e2e/executor/inputs/kittycad_svg.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/kittycad_svg.kcl @@ -1,4 +1,4 @@ -const svg = startSketchOn('XY') +const svg = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [2.52, -26.04]) // MoveAbsolute diff --git a/rust/kcl-lib/e2e/executor/inputs/lego.kcl b/rust/kcl-lib/e2e/executor/inputs/lego.kcl index b131b07b0..66426668d 100644 --- a/rust/kcl-lib/e2e/executor/inputs/lego.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/lego.kcl @@ -19,7 +19,7 @@ const lSegments = total_length / (lbumps + 1) const wSegments = total_width / (wbumps + 1) // make the base -const s = startSketchOn('XY') +const s = startSketchOn(XY) |> startProfileAt([-total_width / 2, -total_length / 2], %) |> line(end = [total_width, 0]) |> line(end = [0, total_length]) diff --git a/rust/kcl-lib/e2e/executor/inputs/linear_pattern3d_a_pattern.kcl b/rust/kcl-lib/e2e/executor/inputs/linear_pattern3d_a_pattern.kcl index 6c8b37146..9103d13d6 100644 --- a/rust/kcl-lib/e2e/executor/inputs/linear_pattern3d_a_pattern.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/linear_pattern3d_a_pattern.kcl @@ -1,4 +1,4 @@ -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 2]) |> line(end = [3, 1]) diff --git a/rust/kcl-lib/e2e/executor/inputs/math.kcl b/rust/kcl-lib/e2e/executor/inputs/math.kcl index 972da0422..e6f9da6cb 100644 --- a/rust/kcl-lib/e2e/executor/inputs/math.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/math.kcl @@ -1,4 +1,4 @@ -const svg = startSketchOn('XY') +const svg = startSketchOn(XY) |> lineTo([0],%) |> lineTo([0 + 1],%) |> lineTo([0 + 1 + 2],%) diff --git a/rust/kcl-lib/e2e/executor/inputs/member_expression_sketch.kcl b/rust/kcl-lib/e2e/executor/inputs/member_expression_sketch.kcl index e400e8824..1a0291af9 100644 --- a/rust/kcl-lib/e2e/executor/inputs/member_expression_sketch.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/member_expression_sketch.kcl @@ -1,5 +1,5 @@ fn square = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/mike_stress_test.kcl b/rust/kcl-lib/e2e/executor/inputs/mike_stress_test.kcl index 0519ffc6a..27bb6d9ba 100644 --- a/rust/kcl-lib/e2e/executor/inputs/mike_stress_test.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/mike_stress_test.kcl @@ -1,4 +1,4 @@ -const part001 = startSketchOn('XY') +const part001 = startSketchOn(XY) |> startProfileAt([0.0, 0.0], %) |> line(end = [-0.3670208139314082, 0.21201331909674526]) |> line(end = [-0.4707511307971115, 0.4905279615419764]) diff --git a/rust/kcl-lib/e2e/executor/inputs/negative_args.kcl b/rust/kcl-lib/e2e/executor/inputs/negative_args.kcl index a4e33f589..969064596 100644 --- a/rust/kcl-lib/e2e/executor/inputs/negative_args.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/negative_args.kcl @@ -3,7 +3,7 @@ const height = 10 const length = 12 fn box = (sk1, sk2, scale) => { - const boxSketch = startSketchOn('XY') + const boxSketch = startSketchOn(XY) |> startProfileAt([sk1, sk2], %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/no_visuals/export_side_effect.kcl b/rust/kcl-lib/e2e/executor/inputs/no_visuals/export_side_effect.kcl index 2a2d6b7d4..b76fe3cfe 100644 --- a/rust/kcl-lib/e2e/executor/inputs/no_visuals/export_side_effect.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/no_visuals/export_side_effect.kcl @@ -1,5 +1,5 @@ export fn foo = () => { return 0 } // This interacts with the engine. -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) diff --git a/rust/kcl-lib/e2e/executor/inputs/parametric.kcl b/rust/kcl-lib/e2e/executor/inputs/parametric.kcl index ddbe0cf8f..8ea8f5908 100644 --- a/rust/kcl-lib/e2e/executor/inputs/parametric.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/parametric.kcl @@ -7,7 +7,7 @@ const FOS = 2 const leg1 = 5 // inches const leg2 = 8 // inches const thickness = sqrt(distance * p * FOS * 6 / sigmaAllow / width) // inches -const bracket = startSketchOn('XY') +const bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, leg1]) |> line(end = [leg2, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/pentagon_fillet_sugar.kcl b/rust/kcl-lib/e2e/executor/inputs/pentagon_fillet_sugar.kcl index cd60cfc0e..1fc82d798 100644 --- a/rust/kcl-lib/e2e/executor/inputs/pentagon_fillet_sugar.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/pentagon_fillet_sugar.kcl @@ -4,7 +4,7 @@ let radius = 80 let circ = {angle_start: 0, angle_end: 360, radius: radius} let triangleLen = 500 -const p = startSketchOn('XY') +const p = startSketchOn(XY) |> startProfileAt([0, 0], %) |> angledLine({angle: 60, length:triangleLen}, %, $a) |> angledLine({angle: 180, length: triangleLen}, %, $b) diff --git a/rust/kcl-lib/e2e/executor/inputs/pipes_on_pipes.kcl b/rust/kcl-lib/e2e/executor/inputs/pipes_on_pipes.kcl index 4289a1b81..7cfe89ef1 100644 --- a/rust/kcl-lib/e2e/executor/inputs/pipes_on_pipes.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/pipes_on_pipes.kcl @@ -1,4 +1,4 @@ -const svg = startSketchOn('XY') +const svg = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [22.687663, -2.7664351]) // MoveRelative diff --git a/rust/kcl-lib/e2e/executor/inputs/riddle.kcl b/rust/kcl-lib/e2e/executor/inputs/riddle.kcl index 3a5a8178f..19480e19f 100644 --- a/rust/kcl-lib/e2e/executor/inputs/riddle.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/riddle.kcl @@ -6,7 +6,7 @@ fn m = (s) => { fn p = (xs, ys) => { let ox = 35 - (m(xs) % 70) let oy = 35 - (m(ys) % 70) - const r = startSketchOn('XZ') + const r = startSketchOn(XZ) |> startProfileAt([ox, oy], %) |> line(end = [1, 0]) |> line(end = [0, -1]) diff --git a/rust/kcl-lib/e2e/executor/inputs/riddle_small.kcl b/rust/kcl-lib/e2e/executor/inputs/riddle_small.kcl index 915c966d9..50e31c1ce 100644 --- a/rust/kcl-lib/e2e/executor/inputs/riddle_small.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/riddle_small.kcl @@ -8,7 +8,7 @@ let xs = 205804 let ys = 71816 let ox = 35 - (t(xs) % 70) let oy = 35 - (t(ys) % 70) - const r = startSketchOn('XZ') + const r = startSketchOn(XZ) |> startProfileAt([ox, oy], %) |> line(end = [1, 0]) |> line(end = [0, -1]) diff --git a/rust/kcl-lib/e2e/executor/inputs/router-template-slate.kcl b/rust/kcl-lib/e2e/executor/inputs/router-template-slate.kcl index 0667284eb..f2ea4f3f8 100644 --- a/rust/kcl-lib/e2e/executor/inputs/router-template-slate.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/router-template-slate.kcl @@ -9,7 +9,7 @@ const radius = 10 const depth = 30 const length001 = slateWidthHalf - radius const length002 = depth + minClampingDistance -const sketch001 = startSketchOn('XZ') +const sketch001 = startSketchOn(XZ) |> startProfileAt([0, depth - templateGap], %) |> xLine(length = length001, tag = $seg01) |> arc({ diff --git a/rust/kcl-lib/e2e/executor/inputs/scoped-tags.kcl b/rust/kcl-lib/e2e/executor/inputs/scoped-tags.kcl index 24c075a08..5ee1962fa 100644 --- a/rust/kcl-lib/e2e/executor/inputs/scoped-tags.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/scoped-tags.kcl @@ -1,5 +1,5 @@ fn rect = (origin) => { - return startSketchOn('XZ') + return startSketchOn(XZ) |> startProfileAt(origin, %) |> angledLine([0, 191.26], %, $rectangleSegmentA001) |> angledLine([ diff --git a/rust/kcl-lib/e2e/executor/inputs/sketch-on-chamfer-two-times-different-order.kcl b/rust/kcl-lib/e2e/executor/inputs/sketch-on-chamfer-two-times-different-order.kcl index 9e3f65986..1159bdd7c 100644 --- a/rust/kcl-lib/e2e/executor/inputs/sketch-on-chamfer-two-times-different-order.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/sketch-on-chamfer-two-times-different-order.kcl @@ -1,4 +1,4 @@ -const sketch001 = startSketchOn('XZ') +const sketch001 = startSketchOn(XZ) |> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag] |> angledLine([0, 268.43], %, $rectangleSegmentA001) |> angledLine([ diff --git a/rust/kcl-lib/e2e/executor/inputs/sketch-on-chamfer-two-times.kcl b/rust/kcl-lib/e2e/executor/inputs/sketch-on-chamfer-two-times.kcl index 1d46f473a..5cdd0a23f 100644 --- a/rust/kcl-lib/e2e/executor/inputs/sketch-on-chamfer-two-times.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/sketch-on-chamfer-two-times.kcl @@ -1,4 +1,4 @@ -const sketch001 = startSketchOn('XZ') +const sketch001 = startSketchOn(XZ) |> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag] |> angledLine([0, 268.43], %, $rectangleSegmentA001) |> angledLine([ diff --git a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face.kcl b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face.kcl index 2b1b537a5..4e0d6f78d 100644 --- a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face.kcl @@ -1,4 +1,4 @@ -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([11.19, 28.35], %) |> line(end = [28.67, -13.25], tag = $here) |> line(end = [-4.12, -22.81]) diff --git a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_after_fillets_referencing_face.kcl b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_after_fillets_referencing_face.kcl index 7230bde81..1c3562268 100644 --- a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_after_fillets_referencing_face.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_after_fillets_referencing_face.kcl @@ -23,7 +23,7 @@ thickness = sqrt(6 * M * FOS / (width * sigmaAllow)) filletR = 0.25 // Sketch the bracket and extrude with fillets -bracket = startSketchOn('XY') +bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, wallMountL], tag = $outerEdge) |> line(end = [-shelfMountL, 0], tag = $seg01) diff --git a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_circle_tagged.kcl b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_circle_tagged.kcl index e11b6405f..0d1e62d40 100644 --- a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_circle_tagged.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_circle_tagged.kcl @@ -1,5 +1,5 @@ fn cube = (pos, scale) => { - const sg = startSketchOn('XY') + const sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_end.kcl b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_end.kcl index 88a56772f..6f97f426b 100644 --- a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_end.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_end.kcl @@ -1,5 +1,5 @@ fn cube = (pos, scale) => { - const sg = startSketchOn('XY') + const sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_end_negative_extrude.kcl b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_end_negative_extrude.kcl index 45c48793e..b479b80d1 100644 --- a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_end_negative_extrude.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_end_negative_extrude.kcl @@ -1,5 +1,5 @@ fn cube = (pos, scale) => { - const sg = startSketchOn('XY') + const sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_start.kcl b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_start.kcl index b64f626c1..f71df502e 100644 --- a/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_start.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/sketch_on_face_start.kcl @@ -1,5 +1,5 @@ fn cube = (pos, scale) => { - const sg = startSketchOn('XY') + const sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/e2e/executor/inputs/tan_arc_x_line.kcl b/rust/kcl-lib/e2e/executor/inputs/tan_arc_x_line.kcl index f2b46c3f5..84effde32 100644 --- a/rust/kcl-lib/e2e/executor/inputs/tan_arc_x_line.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/tan_arc_x_line.kcl @@ -4,7 +4,7 @@ let angleOffset = 135 let r = 1 let angleStart = 110 -startSketchOn('XY') +startSketchOn(XY) |> startProfileAt([startX, startY], %) |> angledLine({ angle: angleStart, diff --git a/rust/kcl-lib/e2e/executor/inputs/test-circle-extrude.kcl b/rust/kcl-lib/e2e/executor/inputs/test-circle-extrude.kcl index cd31727ba..b601a90a7 100644 --- a/rust/kcl-lib/e2e/executor/inputs/test-circle-extrude.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/test-circle-extrude.kcl @@ -1,4 +1,4 @@ -sketch002 = startSketchOn('XZ') +sketch002 = startSketchOn(XZ) |> startProfileAt([-108.83, -57.48], %) |> angledLine([0, 105.13], %, $rectangleSegmentA001) |> angledLine([ @@ -10,5 +10,5 @@ sketch002 = startSketchOn('XZ') -segLen(rectangleSegmentA001) ], %) |> close() -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> circle(center = [318.33, 168.1], radius = 182.8) diff --git a/rust/kcl-lib/e2e/executor/inputs/xz_plane.kcl b/rust/kcl-lib/e2e/executor/inputs/xz_plane.kcl index d073d7830..cc59d93e6 100644 --- a/rust/kcl-lib/e2e/executor/inputs/xz_plane.kcl +++ b/rust/kcl-lib/e2e/executor/inputs/xz_plane.kcl @@ -1,4 +1,4 @@ -part001 = startSketchOn('XZ') +part001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(endAbsolute = [100, 100]) |> line(endAbsolute = [100, 0]) diff --git a/rust/kcl-lib/e2e/executor/main.rs b/rust/kcl-lib/e2e/executor/main.rs index 718486348..38b18082d 100644 --- a/rust/kcl-lib/e2e/executor/main.rs +++ b/rust/kcl-lib/e2e/executor/main.rs @@ -39,7 +39,7 @@ async fn kcl_test_fillet_duplicate_tags() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_execute_engine_error_return() { - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([5.5229, 5.25217], %) |> line(end = [10.50433, -1.19122]) |> line(end = [8.01362, -5.48731]) @@ -52,7 +52,7 @@ async fn kcl_test_execute_engine_error_return() { assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"engine: KclErrorDetails { source_ranges: [SourceRange([228, 247, 0])], message: "Modeling command failed: [ApiError { error_code: BadRequest, message: \"The path is not closed. Solid2D construction requires a closed path!\" }]" }"#, + r#"engine: KclErrorDetails { source_ranges: [SourceRange([226, 245, 0])], message: "Modeling command failed: [ApiError { error_code: BadRequest, message: \"The path is not closed. Solid2D construction requires a closed path!\" }]" }"#, ); } @@ -221,7 +221,7 @@ filletR = thickness * 2 shelfMountL = 9 wallMountL = 8 -bracket = startSketchOn('XY') +bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, wallMountL]) |> tangentialArc({ radius= filletR, offset: 90 }, %) @@ -236,7 +236,7 @@ bracket = startSketchOn('XY') |> close() |> extrude(length = width) -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-15.53, -10.28], %) |> line(end = [10.49, -2.08]) |> line(end = [10.42, 8.47]) @@ -256,7 +256,7 @@ part003 = startSketchOn('-XZ') |> line(end = [8.39, -3.73]) |> close() -part004 = startSketchOn('YZ') +part004 = startSketchOn(YZ) |> startProfileAt([19.04, 20.22], %) |> line(end = [9.44, -30.16]) |> line(end = [8.39, -3.73]) @@ -269,7 +269,7 @@ part004 = startSketchOn('YZ') #[tokio::test(flavor = "multi_thread")] async fn kcl_test_holes() { - let code = r#"square = startSketchOn('XY') + let code = r#"square = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10]) |> line(end = [10, 0]) @@ -288,7 +288,7 @@ async fn kcl_test_holes() { async fn optional_params() { let code = r#" fn other_circle = (pos, radius, tag?) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> arc({angleEnd = 360, angleStart = 0, radius}, %) |> close() @@ -310,7 +310,7 @@ async fn kcl_test_rounded_with_holes() { } fn roundedRectangle = (pos, w, l, cornerRadius) => { - rr = startSketchOn('XY') + rr = startSketchOn(XY) |> startProfileAt([pos[0] - w/2, 0], %) |> line(endAbsolute = [pos[0] - w/2, pos[1] - l/2 + cornerRadius]) |> tarc([pos[0] - w/2 + cornerRadius, pos[1] - l/2], %, $arc0) @@ -341,7 +341,7 @@ part = roundedRectangle([0, 0], 20, 20, 4) #[tokio::test(flavor = "multi_thread")] async fn kcl_test_top_level_expression() { - let code = r#"startSketchOn('XY') |> circle(center = [0,0], radius= 22) |> extrude(length = 14)"#; + let code = r#"startSketchOn(XY) |> circle(center = [0,0], radius= 22) |> extrude(length = 14)"#; let result = execute_and_snapshot(code, None).await.unwrap(); assert_out("top_level_expression", &result); @@ -351,7 +351,7 @@ async fn kcl_test_top_level_expression() { async fn kcl_test_patterns_linear_basic_with_math() { let code = r#"num = 12 distance = 5 -part = startSketchOn('XY') +part = startSketchOn(XY) |> circle(center = [0,0], radius= 2) |> patternLinear2d(axis = [0,1], instances = num, distance = distance - 1) |> extrude(length = 1) @@ -363,7 +363,7 @@ part = startSketchOn('XY') #[tokio::test(flavor = "multi_thread")] async fn kcl_test_patterns_linear_basic() { - let code = r#"part = startSketchOn('XY') + let code = r#"part = startSketchOn(XY) |> circle(center = [0,0], radius= 2) |> patternLinear2d(axis = [0,1], instances = 13, distance = 4) |> extrude(length = 1) @@ -375,7 +375,7 @@ async fn kcl_test_patterns_linear_basic() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_patterns_linear_basic_3d() { - let code = r#"part = startSketchOn('XY') + let code = r#"part = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0,1]) |> line(end = [1, 0]) @@ -391,7 +391,7 @@ async fn kcl_test_patterns_linear_basic_3d() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_patterns_linear_basic_negative_distance() { - let code = r#"part = startSketchOn('XY') + let code = r#"part = startSketchOn(XY) |> circle(center = [0,0], radius= 2) |> patternLinear2d(axis = [0,1], instances = 13, distance = -2) |> extrude(length = 1) @@ -403,7 +403,7 @@ async fn kcl_test_patterns_linear_basic_negative_distance() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_patterns_linear_basic_negative_axis() { - let code = r#"part = startSketchOn('XY') + let code = r#"part = startSketchOn(XY) |> circle(center = [0,0], radius= 2) |> patternLinear2d(axis = [0,-1], instances = 13, distance = 2) |> extrude(length = 1) @@ -415,11 +415,11 @@ async fn kcl_test_patterns_linear_basic_negative_axis() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_patterns_linear_basic_holes() { - let code = r#"circles = startSketchOn('XY') + let code = r#"circles = startSketchOn(XY) |> circle(center = [5, 5], radius= 1) |> patternLinear2d(axis = [1,1], instances = 13, distance = 3) -rectangle = startSketchOn('XY') +rectangle = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 50]) |> line(end = [50, 0]) @@ -436,7 +436,7 @@ rectangle = startSketchOn('XY') #[tokio::test(flavor = "multi_thread")] async fn kcl_test_patterns_circular_basic_2d() { - let code = r#"part = startSketchOn('XY') + let code = r#"part = startSketchOn(XY) |> circle(center = [0,0], radius= 2) |> patternCircular2d(center = [20, 20], instances = 13, arcDegrees = 210, rotateDuplicates = true) |> extrude(length = 1) @@ -448,7 +448,7 @@ async fn kcl_test_patterns_circular_basic_2d() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_patterns_circular_basic_3d() { - let code = r#"part = startSketchOn('XY') + let code = r#"part = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0,1]) |> line(end = [1, 0]) @@ -464,7 +464,7 @@ async fn kcl_test_patterns_circular_basic_3d() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_patterns_circular_3d_tilted_axis() { - let code = r#"part = startSketchOn('XY') + let code = r#"part = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0,1]) |> line(end = [1, 0]) @@ -572,7 +572,7 @@ model = cube"#; #[tokio::test(flavor = "multi_thread")] async fn kcl_test_cube_mm() { let code = r#"fn cube = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) @@ -703,7 +703,7 @@ myCube = cube([0,0], 10) #[tokio::test(flavor = "multi_thread")] async fn kcl_test_error_sketch_on_arc_face() { let code = r#"fn cube = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> tangentialArcToRelative([0, scale], %, $here) |> line(end = [scale, 0]) @@ -739,7 +739,7 @@ part002 = startSketchOn(part001, part001.sketch.tags.here) #[tokio::test(flavor = "multi_thread")] async fn kcl_test_sketch_on_face_of_face() { let code = r#"fn cube = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) @@ -774,7 +774,7 @@ part003 = startSketchOn(part002, "end") #[tokio::test(flavor = "multi_thread")] async fn kcl_test_stdlib_kcl_error_right_code_path() { - let code = r#"square = startSketchOn('XY') + let code = r#"square = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10]) |> line(end = [10, 0]) @@ -799,7 +799,7 @@ async fn kcl_test_stdlib_kcl_error_right_code_path() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_sketch_on_face_circle() { let code = r#"fn cube = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) @@ -827,7 +827,7 @@ async fn kcl_test_stdlib_kcl_error_circle() { // Create a function that defines the body width and length of the mounting plate. Tag the corners so they can be passed through the fillet function. fn rectShape = (pos, w, l) => { - rr = startSketchOn('XY') + rr = startSketchOn(XY) |> startProfileAt([pos[0] - (w / 2), pos[1] - (l / 2)], %) |> line(endAbsolute = [pos[0] + w / 2, pos[1] - (l / 2)], tag = $edge1) |> line(endAbsolute = [pos[0] + w / 2, pos[1] + l / 2], tag = $edge2) @@ -842,10 +842,10 @@ holeIndex = 6 // Create the mounting plate extrusion, holes, and fillets part = rectShape([0, 0], 20, 20) - |> hole(circle('XY', [-holeIndex, holeIndex], holeRadius), %) - |> hole(circle('XY', [holeIndex, holeIndex], holeRadius), %) - |> hole(circle('XY', [-holeIndex, -holeIndex], holeRadius), %) - |> hole(circle('XY', [holeIndex, -holeIndex], holeRadius), %) + |> hole(circle(XY, [-holeIndex, holeIndex], holeRadius), %) + |> hole(circle(XY, [holeIndex, holeIndex], holeRadius), %) + |> hole(circle(XY, [-holeIndex, -holeIndex], holeRadius), %) + |> hole(circle(XY, [holeIndex, -holeIndex], holeRadius), %) |> extrude(length = 2) |> fillet( radius = 4, @@ -865,13 +865,13 @@ part = rectShape([0, 0], 20, 20) }; assert_eq!( err.error.message(), - "This function expected the input argument to be of type SketchOrSurface but it's actually of type string (text)" + "This function requires a keyword argument 'center'" ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_simple_revolve() { - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -891,7 +891,7 @@ async fn kcl_test_simple_revolve() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_simple_revolve_uppercase() { - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -911,7 +911,7 @@ async fn kcl_test_simple_revolve_uppercase() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_simple_revolve_negative() { - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -931,7 +931,7 @@ async fn kcl_test_simple_revolve_negative() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_revolve_bad_angle_low() { - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -957,7 +957,7 @@ async fn kcl_test_revolve_bad_angle_low() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_revolve_bad_angle_high() { - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -983,7 +983,7 @@ async fn kcl_test_revolve_bad_angle_high() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_simple_revolve_custom_angle() { - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -1003,7 +1003,7 @@ async fn kcl_test_simple_revolve_custom_angle() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_simple_revolve_custom_axis() { - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -1023,7 +1023,7 @@ async fn kcl_test_simple_revolve_custom_axis() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_revolve_on_edge() { - let code = r#"box = startSketchOn('XY') + let code = r#"box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10]) |> line(end = [10, 0]) @@ -1047,7 +1047,7 @@ sketch001 = startSketchOn(box, "end") #[tokio::test(flavor = "multi_thread")] async fn kcl_test_revolve_on_edge_get_edge() { - let code = r#"box = startSketchOn('XY') + let code = r#"box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10]) |> line(end = [10, 0]) @@ -1077,7 +1077,7 @@ sketch001 = startSketchOn(box, revolveAxis) #[tokio::test(flavor = "multi_thread")] async fn kcl_test_revolve_on_face_circle_edge() { - let code = r#"box = startSketchOn('XY') + let code = r#"box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 20]) |> line(end = [20, 0]) @@ -1099,7 +1099,7 @@ sketch001 = startSketchOn(box, "END") #[tokio::test(flavor = "multi_thread")] async fn kcl_test_revolve_on_face_circle() { - let code = r#"box = startSketchOn('XY') + let code = r#"box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 20]) |> line(end = [20, 0], tag = $revolveAxis) @@ -1121,7 +1121,7 @@ sketch001 = startSketchOn(box, "END") #[tokio::test(flavor = "multi_thread")] async fn kcl_test_revolve_on_face() { - let code = r#"box = startSketchOn('XY') + let code = r#"box = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10]) |> line(end = [10, 0]) @@ -1147,7 +1147,7 @@ sketch001 = startSketchOn(box, "end") #[tokio::test(flavor = "multi_thread")] async fn kcl_test_basic_revolve_circle() { - let code = r#"sketch001 = startSketchOn('XY') + let code = r#"sketch001 = startSketchOn(XY) |> circle(center = [15, 0], radius= 5) |> revolve( angle = 360, @@ -1161,7 +1161,7 @@ async fn kcl_test_basic_revolve_circle() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_simple_revolve_sketch_on_edge() { - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) @@ -1202,7 +1202,7 @@ async fn kcl_test_plumbus_fillets() { } fn pentagon = (len) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt([-len / 2, -len / 2], %) |> angledLine({ angle: 0, length: len }, %, $a) |> angledLine({ @@ -1309,7 +1309,7 @@ thickness = sqrt(6 * M * FOS / (width * sigmaAllow)) filletR = 0.25 // Sketch the bracket and extrude with fillets -bracket = startSketchOn('XY') +bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, wallMountL], tag = $outerEdge) |> line(end = [-shelfMountL, 0]) @@ -1364,7 +1364,7 @@ height = 0.500 dia = 4 fn squareHole = (l, w) => { - squareHoleSketch = startSketchOn('XY') + squareHoleSketch = startSketchOn(XY) |> startProfileAt([-width / 2, -length / 2], %) |> line(endAbsolute = [width / 2, -length / 2]) |> line(endAbsolute = [width / 2, length / 2]) @@ -1373,7 +1373,7 @@ fn squareHole = (l, w) => { return squareHoleSketch } -extrusion = startSketchOn('XY') +extrusion = startSketchOn(XY) |> circle(center = [0, 0], radius= dia/2 ) |> hole(squareHole(length, width, height), %) |> extrude(length = height) @@ -1383,13 +1383,13 @@ extrusion = startSketchOn('XY') assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"semantic: KclErrorDetails { source_ranges: [SourceRange([68, 360, 0]), SourceRange([449, 482, 0])], message: "Expected 2 arguments, got 3" }"# + r#"semantic: KclErrorDetails { source_ranges: [SourceRange([68, 358, 0]), SourceRange([445, 478, 0])], message: "Expected 2 arguments, got 3" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_array_of_sketches() { - let code = r#"plane001 = startSketchOn('XZ') + let code = r#"plane001 = startSketchOn(XZ) profile001 = plane001 |> startProfileAt([40.82, 240.82], %) @@ -1418,7 +1418,7 @@ sketch001 = [profile001, profile002] #[tokio::test(flavor = "multi_thread")] async fn kcl_test_circular_pattern3d_array_of_extrudes() { - let code = r#"plane001 = startSketchOn('XZ') + let code = r#"plane001 = startSketchOn(XZ) sketch001 = plane001 |> startProfileAt([40.82, 240.82], %) @@ -1551,7 +1551,7 @@ baseExtrusion = extrude(sketch001, length = width) #[tokio::test(flavor = "multi_thread")] async fn kcl_test_shell_with_tag() { - let code = r#"sketch001 = startSketchOn('XZ') + let code = r#"sketch001 = startSketchOn(XZ) |> startProfileAt([61.74, 206.13], %) |> xLine(length = 305.11, tag = $seg01) |> yLine(length = -291.85) @@ -1572,7 +1572,7 @@ async fn kcl_test_shell_with_tag() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_linear_pattern3d_filleted_sketch() { let code = r#"fn cube = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) @@ -1603,7 +1603,7 @@ pattn1 = patternLinear3d( #[tokio::test(flavor = "multi_thread")] async fn kcl_test_circular_pattern3d_filleted_sketch() { let code = r#"fn cube = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) @@ -1630,7 +1630,7 @@ pattn2 = patternCircular3d(part001, axis = [0,0, 1], center = [-20, -20, -20], i #[tokio::test(flavor = "multi_thread")] async fn kcl_test_circular_pattern3d_chamfered_sketch() { let code = r#"fn cube = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) @@ -1656,7 +1656,7 @@ pattn2 = patternCircular3d(part001, axis = [0,0, 1], center = [-20, -20, -20], i #[tokio::test(flavor = "multi_thread")] async fn kcl_test_tag_chamfer_with_more_than_one_edge_should_fail() { let code = r#"fn cube = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) @@ -1690,7 +1690,7 @@ part001 = cube([0,0], 20) #[tokio::test(flavor = "multi_thread")] async fn kcl_test_duplicate_tags_should_error() { let code = r#"fn triangle = (len) => { - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt([-len / 2, -len / 2], %) |> angledLine({ angle: 0, length: len }, %, $a) |> angledLine({ @@ -1710,7 +1710,7 @@ let p = triangle(200) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"value already defined: KclErrorDetails { source_ranges: [SourceRange([311, 313, 0]), SourceRange([326, 339, 0])], message: "Cannot redefine `a`" }"# + r#"value already defined: KclErrorDetails { source_ranges: [SourceRange([309, 311, 0]), SourceRange([324, 337, 0])], message: "Cannot redefine `a`" }"# ); } @@ -1765,7 +1765,7 @@ async fn kcl_test_extrude_custom_plane() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_arc_error_same_start_end() { - let code = r#"startSketchOn('XY') + let code = r#"startSketchOn(XY) |> startProfileAt([10, 0], %) |> arc({ angleStart: 180, @@ -1785,13 +1785,13 @@ async fn kcl_test_arc_error_same_start_end() { assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([57, 138, 0])], message: "Arc start and end angles must be different" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([55, 136, 0])], message: "Arc start and end angles must be different" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_angled_line_to_x_90() { - let code = r#"exampleSketch = startSketchOn('XZ') + let code = r#"exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLineToX({ angle: 90, to: 10 }, %) |> line(end = [0, 10]) @@ -1805,13 +1805,13 @@ example = extrude(exampleSketch, length = 10) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([72, 111, 0])], message: "Cannot have an x constrained angle of 90 degrees" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([70, 109, 0])], message: "Cannot have an x constrained angle of 90 degrees" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_angled_line_to_x_270() { - let code = r#"exampleSketch = startSketchOn('XZ') + let code = r#"exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLineToX({ angle: 270, to: 10 }, %) |> line(end = [0, 10]) @@ -1825,13 +1825,13 @@ example = extrude(exampleSketch, length = 10) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([72, 112, 0])], message: "Cannot have an x constrained angle of 270 degrees" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([70, 110, 0])], message: "Cannot have an x constrained angle of 270 degrees" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_angled_line_to_y_0() { - let code = r#"exampleSketch = startSketchOn('XZ') + let code = r#"exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLineToY({ angle: 0, to: 20 }, %) |> line(end = [-20, 0]) @@ -1845,13 +1845,13 @@ example = extrude(exampleSketch, length = 10) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([72, 110, 0])], message: "Cannot have a y constrained angle of 0 degrees" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([70, 108, 0])], message: "Cannot have a y constrained angle of 0 degrees" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_angled_line_to_y_180() { - let code = r#"exampleSketch = startSketchOn('XZ') + let code = r#"exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLineToY({ angle: 180, to: 20 }, %) |> line(end = [-20, 0]) @@ -1865,13 +1865,13 @@ example = extrude(exampleSketch, length = 10) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([72, 112, 0])], message: "Cannot have a y constrained angle of 180 degrees" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([70, 110, 0])], message: "Cannot have a y constrained angle of 180 degrees" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_angled_line_of_x_length_90() { - let code = r#"sketch001 = startSketchOn('XZ') + let code = r#"sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLineOfXLength({ angle: 90, length: 10 }, %, $edge1) |> angledLineOfXLength({ angle: -15, length: 20 }, %, $edge2) @@ -1885,13 +1885,13 @@ extrusion = extrude(sketch001, length = 10) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([68, 125, 0])], message: "Cannot have an x constrained angle of 90 degrees" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([66, 123, 0])], message: "Cannot have an x constrained angle of 90 degrees" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_angled_line_of_x_length_270() { - let code = r#"sketch001 = startSketchOn('XZ') + let code = r#"sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLineOfXLength({ angle: 90, length: 10 }, %, $edge1) |> angledLineOfXLength({ angle: -15, length: 20 }, %, $edge2) @@ -1905,13 +1905,13 @@ extrusion = extrude(sketch001, length = 10) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([68, 125, 0])], message: "Cannot have an x constrained angle of 90 degrees" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([66, 123, 0])], message: "Cannot have an x constrained angle of 90 degrees" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_angled_line_of_y_length_0() { - let code = r#"exampleSketch = startSketchOn('XZ') + let code = r#"exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> angledLineOfYLength({ angle: 0, length: 10 }, %) @@ -1927,13 +1927,13 @@ example = extrude(exampleSketch, length = 10) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([97, 145, 0])], message: "Cannot have a y constrained angle of 0 degrees" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([95, 143, 0])], message: "Cannot have a y constrained angle of 0 degrees" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_angled_line_of_y_length_180() { - let code = r#"exampleSketch = startSketchOn('XZ') + let code = r#"exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> angledLineOfYLength({ angle: 180, length: 10 }, %) @@ -1949,13 +1949,13 @@ example = extrude(exampleSketch, length = 10) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([97, 147, 0])], message: "Cannot have a y constrained angle of 180 degrees" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([95, 145, 0])], message: "Cannot have a y constrained angle of 180 degrees" }"# ); } #[tokio::test(flavor = "multi_thread")] async fn kcl_test_angled_line_of_y_length_negative_180() { - let code = r#"exampleSketch = startSketchOn('XZ') + let code = r#"exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [10, 0]) |> angledLineOfYLength({ angle: -180, length: 10 }, %) @@ -1971,7 +1971,7 @@ example = extrude(exampleSketch, length = 10) assert!(result.is_err()); assert_eq!( result.err().unwrap().to_string(), - r#"type: KclErrorDetails { source_ranges: [SourceRange([97, 148, 0])], message: "Cannot have a y constrained angle of 180 degrees" }"# + r#"type: KclErrorDetails { source_ranges: [SourceRange([95, 146, 0])], message: "Cannot have a y constrained angle of 180 degrees" }"# ); } @@ -2015,7 +2015,7 @@ someFunction('INVALID') #[tokio::test(flavor = "multi_thread")] async fn kcl_test_error_no_auth_websocket() { - let code = r#"const sketch001 = startSketchOn('XZ') + let code = r#"const sketch001 = startSketchOn(XZ) |> startProfileAt([61.74, 206.13], %) |> xLine(length = 305.11, tag = $seg01) |> yLine(length = -291.85) @@ -2049,8 +2049,8 @@ innerDiameter = 0.364 outerDiameter = 35 / 64 length = 1 + 1 / 2 -// create a sketch on the 'XY' plane -sketch000 = startSketchOn('XY') +// create a sketch on the XY plane +sketch000 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, innerDiameter / 2]) "#; @@ -2092,7 +2092,7 @@ async fn kcl_test_ensure_nothing_left_in_batch_multi_file() { #[tokio::test(flavor = "multi_thread")] async fn kcl_test_better_type_names() { - let code = r#"startSketchOn('XY') + let code = r#"startSketchOn(XY) |> circle(center = [-95.51, -74.7], radius = 262.23) |> appearance(metalness = 0.9) "#; diff --git a/rust/kcl-lib/e2e/modify/main.rs b/rust/kcl-lib/e2e/modify/main.rs index fe963c8f4..c93a7de84 100644 --- a/rust/kcl-lib/e2e/modify/main.rs +++ b/rust/kcl-lib/e2e/modify/main.rs @@ -60,7 +60,7 @@ async fn setup(code: &str, name: &str) -> Result<(ExecutorContext, Program, Modu async fn kcl_test_modify_sketch_part001() { let name = "part001"; let code = format!( - r#"{} = startSketchOn("XY") + r#"{} = startSketchOn(XY) |> startProfileAt([8.41, 5.78], %) |> line(end = [7.37, -11]) |> line(end = [-8.69, -3.75]) @@ -85,7 +85,7 @@ async fn kcl_test_modify_sketch_part001() { async fn kcl_test_modify_sketch_part002() { let name = "part002"; let code = format!( - r#"{} = startSketchOn("XY") + r#"{} = startSketchOn(XY) |> startProfileAt([8.41, 5.78], %) |> line(end = [7.42, -8.62]) |> line(end = [-6.38, -3.51]) @@ -111,7 +111,7 @@ async fn kcl_test_modify_sketch_part002() { async fn kcl_test_modify_close_sketch() { let name = "part002"; let code = format!( - r#"{} = startSketchOn("XY") + r#"{} = startSketchOn(XY) |> startProfileAt([7.91, 3.89], %) |> line(end = [7.42, -8.62]) |> line(end = [-6.38, -3.51]) @@ -137,7 +137,7 @@ async fn kcl_test_modify_close_sketch() { async fn kcl_test_modify_line_to_close_sketch() { let name = "part002"; let code = format!( - r#"const {} = startSketchOn("XY") + r#"const {} = startSketchOn(XY) |> startProfileAt([7.91, 3.89], %) |> line(end = [7.42, -8.62]) |> line(end = [-6.38, -3.51]) @@ -157,7 +157,7 @@ async fn kcl_test_modify_line_to_close_sketch() { assert_eq!( new_code, format!( - r#"{} = startSketchOn("XY") + r#"{} = startSketchOn(XY) |> startProfileAt([7.91, 3.89], %) |> line(end = [7.42, -8.62]) |> line(end = [-6.38, -3.51]) @@ -174,7 +174,7 @@ async fn kcl_test_modify_with_constraint() { let name = "part002"; let code = format!( r#"const thing = 12 -const {} = startSketchOn("XY") +const {} = startSketchOn(XY) |> startProfileAt([7.91, 3.89], %) |> line(end = [7.42, -8.62]) |> line(end = [-6.38, -3.51]) @@ -199,7 +199,7 @@ const {} = startSketchOn("XY") async fn kcl_test_modify_line_should_close_sketch() { let name = "part003"; let code = format!( - r#"const {} = startSketchOn("XY") + r#"const {} = startSketchOn(XY) |> startProfileAt([13.69, 3.8], %) |> line(end = [4.23, -11.79]) |> line(end = [-10.7, -1.16]) @@ -219,7 +219,7 @@ async fn kcl_test_modify_line_should_close_sketch() { assert_eq!( new_code, format!( - r#"{} = startSketchOn("XY") + r#"{} = startSketchOn(XY) |> startProfileAt([13.69, 3.8], %) |> line(end = [4.23, -11.79]) |> line(end = [-10.7, -1.16]) diff --git a/rust/kcl-lib/src/lsp/tests.rs b/rust/kcl-lib/src/lsp/tests.rs index e0f2dee63..196ab8e86 100644 --- a/rust/kcl-lib/src/lsp/tests.rs +++ b/rust/kcl-lib/src/lsp/tests.rs @@ -726,7 +726,7 @@ async fn test_kcl_lsp_completions_tags() { uri: "file:///test.kcl".try_into().unwrap(), language_id: "kcl".to_string(), version: 1, - text: r#"part001 = startSketchOn('XY') + text: r#"part001 = startSketchOn(XY) |> startProfileAt([11.19, 28.35], %) |> line(end = [28.67, -13.25], tag = $here) |> line(end = [-4.12, -22.81]) @@ -1078,7 +1078,7 @@ async fn test_kcl_lsp_signature_help() { content_changes: vec![tower_lsp::lsp_types::TextDocumentContentChangeEvent { range: None, range_length: None, - text: "startSketchOn('XY')".to_string(), + text: "startSketchOn(XY)".to_string(), }], }) .await; @@ -1123,7 +1123,7 @@ async fn test_kcl_lsp_semantic_tokens() { uri: "file:///test.kcl".try_into().unwrap(), language_id: "kcl".to_string(), version: 1, - text: "startSketchOn('XY')".to_string(), + text: "startSketchOn(XY)".to_string(), }, }) .await; @@ -1153,13 +1153,13 @@ async fn test_kcl_lsp_semantic_tokens() { .get_semantic_token_type_index(&SemanticTokenType::FUNCTION) .unwrap() ); - assert_eq!(semantic_tokens.data[1].length, 4); + assert_eq!(semantic_tokens.data[1].length, 2); assert_eq!(semantic_tokens.data[1].delta_start, 14); assert_eq!(semantic_tokens.data[1].delta_line, 0); assert_eq!( semantic_tokens.data[1].token_type, server - .get_semantic_token_type_index(&SemanticTokenType::STRING) + .get_semantic_token_type_index(&SemanticTokenType::VARIABLE) .unwrap() ); } else { @@ -1216,7 +1216,7 @@ async fn test_kcl_lsp_semantic_tokens_with_modifiers() { uri: "file:///test.kcl".try_into().unwrap(), language_id: "kcl".to_string(), version: 1, - text: r#"part001 = startSketchOn('XY') + text: r#"part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20], tag = $seg01) @@ -1479,7 +1479,7 @@ async fn test_kcl_lsp_document_symbol() { language_id: "kcl".to_string(), version: 1, text: r#"myVar = 1 -startSketchOn('XY')"# +startSketchOn(XY)"# .to_string(), }, }) @@ -1518,7 +1518,7 @@ async fn test_kcl_lsp_document_symbol_tag() { uri: "file:///test.kcl".try_into().unwrap(), language_id: "kcl".to_string(), version: 1, - text: r#"part001 = startSketchOn('XY') + text: r#"part001 = startSketchOn(XY) |> startProfileAt([11.19, 28.35], %) |> line(end = [28.67, -13.25], tag = $here) |> line(end = [-4.12, -22.81]) @@ -1564,7 +1564,7 @@ async fn test_kcl_lsp_formatting() { uri: "file:///test.kcl".try_into().unwrap(), language_id: "kcl".to_string(), version: 1, - text: r#"startSketchOn('XY') + text: r#"startSketchOn(XY) |> startProfileAt([0,0], %)"# .to_string(), }, @@ -1595,7 +1595,7 @@ async fn test_kcl_lsp_formatting() { assert_eq!(formatting.len(), 1); assert_eq!( formatting[0].new_text, - r#"startSketchOn('XY') + r#"startSketchOn(XY) |> startProfileAt([0, 0], %)"# ); } @@ -1621,7 +1621,7 @@ thickness = 0.25 overHangLength = .4 // Sketch and revolve the inside bearing piece -insideRevolve = startSketchOn('XZ') +insideRevolve = startSketchOn(XZ) |> startProfileAt([insideDia / 2, 0], %) |> line(end = [0, thickness + sphereDia / 2]) |> line(end = [overHangLength, 0]) @@ -1635,7 +1635,7 @@ insideRevolve = startSketchOn('XZ') |> revolve({ axis: 'y' }, %) // Sketch and revolve one of the balls and duplicate it using a circular pattern. (This is currently a workaround, we have a bug with rotating on a sketch that touches the rotation axis) -sphere = startSketchOn('XZ') +sphere = startSketchOn(XZ) |> startProfileAt([ 0.05 + insideDia / 2 + thickness, 0 - 0.05 @@ -1657,7 +1657,7 @@ sphere = startSketchOn('XZ') ) // Sketch and revolve the outside bearing -outsideRevolve = startSketchOn('XZ') +outsideRevolve = startSketchOn(XZ) |> startProfileAt([ insideDia / 2 + thickness + sphereDia, 0 @@ -1721,7 +1721,7 @@ thickness = 0.25 overHangLength = .4 // Sketch and revolve the inside bearing piece -insideRevolve = startSketchOn('XZ') +insideRevolve = startSketchOn(XZ) |> startProfileAt([insideDia / 2, 0], %) |> line(end = [0, thickness + sphereDia / 2]) |> line(end = [overHangLength, 0]) @@ -1735,7 +1735,7 @@ insideRevolve = startSketchOn('XZ') |> revolve({ axis = 'y' }, %) // Sketch and revolve one of the balls and duplicate it using a circular pattern. (This is currently a workaround, we have a bug with rotating on a sketch that touches the rotation axis) -sphere = startSketchOn('XZ') +sphere = startSketchOn(XZ) |> startProfileAt([ 0.05 + insideDia / 2 + thickness, 0 - 0.05 @@ -1757,7 +1757,7 @@ sphere = startSketchOn('XZ') ) // Sketch and revolve the outside bearing -outsideRevolve = startSketchOn('XZ') +outsideRevolve = startSketchOn(XZ) |> startProfileAt([ insideDia / 2 + thickness + sphereDia, 0 @@ -2007,7 +2007,7 @@ async fn test_copilot_lsp_completions_raw() { let completions = server .get_completions( "kcl".to_string(), - r#"bracket = startSketchOn('XY') + r#"bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) "# .to_string(), @@ -2026,7 +2026,7 @@ async fn test_copilot_lsp_completions_raw() { let completions_hit_cache = server .get_completions( "kcl".to_string(), - r#"bracket = startSketchOn('XY') + r#"bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) "# .to_string(), @@ -2066,7 +2066,7 @@ async fn test_copilot_lsp_completions() { path: "file:///test.copilot".to_string(), position: crate::lsp::copilot::types::CopilotPosition { line: 3, character: 3 }, relative_path: "test.copilot".to_string(), - source: r#"bracket = startSketchOn('XY') + source: r#"bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) |> close() @@ -2388,7 +2388,7 @@ async fn kcl_test_kcl_lsp_diagnostics_on_execution_error() { uri: "file:///test.kcl".try_into().unwrap(), language_id: "kcl".to_string(), version: 1, - text: r#"part001 = startSketchOn('XY') + text: r#"part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -2409,7 +2409,7 @@ async fn kcl_test_kcl_lsp_diagnostics_on_execution_error() { assert_diagnostic_count(server.diagnostics_map.get("file:///test.kcl").as_deref(), 1); // Update the text. - let new_text = r#"part001 = startSketchOn('XY') + let new_text = r#"part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -2447,7 +2447,7 @@ async fn kcl_test_kcl_lsp_full_to_empty_file_updates_ast_and_memory() { uri: "file:///test.kcl".try_into().unwrap(), language_id: "kcl".to_string(), version: 1, - text: r#"part001 = startSketchOn('XY') + text: r#"part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -2490,7 +2490,7 @@ async fn kcl_test_kcl_lsp_full_to_empty_file_updates_ast_and_memory() { async fn kcl_test_kcl_lsp_code_unchanged_but_has_diagnostics_reexecute() { let server = kcl_lsp_server(true).await.unwrap(); - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -2576,7 +2576,7 @@ async fn kcl_test_kcl_lsp_code_unchanged_but_has_diagnostics_reexecute() { async fn kcl_test_kcl_lsp_code_and_ast_unchanged_but_has_diagnostics_reexecute() { let server = kcl_lsp_server(true).await.unwrap(); - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -2651,7 +2651,7 @@ async fn kcl_test_kcl_lsp_code_and_ast_unchanged_but_has_diagnostics_reexecute() async fn kcl_test_kcl_lsp_cant_execute_set() { let server = kcl_lsp_server(true).await.unwrap(); - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -2730,7 +2730,7 @@ async fn test_kcl_lsp_folding() { uri: "file:///test.kcl".try_into().unwrap(), language_id: "kcl".to_string(), version: 1, - text: r#"startSketchOn('XY') + text: r#"startSketchOn(XY) |> startProfileAt([0,0], %)"# .to_string(), }, @@ -2755,12 +2755,12 @@ async fn test_kcl_lsp_folding() { assert_eq!( folding.first().unwrap().clone(), tower_lsp::lsp_types::FoldingRange { - start_line: 19, + start_line: 17, start_character: None, - end_line: 67, + end_line: 65, end_character: None, kind: Some(tower_lsp::lsp_types::FoldingRangeKind::Region), - collapsed_text: Some("startSketchOn('XY')".to_string()) + collapsed_text: Some("startSketchOn(XY)".to_string()) } ); } @@ -2769,7 +2769,7 @@ async fn test_kcl_lsp_folding() { async fn kcl_test_kcl_lsp_code_with_parse_error_and_ast_unchanged_but_has_diagnostics_reparse() { let server = kcl_lsp_server(false).await.unwrap(); - let code = r#"part001 = startSketchOn('XY') + let code = r#"part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -2824,7 +2824,7 @@ async fn kcl_test_kcl_lsp_code_with_lint_and_ast_unchanged_but_has_diagnostics_r let server = kcl_lsp_server(false).await.unwrap(); let code = r#"LINT = 1 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -2878,7 +2878,7 @@ async fn kcl_test_kcl_lsp_code_with_lint_and_parse_error_and_ast_unchanged_but_h let server = kcl_lsp_server(false).await.unwrap(); let code = r#"LINT = 1 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -2933,7 +2933,7 @@ async fn kcl_test_kcl_lsp_code_lint_and_ast_unchanged_but_has_diagnostics_reexec let server = kcl_lsp_server(true).await.unwrap(); let code = r#"LINT = 1 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20], tag = $seg01) @@ -2992,7 +2992,7 @@ async fn kcl_test_kcl_lsp_code_lint_reexecute_new_lint() { let server = kcl_lsp_server(true).await.unwrap(); let code = r#"LINT = 1 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20], tag = $seg01) @@ -3031,7 +3031,7 @@ part001 = startSketchOn('XY') content_changes: vec![tower_lsp::lsp_types::TextDocumentContentChangeEvent { range: None, range_length: None, - text: r#"part001 = startSketchOn('XY') + text: r#"part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20], tag = $seg01) @@ -3059,7 +3059,7 @@ async fn kcl_test_kcl_lsp_code_lint_reexecute_new_ast_error() { let server = kcl_lsp_server(true).await.unwrap(); let code = r#"LINT = 1 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20], tag = $seg01) @@ -3098,7 +3098,7 @@ part001 = startSketchOn('XY') content_changes: vec![tower_lsp::lsp_types::TextDocumentContentChangeEvent { range: None, range_length: None, - text: r#"part001 = startSketchOn('XY') + text: r#"part001 = startSketchOn(XY) |> ^^^^startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20], tag = $seg01) @@ -3126,7 +3126,7 @@ async fn kcl_test_kcl_lsp_code_lint_reexecute_had_lint_new_parse_error() { let server = kcl_lsp_server(true).await.unwrap(); let code = r#"LINT = 1 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -3173,7 +3173,7 @@ part001 = startSketchOn('XY') content_changes: vec![tower_lsp::lsp_types::TextDocumentContentChangeEvent { range: None, range_length: None, - text: r#"part001 = startSketchOn('XY') + text: r#"part001 = startSketchOn(XY) |> ^^^^startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -3209,7 +3209,7 @@ async fn kcl_test_kcl_lsp_code_lint_reexecute_had_lint_new_execution_error() { let server = kcl_lsp_server(true).await.unwrap(); let code = r#"LINT = 1 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0]) |> line(end = [0, 20]) @@ -3261,7 +3261,7 @@ part001 = startSketchOn('XY') range: None, range_length: None, text: r#"LINT = 1 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, 20], tag = $seg01) diff --git a/rust/kcl-lib/src/parsing/ast/types/literal_value.rs b/rust/kcl-lib/src/parsing/ast/types/literal_value.rs index 4d813630d..4b0304603 100644 --- a/rust/kcl-lib/src/parsing/ast/types/literal_value.rs +++ b/rust/kcl-lib/src/parsing/ast/types/literal_value.rs @@ -25,6 +25,13 @@ impl LiteralValue { suffix: NumericSuffix::None, } } + + pub fn string_value(&self) -> Option<&str> { + match self { + Self::String(s) => Some(s), + _ => None, + } + } } impl fmt::Display for LiteralValue { diff --git a/rust/kcl-lib/src/parsing/ast/types/mod.rs b/rust/kcl-lib/src/parsing/ast/types/mod.rs index 89531d78d..33b640b79 100644 --- a/rust/kcl-lib/src/parsing/ast/types/mod.rs +++ b/rust/kcl-lib/src/parsing/ast/types/mod.rs @@ -2211,8 +2211,13 @@ impl Node { /// Get the constraint level for this identifier. /// Identifier are always fully constrained. pub fn get_constraint_level(&self) -> ConstraintLevel { - ConstraintLevel::Full { - source_ranges: vec![self.into()], + match &*self.name { + "XY" | "XZ" | "YZ" => ConstraintLevel::None { + source_ranges: vec![self.into()], + }, + _ => ConstraintLevel::Full { + source_ranges: vec![self.into()], + }, } } } @@ -3531,11 +3536,11 @@ mod tests { #[test] fn test_get_lsp_folding_ranges() { - let code = r#"const part001 = startSketchOn('XY') + let code = r#"const part001 = startSketchOn(XY) |> startProfileAt([0.0000000000, 5.0000000000], %) |> line([0.4900857016, -0.0240763666], %) -startSketchOn('XY') +startSketchOn(XY) |> startProfileAt([0.0000000000, 5.0000000000], %) |> line([0.4900857016, -0.0240763666], %) @@ -3554,20 +3559,17 @@ ghi("things") let program = crate::parsing::top_level_parse(code).unwrap(); let folding_ranges = program.get_lsp_folding_ranges(); assert_eq!(folding_ranges.len(), 3); - assert_eq!(folding_ranges[0].start_line, 29); - assert_eq!(folding_ranges[0].end_line, 134); + assert_eq!(folding_ranges[0].start_line, 27); + assert_eq!(folding_ranges[0].end_line, 132); assert_eq!( folding_ranges[0].collapsed_text, - Some("part001 = startSketchOn('XY')".to_string()) + Some("part001 = startSketchOn(XY)".to_string()) ); - assert_eq!(folding_ranges[1].start_line, 155); - assert_eq!(folding_ranges[1].end_line, 254); - assert_eq!( - folding_ranges[1].collapsed_text, - Some("startSketchOn('XY')".to_string()) - ); - assert_eq!(folding_ranges[2].start_line, 384); - assert_eq!(folding_ranges[2].end_line, 403); + assert_eq!(folding_ranges[1].start_line, 151); + assert_eq!(folding_ranges[1].end_line, 250); + assert_eq!(folding_ranges[1].collapsed_text, Some("startSketchOn(XY)".to_string())); + assert_eq!(folding_ranges[2].start_line, 380); + assert_eq!(folding_ranges[2].end_line, 399); assert_eq!(folding_ranges[2].collapsed_text, Some("fn ghi(x) {".to_string())); } @@ -4033,7 +4035,7 @@ const cylinder = startSketchOn('-XZ') async fn test_parse_get_meta_settings_inch() { let some_program_string = r#"@settings(defaultLengthUnit = inch) -startSketchOn('XY')"#; +startSketchOn(XY)"#; let program = crate::parsing::top_level_parse(some_program_string).unwrap(); let result = program.meta_settings().unwrap(); assert!(result.is_some()); @@ -4049,7 +4051,7 @@ startSketchOn('XY')"#; async fn test_parse_get_meta_settings_inch_to_mm() { let some_program_string = r#"@settings(defaultLengthUnit = inch) -startSketchOn('XY')"#; +startSketchOn(XY)"#; let program = crate::parsing::top_level_parse(some_program_string).unwrap(); let result = program.meta_settings().unwrap(); assert!(result.is_some()); @@ -4080,14 +4082,14 @@ startSketchOn('XY')"#; formatted, r#"@settings(defaultLengthUnit = mm) -startSketchOn('XY') +startSketchOn(XY) "# ); } #[tokio::test(flavor = "multi_thread")] async fn test_parse_get_meta_settings_nothing_to_mm() { - let some_program_string = r#"startSketchOn('XY')"#; + let some_program_string = r#"startSketchOn(XY)"#; let program = crate::parsing::top_level_parse(some_program_string).unwrap(); let result = program.meta_settings().unwrap(); assert!(result.is_none()); @@ -4112,7 +4114,7 @@ startSketchOn('XY') formatted, r#"@settings(defaultLengthUnit = mm) -startSketchOn('XY') +startSketchOn(XY) "# ); } diff --git a/rust/kcl-lib/src/parsing/mod.rs b/rust/kcl-lib/src/parsing/mod.rs index 1e6db35d4..00e422ba6 100644 --- a/rust/kcl-lib/src/parsing/mod.rs +++ b/rust/kcl-lib/src/parsing/mod.rs @@ -146,6 +146,32 @@ impl From for ParseResult { } } +const STR_DEPRECATIONS: [(&str, &str); 6] = [ + ("XY", "XY"), + ("XZ", "XZ"), + ("YZ", "YZ"), + ("-XY", "-XY"), + ("-XZ", "-XZ"), + ("-YZ", "-YZ"), +]; +const FN_DEPRECATIONS: [(&str, &str); 3] = [("pi", "PI"), ("e", "E"), ("tau", "TAU")]; +const CONST_DEPRECATIONS: [(&str, &str); 0] = []; + +#[derive(Clone, Copy)] +pub enum DeprecationKind { + String, + Function, + Const, +} + +pub fn deprecation(s: &str, kind: DeprecationKind) -> Option<&'static str> { + match kind { + DeprecationKind::String => STR_DEPRECATIONS.iter().find_map(|(a, b)| (*a == s).then_some(*b)), + DeprecationKind::Function => FN_DEPRECATIONS.iter().find_map(|(a, b)| (*a == s).then_some(*b)), + DeprecationKind::Const => CONST_DEPRECATIONS.iter().find_map(|(a, b)| (*a == s).then_some(*b)), + } +} + #[cfg(test)] mod tests { macro_rules! parse_and_lex { diff --git a/rust/kcl-lib/src/parsing/parser.rs b/rust/kcl-lib/src/parsing/parser.rs index 2a9098f4a..1c9828487 100644 --- a/rust/kcl-lib/src/parsing/parser.rs +++ b/rust/kcl-lib/src/parsing/parser.rs @@ -15,6 +15,7 @@ use winnow::{ use super::{ ast::types::{Ascription, ImportPath, LabelledExpression}, token::{NumericSuffix, RESERVED_WORDS}, + DeprecationKind, }; use crate::{ docs::StdLibFn, @@ -477,7 +478,8 @@ fn string_literal(i: &mut TokenSlice) -> PResult> { }) .context(expected("string literal (like \"myPart\"")) .parse_next(i)?; - Ok(Node::new( + + let result = Node::new( Literal { value, raw: token.value.clone(), @@ -486,7 +488,32 @@ fn string_literal(i: &mut TokenSlice) -> PResult> { token.start, token.end, token.module_id, - )) + ); + + if let Some(suggestion) = super::deprecation(result.value.string_value().unwrap(), DeprecationKind::String) { + ParseContext::warn( + CompilationError::err( + result.as_source_range(), + format!( + "Using `\"{}\"` is deprecated, prefer using `{}`.", + result.value.string_value().unwrap(), + suggestion + ), + ) + .with_suggestion( + format!( + "Replace `\"{}\"` with `{}`", + result.value.string_value().unwrap(), + suggestion + ), + suggestion, + None, + Tag::Deprecated, + ), + ); + } + + Ok(result) } /// Parse a KCL literal number, with no - sign. @@ -2315,6 +2342,21 @@ fn nameable_identifier(i: &mut TokenSlice) -> PResult> { )); } + if let Some(suggestion) = super::deprecation(&result.name, DeprecationKind::Const) { + ParseContext::warn( + CompilationError::err( + result.as_source_range(), + format!("Using `{}` is deprecated, prefer using `{}`.", result.name, suggestion), + ) + .with_suggestion( + format!("Replace `{}` with `{}`", result.name, suggestion), + suggestion, + None, + Tag::Deprecated, + ), + ); + } + Ok(result) } @@ -3016,7 +3058,7 @@ fn fn_call(i: &mut TokenSlice) -> PResult> { } let end = preceded(opt(whitespace), close_paren).parse_next(i)?.end; - Ok(Node::new_node( + let result = Node::new_node( fn_name.start, end, fn_name.module_id, @@ -3025,7 +3067,27 @@ fn fn_call(i: &mut TokenSlice) -> PResult> { arguments: args, digest: None, }, - )) + ); + + if let Some(suggestion) = super::deprecation(&result.callee.name, DeprecationKind::Function) { + ParseContext::warn( + CompilationError::err( + result.as_source_range(), + format!( + "Calling `{}` is deprecated, prefer using `{}`.", + result.callee.name, suggestion + ), + ) + .with_suggestion( + format!("Replace `{}` with `{}`", result.callee.name, suggestion), + suggestion, + None, + Tag::Deprecated, + ), + ); + } + + Ok(result) } fn fn_call_kw(i: &mut TokenSlice) -> PResult> { @@ -3097,7 +3159,7 @@ fn fn_call_kw(i: &mut TokenSlice) -> PResult> { non_code_nodes, ..Default::default() }; - Ok(Node::new_node( + let result = Node::new_node( fn_name.start, end, fn_name.module_id, @@ -3108,7 +3170,27 @@ fn fn_call_kw(i: &mut TokenSlice) -> PResult> { digest: None, non_code_meta, }, - )) + ); + + if let Some(suggestion) = super::deprecation(&result.callee.name, DeprecationKind::Function) { + ParseContext::warn( + CompilationError::err( + result.as_source_range(), + format!( + "Calling `{}` is deprecated, prefer using `{}`.", + result.callee.name, suggestion + ), + ) + .with_suggestion( + format!("Replace `{}` with `{}`", result.callee.name, suggestion), + suggestion, + None, + Tag::Deprecated, + ), + ); + } + + Ok(result) } #[cfg(test)] @@ -3326,7 +3408,7 @@ mySk1 = startSketchOn(XY) #[test] fn inline_comment_pipe_expression() { - let test_input = r#"a('XY') + let test_input = r#"a(XY) |> b(%) |> c(%) // inline-comment |> d(%)"#; diff --git a/rust/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__au.snap b/rust/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__au.snap index 916e7d1cf..865847668 100644 --- a/rust/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__au.snap +++ b/rust/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__au.snap @@ -8,7 +8,7 @@ expression: actual "commentStart": 0, "declaration": { "commentStart": 6, - "end": 106, + "end": 104, "id": { "commentStart": 6, "end": 14, @@ -22,12 +22,11 @@ expression: actual "arguments": [ { "commentStart": 31, - "end": 35, - "raw": "'XY'", + "end": 33, + "name": "XY", "start": 31, - "type": "Literal", - "type": "Literal", - "value": "XY" + "type": "Identifier", + "type": "Identifier" } ], "callee": { @@ -38,7 +37,7 @@ expression: actual "type": "Identifier" }, "commentStart": 17, - "end": 36, + "end": 34, "start": 17, "type": "CallExpression", "type": "CallExpression" @@ -48,20 +47,20 @@ expression: actual { "type": "LabeledArg", "label": { - "commentStart": 51, - "end": 57, + "commentStart": 49, + "end": 55, "name": "center", - "start": 51, + "start": 49, "type": "Identifier" }, "arg": { - "commentStart": 59, + "commentStart": 57, "elements": [ { - "commentStart": 60, - "end": 61, + "commentStart": 58, + "end": 59, "raw": "0", - "start": 60, + "start": 58, "type": "Literal", "type": "Literal", "value": { @@ -70,10 +69,10 @@ expression: actual } }, { - "commentStart": 63, - "end": 64, + "commentStart": 61, + "end": 62, "raw": "0", - "start": 63, + "start": 61, "type": "Literal", "type": "Literal", "value": { @@ -82,8 +81,8 @@ expression: actual } } ], - "end": 65, - "start": 59, + "end": 63, + "start": 57, "type": "ArrayExpression", "type": "ArrayExpression" } @@ -91,17 +90,17 @@ expression: actual { "type": "LabeledArg", "label": { - "commentStart": 67, - "end": 73, + "commentStart": 65, + "end": 71, "name": "radius", - "start": 67, + "start": 65, "type": "Identifier" }, "arg": { - "commentStart": 75, - "end": 77, + "commentStart": 73, + "end": 75, "raw": "22", - "start": 75, + "start": 73, "type": "Literal", "type": "Literal", "value": { @@ -112,15 +111,15 @@ expression: actual } ], "callee": { - "commentStart": 44, - "end": 50, + "commentStart": 42, + "end": 48, "name": "circle", - "start": 44, + "start": 42, "type": "Identifier" }, - "commentStart": 44, - "end": 78, - "start": 44, + "commentStart": 42, + "end": 76, + "start": 42, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null @@ -130,17 +129,17 @@ expression: actual { "type": "LabeledArg", "label": { - "commentStart": 94, - "end": 100, + "commentStart": 92, + "end": 98, "name": "length", - "start": 94, + "start": 92, "type": "Identifier" }, "arg": { - "commentStart": 103, - "end": 105, + "commentStart": 101, + "end": 103, "raw": "14", - "start": 103, + "start": 101, "type": "Literal", "type": "Literal", "value": { @@ -151,22 +150,22 @@ expression: actual } ], "callee": { - "commentStart": 86, - "end": 93, + "commentStart": 84, + "end": 91, "name": "extrude", - "start": 86, + "start": 84, "type": "Identifier" }, - "commentStart": 86, - "end": 106, - "start": 86, + "commentStart": 84, + "end": 104, + "start": 84, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 17, - "end": 106, + "end": 104, "start": 17, "type": "PipeExpression", "type": "PipeExpression" @@ -174,7 +173,7 @@ expression: actual "start": 6, "type": "VariableDeclarator" }, - "end": 106, + "end": 104, "kind": "const", "start": 0, "type": "VariableDeclaration", @@ -182,6 +181,6 @@ expression: actual } ], "commentStart": 0, - "end": 107, + "end": 105, "start": 0 } diff --git a/rust/kcl-lib/src/std/extrude.rs b/rust/kcl-lib/src/std/extrude.rs index 03a10e6bb..99279f6e3 100644 --- a/rust/kcl-lib/src/std/extrude.rs +++ b/rust/kcl-lib/src/std/extrude.rs @@ -130,6 +130,7 @@ async fn inner_extrude( sketch, id.into(), length, + false, &NamedCapTags { start: tag_start.as_ref(), end: tag_end.as_ref(), @@ -154,6 +155,7 @@ pub(crate) async fn do_post_extrude<'a>( sketch: &Sketch, solid_id: ArtifactId, length: f64, + sectional: bool, named_cap_tags: &'a NamedCapTags<'a>, exec_state: &mut ExecState, args: &Args, @@ -201,6 +203,25 @@ pub(crate) async fn do_post_extrude<'a>( vec![] }; + // Face filtering attempt in order to resolve https://github.com/KittyCAD/modeling-app/issues/5328 + // In case of a sectional sweep, empirically it looks that the first n faces that are yielded from the sweep + // are the ones that work with GetOppositeEdge and GetNextAdjacentEdge, aka the n sides in the sweep. + // So here we're figuring out that n number as yielded_sides_count here, + // making sure that circle() calls count but close() don't (no length) + let count_of_first_set_of_faces_if_sectional = if sectional { + sketch + .paths + .iter() + .filter(|p| { + let is_circle = matches!(p, Path::Circle { .. }); + let has_length = p.get_base().from != p.get_base().to; + is_circle || has_length + }) + .count() + } else { + usize::MAX + }; + for (curve_id, face_id) in face_infos .iter() .filter(|face_info| face_info.cap == ExtrusionFaceCapType::None) @@ -211,6 +232,7 @@ pub(crate) async fn do_post_extrude<'a>( None } }) + .take(count_of_first_set_of_faces_if_sectional) { // Batch these commands, because the Rust code doesn't actually care about the outcome. // So, there's no need to await them. diff --git a/rust/kcl-lib/src/std/loft.rs b/rust/kcl-lib/src/std/loft.rs index 86ed5db35..12fbffa54 100644 --- a/rust/kcl-lib/src/std/loft.rs +++ b/rust/kcl-lib/src/std/loft.rs @@ -174,6 +174,7 @@ async fn inner_loft( &sketch, id.into(), 0.0, + false, &super::extrude::NamedCapTags { start: tag_start.as_ref(), end: tag_end.as_ref(), diff --git a/rust/kcl-lib/src/std/revolve.rs b/rust/kcl-lib/src/std/revolve.rs index 872edc1af..be811dbd0 100644 --- a/rust/kcl-lib/src/std/revolve.rs +++ b/rust/kcl-lib/src/std/revolve.rs @@ -303,6 +303,7 @@ async fn inner_revolve( sketch, id.into(), 0.0, + false, &super::extrude::NamedCapTags { start: tag_start.as_ref(), end: tag_end.as_ref(), diff --git a/rust/kcl-lib/src/std/sweep.rs b/rust/kcl-lib/src/std/sweep.rs index 3c1242c36..32041cfd9 100644 --- a/rust/kcl-lib/src/std/sweep.rs +++ b/rust/kcl-lib/src/std/sweep.rs @@ -183,6 +183,7 @@ async fn inner_sweep( sketch, id.into(), 0.0, + sectional.unwrap_or(false), &super::extrude::NamedCapTags { start: tag_start.as_ref(), end: tag_end.as_ref(), diff --git a/rust/kcl-lib/src/unparser.rs b/rust/kcl-lib/src/unparser.rs index 4cfe7aefb..11918e20f 100644 --- a/rust/kcl-lib/src/unparser.rs +++ b/rust/kcl-lib/src/unparser.rs @@ -8,8 +8,9 @@ use crate::parsing::{ LiteralValue, MemberExpression, MemberObject, Node, NonCodeNode, NonCodeValue, ObjectExpression, Parameter, PipeExpression, Program, TagDeclarator, TypeDeclaration, UnaryExpression, VariableDeclaration, VariableKind, }, + deprecation, token::NumericSuffix, - PIPE_OPERATOR, + DeprecationKind, PIPE_OPERATOR, }; impl Program { @@ -292,7 +293,10 @@ impl Expr { } Expr::CallExpression(call_exp) => call_exp.recast(options, indentation_level, ctxt), Expr::CallExpressionKw(call_exp) => call_exp.recast(options, indentation_level, ctxt), - Expr::Identifier(ident) => ident.name.to_string(), + Expr::Identifier(ident) => match deprecation(&ident.name, DeprecationKind::Const) { + Some(suggestion) => suggestion.to_owned(), + None => ident.name.to_owned(), + }, Expr::TagDeclarator(tag) => tag.recast(), Expr::PipeExpression(pipe_exp) => pipe_exp.recast(options, indentation_level), Expr::UnaryExpression(unary_exp) => unary_exp.recast(options), @@ -321,7 +325,10 @@ impl BinaryPart { fn recast(&self, options: &FormatOptions, indentation_level: usize) -> String { match &self { BinaryPart::Literal(literal) => literal.recast(), - BinaryPart::Identifier(identifier) => identifier.name.to_string(), + BinaryPart::Identifier(ident) => match deprecation(&ident.name, DeprecationKind::Const) { + Some(suggestion) => suggestion.to_owned(), + None => ident.name.to_owned(), + }, BinaryPart::BinaryExpression(binary_expression) => binary_expression.recast(options), BinaryPart::CallExpression(call_expression) => { call_expression.recast(options, indentation_level, ExprContext::Other) @@ -376,6 +383,11 @@ impl CallExpressionKw { options.get_indentation(indentation_level) }; let name = &self.callee.name; + + if let Some(suggestion) = deprecation(name, DeprecationKind::Function) { + return format!("{indent}{suggestion}"); + } + let arg_list = self.recast_args(options, indentation_level, ctxt); let args = arg_list.clone().join(", "); let has_lots_of_args = arg_list.len() >= 4; @@ -480,6 +492,9 @@ impl Literal { } } LiteralValue::String(ref s) => { + if let Some(suggestion) = deprecation(s, DeprecationKind::String) { + return suggestion.to_owned(); + } let quote = if self.raw.trim().starts_with('"') { '"' } else { '\'' }; format!("{quote}{s}{quote}") } @@ -1078,7 +1093,7 @@ s = 1 // s = 1 -> height of Z is 13.4mm d = 1 fn rect(x, y, w, h) { - startSketchOn('XY') + startSketchOn(XY) |> startProfileAt([x, y], %) |> xLine(length = w) |> yLine(length = h) @@ -1088,7 +1103,7 @@ fn rect(x, y, w, h) { } fn quad(x1, y1, x2, y2, x3, y3, x4, y4) { - startSketchOn('XY') + startSketchOn(XY) |> startProfileAt([x1, y1], %) |> line(endAbsolute = [x2, y2]) |> line(endAbsolute = [x3, y3]) @@ -1098,7 +1113,7 @@ fn quad(x1, y1, x2, y2, x3, y3, x4, y4) { } fn crosshair(x, y) { - startSketchOn('XY') + startSketchOn(XY) |> startProfileAt([x, y], %) |> yLine(length = 1) |> yLine(length = -2) @@ -1144,7 +1159,7 @@ fn o(c_x, c_y) { // crosshair(c_x, c_y) - startSketchOn('XY') + startSketchOn(XY) |> startProfileAt([o_x1, o_y1], %) |> arc({ radius = o_r, @@ -1160,7 +1175,7 @@ fn o(c_x, c_y) { |> close() |> extrude(d, %) - startSketchOn('XY') + startSketchOn(XY) |> startProfileAt([o_x2, o_y2], %) |> arc({ radius = o_r, @@ -1203,7 +1218,7 @@ thickness = 0.25 overHangLength = .4 // Sketch and revolve the inside bearing piece -insideRevolve = startSketchOn('XZ') +insideRevolve = startSketchOn(XZ) |> startProfileAt([insideDia / 2, 0], %) |> line([0, thickness + sphereDia / 2], %) |> line([overHangLength, 0], %) @@ -1217,7 +1232,7 @@ insideRevolve = startSketchOn('XZ') |> revolve({ axis: 'y' }, %) // Sketch and revolve one of the balls and duplicate it using a circular pattern. (This is currently a workaround, we have a bug with rotating on a sketch that touches the rotation axis) -sphere = startSketchOn('XZ') +sphere = startSketchOn(XZ) |> startProfileAt([ 0.05 + insideDia / 2 + thickness, 0 - 0.05 @@ -1239,7 +1254,7 @@ sphere = startSketchOn('XZ') ) // Sketch and revolve the outside bearing -outsideRevolve = startSketchOn('XZ') +outsideRevolve = startSketchOn(XZ) |> startProfileAt([ insideDia / 2 + thickness + sphereDia, 0 @@ -1269,7 +1284,7 @@ thickness = 0.25 overHangLength = .4 // Sketch and revolve the inside bearing piece -insideRevolve = startSketchOn('XZ') +insideRevolve = startSketchOn(XZ) |> startProfileAt([insideDia / 2, 0], %) |> line([0, thickness + sphereDia / 2], %) |> line([overHangLength, 0], %) @@ -1283,7 +1298,7 @@ insideRevolve = startSketchOn('XZ') |> revolve({ axis = 'y' }, %) // Sketch and revolve one of the balls and duplicate it using a circular pattern. (This is currently a workaround, we have a bug with rotating on a sketch that touches the rotation axis) -sphere = startSketchOn('XZ') +sphere = startSketchOn(XZ) |> startProfileAt([ 0.05 + insideDia / 2 + thickness, 0 - 0.05 @@ -1305,7 +1320,7 @@ sphere = startSketchOn('XZ') ) // Sketch and revolve the outside bearing -outsideRevolve = startSketchOn('XZ') +outsideRevolve = startSketchOn(XZ) |> startProfileAt([ insideDia / 2 + thickness + sphereDia, 0 @@ -1455,7 +1470,7 @@ myNestedVar = [ #[test] fn test_recast_shebang() { let some_program_string = r#"#!/usr/local/env zoo kcl -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line([20, 0], %) |> line([0, 20], %) @@ -1470,7 +1485,7 @@ part001 = startSketchOn('XY') recasted, r#"#!/usr/local/env zoo kcl -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line([20, 0], %) |> line([0, 20], %) @@ -1486,7 +1501,7 @@ part001 = startSketchOn('XY') -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line([20, 0], %) |> line([0, 20], %) @@ -1501,7 +1516,7 @@ part001 = startSketchOn('XY') recasted, r#"#!/usr/local/env zoo kcl -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line([20, 0], %) |> line([0, 20], %) @@ -1516,7 +1531,7 @@ part001 = startSketchOn('XY') let some_program_string = r#"#!/usr/local/env zoo kcl // Yo yo my comments. -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line([20, 0], %) |> line([0, 20], %) @@ -1532,7 +1547,7 @@ part001 = startSketchOn('XY') r#"#!/usr/local/env zoo kcl // Yo yo my comments. -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-10, -10], %) |> line([20, 0], %) |> line([0, 20], %) @@ -1795,7 +1810,7 @@ tabs_l = startSketchOn({ #[test] fn test_recast_nested_var_declaration_in_fn_body() { let some_program_string = r#"fn cube = (pos, scale) => { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line([0, scale], %) |> line([scale, 0], %) @@ -1809,7 +1824,7 @@ tabs_l = startSketchOn({ assert_eq!( recasted, r#"fn cube(pos, scale) { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line([0, scale], %) |> line([scale, 0], %) @@ -1826,7 +1841,7 @@ tabs_l = startSketchOn({ let some_program_string = r#"fn cube(pos, scale) { x = dfsfs + dfsfsd as y - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) as foo |> line([0, scale], %) |> line([scale, 0], %) as bar @@ -1845,7 +1860,7 @@ cube(0, 0) as cub #[test] fn test_recast_with_bad_indentation() { - let some_program_string = r#"part001 = startSketchOn('XY') + let some_program_string = r#"part001 = startSketchOn(XY) |> startProfileAt([0.0, 5.0], %) |> line([0.4900857016, -0.0240763666], %) |> line([0.6804562304, 0.9087880491], %)"#; @@ -1854,7 +1869,7 @@ cube(0, 0) as cub let recasted = program.recast(&Default::default(), 0); assert_eq!( recasted, - r#"part001 = startSketchOn('XY') + r#"part001 = startSketchOn(XY) |> startProfileAt([0.0, 5.0], %) |> line([0.4900857016, -0.0240763666], %) |> line([0.6804562304, 0.9087880491], %) @@ -1864,7 +1879,7 @@ cube(0, 0) as cub #[test] fn test_recast_with_bad_indentation_and_inline_comment() { - let some_program_string = r#"part001 = startSketchOn('XY') + let some_program_string = r#"part001 = startSketchOn(XY) |> startProfileAt([0.0, 5.0], %) |> line([0.4900857016, -0.0240763666], %) // hello world |> line([0.6804562304, 0.9087880491], %)"#; @@ -1873,7 +1888,7 @@ cube(0, 0) as cub let recasted = program.recast(&Default::default(), 0); assert_eq!( recasted, - r#"part001 = startSketchOn('XY') + r#"part001 = startSketchOn(XY) |> startProfileAt([0.0, 5.0], %) |> line([0.4900857016, -0.0240763666], %) // hello world |> line([0.6804562304, 0.9087880491], %) @@ -1882,7 +1897,7 @@ cube(0, 0) as cub } #[test] fn test_recast_with_bad_indentation_and_line_comment() { - let some_program_string = r#"part001 = startSketchOn('XY') + let some_program_string = r#"part001 = startSketchOn(XY) |> startProfileAt([0.0, 5.0], %) |> line([0.4900857016, -0.0240763666], %) // hello world @@ -1892,7 +1907,7 @@ cube(0, 0) as cub let recasted = program.recast(&Default::default(), 0); assert_eq!( recasted, - r#"part001 = startSketchOn('XY') + r#"part001 = startSketchOn(XY) |> startProfileAt([0.0, 5.0], %) |> line([0.4900857016, -0.0240763666], %) // hello world @@ -2047,7 +2062,7 @@ mySk1 = startSketchOn(XY) #[test] fn test_recast_lots_of_comments() { let some_program_string = r#"// comment at start -mySk1 = startSketchOn('XY') +mySk1 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [1, 1]) // comment here @@ -2068,7 +2083,7 @@ mySk1 = startSketchOn('XY') assert_eq!( recasted, r#"// comment at start -mySk1 = startSketchOn('XY') +mySk1 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [1, 1]) // comment here @@ -2088,7 +2103,7 @@ mySk1 = startSketchOn('XY') #[test] fn test_recast_multiline_object() { - let some_program_string = r#"part001 = startSketchOn('XY') + let some_program_string = r#"part001 = startSketchOn(XY) |> startProfileAt([-0.01, -0.08], %) |> line([0.62, 4.15], %, $seg01) |> line([2.77, -1.24], %) @@ -2170,7 +2185,7 @@ myVar2 = 5 myVar3 = 6 myAng = 40 myAng2 = 134 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line([1, 3.82], %, $seg01) // ln-should-get-tag |> angledLineToX([ @@ -2194,7 +2209,7 @@ myVar2 = 5 myVar3 = 6 myAng = 40 myAng2 = 134 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line([1, 3.82], %, $seg01) // ln-should-get-tag |> angledLineToX([ @@ -2221,7 +2236,7 @@ part001 = startSketchOn('XY') #[test] fn test_recast_after_rename_std() { - let some_program_string = r#"part001 = startSketchOn('XY') + let some_program_string = r#"part001 = startSketchOn(XY) |> startProfileAt([0.0000000000, 5.0000000000], %) |> line([0.4900857016, -0.0240763666], %) @@ -2241,7 +2256,7 @@ fn ghi = (part001) => { let recasted = program.recast(&Default::default(), 0); assert_eq!( recasted, - r#"mySuperCoolPart = startSketchOn('XY') + r#"mySuperCoolPart = startSketchOn(XY) |> startProfileAt([0.0, 5.0], %) |> line([0.4900857016, -0.0240763666], %) @@ -2278,7 +2293,7 @@ fn ghi(part001) { #[test] fn test_recast_trailing_comma() { - let some_program_string = r#"startSketchOn('XY') + let some_program_string = r#"startSketchOn(XY) |> startProfileAt([0, 0], %) |> arc({ radius = 1, @@ -2290,7 +2305,7 @@ fn ghi(part001) { let recasted = program.recast(&Default::default(), 0); assert_eq!( recasted, - r#"startSketchOn('XY') + r#"startSketchOn(XY) |> startProfileAt([0, 0], %) |> arc({ radius = 1, @@ -2307,7 +2322,7 @@ fn ghi(part001) { l = 8 h = 10 -firstExtrude = startSketchOn('XY') +firstExtrude = startSketchOn(XY) |> startProfileAt([0,0], %) |> line([0, l], %) |> line([w, 0], %) @@ -2324,7 +2339,7 @@ firstExtrude = startSketchOn('XY') l = 8 h = 10 -firstExtrude = startSketchOn('XY') +firstExtrude = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line([0, l], %) |> line([w, 0], %) @@ -2344,7 +2359,7 @@ h = 10 // This is my comment // It has multiple lines // And it's really long -firstExtrude = startSketchOn('XY') +firstExtrude = startSketchOn(XY) |> startProfileAt([0,0], %) |> line([0, l], %) |> line([w, 0], %) @@ -2364,7 +2379,7 @@ h = 10 // This is my comment // It has multiple lines // And it's really long -firstExtrude = startSketchOn('XY') +firstExtrude = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line([0, l], %) |> line([w, 0], %) @@ -2389,7 +2404,7 @@ firstExtrude = startSketchOn('XY') let some_program_string = r#"wallMountL = 3.82 thickness = 0.5 -startSketchOn('XY') +startSketchOn(XY) |> startProfileAt([0, 0], %) |> line([0, -(wallMountL - thickness)], %) |> line([0, -(5 - thickness)], %) diff --git a/rust/kcl-lib/tests/angled_line/unparsed.snap b/rust/kcl-lib/tests/angled_line/unparsed.snap index 0ca96a22f..bbd85b2f2 100644 --- a/rust/kcl-lib/tests/angled_line/unparsed.snap +++ b/rust/kcl-lib/tests/angled_line/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing angled_line.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([4.83, 12.56], %) |> line(end = [15.1, 2.48]) |> line(end = [3.15, -9.85], tag = $seg01) diff --git a/rust/kcl-lib/tests/artifact_graph_example_code1/unparsed.snap b/rust/kcl-lib/tests/artifact_graph_example_code1/unparsed.snap index 11ed2f8b4..6a100aae8 100644 --- a/rust/kcl-lib/tests/artifact_graph_example_code1/unparsed.snap +++ b/rust/kcl-lib/tests/artifact_graph_example_code1/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing artifact_graph_example_code1.kcl --- -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) |> startProfileAt([-5, -5], %) |> line(end = [0, 10]) |> line(end = [10.55, 0], tag = $seg01) diff --git a/rust/kcl-lib/tests/artifact_graph_example_code_no_3d/unparsed.snap b/rust/kcl-lib/tests/artifact_graph_example_code_no_3d/unparsed.snap index aa5165ea1..851b697cb 100644 --- a/rust/kcl-lib/tests/artifact_graph_example_code_no_3d/unparsed.snap +++ b/rust/kcl-lib/tests/artifact_graph_example_code_no_3d/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing artifact_graph_example_code_no_3d.kcl --- -sketch003 = startSketchOn('YZ') +sketch003 = startSketchOn(YZ) |> startProfileAt([5.82, 0], %) |> angledLine([180, 11.54], %, $rectangleSegmentA001) |> angledLine([ @@ -15,7 +15,7 @@ sketch003 = startSketchOn('YZ') ], %, $rectangleSegmentC001) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -sketch004 = startSketchOn('-XZ') +sketch004 = startSketchOn(-XZ) |> startProfileAt([0, 14.36], %) |> line(end = [15.49, 0.05]) |> tangentialArcTo([0, 0], %) diff --git a/rust/kcl-lib/tests/artifact_graph_example_code_offset_planes/unparsed.snap b/rust/kcl-lib/tests/artifact_graph_example_code_offset_planes/unparsed.snap index 3f873bb4e..7601bafda 100644 --- a/rust/kcl-lib/tests/artifact_graph_example_code_offset_planes/unparsed.snap +++ b/rust/kcl-lib/tests/artifact_graph_example_code_offset_planes/unparsed.snap @@ -2,9 +2,9 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing artifact_graph_example_code_offset_planes.kcl --- -offsetPlane001 = offsetPlane("XY", offset = 20) -offsetPlane002 = offsetPlane("XZ", offset = -50) -offsetPlane003 = offsetPlane("YZ", offset = 10) +offsetPlane001 = offsetPlane(XY, offset = 20) +offsetPlane002 = offsetPlane(XZ, offset = -50) +offsetPlane003 = offsetPlane(YZ, offset = 10) sketch002 = startSketchOn(offsetPlane001) |> startProfileAt([0, 0], %) diff --git a/rust/kcl-lib/tests/artifact_graph_sketch_on_face_etc/unparsed.snap b/rust/kcl-lib/tests/artifact_graph_sketch_on_face_etc/unparsed.snap index 09dde98f5..96225d5dc 100644 --- a/rust/kcl-lib/tests/artifact_graph_sketch_on_face_etc/unparsed.snap +++ b/rust/kcl-lib/tests/artifact_graph_sketch_on_face_etc/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing artifact_graph_sketch_on_face_etc.kcl --- -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [4, 8]) |> line(end = [5, -8], tag = $seg01) diff --git a/rust/kcl-lib/tests/assembly_mixed_units_cubes/unparsed@cube-inches.kcl.snap b/rust/kcl-lib/tests/assembly_mixed_units_cubes/unparsed@cube-inches.kcl.snap index 8cd3c97b2..3e5740699 100644 --- a/rust/kcl-lib/tests/assembly_mixed_units_cubes/unparsed@cube-inches.kcl.snap +++ b/rust/kcl-lib/tests/assembly_mixed_units_cubes/unparsed@cube-inches.kcl.snap @@ -4,7 +4,7 @@ description: Result of unparsing tests/assembly_mixed_units_cubes/cube-inches.kc --- @settings(defaultLengthUnit = in) -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) cubeIn = startProfileAt([-10, -10], sketch001) |> xLine(length = 5) |> yLine(length = -5) diff --git a/rust/kcl-lib/tests/assembly_mixed_units_cubes/unparsed@cube-mm.kcl.snap b/rust/kcl-lib/tests/assembly_mixed_units_cubes/unparsed@cube-mm.kcl.snap index 54f504c25..d576d0b69 100644 --- a/rust/kcl-lib/tests/assembly_mixed_units_cubes/unparsed@cube-mm.kcl.snap +++ b/rust/kcl-lib/tests/assembly_mixed_units_cubes/unparsed@cube-mm.kcl.snap @@ -4,7 +4,7 @@ description: Result of unparsing tests/assembly_mixed_units_cubes/cube-mm.kcl --- @settings(defaultLengthUnit = mm) -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) cubeMm = startProfileAt([10, 10], sketch001) |> xLine(length = 5) |> yLine(length = -5) diff --git a/rust/kcl-lib/tests/assembly_non_default_units/unparsed@other1.kcl.snap b/rust/kcl-lib/tests/assembly_non_default_units/unparsed@other1.kcl.snap index dea808c88..d7973a85f 100644 --- a/rust/kcl-lib/tests/assembly_non_default_units/unparsed@other1.kcl.snap +++ b/rust/kcl-lib/tests/assembly_non_default_units/unparsed@other1.kcl.snap @@ -8,5 +8,5 @@ description: Result of unparsing tests/assembly_non_default_units/other1.kcl import radius from "globals.kcl" // Use the same units as in the main importing file. -startSketchOn('XZ') +startSketchOn(XZ) |> circle(center = [0, 0], radius = 1) diff --git a/rust/kcl-lib/tests/assembly_non_default_units/unparsed@other2.kcl.snap b/rust/kcl-lib/tests/assembly_non_default_units/unparsed@other2.kcl.snap index eaacced1d..59419f580 100644 --- a/rust/kcl-lib/tests/assembly_non_default_units/unparsed@other2.kcl.snap +++ b/rust/kcl-lib/tests/assembly_non_default_units/unparsed@other2.kcl.snap @@ -5,5 +5,5 @@ description: Result of unparsing tests/assembly_non_default_units/other2.kcl @settings(defaultLengthUnit = in) // Use the same units as in the main importing file. -startSketchOn('XZ') +startSketchOn(XZ) |> circle(center = [0, 2], radius = 1) diff --git a/rust/kcl-lib/tests/bad_units_in_annotation/unparsed.snap b/rust/kcl-lib/tests/bad_units_in_annotation/unparsed.snap index 2078debfe..e9551f5ce 100644 --- a/rust/kcl-lib/tests/bad_units_in_annotation/unparsed.snap +++ b/rust/kcl-lib/tests/bad_units_in_annotation/unparsed.snap @@ -15,7 +15,7 @@ bondAngle = 104.5 // Bond angle in degrees // Function to create a sphere representing an atom fn createAtom(center, radius) { - return startSketchOn('XY') + return startSketchOn(XY) |> circle(center = center, radius = radius) |> extrude(length = radius * 2) } diff --git a/rust/kcl-lib/tests/basic_fillet_cube_close_opposite/unparsed.snap b/rust/kcl-lib/tests/basic_fillet_cube_close_opposite/unparsed.snap index db64a8e02..837d8eabb 100644 --- a/rust/kcl-lib/tests/basic_fillet_cube_close_opposite/unparsed.snap +++ b/rust/kcl-lib/tests/basic_fillet_cube_close_opposite/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing basic_fillet_cube_close_opposite.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0]) diff --git a/rust/kcl-lib/tests/basic_fillet_cube_end/unparsed.snap b/rust/kcl-lib/tests/basic_fillet_cube_end/unparsed.snap index 1442a822a..7ccce9cf2 100644 --- a/rust/kcl-lib/tests/basic_fillet_cube_end/unparsed.snap +++ b/rust/kcl-lib/tests/basic_fillet_cube_end/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing basic_fillet_cube_end.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0]) diff --git a/rust/kcl-lib/tests/basic_fillet_cube_next_adjacent/unparsed.snap b/rust/kcl-lib/tests/basic_fillet_cube_next_adjacent/unparsed.snap index 4b6b1a8e0..9ff053f6b 100644 --- a/rust/kcl-lib/tests/basic_fillet_cube_next_adjacent/unparsed.snap +++ b/rust/kcl-lib/tests/basic_fillet_cube_next_adjacent/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing basic_fillet_cube_next_adjacent.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0], tag = $thing1) diff --git a/rust/kcl-lib/tests/basic_fillet_cube_previous_adjacent/unparsed.snap b/rust/kcl-lib/tests/basic_fillet_cube_previous_adjacent/unparsed.snap index 510e57e56..46eb82f52 100644 --- a/rust/kcl-lib/tests/basic_fillet_cube_previous_adjacent/unparsed.snap +++ b/rust/kcl-lib/tests/basic_fillet_cube_previous_adjacent/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing basic_fillet_cube_previous_adjacent.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0], tag = $thing1) diff --git a/rust/kcl-lib/tests/basic_fillet_cube_start/unparsed.snap b/rust/kcl-lib/tests/basic_fillet_cube_start/unparsed.snap index e40b1714c..761d820db 100644 --- a/rust/kcl-lib/tests/basic_fillet_cube_start/unparsed.snap +++ b/rust/kcl-lib/tests/basic_fillet_cube_start/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing basic_fillet_cube_start.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 10], tag = $thing) |> line(end = [10, 0]) diff --git a/rust/kcl-lib/tests/big_number_angle_to_match_length_x/unparsed.snap b/rust/kcl-lib/tests/big_number_angle_to_match_length_x/unparsed.snap index 3a8b5f98a..db783a70a 100644 --- a/rust/kcl-lib/tests/big_number_angle_to_match_length_x/unparsed.snap +++ b/rust/kcl-lib/tests/big_number_angle_to_match_length_x/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing big_number_angle_to_match_length_x.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [1, 3.82], tag = $seg01) |> angledLineToX([-angleToMatchLengthX(seg01, 3, %), 3], %) diff --git a/rust/kcl-lib/tests/big_number_angle_to_match_length_y/unparsed.snap b/rust/kcl-lib/tests/big_number_angle_to_match_length_y/unparsed.snap index efdc2da42..a0b943da3 100644 --- a/rust/kcl-lib/tests/big_number_angle_to_match_length_y/unparsed.snap +++ b/rust/kcl-lib/tests/big_number_angle_to_match_length_y/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing big_number_angle_to_match_length_y.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [1, 3.82], tag = $seg01) |> angledLineToX([-angleToMatchLengthY(seg01, 3, %), 3], %) diff --git a/rust/kcl-lib/tests/circle_three_point/unparsed.snap b/rust/kcl-lib/tests/circle_three_point/unparsed.snap index fc7f2749f..a7eb114c7 100644 --- a/rust/kcl-lib/tests/circle_three_point/unparsed.snap +++ b/rust/kcl-lib/tests/circle_three_point/unparsed.snap @@ -2,6 +2,6 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing circle_three_point.kcl --- -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) |> circleThreePoint(p1 = [25, 25], p2 = [30, 20], p3 = [27, 15]) |> extrude(length = 10) diff --git a/rust/kcl-lib/tests/circular_pattern3d_a_pattern/unparsed.snap b/rust/kcl-lib/tests/circular_pattern3d_a_pattern/unparsed.snap index cb84ef1f7..025ac304f 100644 --- a/rust/kcl-lib/tests/circular_pattern3d_a_pattern/unparsed.snap +++ b/rust/kcl-lib/tests/circular_pattern3d_a_pattern/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing circular_pattern3d_a_pattern.kcl --- -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 2]) |> line(end = [3, 1]) diff --git a/rust/kcl-lib/tests/crazy_multi_profile/unparsed.snap b/rust/kcl-lib/tests/crazy_multi_profile/unparsed.snap index 7dacfb050..c00813ae5 100644 --- a/rust/kcl-lib/tests/crazy_multi_profile/unparsed.snap +++ b/rust/kcl-lib/tests/crazy_multi_profile/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing crazy_multi_profile.kcl --- -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) profile001 = startProfileAt([6.71, -3.66], sketch001) |> line(end = [2.65, 9.02], tag = $seg02) |> line(end = [3.73, -9.36], tag = $seg01) @@ -38,7 +38,7 @@ profile006 = startProfileAt([9.65, 3.82], sketch002) |> close() revolve001 = revolve(profile004, angle = 45, axis = getNextAdjacentEdge(seg01)) extrude002 = extrude(profile006, length = 4) -sketch003 = startSketchOn('-XZ') +sketch003 = startSketchOn(-XZ) profile007 = startProfileAt([4.8, 7.55], sketch003) |> line(end = [7.39, 2.58]) |> line(end = [7.02, -2.85]) diff --git a/rust/kcl-lib/tests/fillet-and-shell/unparsed.snap b/rust/kcl-lib/tests/fillet-and-shell/unparsed.snap index a25023d7f..b6a895302 100644 --- a/rust/kcl-lib/tests/fillet-and-shell/unparsed.snap +++ b/rust/kcl-lib/tests/fillet-and-shell/unparsed.snap @@ -45,7 +45,7 @@ miniHdmiHole = startSketchOn(XY) ]) |> close(%) -case = startSketchOn('XY') +case = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [caseWidth, 0], tag = $edge1) |> line(endAbsolute = [caseWidth, caseLength], tag = $edge2) @@ -63,7 +63,7 @@ case = startSketchOn('XY') ) fn m25Screw(x, y, height) { - screw = startSketchOn("XY") + screw = startSketchOn(XY) |> startProfileAt([0, 0], %) |> circle(center = [x, y], radius = 2.5) |> hole(circle(center = [x, y], radius = 1.25), %) diff --git a/rust/kcl-lib/tests/flush_batch_on_end/unparsed.snap b/rust/kcl-lib/tests/flush_batch_on_end/unparsed.snap index b78861884..45b88fe14 100644 --- a/rust/kcl-lib/tests/flush_batch_on_end/unparsed.snap +++ b/rust/kcl-lib/tests/flush_batch_on_end/unparsed.snap @@ -12,7 +12,7 @@ outerDiameter = 35 / 64 length = 1 + 1 / 2 // create a sketch on the 'XY' plane -sketch000 = startSketchOn('XY') +sketch000 = startSketchOn(XY) // create a profile of the outside of the pipe outerProfile = circle( diff --git a/rust/kcl-lib/tests/function_sketch/unparsed.snap b/rust/kcl-lib/tests/function_sketch/unparsed.snap index 33e1805e9..772c58ea0 100644 --- a/rust/kcl-lib/tests/function_sketch/unparsed.snap +++ b/rust/kcl-lib/tests/function_sketch/unparsed.snap @@ -3,7 +3,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing function_sketch.kcl --- fn box(h, l, w) { - myBox = startSketchOn('XY') + myBox = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, l]) |> line(end = [w, 0]) diff --git a/rust/kcl-lib/tests/function_sketch_with_position/unparsed.snap b/rust/kcl-lib/tests/function_sketch_with_position/unparsed.snap index b27bd14e7..7642a5451 100644 --- a/rust/kcl-lib/tests/function_sketch_with_position/unparsed.snap +++ b/rust/kcl-lib/tests/function_sketch_with_position/unparsed.snap @@ -3,7 +3,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing function_sketch_with_position.kcl --- fn box(p, h, l, w) { - myBox = startSketchOn('XY') + myBox = startSketchOn(XY) |> startProfileAt(p, %) |> line(end = [0, l]) |> line(end = [w, 0]) diff --git a/rust/kcl-lib/tests/helix_ccw/unparsed.snap b/rust/kcl-lib/tests/helix_ccw/unparsed.snap index 2f73f721b..ce0409af7 100644 --- a/rust/kcl-lib/tests/helix_ccw/unparsed.snap +++ b/rust/kcl-lib/tests/helix_ccw/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing helix_ccw.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> circle(center = [5, 5], radius = 10) |> extrude(length = 10) |> helixRevolutions({ diff --git a/rust/kcl-lib/tests/helix_simple/unparsed.snap b/rust/kcl-lib/tests/helix_simple/unparsed.snap index 1d9ffe2a5..4a86b68ff 100644 --- a/rust/kcl-lib/tests/helix_simple/unparsed.snap +++ b/rust/kcl-lib/tests/helix_simple/unparsed.snap @@ -3,7 +3,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing helix_simple.kcl --- // Create a helix around an edge. -helper001 = startSketchOn('XZ') +helper001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 10], tag = $edge001) diff --git a/rust/kcl-lib/tests/import_function_not_sketch/unparsed@my_functions.kcl.snap b/rust/kcl-lib/tests/import_function_not_sketch/unparsed@my_functions.kcl.snap index b8581c544..fc9ae5c5c 100644 --- a/rust/kcl-lib/tests/import_function_not_sketch/unparsed@my_functions.kcl.snap +++ b/rust/kcl-lib/tests/import_function_not_sketch/unparsed@my_functions.kcl.snap @@ -4,7 +4,7 @@ description: Result of unparsing tests/import_function_not_sketch/my_functions.k --- @settings(defaultLengthUnit = mm) -export part001 = startSketchOn('XY') +export part001 = startSketchOn(XY) |> startProfileAt([4, 12], %) |> line(end = [2, 0]) |> line(end = [0, -6]) diff --git a/rust/kcl-lib/tests/import_side_effect/unparsed@export_side_effect.kcl.snap b/rust/kcl-lib/tests/import_side_effect/unparsed@export_side_effect.kcl.snap index b9ccb5bd6..093382e43 100644 --- a/rust/kcl-lib/tests/import_side_effect/unparsed@export_side_effect.kcl.snap +++ b/rust/kcl-lib/tests/import_side_effect/unparsed@export_side_effect.kcl.snap @@ -7,5 +7,5 @@ export fn foo() { } // This interacts with the engine. -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> circle(center = [0, 0], radius = 10) diff --git a/rust/kcl-lib/tests/import_whole/unparsed@exported_mod.kcl.snap b/rust/kcl-lib/tests/import_whole/unparsed@exported_mod.kcl.snap index d0d0fcc2a..8e932bef1 100644 --- a/rust/kcl-lib/tests/import_whole/unparsed@exported_mod.kcl.snap +++ b/rust/kcl-lib/tests/import_whole/unparsed@exported_mod.kcl.snap @@ -4,6 +4,6 @@ description: Result of unparsing tests/import_whole/exported_mod.kcl --- @settings(defaultLengthUnit = inch) -startSketchOn('XY') +startSketchOn(XY) |> circle(center = [5, 5], radius = 10) |> extrude(length = 10) diff --git a/rust/kcl-lib/tests/kittycad_svg/unparsed.snap b/rust/kcl-lib/tests/kittycad_svg/unparsed.snap index 7dfd82caf..3c95b0300 100644 --- a/rust/kcl-lib/tests/kittycad_svg/unparsed.snap +++ b/rust/kcl-lib/tests/kittycad_svg/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing kittycad_svg.kcl --- -svg = startSketchOn('XY') +svg = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [2.52, -26.04]) // MoveAbsolute |> line(endAbsolute = [2.52, -25.2]) // VerticalLineAbsolute diff --git a/rust/kcl-lib/tests/linear_pattern3d_a_pattern/unparsed.snap b/rust/kcl-lib/tests/linear_pattern3d_a_pattern/unparsed.snap index ecc867003..0338a53db 100644 --- a/rust/kcl-lib/tests/linear_pattern3d_a_pattern/unparsed.snap +++ b/rust/kcl-lib/tests/linear_pattern3d_a_pattern/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing linear_pattern3d_a_pattern.kcl --- -exampleSketch = startSketchOn('XZ') +exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [0, 2]) |> line(end = [3, 1]) diff --git a/rust/kcl-lib/tests/mike_stress_test/unparsed.snap b/rust/kcl-lib/tests/mike_stress_test/unparsed.snap index c404e6e6d..88ce32802 100644 --- a/rust/kcl-lib/tests/mike_stress_test/unparsed.snap +++ b/rust/kcl-lib/tests/mike_stress_test/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing mike_stress_test.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0.0, 0.0], %) |> line(end = [ -0.3670208139314082, diff --git a/rust/kcl-lib/tests/neg_xz_plane/unparsed.snap b/rust/kcl-lib/tests/neg_xz_plane/unparsed.snap index 846d62b5e..32c698dba 100644 --- a/rust/kcl-lib/tests/neg_xz_plane/unparsed.snap +++ b/rust/kcl-lib/tests/neg_xz_plane/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing neg_xz_plane.kcl --- -part001 = startSketchOn('-XZ') +part001 = startSketchOn(-XZ) |> startProfileAt([0, 0], %) |> line(endAbsolute = [100, 100]) |> line(endAbsolute = [100, 0]) diff --git a/rust/kcl-lib/tests/out_of_band_sketches/unparsed.snap b/rust/kcl-lib/tests/out_of_band_sketches/unparsed.snap index e5876a622..d791c0954 100644 --- a/rust/kcl-lib/tests/out_of_band_sketches/unparsed.snap +++ b/rust/kcl-lib/tests/out_of_band_sketches/unparsed.snap @@ -2,13 +2,13 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing out_of_band_sketches.kcl --- -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) profile001 = startProfileAt([27.67, 239.34], sketch001) // enter sketch mode, start path, move path pen, disable sketch mode |> line(end = [414.61, 0]) // extend path |> line(end = [33.98, -389.36]) // extend path -sketch002 = startSketchOn('XY') +sketch002 = startSketchOn(XY) profile002 = startProfileAt([67.04, -63.5], sketch002) // enter sketch mode, start path, move path pen, disable sketch mode |> line(end = [282.37, 0]) // extend path diff --git a/rust/kcl-lib/tests/parametric/unparsed.snap b/rust/kcl-lib/tests/parametric/unparsed.snap index 88ddcccd9..e31e84fe4 100644 --- a/rust/kcl-lib/tests/parametric/unparsed.snap +++ b/rust/kcl-lib/tests/parametric/unparsed.snap @@ -11,7 +11,7 @@ FOS = 2 leg1 = 5 // inches leg2 = 8 // inches thickness = sqrt(distance * p * FOS * 6 / sigmaAllow / width) // inches -bracket = startSketchOn('XY') +bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, leg1]) |> line(end = [leg2, 0]) diff --git a/rust/kcl-lib/tests/pentagon_fillet_sugar/unparsed.snap b/rust/kcl-lib/tests/pentagon_fillet_sugar/unparsed.snap index 398536b55..aa45e4c96 100644 --- a/rust/kcl-lib/tests/pentagon_fillet_sugar/unparsed.snap +++ b/rust/kcl-lib/tests/pentagon_fillet_sugar/unparsed.snap @@ -12,7 +12,7 @@ circ = { } triangleLen = 500 -p = startSketchOn('XY') +p = startSketchOn(XY) |> startProfileAt([0, 0], %) |> angledLine({ angle = 60, length = triangleLen }, %, $a) |> angledLine({ angle = 180, length = triangleLen }, %, $b) diff --git a/rust/kcl-lib/tests/poop_chute/unparsed.snap b/rust/kcl-lib/tests/poop_chute/unparsed.snap index b3b37dac3..2f0de61d3 100644 --- a/rust/kcl-lib/tests/poop_chute/unparsed.snap +++ b/rust/kcl-lib/tests/poop_chute/unparsed.snap @@ -13,7 +13,7 @@ front_length = 6 Fx = 0.5 Fy = 0.5 -sketch001 = startSketchOn('-YZ') +sketch001 = startSketchOn(-YZ) |> startProfileAt([back_walls_width / 2, 0], %) |> xLine(length = wall_thickness / 2) |> angledLineToX({ angle = 45, to = back_walls_width }, %, $seg01) @@ -45,7 +45,7 @@ part001 = revolve( }, ) -sketch002 = startSketchOn('-YZ') +sketch002 = startSketchOn(-YZ) |> startProfileAt([back_walls_width / 2, 0], %) |> xLine(length = wall_thickness / 2) |> angledLineToX({ angle = 45, to = back_walls_width }, %, $seg02) diff --git a/rust/kcl-lib/tests/revolve_about_edge/unparsed.snap b/rust/kcl-lib/tests/revolve_about_edge/unparsed.snap index 4faff93e6..f369a36b6 100644 --- a/rust/kcl-lib/tests/revolve_about_edge/unparsed.snap +++ b/rust/kcl-lib/tests/revolve_about_edge/unparsed.snap @@ -2,9 +2,9 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing revolve_about_edge.kcl --- -sketch001 = startSketchOn('XY') +sketch001 = startSketchOn(XY) |> startProfileAt([-25, 25], %) |> yLine(length = -50, tag = $rectangleSegmentB001) -sketch002 = startSketchOn('XY') +sketch002 = startSketchOn(XY) |> circle(center = [-50, 0], radius = 10) |> revolve(angle = 90, axis = rectangleSegmentB001) diff --git a/rust/kcl-lib/tests/riddle_small/unparsed.snap b/rust/kcl-lib/tests/riddle_small/unparsed.snap index 48d59e390..1b71ac92c 100644 --- a/rust/kcl-lib/tests/riddle_small/unparsed.snap +++ b/rust/kcl-lib/tests/riddle_small/unparsed.snap @@ -12,7 +12,7 @@ xs = 205804 ys = 71816 ox = 35 - (t(xs) % 70) oy = 35 - (t(ys) % 70) -r = startSketchOn('XZ') +r = startSketchOn(XZ) |> startProfileAt([ox, oy], %) |> line(end = [1, 0]) |> line(end = [0, -1]) diff --git a/rust/kcl-lib/tests/rotate_after_fillet/unparsed.snap b/rust/kcl-lib/tests/rotate_after_fillet/unparsed.snap index 9ce59bb10..95ee065b1 100644 --- a/rust/kcl-lib/tests/rotate_after_fillet/unparsed.snap +++ b/rust/kcl-lib/tests/rotate_after_fillet/unparsed.snap @@ -12,7 +12,7 @@ export boltThreadLength = 1.75 export fn bolt() { // Create the head of the cap screw - boltHead = startSketchOn('XZ') + boltHead = startSketchOn(XZ) |> circle(center = [0, 0], radius = boltHeadDiameter / 2, tag = $topEdge) |> extrude(length = -boltHeadLength) |> fillet(radius = 0.020, tags = [topEdge, getOppositeEdge(topEdge)]) diff --git a/rust/kcl-lib/tests/scale_after_fillet/unparsed.snap b/rust/kcl-lib/tests/scale_after_fillet/unparsed.snap index f17594b02..c2e54902a 100644 --- a/rust/kcl-lib/tests/scale_after_fillet/unparsed.snap +++ b/rust/kcl-lib/tests/scale_after_fillet/unparsed.snap @@ -12,7 +12,7 @@ export boltThreadLength = 1.75 export fn bolt() { // Create the head of the cap screw - boltHead = startSketchOn('XZ') + boltHead = startSketchOn(XZ) |> circle(center = [0, 0], radius = boltHeadDiameter / 2, tag = $topEdge) |> extrude(length = -boltHeadLength) |> fillet(radius = 0.020, tags = [topEdge, getOppositeEdge(topEdge)]) diff --git a/rust/kcl-lib/tests/sketch-on-chamfer-two-times-different-order/unparsed.snap b/rust/kcl-lib/tests/sketch-on-chamfer-two-times-different-order/unparsed.snap index f40748cd5..5180e23e8 100644 --- a/rust/kcl-lib/tests/sketch-on-chamfer-two-times-different-order/unparsed.snap +++ b/rust/kcl-lib/tests/sketch-on-chamfer-two-times-different-order/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing sketch-on-chamfer-two-times-different-order.kcl --- -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag] |> angledLine([0, 268.43], %, $rectangleSegmentA001) |> angledLine([ diff --git a/rust/kcl-lib/tests/sketch-on-chamfer-two-times/unparsed.snap b/rust/kcl-lib/tests/sketch-on-chamfer-two-times/unparsed.snap index e4ad1e79c..5d89888de 100644 --- a/rust/kcl-lib/tests/sketch-on-chamfer-two-times/unparsed.snap +++ b/rust/kcl-lib/tests/sketch-on-chamfer-two-times/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing sketch-on-chamfer-two-times.kcl --- -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag] |> angledLine([0, 268.43], %, $rectangleSegmentA001) |> angledLine([ diff --git a/rust/kcl-lib/tests/sketch_in_object/unparsed.snap b/rust/kcl-lib/tests/sketch_in_object/unparsed.snap index ad5a5296a..655d1a771 100644 --- a/rust/kcl-lib/tests/sketch_in_object/unparsed.snap +++ b/rust/kcl-lib/tests/sketch_in_object/unparsed.snap @@ -3,7 +3,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing sketch_in_object.kcl --- fn test() { - return startSketchOn('XY') + return startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 1]) |> line(end = [1, 0]) @@ -14,7 +14,7 @@ fn test() { fn test2() { return { thing1 = { - thing2 = startSketchOn('XY') + thing2 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, 1]) |> line(end = [1, 0]) diff --git a/rust/kcl-lib/tests/sketch_on_face/unparsed.snap b/rust/kcl-lib/tests/sketch_on_face/unparsed.snap index fffb67ee7..7e33de2b2 100644 --- a/rust/kcl-lib/tests/sketch_on_face/unparsed.snap +++ b/rust/kcl-lib/tests/sketch_on_face/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing sketch_on_face.kcl --- -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([11.19, 28.35], %) |> line(end = [28.67, -13.25], tag = $here) |> line(end = [-4.12, -22.81]) diff --git a/rust/kcl-lib/tests/sketch_on_face_after_fillets_referencing_face/unparsed.snap b/rust/kcl-lib/tests/sketch_on_face_after_fillets_referencing_face/unparsed.snap index cbd6e6d04..ab9101f90 100644 --- a/rust/kcl-lib/tests/sketch_on_face_after_fillets_referencing_face/unparsed.snap +++ b/rust/kcl-lib/tests/sketch_on_face_after_fillets_referencing_face/unparsed.snap @@ -26,7 +26,7 @@ thickness = sqrt(6 * M * FOS / (width * sigmaAllow)) filletR = 0.25 // Sketch the bracket and extrude with fillets -bracket = startSketchOn('XY') +bracket = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0, wallMountL], tag = $outerEdge) |> line(end = [-shelfMountL, 0], tag = $seg01) diff --git a/rust/kcl-lib/tests/sketch_on_face_circle_tagged/unparsed.snap b/rust/kcl-lib/tests/sketch_on_face_circle_tagged/unparsed.snap index 97b3eb046..681d35e42 100644 --- a/rust/kcl-lib/tests/sketch_on_face_circle_tagged/unparsed.snap +++ b/rust/kcl-lib/tests/sketch_on_face_circle_tagged/unparsed.snap @@ -3,7 +3,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing sketch_on_face_circle_tagged.kcl --- fn cube(pos, scale) { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/tests/sketch_on_face_end/unparsed.snap b/rust/kcl-lib/tests/sketch_on_face_end/unparsed.snap index 8bb90bff8..d5f655826 100644 --- a/rust/kcl-lib/tests/sketch_on_face_end/unparsed.snap +++ b/rust/kcl-lib/tests/sketch_on_face_end/unparsed.snap @@ -3,7 +3,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing sketch_on_face_end.kcl --- fn cube(pos, scale) { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/tests/sketch_on_face_end_negative_extrude/unparsed.snap b/rust/kcl-lib/tests/sketch_on_face_end_negative_extrude/unparsed.snap index 717a9e502..c92c89d30 100644 --- a/rust/kcl-lib/tests/sketch_on_face_end_negative_extrude/unparsed.snap +++ b/rust/kcl-lib/tests/sketch_on_face_end_negative_extrude/unparsed.snap @@ -3,7 +3,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing sketch_on_face_end_negative_extrude.kcl --- fn cube(pos, scale) { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/tests/sketch_on_face_start/unparsed.snap b/rust/kcl-lib/tests/sketch_on_face_start/unparsed.snap index 3176dad81..c08390a4f 100644 --- a/rust/kcl-lib/tests/sketch_on_face_start/unparsed.snap +++ b/rust/kcl-lib/tests/sketch_on_face_start/unparsed.snap @@ -3,7 +3,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing sketch_on_face_start.kcl --- fn cube(pos, scale) { - sg = startSketchOn('XY') + sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/rust/kcl-lib/tests/ssi_pattern/unparsed.snap b/rust/kcl-lib/tests/ssi_pattern/unparsed.snap index 3d50f5dbf..e3384349a 100644 --- a/rust/kcl-lib/tests/ssi_pattern/unparsed.snap +++ b/rust/kcl-lib/tests/ssi_pattern/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing ssi_pattern.kcl --- -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([-4.35, -12.26], %) |> yLine(length = 10.2) |> line(end = [0.54, -0.03]) diff --git a/rust/kcl-lib/tests/tan_arc_x_line/unparsed.snap b/rust/kcl-lib/tests/tan_arc_x_line/unparsed.snap index 86ad1f00a..201586091 100644 --- a/rust/kcl-lib/tests/tan_arc_x_line/unparsed.snap +++ b/rust/kcl-lib/tests/tan_arc_x_line/unparsed.snap @@ -8,7 +8,7 @@ angleOffset = 135 r = 1 angleStart = 110 -startSketchOn('XY') +startSketchOn(XY) |> startProfileAt([startX, startY], %) |> angledLine({ angle = angleStart, length = .000001 }, %) |> tangentialArc({ offset = angleOffset, radius = r }, %, $arc1) diff --git a/rust/kcl-lib/tests/translate_after_fillet/unparsed.snap b/rust/kcl-lib/tests/translate_after_fillet/unparsed.snap index c0698897e..54648c487 100644 --- a/rust/kcl-lib/tests/translate_after_fillet/unparsed.snap +++ b/rust/kcl-lib/tests/translate_after_fillet/unparsed.snap @@ -12,7 +12,7 @@ export boltThreadLength = 1.75 export fn bolt() { // Create the head of the cap screw - boltHead = startSketchOn('XZ') + boltHead = startSketchOn(XZ) |> circle(center = [0, 0], radius = boltHeadDiameter / 2, tag = $topEdge) |> extrude(length = -boltHeadLength) |> fillet(radius = 0.020, tags = [topEdge, getOppositeEdge(topEdge)]) diff --git a/rust/kcl-lib/tests/xz_plane/unparsed.snap b/rust/kcl-lib/tests/xz_plane/unparsed.snap index 185034dfe..75fa6fa24 100644 --- a/rust/kcl-lib/tests/xz_plane/unparsed.snap +++ b/rust/kcl-lib/tests/xz_plane/unparsed.snap @@ -2,7 +2,7 @@ source: kcl-lib/src/simulation_tests.rs description: Result of unparsing xz_plane.kcl --- -part001 = startSketchOn('XZ') +part001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(endAbsolute = [100, 100]) |> line(endAbsolute = [100, 0]) diff --git a/src/Toolbar.tsx b/src/Toolbar.tsx index 824e9c245..280993300 100644 --- a/src/Toolbar.tsx +++ b/src/Toolbar.tsx @@ -392,7 +392,8 @@ const ToolbarItemTooltip = memo(function ToolbarItemContents({ inert={false} wrapperStyle={ isDesktop() - ? ({ '-webkit-app-region': 'no-drag' } as React.CSSProperties) + ? // Without this, the tooltip disappears before being able to click on anything in it + ({ WebkitAppRegion: 'no-drag' } as React.CSSProperties) : {} } hoverOnly diff --git a/src/clientSideScene/sceneEntities.ts b/src/clientSideScene/sceneEntities.ts index ec68f01e0..9b25013aa 100644 --- a/src/clientSideScene/sceneEntities.ts +++ b/src/clientSideScene/sceneEntities.ts @@ -12,7 +12,6 @@ import { PlaneGeometry, Points, Quaternion, - Scene, Vector2, Vector3, Shape, @@ -189,19 +188,17 @@ type Vec3Array = [number, number, number] // That mostly mean sketch elements. // Cameras, controls, raycasters, etc are handled by sceneInfra export class SceneEntities { - engineCommandManager: EngineCommandManager - scene: Scene + readonly engineCommandManager: EngineCommandManager activeSegments: { [key: string]: Group } = {} - intersectionPlane: Mesh | null = null + readonly intersectionPlane: Mesh axisGroup: Group | null = null draftPointGroups: Group[] = [] currentSketchQuaternion: Quaternion | null = null constructor(engineCommandManager: EngineCommandManager) { this.engineCommandManager = engineCommandManager - this.scene = sceneInfra?.scene - sceneInfra?.camControls.subscribeToCamChange(this.onCamChange) + this.intersectionPlane = SceneEntities.createIntersectionPlane() + sceneInfra.camControls.subscribeToCamChange(this.onCamChange) window.addEventListener('resize', this.onWindowResize) - this.createIntersectionPlane() } onWindowResize = () => { @@ -328,11 +325,7 @@ export class SceneEntities { sceneInfra.overlayCallbacks(callbacks) } - createIntersectionPlane() { - if (sceneInfra.scene.getObjectByName(RAYCASTABLE_PLANE)) { - console.warn('createIntersectionPlane called when it already exists') - return - } + private static createIntersectionPlane() { const hundredM = 100_0000 const planeGeometry = new PlaneGeometry(hundredM, hundredM) const planeMaterial = new MeshBasicMaterial({ @@ -341,11 +334,12 @@ export class SceneEntities { transparent: true, opacity: 0.5, }) - this.intersectionPlane = new Mesh(planeGeometry, planeMaterial) - this.intersectionPlane.userData = { type: RAYCASTABLE_PLANE } - this.intersectionPlane.name = RAYCASTABLE_PLANE - this.intersectionPlane.layers.set(INTERSECTION_PLANE_LAYER) - this.scene.add(this.intersectionPlane) + const intersectionPlane = new Mesh(planeGeometry, planeMaterial) + intersectionPlane.userData = { type: RAYCASTABLE_PLANE } + intersectionPlane.name = RAYCASTABLE_PLANE + intersectionPlane.layers.set(INTERSECTION_PLANE_LAYER) + sceneInfra.scene.add(intersectionPlane) + return intersectionPlane } createSketchAxis( sketchPathToNode: PathToNode, @@ -424,10 +418,10 @@ export class SceneEntities { ) this.axisGroup.setRotationFromQuaternion(quat) sketchPosition && this.axisGroup.position.set(...sketchPosition) - this.scene.add(this.axisGroup) + sceneInfra.scene.add(this.axisGroup) } getDraftPoint() { - return this.scene.getObjectByName(DRAFT_POINT) + return sceneInfra.scene.getObjectByName(DRAFT_POINT) } createDraftPoint({ point, @@ -453,7 +447,7 @@ export class SceneEntities { new Vector3(...zAxis) ) draftPointGroup.setRotationFromQuaternion(currentSketchQuaternion) - this.scene.add(draftPointGroup) + sceneInfra.scene.add(draftPointGroup) const dummy = new Mesh() dummy.position.set(0, 0, 0) const scale = sceneInfra.getClientSceneScaleFactor(dummy) @@ -505,8 +499,8 @@ export class SceneEntities { ) // Position the click raycast plane - this.intersectionPlane!.setRotationFromQuaternion(quaternion) - this.intersectionPlane!.position.copy( + this.intersectionPlane.setRotationFromQuaternion(quaternion) + this.intersectionPlane.position.copy( new Vector3(...(sketchDetails?.origin || [0, 0, 0])) ) sceneInfra.setCallbacks({ @@ -658,8 +652,6 @@ export class SceneEntities { truncatedAst: Node variableDeclarationName: string }> { - this.createIntersectionPlane() - const prepared = this.prepareTruncatedAst(sketchNodePaths, maybeModdedAst) if (err(prepared)) return Promise.reject(prepared) const { truncatedAst, variableDeclarationName } = prepared @@ -847,14 +839,11 @@ export class SceneEntities { new Vector3(...forward) ) group.setRotationFromQuaternion(this.currentSketchQuaternion) - this.intersectionPlane && - this.intersectionPlane.setRotationFromQuaternion( - this.currentSketchQuaternion - ) - this.intersectionPlane && - position && - this.intersectionPlane.position.set(...position) - this.scene.add(group) + this.intersectionPlane.setRotationFromQuaternion( + this.currentSketchQuaternion + ) + position && this.intersectionPlane.position.set(...position) + sceneInfra.scene.add(group) sceneInfra.camControls.enableRotate = false sceneInfra.overlayCallbacks(callbacks) @@ -3059,18 +3048,18 @@ export class SceneEntities { }) } removeSketchGrid() { - if (this.axisGroup) this.scene.remove(this.axisGroup) + if (this.axisGroup) sceneInfra.scene.remove(this.axisGroup) } tearDownSketch({ removeAxis = true }: { removeAxis?: boolean }) { // Remove all draft groups this.draftPointGroups.forEach((draftPointGroup) => { - this.scene.remove(draftPointGroup) + sceneInfra.scene.remove(draftPointGroup) }) // Remove all sketch tools - if (this.axisGroup && removeAxis) this.scene.remove(this.axisGroup) - const sketchSegments = this.scene.children.find( + if (this.axisGroup && removeAxis) sceneInfra.scene.remove(this.axisGroup) + const sketchSegments = sceneInfra.scene.children.find( ({ userData }) => userData?.type === SKETCH_GROUP_SEGMENTS ) if (sketchSegments) { @@ -3082,7 +3071,7 @@ export class SceneEntities { object.remove() } }) - this.scene.remove(sketchSegments) + sceneInfra.scene.remove(sketchSegments) } sceneInfra.camControls.enableRotate = true this.activeSegments = {} diff --git a/src/clientSideScene/sceneInfra.ts b/src/clientSideScene/sceneInfra.ts index 04347ca2b..13b2643c8 100644 --- a/src/clientSideScene/sceneInfra.ts +++ b/src/clientSideScene/sceneInfra.ts @@ -110,18 +110,16 @@ interface OnMoveCallbackArgs { type Voidish = void | Promise export class SceneInfra { static instance: SceneInfra - scene: Scene - renderer: WebGLRenderer - labelRenderer: CSS2DRenderer - camControls: CameraControls - isPerspective = true - fov = 45 - fovBeforeAnimate = 45 + readonly scene: Scene + readonly renderer: WebGLRenderer + readonly labelRenderer: CSS2DRenderer + readonly camControls: CameraControls + private readonly fov = 45 isFovAnimationInProgress = false _baseUnit: BaseUnit = 'mm' _baseUnitMultiplier = 1 _theme: Themes = Themes.System - extraSegmentTexture: Texture + readonly extraSegmentTexture: Texture lastMouseState: MouseState = { type: 'idle' } onDragStartCallback: (arg: OnDragCallbackArgs) => Voidish = () => {} onDragEndCallback: (arg: OnDragCallbackArgs) => Voidish = () => {} diff --git a/src/components/ModelingSidebar/ModelingPanes/MemoryPane.test.tsx b/src/components/ModelingSidebar/ModelingPanes/MemoryPane.test.tsx index 9709b709d..1e598ad60 100644 --- a/src/components/ModelingSidebar/ModelingPanes/MemoryPane.test.tsx +++ b/src/components/ModelingSidebar/ModelingPanes/MemoryPane.test.tsx @@ -16,13 +16,13 @@ describe('processMemory', () => { } otherVar = myFn(5) - theExtrude = startSketchOn('XY') + theExtrude = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [-2.4, myVar]) |> line(endAbsolute = [-0.76, otherVar]) |> extrude(length = 4) - theSketch = startSketchOn('XY') + theSketch = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [-3.35, 0.17]) |> line(endAbsolute = [0.98, 5.16]) diff --git a/src/hooks/useSetupEngineManager.ts b/src/hooks/useSetupEngineManager.ts index b1e6ae0b0..5092bc8bf 100644 --- a/src/hooks/useSetupEngineManager.ts +++ b/src/hooks/useSetupEngineManager.ts @@ -93,7 +93,12 @@ export function useSetupEngineManager( engineCommandManager.settings = settings const handleResize = deferExecution(() => { - engineCommandManager.handleResize(engineCommandManager.streamDimensions) + engineCommandManager.handleResize( + getDimensions( + streamRef?.current?.offsetWidth ?? 0, + streamRef?.current?.offsetHeight ?? 0 + ) + ) }, 500) const onOnline = () => { diff --git a/src/lang/KclSingleton.ts b/src/lang/KclSingleton.ts index 1f4d91ff3..b2fe7b99b 100644 --- a/src/lang/KclSingleton.ts +++ b/src/lang/KclSingleton.ts @@ -78,7 +78,7 @@ export class KclManager { private _isExecuting = false private _executeIsStale: ExecuteArgs | null = null private _wasmInitFailed = true - private _hasErrors = false + private _astParseFailed = false private _switchedFiles = false private _fileSettings: KclSettingsAnnotation = {} private _kclVersion: string | undefined = undefined @@ -167,7 +167,7 @@ export class KclManager { } hasErrors(): boolean { - return this._hasErrors + return this._astParseFailed || this._errors.length > 0 } setDiagnosticsForCurrentErrors() { @@ -278,7 +278,7 @@ export class KclManager { private async checkIfSwitchedFilesShouldClear() { // If we were switching files and we hit an error on parse we need to bust // the cache and clear the scene. - if (this._hasErrors && this._switchedFiles) { + if (this._astParseFailed && this._switchedFiles) { await rustContext.clearSceneAndBustCache( { settings: await jsAppSettings() }, codeManager.currentFilePath || undefined @@ -292,12 +292,12 @@ export class KclManager { async safeParse(code: string): Promise | null> { const result = parse(code) this.diagnostics = [] - this._hasErrors = false + this._astParseFailed = false if (err(result)) { const kclerror: KCLError = result as KCLError this.diagnostics = kclErrorsToDiagnostics([kclerror]) - this._hasErrors = true + this._astParseFailed = true await this.checkIfSwitchedFilesShouldClear() return null @@ -313,7 +313,7 @@ export class KclManager { this.addDiagnostics(complilationErrorsToDiagnostics(result.errors)) this.addDiagnostics(complilationErrorsToDiagnostics(result.warnings)) if (result.errors.length > 0) { - this._hasErrors = true + this._astParseFailed = true await this.checkIfSwitchedFilesShouldClear() return null diff --git a/src/lang/artifact.test.ts b/src/lang/artifact.test.ts index 868bc983f..3ac0a67af 100644 --- a/src/lang/artifact.test.ts +++ b/src/lang/artifact.test.ts @@ -9,7 +9,7 @@ describe('testing artifacts', () => { // Enable rotations #152 test('sketch artifacts', async () => { const code = ` -const mySketch001 = startSketchOn('XY') +const mySketch001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [-1.59, -1.54]) |> line(endAbsolute = [0.46, -5.82]) @@ -67,7 +67,7 @@ const mySketch001 = startSketchOn('XY') test('extrude artifacts', async () => { // Enable rotations #152 const code = ` -const mySketch001 = startSketchOn('XY') +const mySketch001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [-1.59, -1.54]) |> line(endAbsolute = [0.46, -5.82]) @@ -145,7 +145,7 @@ const mySketch001 = startSketchOn('XY') // Enable rotations #152 // TODO #153 in order for getExtrudeWallTransform to work we need to query the engine for the location of a face. const code = ` -const sk1 = startSketchOn('XY') +const sk1 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [-2.5, 0]) |> line(endAbsolute = [0, 10], tag = $p) @@ -155,7 +155,7 @@ const sk1 = startSketchOn('XY') // |> ry(5, %) const theExtrude = extrude(sk1, length = 2) // const theTransf = getExtrudeWallTransform('p', theExtrude) -const sk2 = startSketchOn('XY') +const sk2 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [-2.5, 0]) |> line(endAbsolute = [0, 3], tag = $o) @@ -187,8 +187,8 @@ const sk2 = startSketchOn('XY') type: 'extrudePlane', faceId: expect.any(String), tag: { - end: 140, - start: 138, + end: 138, + start: 136, commentStart: expect.any(Number), type: 'TagDeclarator', value: 'p', diff --git a/src/lang/executor.test.ts b/src/lang/executor.test.ts index b1283c5a7..1ca8e7c8c 100644 --- a/src/lang/executor.test.ts +++ b/src/lang/executor.test.ts @@ -50,7 +50,7 @@ const newVar = myVar + 1` expect(mem['magicNum']?.value).toBe(69) }) it('sketch declaration', async () => { - let code = `const mySketch = startSketchOn('XY') + let code = `const mySketch = startSketchOn(XY) |> startProfileAt([0,0], %) |> line(endAbsolute = [0,2], tag = $myPath) |> line(endAbsolute = [2,3]) @@ -77,8 +77,8 @@ const newVar = myVar + 1` id: expect.any(String), }, tag: { - end: 111, - start: 104, + end: 109, + start: 102, commentStart: expect.any(Number), type: 'TagDeclarator', value: 'myPath', @@ -105,8 +105,8 @@ const newVar = myVar + 1` id: expect.any(String), }, tag: { - end: 192, - start: 182, + end: 190, + start: 180, commentStart: expect.any(Number), type: 'TagDeclarator', value: 'rightPath', @@ -153,7 +153,7 @@ const newVar = myVar + 1` it('execute pipe sketch into call expression', async () => { // Enable rotations #152 const code = [ - "const mySk1 = startSketchOn('XY')", + 'const mySk1 = startSketchOn(XY)', ' |> startProfileAt([0,0], %)', ' |> line(endAbsolute = [1,1])', ' |> line(endAbsolute = [0, 1], tag = $myPath)', @@ -204,8 +204,8 @@ const newVar = myVar + 1` id: expect.any(String), }, tag: { - end: 140, - start: 133, + end: 138, + start: 131, commentStart: expect.any(Number), type: 'TagDeclarator', value: 'myPath', @@ -400,7 +400,7 @@ describe('testing math operators', () => { }) it('with unaryExpression in ArrayExpression in CallExpression, checking nothing funny happens when used in a sketch', async () => { const code = [ - "const part001 = startSketchOn('XY')", + 'const part001 = startSketchOn(XY)', ' |> startProfileAt([0, 0], %)', '|> line(end = [-2.21, -legLen(5, min(3, 999))])', ].join('\n') @@ -413,7 +413,7 @@ describe('testing math operators', () => { it('test that % substitution feeds down CallExp->ArrExp->UnaryExp->CallExp', async () => { const code = [ `const myVar = 3`, - `const part001 = startSketchOn('XY')`, + `const part001 = startSketchOn(XY)`, ` |> startProfileAt([0, 0], %)`, ` |> line(end = [3, 4], tag = $seg01)`, ` |> line(end = [`, @@ -455,7 +455,7 @@ describe('testing math operators', () => { describe('Testing Errors', () => { it('should throw an error when a variable is not defined', async () => { const code = `const myVar = 5 -const theExtrude = startSketchOn('XY') +const theExtrude = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [-2.4, 5]) |> line(end = myVarZ) diff --git a/src/lang/getNodePathFromSourceRange.test.ts b/src/lang/getNodePathFromSourceRange.test.ts index b985e527e..82374e14b 100644 --- a/src/lang/getNodePathFromSourceRange.test.ts +++ b/src/lang/getNodePathFromSourceRange.test.ts @@ -17,7 +17,7 @@ describe('testing getNodePathFromSourceRange', () => { it('test it gets the right path for a `lineTo` CallExpression within a SketchExpression', () => { const code = ` const myVar = 5 -const sk3 = startSketchOn('XY') +const sk3 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [1, 2]) |> line(endAbsolute = [3, 4], tag = $yo) @@ -41,7 +41,7 @@ const sk3 = startSketchOn('XY') }) it('gets path right for function definition params', () => { const code = `fn cube = (pos, scale) => { - const sg = startSketchOn('XY') + const sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) @@ -74,7 +74,7 @@ const b1 = cube([0,0], 10)` }) it('gets path right for deep within function definition body', () => { const code = `fn cube = (pos, scale) => { - const sg = startSketchOn('XY') + const sg = startSketchOn(XY) |> startProfileAt(pos, %) |> line(end = [0, scale]) |> line(end = [scale, 0]) diff --git a/src/lang/modifyAst.test.ts b/src/lang/modifyAst.test.ts index d302e2068..d53184227 100644 --- a/src/lang/modifyAst.test.ts +++ b/src/lang/modifyAst.test.ts @@ -243,7 +243,7 @@ describe('Testing addSketchTo', () => { 'yz' ) const str = recast(result.modifiedAst) - expect(str).toBe(`sketch001 = startSketchOn('YZ') + expect(str).toBe(`sketch001 = startSketchOn(YZ) |> startProfileAt('default', %) |> line(end = 'default') `) @@ -269,7 +269,7 @@ function giveSketchFnCallTagTestHelper( } describe('Testing giveSketchFnCallTag', () => { - const code = `part001 = startSketchOn('XY') + const code = `part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [-2.57, -0.13]) |> line(end = [0, 0.83]) @@ -321,7 +321,7 @@ fn ghi = (x) => { const abc = 3 const identifierGuy = 5 yo = 5 + 6 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-1.2, 4.83], %) |> line(end = [2.8, 0]) |> angledLine([100 + 100, 3.09], %) @@ -404,7 +404,7 @@ yo2 = hmm([identifierGuy + 5])` describe('testing sketchOnExtrudedFace', () => { test('it should be able to extrude on regular segments', async () => { - const code = `part001 = startSketchOn('-XZ') + const code = `part001 = startSketchOn(-XZ) |> startProfileAt([3.58, 2.06], %) |> line(end = [9.7, 9.19]) |> line(end = [8.62, -9.57]) @@ -434,7 +434,7 @@ describe('testing sketchOnExtrudedFace', () => { const { modifiedAst } = extruded const newCode = recast(modifiedAst) - expect(newCode).toContain(`part001 = startSketchOn('-XZ') + expect(newCode).toContain(`part001 = startSketchOn(-XZ) |> startProfileAt([3.58, 2.06], %) |> line(end = [9.7, 9.19], tag = $seg01) |> line(end = [8.62, -9.57]) @@ -443,7 +443,7 @@ describe('testing sketchOnExtrudedFace', () => { sketch001 = startSketchOn(part001, seg01)`) }) test('it should be able to extrude on close segments', async () => { - const code = `part001 = startSketchOn('-XZ') + const code = `part001 = startSketchOn(-XZ) |> startProfileAt([3.58, 2.06], %) |> line(end = [9.7, 9.19]) |> line(end = [8.62, -9.57]) @@ -472,7 +472,7 @@ sketch001 = startSketchOn(part001, seg01)`) const { modifiedAst } = extruded const newCode = recast(modifiedAst) - expect(newCode).toContain(`part001 = startSketchOn('-XZ') + expect(newCode).toContain(`part001 = startSketchOn(-XZ) |> startProfileAt([3.58, 2.06], %) |> line(end = [9.7, 9.19]) |> line(end = [8.62, -9.57]) @@ -481,7 +481,7 @@ sketch001 = startSketchOn(part001, seg01)`) sketch001 = startSketchOn(part001, seg01)`) }) test('it should be able to extrude on start-end caps', async () => { - const code = `part001 = startSketchOn('-XZ') + const code = `part001 = startSketchOn(-XZ) |> startProfileAt([3.58, 2.06], %) |> line(end = [9.7, 9.19]) |> line(end = [8.62, -9.57]) @@ -511,7 +511,7 @@ sketch001 = startSketchOn(part001, seg01)`) const { modifiedAst } = extruded const newCode = recast(modifiedAst) - expect(newCode).toContain(`part001 = startSketchOn('-XZ') + expect(newCode).toContain(`part001 = startSketchOn(-XZ) |> startProfileAt([3.58, 2.06], %) |> line(end = [9.7, 9.19]) |> line(end = [8.62, -9.57]) @@ -520,7 +520,7 @@ sketch001 = startSketchOn(part001, seg01)`) sketch001 = startSketchOn(part001, 'END')`) }) test('it should ensure that the new sketch is inserted after the extrude', async () => { - const code = `sketch001 = startSketchOn('-XZ') + const code = `sketch001 = startSketchOn(-XZ) |> startProfileAt([3.29, 7.86], %) |> line(end = [2.48, 2.44]) |> line(end = [2.66, 1.17]) @@ -562,7 +562,7 @@ sketch002 = startSketchOn(part001, seg01)`) describe('Testing deleteSegmentFromPipeExpression', () => { it('Should delete a segment withOUT any dependent segments', async () => { - const code = `part001 = startSketchOn('-XZ') + const code = `part001 = startSketchOn(-XZ) |> startProfileAt([54.78, -95.91], %) |> line(end = [306.21, 198.82]) |> line(end = [306.21, 198.85], tag = $a) @@ -584,7 +584,7 @@ describe('Testing deleteSegmentFromPipeExpression', () => { ) if (err(modifiedAst)) throw modifiedAst const newCode = recast(modifiedAst) - expect(newCode).toBe(`part001 = startSketchOn('-XZ') + expect(newCode).toBe(`part001 = startSketchOn(-XZ) |> startProfileAt([54.78, -95.91], %) |> line(end = [306.21, 198.82]) |> line(end = [306.21, 198.87]) @@ -595,7 +595,7 @@ describe('Testing deleteSegmentFromPipeExpression', () => { line: string, replace1 = '', replace2 = '' - ) => `part001 = startSketchOn('-XZ') + ) => `part001 = startSketchOn(-XZ) |> startProfileAt([54.78, -95.91], %) |> line(end = [306.21, 198.82], tag = $b) ${!replace1 ? ` |> ${line}\n` : ''} |> angledLine([-65, ${ @@ -673,7 +673,7 @@ ${!replace1 ? ` |> ${line}\n` : ''} |> angledLine([-65, ${ describe('Testing removeSingleConstraintInfo', () => { describe('with mostly object notation', () => { - const code = `part001 = startSketchOn('-XZ') + const code = `part001 = startSketchOn(-XZ) |> startProfileAt([0, 0], %) |> line(end = [3 + 0, 4 + 0]) |> angledLine({ angle = 3 + 0, length = 3.14 + 0 }, %) @@ -784,7 +784,7 @@ describe('Testing removeSingleConstraintInfo', () => { ) }) describe('with array notation', () => { - const code = `part001 = startSketchOn('-XZ') + const code = `part001 = startSketchOn(-XZ) |> startProfileAt([0, 0], %) |> angledLine([3.14 + 0, 3.14 + 0], %) |> angledLineOfXLength([3 + 0, 3.14 + 0], %) @@ -840,7 +840,7 @@ describe('Testing deleteFromSelection', () => { 'basicCase', { codeBefore: `myVar = 5 -sketch003 = startSketchOn('XZ') +sketch003 = startSketchOn(XZ) |> startProfileAt([3.82, 13.6], %) |> line(end = [-2.94, 2.7]) |> line(end = [7.7, 0.16]) @@ -856,7 +856,7 @@ sketch003 = startSketchOn('XZ') // [ // 'delete extrude', // { - // codeBefore: `sketch001 = startSketchOn('XZ') + // codeBefore: `sketch001 = startSketchOn(XZ) // |> startProfileAt([3.29, 7.86], %) // |> line(end = [2.48, 2.44]) // |> line(end = [2.66, 1.17]) @@ -866,7 +866,7 @@ sketch003 = startSketchOn('XZ') // |> line(end = [-17.67, 0.85]) // |> close() // const extrude001 = extrude(sketch001, length = 10)`, - // codeAfter: `sketch001 = startSketchOn('XZ') + // codeAfter: `sketch001 = startSketchOn(XZ) // |> startProfileAt([3.29, 7.86], %) // |> line(end = [2.48, 2.44]) // |> line(end = [2.66, 1.17]) @@ -883,7 +883,7 @@ sketch003 = startSketchOn('XZ') // 'delete extrude with sketch on it', // { // codeBefore: `myVar = 5 - // sketch001 = startSketchOn('XZ') + // sketch001 = startSketchOn(XZ) // |> startProfileAt([4.46, 5.12], %, $tag) // |> line(end = [0.08, myVar]) // |> line(end = [13.03, 2.02], tag = $seg01) @@ -904,7 +904,7 @@ sketch003 = startSketchOn('XZ') // |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) // |> close()`, // codeAfter: `myVar = 5 - // sketch001 = startSketchOn('XZ') + // sketch001 = startSketchOn(XZ) // |> startProfileAt([4.46, 5.12], %, $tag) // |> line(end = [0.08, myVar]) // |> line(end = [13.03, 2.02], tag = $seg01) @@ -939,7 +939,7 @@ sketch003 = startSketchOn('XZ') // 'delete extrude with sketch on it 2', // { // codeBefore: `myVar = 5 - // sketch001 = startSketchOn('XZ') + // sketch001 = startSketchOn(XZ) // |> startProfileAt([4.46, 5.12], %, $tag) // |> line(end = [0.08, myVar]) // |> line(end = [13.03, 2.02], tag = $seg01) @@ -960,7 +960,7 @@ sketch003 = startSketchOn('XZ') // |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) // |> close()`, // codeAfter: `myVar = 5 - // sketch001 = startSketchOn('XZ') + // sketch001 = startSketchOn(XZ) // |> startProfileAt([4.46, 5.12], %, $tag) // |> line(end = [0.08, myVar]) // |> line(end = [13.03, 2.02], tag = $seg01) @@ -1032,7 +1032,7 @@ sketch003 = startSketchOn('XZ') describe('Testing splitPipedProfile', () => { it('should split the pipe expression correctly', () => { - const codeBefore = `part001 = startSketchOn('XZ') + const codeBefore = `part001 = startSketchOn(XZ) |> startProfileAt([1, 2], %) |> line([3, 4], %) |> line([5, 6], %) @@ -1040,7 +1040,7 @@ describe('Testing splitPipedProfile', () => { extrude001 = extrude(5, part001) ` - const expectedCodeAfter = `sketch001 = startSketchOn('XZ') + const expectedCodeAfter = `sketch001 = startSketchOn(XZ) part001 = startProfileAt([1, 2], sketch001) |> line([3, 4], %) |> line([5, 6], %) @@ -1050,7 +1050,7 @@ extrude001 = extrude(5, part001) const ast = assertParse(codeBefore) - const codeOfInterest = `startSketchOn('XZ')` + const codeOfInterest = `startSketchOn(XZ)` const range: [number, number, number] = [ codeBefore.indexOf(codeOfInterest), codeBefore.indexOf(codeOfInterest) + codeOfInterest.length, @@ -1067,7 +1067,7 @@ extrude001 = extrude(5, part001) expect(newCode.trim()).toBe(expectedCodeAfter.trim()) }) it('should return error for already split pipe', () => { - const codeBefore = `sketch001 = startSketchOn('XZ') + const codeBefore = `sketch001 = startSketchOn(XZ) part001 = startProfileAt([1, 2], sketch001) |> line([3, 4], %) |> line([5, 6], %) diff --git a/src/lang/modifyAst.ts b/src/lang/modifyAst.ts index b2bfe06b1..d42a48d7c 100644 --- a/src/lang/modifyAst.ts +++ b/src/lang/modifyAst.ts @@ -515,30 +515,54 @@ export function addShell({ } } -export function addSweep( - node: Node, - profileDeclarator: VariableDeclarator, - pathDeclarator: VariableDeclarator -): { +export function addSweep({ + node, + targetDeclarator, + trajectoryDeclarator, + sectional, + variableName, + insertIndex, +}: { + node: Node + targetDeclarator: VariableDeclarator + trajectoryDeclarator: VariableDeclarator + sectional: boolean + variableName?: string + insertIndex?: number +}): { modifiedAst: Node pathToNode: PathToNode } { const modifiedAst = structuredClone(node) - const name = findUniqueName(node, KCL_DEFAULT_CONSTANT_PREFIXES.SWEEP) - const sweep = createCallExpressionStdLibKw( + const name = + variableName ?? findUniqueName(node, KCL_DEFAULT_CONSTANT_PREFIXES.SWEEP) + const call = createCallExpressionStdLibKw( 'sweep', - createIdentifier(profileDeclarator.id.name), - [createLabeledArg('path', createIdentifier(pathDeclarator.id.name))] + createIdentifier(targetDeclarator.id.name), + [ + createLabeledArg('path', createIdentifier(trajectoryDeclarator.id.name)), + createLabeledArg('sectional', createLiteral(sectional)), + ] ) - const declaration = createVariableDeclaration(name, sweep) - modifiedAst.body.push(declaration) + const variable = createVariableDeclaration(name, call) + const insertAt = + insertIndex !== undefined + ? insertIndex + : modifiedAst.body.length + ? modifiedAst.body.length + : 0 + + modifiedAst.body.length + ? modifiedAst.body.splice(insertAt, 0, variable) + : modifiedAst.body.push(variable) + const argIndex = 0 const pathToNode: PathToNode = [ ['body', ''], - [modifiedAst.body.length - 1, 'index'], + [insertAt, 'index'], ['declaration', 'VariableDeclaration'], ['init', 'VariableDeclarator'], ['arguments', 'CallExpressionKw'], - [0, ARG_INDEX_FIELD], + [argIndex, ARG_INDEX_FIELD], ['arg', LABELED_ARG_FIELD], ] @@ -1943,7 +1967,7 @@ export function updateSketchNodePathsWithInsertIndex({ * * Split the following pipe expression into * ```ts - * part001 = startSketchOn('XZ') + * part001 = startSketchOn(XZ) |> startProfileAt([1, 2], %) |> line([3, 4], %) |> line([5, 6], %) @@ -1952,7 +1976,7 @@ extrude001 = extrude(5, part001) ``` into ```ts -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) part001 = startProfileAt([1, 2], sketch001) |> line([3, 4], %) |> line([5, 6], %) diff --git a/src/lang/modifyAst/addEdgeTreatment.test.ts b/src/lang/modifyAst/addEdgeTreatment.test.ts index 9c1039d44..a4f387c6c 100644 --- a/src/lang/modifyAst/addEdgeTreatment.test.ts +++ b/src/lang/modifyAst/addEdgeTreatment.test.ts @@ -178,7 +178,7 @@ const runGetPathToExtrudeForSegmentSelectionTest = async ( } describe('Testing getPathToExtrudeForSegmentSelection', () => { it('should return the correct paths for a valid selection and extrusion', async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -195,7 +195,7 @@ extrude001 = extrude(sketch001, length = -15)` ) }, 5_000) it('should return the correct paths when extrusion occurs within the sketch pipe', async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -212,21 +212,21 @@ extrude001 = extrude(sketch001, length = -15)` ) }, 5_000) it('should return the correct paths for a valid selection and extrusion in case of several extrusions and sketches', async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-30, 30], %) |> line(end = [15, 0]) |> line(end = [0, -15]) |> line(end = [-15, 0]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -sketch002 = startSketchOn('XY') +sketch002 = startSketchOn(XY) |> startProfileAt([30, 30], %) |> line(end = [20, 0]) |> line(end = [0, -20]) |> line(end = [-20, 0]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -sketch003 = startSketchOn('XY') +sketch003 = startSketchOn(XY) |> startProfileAt([30, -30], %) |> line(end = [25, 0]) |> line(end = [0, -25]) @@ -245,7 +245,7 @@ extrude003 = extrude(sketch003, length = -15)` ) }) it('should return the correct paths for a (piped) extrude based on the other body (face)', async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-25, -25], %) |> yLine(length = 50) |> xLine(length = 50) @@ -270,7 +270,7 @@ sketch002 = startSketchOn(sketch001, 'END') ) }) it('should return the correct paths for a (non-piped) extrude based on the other body (face)', async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-25, -25], %) |> yLine(length = 50) |> xLine(length = 50) @@ -295,21 +295,21 @@ extrude002 = extrude(sketch002, length = 30)` ) }) it('should not return any path for missing extrusion', async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-30, 30], %) |> line(end = [15, 0]) |> line(end = [0, -15]) |> line(end = [-15, 0]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -sketch002 = startSketchOn('XY') +sketch002 = startSketchOn(XY) |> startProfileAt([30, 30], %) |> line(end = [20, 0]) |> line(end = [0, -20]) |> line(end = [-20, 0]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() -sketch003 = startSketchOn('XY') +sketch003 = startSketchOn(XY) |> startProfileAt([30, -30], %) |> line(end = [25, 0]) |> line(end = [0, -25]) @@ -455,7 +455,7 @@ Object.values(EdgeTreatmentType).forEach( // run tests describe(`Testing modifyAstCloneWithEdgeTreatmentAndTag with ${edgeTreatmentType}s`, () => { it(`should add a ${edgeTreatmentType} to a specific segment`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -464,7 +464,7 @@ Object.values(EdgeTreatmentType).forEach( |> close() extrude001 = extrude(sketch001, length = -15)` const segmentSnippets = ['line(end = [0, -20])'] - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20], tag = $seg01) @@ -482,7 +482,7 @@ extrude001 = extrude(sketch001, length = -15) ) }) it(`should add a ${edgeTreatmentType} to the sketch pipe`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -491,7 +491,7 @@ extrude001 = extrude(sketch001, length = -15) |> close() |> extrude(length = -15)` const segmentSnippets = ['line(end = [0, -20])'] - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20], tag = $seg01) @@ -509,7 +509,7 @@ extrude001 = extrude(sketch001, length = -15) ) }) it(`should add a ${edgeTreatmentType} to an already tagged segment`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20], tag = $seg01) @@ -518,7 +518,7 @@ extrude001 = extrude(sketch001, length = -15) |> close() extrude001 = extrude(sketch001, length = -15)` const segmentSnippets = ['line(end = [0, -20], tag = $seg01)'] - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20], tag = $seg01) @@ -536,7 +536,7 @@ extrude001 = extrude(sketch001, length = -15) ) }) it(`should add a ${edgeTreatmentType} with existing tag on other segment`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -545,7 +545,7 @@ extrude001 = extrude(sketch001, length = -15) |> close() extrude001 = extrude(sketch001, length = -15)` const segmentSnippets = ['line(end = [-20, 0])'] - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -563,7 +563,7 @@ extrude001 = extrude(sketch001, length = -15) ) }) it(`should add a ${edgeTreatmentType} with existing fillet on other segment`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -573,7 +573,7 @@ extrude001 = extrude(sketch001, length = -15) extrude001 = extrude(sketch001, length = -15) |> fillet( radius = 5, tags = [seg01] )` const segmentSnippets = ['line(end = [-20, 0])'] - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -592,7 +592,7 @@ extrude001 = extrude(sketch001, length = -15) ) }) it(`should add a ${edgeTreatmentType} with existing chamfer on other segment`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -602,7 +602,7 @@ extrude001 = extrude(sketch001, length = -15) extrude001 = extrude(sketch001, length = -15) |> chamfer(length = 5, tags = [seg01])` const segmentSnippets = ['line(end = [-20, 0])'] - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -621,7 +621,7 @@ extrude001 = extrude(sketch001, length = -15) ) }) it(`should add a ${edgeTreatmentType} to two segments of a single extrusion`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -630,7 +630,7 @@ extrude001 = extrude(sketch001, length = -15) |> close() extrude001 = extrude(sketch001, length = -15)` const segmentSnippets = ['line(end = [20, 0])', 'line(end = [-20, 0])'] - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -648,7 +648,7 @@ extrude001 = extrude(sketch001, length = -15) ) }) it(`should add ${edgeTreatmentType}s to two bodies`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -656,7 +656,7 @@ extrude001 = extrude(sketch001, length = -15) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() extrude001 = extrude(sketch001, length = -15) -sketch002 = startSketchOn('XY') +sketch002 = startSketchOn(XY) |> startProfileAt([30, 10], %) |> line(end = [15, 0]) |> line(end = [0, -15]) @@ -669,7 +669,7 @@ extrude002 = extrude(sketch002, length = -25)` // <--- body 2 'line(end = [-20, 0])', 'line(end = [0, -15])', ] - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -678,7 +678,7 @@ extrude002 = extrude(sketch002, length = -25)` // <--- body 2 |> close() extrude001 = extrude(sketch001, length = -15) |> ${edgeTreatmentType}(${parameterName} = 3, tags = [seg01, seg02]) -sketch002 = startSketchOn('XY') +sketch002 = startSketchOn(XY) |> startProfileAt([30, 10], %) |> line(end = [15, 0]) |> line(end = [0, -15], tag = $seg03) @@ -699,7 +699,7 @@ extrude002 = extrude(sketch002, length = -25) describe(`Testing deleteEdgeTreatment with ${edgeTreatmentType}s`, () => { // simple cases it(`should delete a piped ${edgeTreatmentType} from a single segment`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -709,7 +709,7 @@ extrude002 = extrude(sketch002, length = -25) extrude001 = extrude(sketch001, length = -15) |> ${edgeTreatmentType}(${parameterName} = 3, tags = [seg01])` const edgeTreatmentSnippet = `${edgeTreatmentType}(${parameterName} = 3, tags = [seg01])` - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -725,7 +725,7 @@ extrude001 = extrude(sketch001, length = -15)` ) }) it(`should delete a non-piped ${edgeTreatmentType} from a single segment`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -735,7 +735,7 @@ extrude001 = extrude(sketch001, length = -15)` extrude001 = extrude(sketch001, length = -15) fillet001 = ${edgeTreatmentType}(extrude001, ${parameterName} = 3, tags = [seg01])` const edgeTreatmentSnippet = `fillet001 = ${edgeTreatmentType}(extrude001, ${parameterName} = 3, tags = [seg01])` - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -752,7 +752,7 @@ extrude001 = extrude(sketch001, length = -15)` }) // getOppositeEdge and getNextAdjacentEdge cases it(`should delete a piped ${edgeTreatmentType} tagged with getOppositeEdge`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -762,7 +762,7 @@ extrude001 = extrude(sketch001, length = -15)` extrude001 = extrude(sketch001, length = -15) fillet001 = ${edgeTreatmentType}(extrude001, ${parameterName} = 3, tags = [getOppositeEdge(seg01)])` const edgeTreatmentSnippet = `fillet001 = ${edgeTreatmentType}(extrude001, ${parameterName} = 3, tags = [getOppositeEdge(seg01)])` - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -778,7 +778,7 @@ extrude001 = extrude(sketch001, length = -15)` ) }) it(`should delete a non-piped ${edgeTreatmentType} tagged with getNextAdjacentEdge`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -788,7 +788,7 @@ extrude001 = extrude(sketch001, length = -15)` extrude001 = extrude(sketch001, length = -15) fillet001 = ${edgeTreatmentType}(extrude001, ${parameterName} = 3, tags = [getNextAdjacentEdge(seg01)])` const edgeTreatmentSnippet = `fillet001 = ${edgeTreatmentType}(extrude001, ${parameterName} = 3, tags = [getNextAdjacentEdge(seg01)])` - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -805,7 +805,7 @@ extrude001 = extrude(sketch001, length = -15)` }) // cases with several edge treatments it(`should delete a piped ${edgeTreatmentType} from a body with multiple treatments`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -818,7 +818,7 @@ extrude001 = extrude(sketch001, length = -15) fillet001 = ${edgeTreatmentType}(extrude001, ${parameterName} = 6, tags = [seg02]) chamfer001 = chamfer(extrude001, length = 5, tags = [getOppositeEdge(seg01)])` const edgeTreatmentSnippet = `${edgeTreatmentType}(${parameterName} = 3, tags = [seg01])` - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -837,7 +837,7 @@ chamfer001 = chamfer(extrude001, length = 5, tags = [getOppositeEdge(seg01)])` ) }) it(`should delete a non-piped ${edgeTreatmentType} from a body with multiple treatments`, async () => { - const code = `sketch001 = startSketchOn('XY') + const code = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -850,7 +850,7 @@ extrude001 = extrude(sketch001, length = -15) fillet001 = ${edgeTreatmentType}(extrude001, ${parameterName} = 6, tags = [seg02]) chamfer001 = chamfer(extrude001, length = 5, tags = [getOppositeEdge(seg01)])` const edgeTreatmentSnippet = `fillet001 = ${edgeTreatmentType}(extrude001, ${parameterName} = 6, tags = [seg02])` - const expectedCode = `sketch001 = startSketchOn('XY') + const expectedCode = `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0], tag = $seg01) |> line(end = [0, -20]) @@ -873,7 +873,7 @@ chamfer001 = chamfer(extrude001, length = 5, tags = [getOppositeEdge(seg01)])` ) describe('Testing isTagUsedInEdgeTreatment', () => { - const code = `sketch001 = startSketchOn('XZ') + const code = `sketch001 = startSketchOn(XZ) |> startProfileAt([7.72, 4.13], %) |> line(end = [7.11, 3.48], tag = $seg01) |> line(end = [-3.29, -13.85]) @@ -977,7 +977,7 @@ describe('Testing button states', () => { expect(buttonState).toEqual(expectedState) } const codeWithBody: string = ` - sketch001 = startSketchOn('XY') + sketch001 = startSketchOn(XY) |> startProfileAt([-20, -5], %) |> line(end = [0, 10]) |> line(end = [10, 0]) @@ -987,7 +987,7 @@ describe('Testing button states', () => { extrude001 = extrude(sketch001, length = -10) ` const codeWithoutBodies: string = ` - sketch001 = startSketchOn('XY') + sketch001 = startSketchOn(XY) |> startProfileAt([-20, -5], %) |> line(end = [0, 10]) |> line(end = [10, 0]) diff --git a/src/lang/queryAst.test.ts b/src/lang/queryAst.test.ts index 653bd6d9b..f88a42574 100644 --- a/src/lang/queryAst.test.ts +++ b/src/lang/queryAst.test.ts @@ -46,7 +46,7 @@ halfArmAngle = armAngle / 2 arrExpShouldNotBeIncluded = [1, 2, 3] objExpShouldNotBeIncluded = { a: 1, b: 2, c: 3 } -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> yLine(endAbsolute = 1) |> xLine(length = 3.84) // selection-range-7ish-before-this @@ -77,7 +77,7 @@ variableBelowShouldNotBeIncluded = 3 }) describe('testing argIsNotIdentifier', () => { - const code = `part001 = startSketchOn('XY') + const code = `part001 = startSketchOn(XY) |> startProfileAt([-1.2, 4.83], %) |> line(end = [2.8, 0]) |> angledLine([100 + 100, 3.09], %) @@ -237,7 +237,7 @@ yo2 = hmm([identifierGuy + 5])` }) describe('testing getNodePathFromSourceRange', () => { - const code = `part001 = startSketchOn('XY') + const code = `part001 = startSketchOn(XY) |> startProfileAt([0.39, -0.05], %) |> line(end = [0.94, 2.61]) |> line(end = [-0.21, -1.4])` @@ -381,7 +381,7 @@ describe('testing getNodePathFromSourceRange', () => { describe('testing hasExtrudeSketch', () => { it('find sketch', async () => { const exampleCode = `length001 = 2 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-1.41, 3.46], %) |> line(end = [19.49, 1.16], tag = $seg01) |> angledLine([-35, length001], %) @@ -401,7 +401,7 @@ part001 = startSketchOn('XY') }) it('find solid', async () => { const exampleCode = `length001 = 2 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-1.41, 3.46], %) |> line(end = [19.49, 1.16], tag = $seg01) |> angledLine([-35, length001], %) @@ -437,7 +437,7 @@ part001 = startSketchOn('XY') }) describe('Testing findUsesOfTagInPipe', () => { - const exampleCode = `part001 = startSketchOn('-XZ') + const exampleCode = `part001 = startSketchOn(-XZ) |> startProfileAt([68.12, 156.65], %) |> line(end = [306.21, 198.82]) |> line(end = [306.21, 198.85], tag = $seg01) @@ -476,7 +476,7 @@ describe('Testing findUsesOfTagInPipe', () => { }) describe('Testing hasSketchPipeBeenExtruded', () => { - const exampleCode = `sketch001 = startSketchOn('XZ') + const exampleCode = `sketch001 = startSketchOn(XZ) |> startProfileAt([3.29, 7.86], %) |> line(end = [2.48, 2.44]) |> line(end = [2.66, 1.17]) @@ -560,7 +560,7 @@ sketch003 = startSketchOn(extrude001, 'END') describe('Testing doesSceneHaveSweepableSketch', () => { it('finds sketch001 pipe to be extruded', async () => { - const exampleCode = `sketch001 = startSketchOn('XZ') + const exampleCode = `sketch001 = startSketchOn(XZ) |> startProfileAt([3.29, 7.86], %) |> line(end = [2.48, 2.44]) |> line(end = [-3.86, -2.73]) @@ -579,9 +579,9 @@ sketch002 = startSketchOn(extrude001, $seg01) expect(extrudable).toBeTruthy() }) it('finds sketch001 and sketch002 pipes to be lofted', async () => { - const exampleCode = `sketch001 = startSketchOn('XZ') + const exampleCode = `sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 1) -plane001 = offsetPlane('XZ', offset = 2) +plane001 = offsetPlane(XZ, offset = 2) sketch002 = startSketchOn(plane001) |> circle(center = [0, 0], radius = 3) ` @@ -590,7 +590,7 @@ sketch002 = startSketchOn(plane001) expect(extrudable).toBeTruthy() }) it('should recognize that sketch001 has been extruded', async () => { - const exampleCode = `sketch001 = startSketchOn('XZ') + const exampleCode = `sketch001 = startSketchOn(XZ) |> startProfileAt([3.29, 7.86], %) |> line(end = [2.48, 2.44]) |> line(end = [-3.86, -2.73]) @@ -606,7 +606,7 @@ extrude001 = extrude(sketch001, length = 10) describe('Testing doesSceneHaveExtrudedSketch', () => { it('finds extruded sketch as variable', async () => { - const exampleCode = `sketch001 = startSketchOn('XZ') + const exampleCode = `sketch001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 1) extrude001 = extrude(sketch001, length = 1) ` @@ -616,7 +616,7 @@ extrude001 = extrude(sketch001, length = 1) expect(extrudable).toBeTruthy() }) it('finds extruded sketch in pipe', async () => { - const exampleCode = `extrude001 = startSketchOn('XZ') + const exampleCode = `extrude001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 1) |> extrude(length = 1) ` @@ -626,7 +626,7 @@ extrude001 = extrude(sketch001, length = 1) expect(extrudable).toBeTruthy() }) it('finds no extrusion with sketch only', async () => { - const exampleCode = `extrude001 = startSketchOn('XZ') + const exampleCode = `extrude001 = startSketchOn(XZ) |> circle(center = [0, 0], radius = 1) ` const ast = assertParse(exampleCode) @@ -645,7 +645,7 @@ describe('Testing traverse and pathToNode', () => { ], ])('testing %s', async (testName, literalOfInterest) => { const code = `myVar = 5 -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([3.29, 7.86], %) |> line(end = [2.48, 2.44]) |> line(end = [-3.86, -2.73]) @@ -687,7 +687,7 @@ myNestedVar = [ describe('Testing specific sketch getNodeFromPath workflow', () => { it('should parse the code', () => { - const openSketch = `sketch001 = startSketchOn('XZ') + const openSketch = `sketch001 = startSketchOn(XZ) |> startProfileAt([0.02, 0.22], %) |> xLine(length = 0.39) |> line([0.02, -0.17], %) @@ -698,10 +698,10 @@ describe('Testing specific sketch getNodeFromPath workflow', () => { |> line([-0.08, 0.05], %)` const ast = assertParse(openSketch) expect(ast.start).toEqual(0) - expect(ast.end).toEqual(245) + expect(ast.end).toEqual(243) }) it('should find the location to add new lineTo', () => { - const openSketch = `sketch001 = startSketchOn('XZ') + const openSketch = `sketch001 = startSketchOn(XZ) |> startProfileAt([0.02, 0.22], %) |> xLine(length = 0.39) |> line([0.02, -0.17], %) @@ -741,7 +741,7 @@ describe('Testing specific sketch getNodeFromPath workflow', () => { }) if (err(modifiedAst)) throw modifiedAst const recasted = recast(modifiedAst) - const expectedCode = `sketch001 = startSketchOn('XZ') + const expectedCode = `sketch001 = startSketchOn(XZ) |> startProfileAt([0.02, 0.22], %) |> xLine(length = 0.39) |> line([0.02, -0.17], %) @@ -755,7 +755,7 @@ describe('Testing specific sketch getNodeFromPath workflow', () => { expect(recasted).toEqual(expectedCode) }) it('it should find the location to add close', () => { - const openSketch = `sketch001 = startSketchOn('XZ') + const openSketch = `sketch001 = startSketchOn(XZ) |> startProfileAt([0.02, 0.22], %) |> xLine(length = 0.39) |> line([0.02, -0.17], %) @@ -781,7 +781,7 @@ describe('Testing specific sketch getNodeFromPath workflow', () => { if (err(modifiedAst)) throw modifiedAst const recasted = recast(modifiedAst) - const expectedCode = `sketch001 = startSketchOn('XZ') + const expectedCode = `sketch001 = startSketchOn(XZ) |> startProfileAt([0.02, 0.22], %) |> xLine(length = 0.39) |> line([0.02, -0.17], %) diff --git a/src/lang/queryAst/getTagDeclaratorsInProgram.test.ts b/src/lang/queryAst/getTagDeclaratorsInProgram.test.ts index 936df9742..d8a78ebb2 100644 --- a/src/lang/queryAst/getTagDeclaratorsInProgram.test.ts +++ b/src/lang/queryAst/getTagDeclaratorsInProgram.test.ts @@ -30,14 +30,14 @@ describe(`getTagDeclaratorsInProgram`, () => { }) it(`finds a single tag declarators in a small program`, () => { const tagDeclarators = getTagDeclaratorsInProgram( - assertParse(`sketch001 = startSketchOn('XZ') + assertParse(`sketch001 = startSketchOn(XZ) profile001 = startProfileAt([0, 0], sketch001) |> angledLine([0, 11], %, $a)`) ) - expect(tagDeclarators).toEqual([tagDeclaratorWithIndex('a', 107, 109, 1)]) + expect(tagDeclarators).toEqual([tagDeclaratorWithIndex('a', 105, 107, 1)]) }) it(`finds multiple tag declarators in a small program`, () => { - const program = `sketch001 = startSketchOn('XZ') + const program = `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([0.07, 0], sketch001) |> angledLine([0, 11], %, $a) |> angledLine([segAng(a) + 90, 11.17], %, $b) @@ -46,13 +46,13 @@ profile001 = startProfileAt([0.07, 0], sketch001) |> close()` const tagDeclarators = getTagDeclaratorsInProgram(assertParse(program)) expect(tagDeclarators).toEqual([ - tagDeclaratorWithIndex('a', 110, 112, 1), - tagDeclaratorWithIndex('b', 158, 160, 1), - tagDeclaratorWithIndex('c', 206, 208, 1), + tagDeclaratorWithIndex('a', 108, 110, 1), + tagDeclaratorWithIndex('b', 156, 158, 1), + tagDeclaratorWithIndex('c', 204, 206, 1), ]) }) it(`finds tag declarators at different indices`, () => { - const program = `sketch001 = startSketchOn('XZ') + const program = `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([0.07, 0], sketch001) |> angledLine([0, 11], %, $a) profile002 = angledLine([segAng(a) + 90, 11.17], profile001, $b) @@ -61,9 +61,9 @@ profile002 = angledLine([segAng(a) + 90, 11.17], profile001, $b) |> close()` const tagDeclarators = getTagDeclaratorsInProgram(assertParse(program)) expect(tagDeclarators).toEqual([ - tagDeclaratorWithIndex('a', 110, 112, 1), - tagDeclaratorWithIndex('b', 175, 177, 2), - tagDeclaratorWithIndex('c', 223, 225, 2), + tagDeclaratorWithIndex('a', 108, 110, 1), + tagDeclaratorWithIndex('b', 173, 175, 2), + tagDeclaratorWithIndex('c', 221, 223, 2), ]) }) }) diff --git a/src/lang/recast.test.ts b/src/lang/recast.test.ts index 1cbb56766..38110f71b 100644 --- a/src/lang/recast.test.ts +++ b/src/lang/recast.test.ts @@ -75,7 +75,7 @@ log(5, myVar) expect(recasted.trim()).toBe(code) }) it('recast sketch declaration', () => { - let code = `mySketch = startSketchOn('XY') + let code = `mySketch = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [0, 1], tag = $myPath) |> line(endAbsolute = [1, 1]) @@ -89,7 +89,7 @@ log(5, myVar) }) it('sketch piped into callExpression', () => { const code = [ - "mySk1 = startSketchOn('XY')", + 'mySk1 = startSketchOn(XY)', ' |> startProfileAt([0, 0], %)', ' |> line(endAbsolute = [1, 1])', ' |> line(endAbsolute = [0, 1], tag = $myTag)', @@ -235,7 +235,7 @@ key = 'c' }) it('comments in a pipe expression', () => { const code = [ - "mySk1 = startSketchOn('XY')", + 'mySk1 = startSketchOn(XY)', ' |> startProfileAt([0, 0], %)', ' |> line(endAbsolute = [1, 1])', ' |> line(endAbsolute = [0, 1], tag = $myTag)', @@ -252,7 +252,7 @@ key = 'c' const code = ` /* comment at start */ -mySk1 = startSketchOn('XY') +mySk1 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [1, 1]) // comment here @@ -276,7 +276,7 @@ one more for good measure if (err(recasted)) throw recasted expect(recasted).toBe(`/* comment at start */ -mySk1 = startSketchOn('XY') +mySk1 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [1, 1]) // comment here @@ -317,7 +317,7 @@ describe('testing call Expressions in BinaryExpressions and UnaryExpressions', ( }) it('with unaryExpression in sketch situation', () => { const code = [ - "part001 = startSketchOn('XY')", + 'part001 = startSketchOn(XY)', ' |> startProfileAt([0, 0])', ' |> line(end = [-2.21, -legLen(5, min(3, 999))])', ].join('\n') @@ -330,7 +330,7 @@ describe('testing call Expressions in BinaryExpressions and UnaryExpressions', ( describe('it recasts wrapped object expressions in pipe bodies with correct indentation', () => { it('with a single line', () => { - const code = `part001 = startSketchOn('XY') + const code = `part001 = startSketchOn(XY) |> startProfileAt([-0.01, -0.08], %) |> line(end = [0.62, 4.15], tag = $seg01) |> line(end = [2.77, -1.24]) diff --git a/src/lang/std/sketch.test.ts b/src/lang/std/sketch.test.ts index 47e25c4d8..0a47f2f86 100644 --- a/src/lang/std/sketch.test.ts +++ b/src/lang/std/sketch.test.ts @@ -110,7 +110,7 @@ describe('testing changeSketchArguments', () => { const lineAfterChange = 'line(endAbsolute = [2, 3])' test('changeSketchArguments', async () => { // Enable rotations #152 - const genCode = (line: string) => `mySketch001 = startSketchOn('XY') + const genCode = (line: string) => `mySketch001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> ${line} |> line(endAbsolute = [0.46, -5.82]) @@ -148,7 +148,7 @@ describe('testing addNewSketchLn', () => { test('addNewSketchLn', async () => { // Enable rotations #152 const code = ` -mySketch001 = startSketchOn('XY') +mySketch001 = startSketchOn(XY) |> startProfileAt([0, 0], %) // |> rx(45, %) |> line(endAbsolute = [-1.59, -1.54]) @@ -157,7 +157,7 @@ mySketch001 = startSketchOn('XY') const execState = await enginelessExecutor(ast) const sourceStart = code.indexOf(lineToChange) - expect(sourceStart).toBe(89) + expect(sourceStart).toBe(87) const newSketchLnRetVal = addNewSketchLn({ node: ast, variables: execState.variables, @@ -177,7 +177,7 @@ mySketch001 = startSketchOn('XY') if (err(newSketchLnRetVal)) return newSketchLnRetVal // Enable rotations #152 - let expectedCode = `mySketch001 = startSketchOn('XY') + let expectedCode = `mySketch001 = startSketchOn(XY) |> startProfileAt([0, 0], %) // |> rx(45, %) |> line(endAbsolute = [-1.59, -1.54]) @@ -200,7 +200,7 @@ mySketch001 = startSketchOn('XY') }) if (err(modifiedAst2)) return modifiedAst2 - expectedCode = `mySketch001 = startSketchOn('XY') + expectedCode = `mySketch001 = startSketchOn(XY) |> startProfileAt([0, 0], %) // |> rx(45, %) |> line(endAbsolute = [-1.59, -1.54]) @@ -215,7 +215,7 @@ describe('testing addTagForSketchOnFace', () => { it('needs to be in it', async () => { const originalLine = 'line(endAbsolute = [-1.59, -1.54])' // Enable rotations #152 - const genCode = (line: string) => `mySketch001 = startSketchOn('XY') + const genCode = (line: string) => `mySketch001 = startSketchOn(XY) |> startProfileAt([0, 0], %) // |> rx(45, %) |> ${line} @@ -275,7 +275,7 @@ describe('testing addTagForSketchOnFace', () => { chamferTestCases.forEach(({ originalChamfer, expectedChamfer, desc }) => { it(`can break up chamfers in order to add tags - ${desc}`, async () => { - const genCode = (insertCode: string) => `sketch001 = startSketchOn('XZ') + const genCode = (insertCode: string) => `sketch001 = startSketchOn(XZ) |> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag] |> angledLine([0, 268.43], %, $rectangleSegmentA001) |> angledLine([ @@ -326,7 +326,7 @@ ${insertCode} describe('testing getConstraintInfo', () => { describe('object notation', () => { - const code = `const part001 = startSketchOn('-XZ') + const code = `const part001 = startSketchOn(-XZ) |> startProfileAt([0,0], %) |> line(end = [3, 4]) |> angledLine({ @@ -702,7 +702,7 @@ describe('testing getConstraintInfo', () => { }) }) describe('array notation', () => { - const code = `const part001 = startSketchOn('-XZ') + const code = `const part001 = startSketchOn(-XZ) |> startProfileAt([0, 0], %) |> line(end = [3, 4]) |> angledLine([3.14, 3.14], %) @@ -859,7 +859,7 @@ describe('testing getConstraintInfo', () => { }) }) describe('constrained', () => { - const code = `const part001 = startSketchOn('-XZ') + const code = `const part001 = startSketchOn(-XZ) |> startProfileAt([0, 0], %) |> line(end = [3 + 0, 4 + 0]) |> angledLine({ angle = 3.14 + 0, length = 3.14 + 0 }, %) diff --git a/src/lang/std/sketchConstraints.test.ts b/src/lang/std/sketchConstraints.test.ts index ed938c548..67f091556 100644 --- a/src/lang/std/sketchConstraints.test.ts +++ b/src/lang/std/sketchConstraints.test.ts @@ -71,7 +71,7 @@ async function testingSwapSketchFnCall({ describe('testing swapping out sketch calls with xLine/xLineTo', () => { const bigExampleArr = [ - `part001 = startSketchOn('XY')`, + `part001 = startSketchOn(XY)`, ` |> startProfileAt([0, 0], %)`, ` |> line(endAbsolute = [1, 1], tag = $abc1)`, ` |> line(end = [-2.04, -0.7], tag = $abc2)`, @@ -269,7 +269,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo while keeping var `angledLineOfYLengthY = 0.89`, `angledLineToXx = -1.86`, `angledLineToYy = -0.76`, - `part001 = startSketchOn('XY')`, + `part001 = startSketchOn(XY)`, ` |> startProfileAt([0, 0], %)`, // ` |> rx(90, %)`, ` |> line(endAbsolute = [1, 1])`, @@ -363,7 +363,7 @@ describe('testing swapping out sketch calls with xLine/xLineTo while keeping var describe('testing getSketchSegmentIndexFromSourceRange', () => { const code = ` -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0.04], %) // segment-in-start |> line(end = [0, 0.4]) |> xLine(length = 3.48) diff --git a/src/lang/std/sketchConstraints.ts b/src/lang/std/sketchConstraints.ts index 6386cc936..d3f369174 100644 --- a/src/lang/std/sketchConstraints.ts +++ b/src/lang/std/sketchConstraints.ts @@ -93,7 +93,7 @@ export function isSketchVariablesLinked( and will keep checking the second arguments recursively until it runs out of variable declarations to check or it finds a match. that way it can find fn calls that are linked to each other through variables eg: - const part001 = startSketchOn('XY') + const part001 = startSketchOn(XY) |> startProfileAt([0, 0],%) |> xLine(endAbsolute = 1.69) |> line(end = [myVar, 0.38]) // ❗️ <- cursor in this fn call (the primary) diff --git a/src/lang/std/sketchcombos.test.ts b/src/lang/std/sketchcombos.test.ts index 44a905052..7406b3da2 100644 --- a/src/lang/std/sketchcombos.test.ts +++ b/src/lang/std/sketchcombos.test.ts @@ -172,14 +172,14 @@ function makeSelections( describe('testing transformAstForSketchLines for equal length constraint', () => { describe(`should always reorder selections to have the base selection first`, () => { - const inputScript = `sketch001 = startSketchOn('XZ') + const inputScript = `sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [5, 5]) |> line(end = [-2, 5]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close()` - const expectedModifiedScript = `sketch001 = startSketchOn('XZ') + const expectedModifiedScript = `sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> line(end = [5, 5], tag = $seg01) |> angledLine([112, segLen(seg01)], %) @@ -260,7 +260,7 @@ myVar2 = 5 myVar3 = 6 myAng = 40 myAng2 = 134 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [1, 3.82]) // ln-should-get-tag |> line(endAbsolute = [myVar, 1]) // ln-lineTo-xAbsolute should use angleToMatchLengthX helper @@ -296,7 +296,7 @@ myVar2 = 5 myVar3 = 6 myAng = 40 myAng2 = 134 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [1, 3.82], tag = $seg01) // ln-should-get-tag |> angledLineToX([ @@ -401,7 +401,7 @@ describe('testing transformAstForSketchLines for vertical and horizontal constra const inputScript = `myVar = 2 myVar2 = 12 myVar3 = -10 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [1, 1]) |> line(end = [-6.28, 1.4]) // select for horizontal constraint 1 @@ -429,7 +429,7 @@ part001 = startSketchOn('XY') const expectModifiedScript = `myVar = 2 myVar2 = 12 myVar3 = -10 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [1, 1]) |> xLine(length = -6.28) // select for horizontal constraint 1 @@ -489,7 +489,7 @@ part001 = startSketchOn('XY') const expectModifiedScript = `myVar = 2 myVar2 = 12 myVar3 = -10 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [1, 1]) |> line(end = [-6.28, 1.4]) // select for horizontal constraint 1 @@ -550,7 +550,7 @@ part001 = startSketchOn('XY') describe('testing transformAstForSketchLines for vertical and horizontal distance constraints', () => { describe('testing setHorzDistance for line', () => { const inputScript = `myVar = 1 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(end = [0.31, 1.67]) // base selection |> line(end = [0.45, 1.46]) @@ -656,7 +656,7 @@ baseThickHalf = baseThick / 2 halfHeight = totalHeight / 2 halfArmAngle = armAngle / 2 -part001 = startSketchOn('XY') +part001 = startSketchOn(XY) |> startProfileAt([-0.01, -0.05], %) |> line(end = [0.01, 0.94 + 0]) // partial |> xLine(length = 3.03) // partial diff --git a/src/lang/std/std.test.ts b/src/lang/std/std.test.ts index 3bc2e783c..f18183ab2 100644 --- a/src/lang/std/std.test.ts +++ b/src/lang/std/std.test.ts @@ -7,7 +7,7 @@ beforeAll(async () => { describe('testing angledLineThatIntersects', () => { it('angledLineThatIntersects should intersect with another line', async () => { - const code = (offset: string) => `part001 = startSketchOn('XY') + const code = (offset: string) => `part001 = startSketchOn(XY) |> startProfileAt([0, 0], %) |> line(endAbsolute = [2, 2], tag = $yo) |> line(endAbsolute = [3, 1]) diff --git a/src/lib/commandBarConfigs/modelingCommandConfig.ts b/src/lib/commandBarConfigs/modelingCommandConfig.ts index 6252e9965..3afa8764a 100644 --- a/src/lib/commandBarConfigs/modelingCommandConfig.ts +++ b/src/lib/commandBarConfigs/modelingCommandConfig.ts @@ -55,8 +55,12 @@ export type ModelingCommandSchema = { distance: KclCommandValue } Sweep: { + // Enables editing workflow + nodeToEdit?: PathToNode + // Arguments target: Selections trajectory: Selections + sectional: boolean } Loft: { selection: Selections @@ -357,22 +361,40 @@ export const modelingMachineCommandConfig: StateMachineCommandSetConfig< description: 'Create a 3D body by moving a sketch region along an arbitrary path.', icon: 'sweep', - needsReview: false, + needsReview: true, args: { + nodeToEdit: { + description: + 'Path to the node in the AST to edit. Never shown to the user.', + skip: true, + inputType: 'text', + required: false, + }, target: { inputType: 'selection', selectionTypes: ['solid2d'], required: true, skip: true, multiple: false, + hidden: (context) => Boolean(context.argumentsToSubmit.nodeToEdit), }, trajectory: { inputType: 'selection', - selectionTypes: ['segment', 'path'], + selectionTypes: ['segment'], required: true, - skip: false, + skip: true, multiple: false, validation: sweepValidator, + hidden: (context) => Boolean(context.argumentsToSubmit.nodeToEdit), + }, + sectional: { + inputType: 'options', + required: true, + options: [ + { name: 'False', value: false }, + { name: 'True', value: true }, + ], + // No validation possible here until we have rollback }, }, }, diff --git a/src/lib/exampleKcl.ts b/src/lib/exampleKcl.ts index 6c53d1bf8..abdf27ab8 100644 --- a/src/lib/exampleKcl.ts +++ b/src/lib/exampleKcl.ts @@ -19,7 +19,7 @@ filletRadius = .25 extFilletRadius = filletRadius + thickness mountingHoleDiameter = 0.5 -sketch001 = startSketchOn('XZ') +sketch001 = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> xLine(length = shelfMountL - thickness, tag = $seg01) |> yLine(length = thickness, tag = $seg02) diff --git a/src/lib/operations.ts b/src/lib/operations.ts index fec432fb0..9b9b3014d 100644 --- a/src/lib/operations.ts +++ b/src/lib/operations.ts @@ -311,6 +311,143 @@ const prepareToEditOffsetPlane: PrepareToEditCallback = async ({ } } +const prepareToEditSweep: PrepareToEditCallback = async ({ + artifact, + operation, +}) => { + const baseCommand = { + name: 'Sweep', + groupId: 'modeling', + } + if ( + operation.type !== 'StdLibCall' || + !operation.labeledArgs || + !operation.unlabeledArg || + !('sectional' in operation.labeledArgs) || + !operation.labeledArgs.sectional + ) { + return baseCommand + } + if (!artifact || !('pathId' in artifact) || operation.type !== 'StdLibCall') { + return baseCommand + } + + // We have to go a little roundabout to get from the original artifact + // to the solid2DId that we need to pass to the Sweep command, just like Extrude. + const pathArtifact = getArtifactOfTypes( + { + key: artifact.pathId, + types: ['path'], + }, + engineCommandManager.artifactGraph + ) + + if ( + err(pathArtifact) || + pathArtifact.type !== 'path' || + !pathArtifact.solid2dId + ) { + return baseCommand + } + + const targetArtifact = getArtifactOfTypes( + { + key: pathArtifact.solid2dId, + types: ['solid2d'], + }, + engineCommandManager.artifactGraph + ) + + if (err(targetArtifact) || targetArtifact.type !== 'solid2d') { + return baseCommand + } + + const target = { + graphSelections: [ + { + artifact: targetArtifact, + codeRef: pathArtifact.codeRef, + }, + ], + otherSelections: [], + } + + // Same roundabout but twice for 'path' aka trajectory: sketch -> path -> segment + if (!('path' in operation.labeledArgs) || !operation.labeledArgs.path) { + return baseCommand + } + + if (operation.labeledArgs.path.value.type !== 'Sketch') { + return baseCommand + } + + const trajectoryPathArtifact = getArtifactOfTypes( + { + key: operation.labeledArgs.path.value.value.artifactId, + types: ['path'], + }, + engineCommandManager.artifactGraph + ) + + if (err(trajectoryPathArtifact) || trajectoryPathArtifact.type !== 'path') { + return baseCommand + } + + const trajectoryArtifact = getArtifactOfTypes( + { + key: trajectoryPathArtifact.segIds[0], + types: ['segment'], + }, + engineCommandManager.artifactGraph + ) + + if (err(trajectoryArtifact) || trajectoryArtifact.type !== 'segment') { + return baseCommand + } + + const trajectory = { + graphSelections: [ + { + artifact: trajectoryArtifact, + codeRef: trajectoryArtifact.codeRef, + }, + ], + otherSelections: [], + } + + // sectional options boolean arg + if ( + !('sectional' in operation.labeledArgs) || + !operation.labeledArgs.sectional + ) { + return baseCommand + } + + const sectional = + codeManager.code.slice( + operation.labeledArgs.sectional.sourceRange[0], + operation.labeledArgs.sectional.sourceRange[1] + ) === 'true' + + // Assemble the default argument values for the Offset Plane command, + // with `nodeToEdit` set, which will let the Offset Plane actor know + // to edit the node that corresponds to the StdLibCall. + const argDefaultValues: ModelingCommandSchema['Sweep'] = { + target: target, + trajectory, + sectional, + nodeToEdit: getNodePathFromSourceRange( + kclManager.ast, + sourceRangeFromRust(operation.sourceRange) + ), + } + + return { + ...baseCommand, + argDefaultValues, + } +} + const prepareToEditHelix: PrepareToEditCallback = async ({ operation }) => { const baseCommand = { name: 'Helix', @@ -511,6 +648,7 @@ export const stdLibMap: Record = { sweep: { label: 'Sweep', icon: 'sweep', + prepareToEdit: prepareToEditSweep, supportsAppearance: true, }, } diff --git a/src/lib/rectangleTool.test.ts b/src/lib/rectangleTool.test.ts index faf1f5deb..33010c130 100644 --- a/src/lib/rectangleTool.test.ts +++ b/src/lib/rectangleTool.test.ts @@ -20,7 +20,7 @@ describe('library rectangleTool helper functions', () => { // regression test for https://github.com/KittyCAD/modeling-app/issues/5157 test('should update AST and source code', async () => { // Base source code that will be edited in place - const sourceCode = `sketch001 = startSketchOn('XZ') + const sourceCode = `sketch001 = startSketchOn(XZ) |> startProfileAt([120.37, 162.76], %) |> angledLine([0, 0], %, $rectangleSegmentA001) |> angledLine([segAng(rectangleSegmentA001) + 90, 0], %, $rectangleSegmentB001) @@ -73,7 +73,7 @@ segAng(rectangleSegmentA001), } // ast is edited in place from the updateCenterRectangleSketch - const expectedSourceCode = `sketch001 = startSketchOn('XZ') + const expectedSourceCode = `sketch001 = startSketchOn(XZ) |> startProfileAt([120.37, 80], %) |> angledLine([0, 0], %, $rectangleSegmentA001) |> angledLine([segAng(rectangleSegmentA001) + 90, 0], %, $rectangleSegmentB001) diff --git a/src/lib/rectangleTool.ts b/src/lib/rectangleTool.ts index c7b392f23..84b6e10a5 100644 --- a/src/lib/rectangleTool.ts +++ b/src/lib/rectangleTool.ts @@ -24,7 +24,7 @@ import { ARG_END_ABSOLUTE } from 'lang/std/sketch' /** * It does not create the startSketchOn and it does not create the startProfileAt. * Returns AST expressions for this KCL code: - * const yo = startSketchOn('XY') + * const yo = startSketchOn(XY) * |> startProfileAt([0, 0], %) * |> angledLine([0, 0], %, $a) * |> angledLine([segAng(a) - 90, 0], %, $b) diff --git a/src/lib/selections.test.ts b/src/lib/selections.test.ts index c7b49c01f..545dfd2d5 100644 --- a/src/lib/selections.test.ts +++ b/src/lib/selections.test.ts @@ -14,7 +14,7 @@ beforeAll(async () => { }) describe('testing source range to artifact conversion', () => { - const MY_CODE = `sketch001 = startSketchOn('XZ') + const MY_CODE = `sketch001 = startSketchOn(XZ) profile001 = startProfileAt([105.55, 105.55], sketch001) |> xLine(332.55, %, $seg01) |> yLine(-310.12, %, $seg02) @@ -1114,7 +1114,7 @@ profile004 = circle(sketch003, [ 'default plane selection', { - snippet: "sketch001 = startSketchOn('XZ')", + snippet: 'sketch001 = startSketchOn(XZ)', artifactDetails: { type: 'plane', range: [31, 31, 0], diff --git a/src/machines/modelingMachine.ts b/src/machines/modelingMachine.ts index 7bc3d35e2..044995a9d 100644 --- a/src/machines/modelingMachine.ts +++ b/src/machines/modelingMachine.ts @@ -78,7 +78,7 @@ import { import { ModelingCommandSchema } from 'lib/commandBarConfigs/modelingCommandConfig' import { err, reportRejection, trap } from 'lib/trap' import { DefaultPlaneStr } from 'lib/planes' -import { uuidv4 } from 'lib/utils' +import { isArray, uuidv4 } from 'lib/utils' import { Coords2d } from 'lang/std/sketch' import { deleteSegment } from 'clientSideScene/ClientSideSceneComp' import toast from 'react-hot-toast' @@ -484,6 +484,9 @@ export const modelingMachine = setup({ 'Selection is on face': () => false, 'Has exportable geometry': () => false, 'has valid selection for deletion': () => false, + 'no kcl errors': () => { + return !kclManager.hasErrors() + }, 'is editing existing sketch': ({ context: { sketchDetails } }) => isEditingExistingSketch({ sketchDetails }), 'Can make selection horizontal': ({ context: { selectionRanges } }) => { @@ -870,14 +873,14 @@ export const modelingMachine = setup({ ) // Position the click raycast plane - if (sceneEntitiesManager.intersectionPlane) { - sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( - quaternion - ) - sceneEntitiesManager.intersectionPlane.position.copy( - new Vector3(...(sketchDetails?.origin || [0, 0, 0])) - ) - } + + sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( + quaternion + ) + sceneEntitiesManager.intersectionPlane.position.copy( + new Vector3(...(sketchDetails?.origin || [0, 0, 0])) + ) + sceneInfra.setCallbacks({ onClick: (args) => { if (!args) return @@ -906,14 +909,14 @@ export const modelingMachine = setup({ ) // Position the click raycast plane - if (sceneEntitiesManager.intersectionPlane) { - sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( - quaternion - ) - sceneEntitiesManager.intersectionPlane.position.copy( - new Vector3(...(sketchDetails?.origin || [0, 0, 0])) - ) - } + + sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( + quaternion + ) + sceneEntitiesManager.intersectionPlane.position.copy( + new Vector3(...(sketchDetails?.origin || [0, 0, 0])) + ) + sceneInfra.setCallbacks({ onClick: (args) => { if (!args) return @@ -939,14 +942,14 @@ export const modelingMachine = setup({ ) // Position the click raycast plane - if (sceneEntitiesManager.intersectionPlane) { - sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( - quaternion - ) - sceneEntitiesManager.intersectionPlane.position.copy( - new Vector3(...(sketchDetails?.origin || [0, 0, 0])) - ) - } + + sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( + quaternion + ) + sceneEntitiesManager.intersectionPlane.position.copy( + new Vector3(...(sketchDetails?.origin || [0, 0, 0])) + ) + sceneInfra.setCallbacks({ onClick: (args) => { if (!args) return @@ -973,14 +976,14 @@ export const modelingMachine = setup({ ) // Position the click raycast plane - if (sceneEntitiesManager.intersectionPlane) { - sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( - quaternion - ) - sceneEntitiesManager.intersectionPlane.position.copy( - new Vector3(...(sketchDetails?.origin || [0, 0, 0])) - ) - } + + sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( + quaternion + ) + sceneEntitiesManager.intersectionPlane.position.copy( + new Vector3(...(sketchDetails?.origin || [0, 0, 0])) + ) + sceneInfra.setCallbacks({ onClick: (args) => { if (!args) return @@ -1011,14 +1014,13 @@ export const modelingMachine = setup({ ) // Position the click raycast plane - if (sceneEntitiesManager.intersectionPlane) { - sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( - quaternion - ) - sceneEntitiesManager.intersectionPlane.position.copy( - new Vector3(...(sketchDetails?.origin || [0, 0, 0])) - ) - } + + sceneEntitiesManager.intersectionPlane.setRotationFromQuaternion( + quaternion + ) + sceneEntitiesManager.intersectionPlane.position.copy( + new Vector3(...(sketchDetails?.origin || [0, 0, 0])) + ) const dummy = new Mesh() dummy.position.set(0, 0, 0) @@ -1994,55 +1996,88 @@ export const modelingMachine = setup({ if (!input) return new Error('No input provided') // Extract inputs const ast = kclManager.ast - const { target, trajectory } = input + const { target, trajectory, sectional, nodeToEdit } = input + let variableName: string | undefined = undefined + let insertIndex: number | undefined = undefined - // Find the profile declaration + // If this is an edit flow, first we're going to remove the old one + if (nodeToEdit !== undefined && typeof nodeToEdit[1][0] === 'number') { + // Extract the plane name from the node to edit + const variableNode = getNodeFromPath( + ast, + nodeToEdit, + 'VariableDeclaration' + ) + + if (err(variableNode)) { + console.error('Error extracting name') + } else { + variableName = variableNode.node.declaration.id.name + } + + // Removing the old statement + const newBody = [...ast.body] + newBody.splice(nodeToEdit[1][0], 1) + ast.body = newBody + insertIndex = nodeToEdit[1][0] + } + + // Find the target declaration const targetNodePath = getNodePathFromSourceRange( ast, target.graphSelections[0].codeRef.range ) - const targetNode = getNodeFromPath( - ast, - targetNodePath, - 'VariableDeclarator' - ) + // Gotchas, not sure why + // - it seems like in some cases we get a list on edit, especially the state that e2e hits + // - looking for a VariableDeclaration seems more robust than VariableDeclarator + const targetNode = getNodeFromPath< + VariableDeclaration | VariableDeclaration[] + >(ast, targetNodePath, 'VariableDeclaration') if (err(targetNode)) { return new Error("Couldn't parse profile selection") } - const targetDeclarator = targetNode.node - // Find the path declaration + const targetDeclarator = isArray(targetNode.node) + ? targetNode.node[0].declaration + : targetNode.node.declaration + + // Find the trajectory (or path) declaration const trajectoryNodePath = getNodePathFromSourceRange( ast, trajectory.graphSelections[0].codeRef.range ) - const trajectoryNode = getNodeFromPath( + // Also looking for VariableDeclaration for consistency here + const trajectoryNode = getNodeFromPath( ast, trajectoryNodePath, - 'VariableDeclarator' + 'VariableDeclaration' ) if (err(trajectoryNode)) { return new Error("Couldn't parse path selection") } - const trajectoryDeclarator = trajectoryNode.node + + const trajectoryDeclarator = trajectoryNode.node.declaration // Perform the sweep - const sweepRes = addSweep(ast, targetDeclarator, trajectoryDeclarator) - const updateAstResult = await kclManager.updateAst( - sweepRes.modifiedAst, - true, + const { modifiedAst, pathToNode } = addSweep({ + node: ast, + targetDeclarator, + trajectoryDeclarator, + sectional, + variableName, + insertIndex, + }) + await updateModelingState( + modifiedAst, { - focusPath: [sweepRes.pathToNode], + kclManager, + editorManager, + codeManager, + }, + { + focusPath: [pathToNode], } ) - - await codeManager.updateEditorWithAstAndWriteToFile( - updateAstResult.newAst - ) - - if (updateAstResult?.selections) { - editorManager.selectRange(updateAstResult?.selections) - } } ), loftAstMod: fromPromise( @@ -2662,7 +2697,10 @@ export const modelingMachine = setup({ states: { hidePlanes: { on: { - 'Artifact graph populated': 'showPlanes', + 'Artifact graph populated': { + target: 'showPlanes', + guard: 'no kcl errors', + }, }, entry: 'hide default planes', diff --git a/src/test-utils.test.ts b/src/test-utils.test.ts index 0370f4472..9f0266e9c 100644 --- a/src/test-utils.test.ts +++ b/src/test-utils.test.ts @@ -2,7 +2,7 @@ import { normaliseKclNumbers } from '../e2e/playwright/test-utils' test('normaliseKclNumbers', () => { expect( - normaliseKclNumbers(`sketch001 = startSketchOn('XY') + normaliseKclNumbers(`sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -10,7 +10,7 @@ test('normaliseKclNumbers', () => { |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() const extrude001 = extrude(sketch001, length = -15)`) - ).toBe(`sketch001 = startSketchOn('XY') + ).toBe(`sketch001 = startSketchOn(XY) |> startProfileAt([-12.34, 12.34], %) |> line(end = [12.34, 0]) |> line(end = [0, -12.34]) @@ -20,7 +20,7 @@ const extrude001 = extrude(sketch001, length = -15)`) const extrude001 = extrude(sketch001, length = -12.34)`) expect( normaliseKclNumbers( - `sketch001 = startSketchOn('XY') + `sketch001 = startSketchOn(XY) |> startProfileAt([-10, 10], %) |> line(end = [20, 0]) |> line(end = [0, -20]) @@ -30,7 +30,7 @@ const extrude001 = extrude(sketch001, length = -12.34)`) const extrude001 = extrude(sketch001, length = -15)`, false ) - ).toBe(`sketch001 = startSketchOn('XY') + ).toBe(`sketch001 = startSketchOn(XY) |> startProfileAt([-12.34, 12.34], %) |> line(end = [12.34, 12.34]) |> line(end = [12.34, -12.34])