plotboilerplate 1.23.2 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/index.esm.js +8351 -6928
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/plotboilerplate.browser.min.js +1 -1
- package/dist/plotboilerplate.browser.min.js.map +1 -1
- package/dist/plotboilerplate.js +1590 -123
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +4 -2
- package/src/cjs/BezierPath.d.ts +41 -5
- package/src/cjs/BezierPath.js +52 -2
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/Bounds.d.ts +67 -3
- package/src/cjs/Bounds.js +101 -3
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/Circle.d.ts +46 -4
- package/src/cjs/Circle.js +82 -3
- package/src/cjs/Circle.js.map +1 -1
- package/src/cjs/CircleSector.d.ts +51 -2
- package/src/cjs/CircleSector.js +112 -3
- package/src/cjs/CircleSector.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +113 -7
- package/src/cjs/CubicBezierCurve.js +281 -33
- package/src/cjs/CubicBezierCurve.js.map +1 -1
- package/src/cjs/Line.d.ts +38 -3
- package/src/cjs/Line.js +64 -1
- package/src/cjs/Line.js.map +1 -1
- package/src/cjs/PlotBoilerplate.d.ts +4 -2
- package/src/cjs/PlotBoilerplate.js +9 -12
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +153 -6
- package/src/cjs/Polygon.js +304 -23
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Triangle.d.ts +73 -4
- package/src/cjs/Triangle.js +94 -2
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/VEllipse.d.ts +62 -3
- package/src/cjs/VEllipse.js +181 -17
- package/src/cjs/VEllipse.js.map +1 -1
- package/src/cjs/VEllipseSector.d.ts +86 -2
- package/src/cjs/VEllipseSector.js +148 -4
- package/src/cjs/VEllipseSector.js.map +1 -1
- package/src/cjs/Vector.d.ts +12 -2
- package/src/cjs/Vector.js +15 -2
- package/src/cjs/Vector.js.map +1 -1
- package/src/cjs/VertTuple.d.ts +39 -10
- package/src/cjs/VertTuple.js +49 -11
- package/src/cjs/VertTuple.js.map +1 -1
- package/src/cjs/Vertex.d.ts +18 -2
- package/src/cjs/Vertex.js +22 -2
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/draw.d.ts +1 -0
- package/src/cjs/draw.js +2 -1
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawutilssvg.js +24 -0
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/geomutils.d.ts +32 -1
- package/src/cjs/geomutils.js +47 -1
- package/src/cjs/geomutils.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +39 -0
- package/src/cjs/interfaces/core.js +2 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/utils/algorithms/PolygonInset.d.ts +184 -0
- package/src/cjs/utils/algorithms/PolygonInset.js +431 -0
- package/src/cjs/utils/algorithms/PolygonInset.js.map +1 -0
- package/src/cjs/utils/algorithms/clearDuplicateVertices.d.ts +5 -4
- package/src/cjs/utils/algorithms/clearDuplicateVertices.js +6 -3
- package/src/cjs/utils/algorithms/clearDuplicateVertices.js.map +1 -1
- package/src/cjs/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
- package/src/cjs/utils/algorithms/convexPolygonIncircle.js +14 -6
- package/src/cjs/utils/algorithms/convexPolygonIncircle.js.map +1 -1
- package/src/cjs/utils/algorithms/findPolygonSelfIntersections.d.ts +2 -1
- package/src/cjs/utils/algorithms/findPolygonSelfIntersections.js +3 -3
- package/src/cjs/utils/algorithms/findPolygonSelfIntersections.js.map +1 -1
- package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.d.ts +3 -2
- package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.js +11 -9
- package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -1
- package/src/cjs/utils/createRandomizedPolygon.d.ts +14 -0
- package/src/cjs/utils/createRandomizedPolygon.js +32 -0
- package/src/cjs/utils/createRandomizedPolygon.js.map +1 -0
- package/src/cjs/utils/detectDarkMode.js.map +1 -1
- package/src/cjs/utils/dom/guiSizeToggler.d.ts +2 -1
- package/src/cjs/utils/dom/guiSizeToggler.js +5 -3
- package/src/cjs/utils/dom/guiSizeToggler.js.map +1 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +9 -7
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +37 -23
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/cjs/utils/helpers/CircleSectorHelper.d.ts +10 -1
- package/src/cjs/utils/helpers/CircleSectorHelper.js +19 -20
- package/src/cjs/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/cjs/utils/helpers/VEllipseHelper.d.ts +30 -0
- package/src/cjs/utils/helpers/VEllipseHelper.js +86 -0
- package/src/cjs/utils/helpers/VEllipseHelper.js.map +1 -0
- package/src/cjs/utils/helpers/VEllipseSectorHelper.d.ts +42 -3
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js +107 -25
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- package/src/createDemoDrawables.js +3 -1
- package/src/esm/BezierPath.d.ts +41 -5
- package/src/esm/BezierPath.js +50 -2
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/Bounds.d.ts +67 -3
- package/src/esm/Bounds.js +101 -3
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/Circle.d.ts +46 -4
- package/src/esm/Circle.js +79 -3
- package/src/esm/Circle.js.map +1 -1
- package/src/esm/CircleSector.d.ts +51 -2
- package/src/esm/CircleSector.js +108 -3
- package/src/esm/CircleSector.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +113 -7
- package/src/esm/CubicBezierCurve.js +277 -33
- package/src/esm/CubicBezierCurve.js.map +1 -1
- package/src/esm/Line.d.ts +38 -3
- package/src/esm/Line.js +62 -1
- package/src/esm/Line.js.map +1 -1
- package/src/esm/PlotBoilerplate.d.ts +4 -2
- package/src/esm/PlotBoilerplate.js +9 -12
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +153 -6
- package/src/esm/Polygon.js +301 -23
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Triangle.d.ts +73 -4
- package/src/esm/Triangle.js +91 -2
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/VEllipse.d.ts +62 -3
- package/src/esm/VEllipse.js +178 -17
- package/src/esm/VEllipse.js.map +1 -1
- package/src/esm/VEllipseSector.d.ts +86 -2
- package/src/esm/VEllipseSector.js +146 -7
- package/src/esm/VEllipseSector.js.map +1 -1
- package/src/esm/Vector.d.ts +12 -2
- package/src/esm/Vector.js +15 -2
- package/src/esm/Vector.js.map +1 -1
- package/src/esm/VertTuple.d.ts +39 -10
- package/src/esm/VertTuple.js +49 -11
- package/src/esm/VertTuple.js.map +1 -1
- package/src/esm/Vertex.d.ts +18 -2
- package/src/esm/Vertex.js +22 -2
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/draw.d.ts +1 -0
- package/src/esm/draw.js +2 -1
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawutilssvg.js +24 -0
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/geomutils.d.ts +32 -1
- package/src/esm/geomutils.js +47 -1
- package/src/esm/geomutils.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +39 -0
- package/src/esm/interfaces/core.js +2 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/utils/algorithms/PolygonInset.d.ts +184 -0
- package/src/esm/utils/algorithms/PolygonInset.js +424 -0
- package/src/esm/utils/algorithms/PolygonInset.js.map +1 -0
- package/src/esm/utils/algorithms/clearDuplicateVertices.d.ts +5 -4
- package/src/esm/utils/algorithms/clearDuplicateVertices.js +6 -3
- package/src/esm/utils/algorithms/clearDuplicateVertices.js.map +1 -1
- package/src/esm/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
- package/src/esm/utils/algorithms/convexPolygonIncircle.js +15 -7
- package/src/esm/utils/algorithms/convexPolygonIncircle.js.map +1 -1
- package/src/esm/utils/algorithms/createRandomizedPolygon.d.ts +14 -0
- package/src/esm/utils/algorithms/createRandomizedPolygon.js +28 -0
- package/src/esm/utils/algorithms/createRandomizedPolygon.js.map +1 -0
- package/src/esm/utils/algorithms/findPolygonSelfIntersections.d.ts +2 -1
- package/src/esm/utils/algorithms/findPolygonSelfIntersections.js +3 -3
- package/src/esm/utils/algorithms/findPolygonSelfIntersections.js.map +1 -1
- package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.d.ts +3 -2
- package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.js +11 -9
- package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -1
- package/src/esm/utils/createRandomizedPolygon.d.ts +14 -0
- package/src/esm/utils/createRandomizedPolygon.js +28 -0
- package/src/esm/utils/createRandomizedPolygon.js.map +1 -0
- package/src/esm/utils/detectDarkMode.js.map +1 -1
- package/src/esm/utils/dom/guiSizeToggler.d.ts +2 -1
- package/src/esm/utils/dom/guiSizeToggler.js +4 -2
- package/src/esm/utils/dom/guiSizeToggler.js.map +1 -1
- package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +9 -7
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +35 -22
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/esm/utils/helpers/CircleSectorHelper.d.ts +10 -1
- package/src/esm/utils/helpers/CircleSectorHelper.js +19 -20
- package/src/esm/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/esm/utils/helpers/VEllipseHelper.d.ts +30 -0
- package/src/esm/utils/helpers/VEllipseHelper.js +81 -0
- package/src/esm/utils/helpers/VEllipseHelper.js.map +1 -0
- package/src/esm/utils/helpers/VEllipseSectorHelper.d.ts +42 -3
- package/src/esm/utils/helpers/VEllipseSectorHelper.js +106 -24
- package/src/esm/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- package/src/ts/BezierPath.ts +58 -5
- package/src/ts/Bounds.ts +110 -6
- package/src/ts/Circle.ts +87 -5
- package/src/ts/CircleSector.ts +115 -5
- package/src/ts/CubicBezierCurve.ts +332 -42
- package/src/ts/Line.ts +66 -3
- package/src/ts/PlotBoilerplate.ts +10 -12
- package/src/ts/Polygon.ts +329 -27
- package/src/ts/Triangle.ts +101 -5
- package/src/ts/VEllipse.ts +214 -19
- package/src/ts/VEllipseSector.ts +154 -8
- package/src/ts/Vector.ts +16 -2
- package/src/ts/VertTuple.ts +53 -13
- package/src/ts/Vertex.ts +24 -3
- package/src/ts/draw.ts +2 -1
- package/src/ts/drawutilssvg.ts +29 -0
- package/src/ts/geomutils.ts +49 -1
- package/src/ts/interfaces/core.ts +42 -0
- package/src/ts/utils/algorithms/PolygonInset.ts +529 -0
- package/src/ts/utils/algorithms/clearDuplicateVertices.ts +11 -8
- package/src/ts/utils/algorithms/convexPolygonIncircle.ts +82 -78
- package/src/ts/utils/algorithms/findPolygonSelfIntersections.ts +25 -26
- package/src/ts/utils/algorithms/splitPolygonToNonIntersecting.ts +92 -99
- package/src/ts/utils/createRandomizedPolygon.ts +31 -0
- package/src/ts/utils/detectDarkMode.ts +1 -3
- package/src/ts/utils/dom/guiSizeToggler.ts +4 -2
- package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +45 -29
- package/src/ts/utils/helpers/CircleSectorHelper.ts +115 -125
- package/src/ts/utils/helpers/VEllipseHelper.ts +113 -0
- package/src/ts/utils/helpers/VEllipseSectorHelper.ts +142 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawutilssvg.js","sourceRoot":"","sources":["../ts/drawutilssvg.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drawutilssvg.js","sourceRoot":"","sources":["../ts/drawutilssvg.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkDI;;;AAEJ,+CAA8C;AAC9C,uDAAsD;AAEtD,mCAAkC;AAelC,+CAA8C;AAC9C,mCAAkC;AAElC,IAAM,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AAEjC;;;;;;;;GAQG;AACH;IA8HE;;OAEG;IACH,qCAAqC;IAErC;;;;;;;;;;;;;QAaI;IACJ,sBACE,OAAmB,EACnB,MAAgB,EAChB,KAAe,EACf,UAAuB,EACvB,UAAmB,EACnB,UAAsB,EACtB,WAAqB,EACrB,KAAmB,EACnB,WAAyB,EACzB,QAAyB,EACzB,cAA+B,EAC/B,SAA2B;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,oBAAoB,GAAG,EAA0B,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzB,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3D,MAAM,gGAAgG,CAAC;YACzG,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;YACvC,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAgB,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAgB,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,mCAAY,GAApB,UAAqB,UAAsB;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAoB,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,uCAAgB,GAAxB,UAAyB,UAAsB;QAC7C,2DAA2D;QAC3D,oCAAoC;QACpC,IAAM,IAAI,GAAG;YACX,QAAQ,EAAE,kBAAkB;YAC5B,uDAAuD;YACvD,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,SAAS;YACpB,eAAe,EAAE,eAAe;YAChC,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,cAAc;YAC9B,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,oGAAoG;QACpG,IAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,yCAAyC;QACzC,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,IAAM,SAAS,GAAW,IAAI,CAAC,CAAiB,CAAkB,CAAC;YACnE,IAAM,YAAY,GAA6B,UAAU,CAAC,CAAiB,CAAoC,CAAC;YAChH,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,WAAI,SAAS,qCAA2B,YAAY,CAAC,KAAK,6BAAmB,YAAY,CAAC,SAAS,SAAM,CAAC,CAAC;YACxH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,wDAAiD,CAAC,yBAAsB,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,KAAa,EAAE,GAAW;gBACtD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,4EAA4E;QAC9E,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,kCAAW,GAAnB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAmB,CAAC;QAC7D,2CAA2C;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAmB,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;OAUG;IACH,yCAAkB,GAAlB,UAAmB,IAAyB;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;OAUG;IACK,kCAAW,GAAnB,UAAoB,GAAe,EAAE,QAAgB;QACnD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,GAA2B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACK,oCAAa,GAArB,UAAsB,QAAgB;QACpC,OAAO,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;OAWG;IACK,+BAAQ,GAAhB,UAAiB,QAAgB;QAC/B,yCAAyC;QACzC,2CAA2C;QAE3C,4CAA4C;QAC5C,IAAI,IAAI,GAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,yEAAyE;YACzE,yBAAyB;YACzB,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;YACxC,sEAAsE;YACtE,IAAI,CAAC,KAAK,CAAC,gBAAgC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACpF,CAAC;QACD,0HAA0H;QAC1H,oEAAoE;QACpE,IAAI;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,oCAAa,GAArB,UACE,IAAgB,EAChB,SAAiB,EACjB,KAAqB,EACrB,SAAyB,EACzB,aAA6B;QAE7B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;OAWG;IACK,gCAAS,GAAjB,UAAkB,IAAgB,EAAE,aAA0B;QAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,6CAA6C;YAC7C,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACK,qCAAc,GAAtB,UAAuB,IAAgB,EAAE,SAAiB;QACxD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAG,SAAS,cAAI,IAAI,CAAC,YAAY,CAAE,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,qCAAc,GAAtB,UACE,IAAgB,EAChB,SAAiB,EACjB,QAAiB,EACjB,KAAqB,EACrB,SAAyB,EACzB,aAA6B;QAE7B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,UAAG,SAAS,IAAI,CAAC,CAAE,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,2CAA2C;QACvF,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,8BAAO,GAAP,UAAQ,UAAuB;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,cAAO,IAAI,CAAC,UAAU,CAAC,KAAK,cAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,UAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,mCAAY,GAAZ,UAAa,UAAmB;QAC9B,IAAI,IAAI,GAAiB,IAAI,YAAY,CACvC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,UAAU,EACf,UAAU,EACV,IAAI,CAAC,UAAU,EAAE,+FAA+F;QAChH,IAAI,EAAE,cAAc;QACpB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,uCAAgB,GAAhB,UAAiB,aAAmC;QAClD,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;IAC5C,CAAC;IAED;;;;;;;;;QASI;IACJ,mCAAY,GAAZ,UAAa,GAAe;QAC1B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,CAAC;IAED;;;;;;;;;QASI;IACJ,0CAAmB,GAAnB,UAAoB,SAAwB;QAC1C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAED;;;;;;;;;QASI;IACJ,qCAAc,GAAd,UAAe,UAAkB;QAC/B,qDAAqD;QACrD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,oEAAoE;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5D,8CAA8C;YAC9C,sDAAsD;YACtD,IAAI,KAAK,GAAe,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAe,CAAC;YACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAW,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;;;QASI;IACJ,mCAAY,GAAZ,UAAa,UAAkB;QAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,oGAAoG;YACpG,kBAAkB;YAClB,iDAAiD;YACjD,qGAAqG;YACrG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,IAAM,QAAQ,GAAgB,IAAI,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAE5B,IAAM,WAAW,GAAmB,IAAI,CAAC,QAAQ,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACK,sCAAe,GAAvB,UAAwB,IAAgB,EAAE,aAA6B;QAAvE,iBAmBC;QAlBC,IACE,aAAa;YACb,aAAa,CAAC,SAAS;YACvB,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAClC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAC/C,CAAC;YACD,IAAI,CAAC,YAAY,CACf,kBAAkB,EAClB,aAAa,CAAC,SAAS;iBACpB,GAAG,CAAC,UAAC,YAAoB;gBACxB,OAAO,YAAY,GAAG,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;YACF,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,UAAG,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;IACH,CAAC;IAEO,yBAAE,GAAV,UAAW,CAAS;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IACO,yBAAE,GAAV,UAAW,CAAS;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;QAaI;IACJ,2BAAI,GAAJ,UAAK,EAAY,EAAE,EAAY,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QAC/F,kDAAkD;QAClD,6CAA6C;QAC7C,+CAA+C;QAC/C,+CAA+C;QAC/C,+CAA+C;QAC/C,+CAA+C;QAC/C,IAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;;;;;;QAcI;IACJ,4BAAK,GAAL,UACE,EAAY,EACZ,EAAY,EACZ,KAAa,EACb,SAAkB,EAClB,UAAsB,EACtB,aAA6B;QAD7B,2BAAA,EAAA,cAAsB;QAGtB,IAAM,KAAK,GAAe,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAM,qBAAqB,GAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACvD,iEAAiE;QACjE,IAAM,SAAS,GAAe,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAC7H,IAAM,IAAI,GAAe,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACvG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,uCAAgB,GAAhB,UACE,UAAoB,EACpB,QAAkB,EAClB,iBAA2B,EAC3B,eAAyB,EACzB,KAAa,EACb,SAAkB,EAClB,UAAsB,EACtB,aAA6B;QAD7B,2BAAA,EAAA,cAAsB;QAGtB,IAAM,KAAK,GAAe,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,iEAAiE;QACjE,IAAM,qBAAqB,GAAG,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAM,SAAS,GAAe,IAAI,CAAC,iBAAiB,CAClD,eAAe,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,qBAAqB,CACtB,CAAC;QACF,IAAM,IAAI,GAAG,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAM,MAAM,GAAe,IAAI,CAAC,mBAAmB,CACjD,UAAU,EACV,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAClD,iBAAiB,EACjB,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAChE,KAAK,EACL,SAAS,EACT,aAAa,CACd,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;QAcI;IACJ,gCAAS,GAAT,UACE,EAAY,EACZ,EAAY,EACZ,KAAa,EACb,SAAkB,EAClB,UAAsB,EACtB,aAA6B;QAD7B,2BAAA,EAAA,cAAsB;QAGtB,IAAM,IAAI,GAAe,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;;;;;QAaI;IACJ,4BAAK,GAAL,UAAM,KAAuB,EAAE,QAAkB,EAAE,IAAc,EAAE,KAAmB;QAAtF,iBA6BC;QA7BkE,sBAAA,EAAA,WAAmB;QACpF,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEhD,wEAAwE;QACxE,IAAM,YAAY,GAAG,UAAC,KAAuB;YAC3C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;gBAC3C,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAG,KAAK,CAAC,YAAY,GAAG,KAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAG,KAAK,CAAC,aAAa,GAAG,KAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAqB,CAAC,CAAC,CAAC,qBAAqB;gBAC1E,eAAe;gBACf,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAG,KAAK,CAAE,CAAC,CAAC;gBACzC,IAAI;gBACJ,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,oBAAa,KAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAI,KAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAW,MAAM,cAAI,MAAM,MAAG,CAAC,CAAC;YACxH,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAA,KAAK;YAClC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,uDAAuD;QACvD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,CAAC,CAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,CAAC,CAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB;QAC3D,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;QAcI;IACJ,mCAAY,GAAZ,UACE,YAA8B,EAC9B,WAAmB,EACnB,OAAgB,EAChB,eAAyB,EACzB,QAAgB;QAEhB,yDAAyD;QACzD,IAAM,oBAAoB,GAAG,IAAI,eAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACnG,8GAA8G;QAC9G,6BAA6B;QAC7B,MAAM;QACN,YAAY;QACZ,8BAA8B;QAC9B,sCAAsC;QACtC,oBAAoB;QACpB,aAAa;QACb,SAAS;QACT,iCAAiC;QACjC,mCAAmC;QACnC,oJAAoJ;QACpJ,aAAa;QACb,UAAU;QACV,cAAc;QACd,MAAM;QACN,IAAM,YAAY,GAAuB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAuB,CAAC;QACzF,IAAM,UAAU,GAAW,mBAAY,2BAAY,CAAC,IAAI,EAAE,CAAE,CAAC,CAAC,0CAA0C;QACxG,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE5C,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAgB,CAAC;QAChD,IAAM,SAAS,GAAoB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAoB,CAAC;QAC7E,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAClE,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAClE,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,UAAG,WAAW,CAAC,KAAK,CAAE,CAAC,CAAC;QACxD,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAG,WAAW,CAAC,MAAM,CAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QACjD,4CAA4C;QAC5C,2BAA2B;QAC3B,SAAS,CAAC,YAAY,CACpB,WAAW,EACX,iBAAU,QAAQ,GAAG,UAAU,eAAK,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,eAAK,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAG,CAC3G,CAAC;QACF,IAAM,QAAQ,GAAmB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAmB,CAAC;QACzE,IAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAM,MAAI,GAAG,IAAI,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;YAC7F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEhD,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7B,KAAK,CAAC,YAAY,CAAC,kBAAkB,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAI,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAChH,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAS,IAAI,CAAC,KAAK,CAAC,CAAC,eAAK,IAAI,CAAC,KAAK,CAAC,CAAC,MAAG,CAAC,CAAC;QAE3E,IAAM,QAAQ,GAAgB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAgB,CAAC;QAChE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,eAAQ,UAAU,MAAG,CAAC,CAAC;QAE1D,iGAAiG;QACjG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB;QAC5E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,kCAAW,GAAX,UACE,UAAoB,EACpB,QAAkB,EAClB,iBAA2B,EAC3B,eAAyB,EACzB,KAAa,EACb,SAAkB,EAClB,aAA6B;QAE7B,IAAM,IAAI,GAAe,IAAI,CAAC,mBAAmB,CAC/C,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,CACd,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,sCAAe,GAAf,UAAgB,IAAqB,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QACrG,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,aAAa;QACb,IAAM,CAAC,GAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,kBAAkB;QAClB,IAAI,QAAkB,CAAC;QACvB,IAAI,iBAA2B,CAAC;QAChC,IAAI,eAAyB,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,eAAe,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,IAAI,CACJ,GAAG,EACH,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAC1B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAC1B,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EACnB,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,6BAAM,GAAN,UAAO,UAAoB,EAAE,QAAkB;QAC7C,4DAA4D;QAC5D,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;OASG;IACH,iCAAU,GAAV,UAAW,UAAoB,EAAE,QAAkB;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;OASG;IACH,0BAAG,GAAH,UAAI,CAAW,EAAE,KAAa;QAC5B,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;OASG;IACH,4BAAK,GAAL,UAAM,CAAW,EAAE,KAAa;QAC9B,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,MAAM,CAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,6BAAM,GAAN,UAAO,MAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QACvG,yCAAyC;QACzC,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK;QAEzD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,gCAAS,GAAT,UACE,MAAgB,EAChB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,SAAkB,EAClB,aAA6B;QAE7B,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAE1C,IAAM,OAAO,GAAkB,2BAAY,CAAC,iBAAiB,CAAC,cAAc,CAC1E,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EACjB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK;QAC5B,UAAU,EACV,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,8BAAO,GAAP,UACE,MAAgB,EAChB,OAAe,EACf,OAAe,EACf,KAAa,EACb,SAAkB,EAClB,QAAiB,EACjB,aAA6B;QAE7B,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACrD,0FAA0F;QAC1F,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,iBAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,cAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,cAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAG,CAAC,CAAC;QAElH,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,6BAAM,GAAN,UAAO,MAAgB,EAAE,IAAY,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QACrG,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;;;QAaI;IACJ,2BAAI,GAAJ,UACE,QAAkB,EAClB,KAAa,EACb,MAAc,EACd,KAAa,EACb,SAAkB,EAClB,aAA6B;QAE7B,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,2BAAI,GAAJ,UAAK,MAAgB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa;QAC/F,uBAAuB;QACvB,qDAAqD;QACrD,qEAAqE;QACrE,sCAAsC;QACtC,yDAAyD;QACzD,0CAA0C;QAC1C,2CAA2C;QAE3C,mDAAmD;QACnD,+BAA+B;QAC/B,+BAA+B;QAC/B,mCAAmC;QACnC,+BAA+B;QAC/B,mCAAmC;QACnC,uCAAuC;QAEvC,yCAAyC;QAEzC,sDAAsD;QACtD,oFAAoF;QACpF,8FAA8F;QAC9F,mCAAmC;QACnC,mCAAmC;QACnC,8DAA8D;QAC9D,gEAAgE;QAChE,uDAAuD;QAEvD,yDAAyD;QAEzD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,CAAC,GAAkB,EAAE,CAAC;QAE5B,IAAI,IAAI,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QAC9D,IAAI,IAAI,GAAW,MAAM,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YAClF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,IAAI,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QAC7D,IAAI,IAAI,GAAW,KAAK,GAAG,CAAC,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YACpF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,6BAAM,GAAN,UAAO,MAAgB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa;QACjG,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,CAAC,GAAkB,EAAE,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YAClF,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpF,mBAAmB;gBACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE9D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,oCAAa,GAAb,UAAc,MAAgB,EAAE,IAAY,EAAE,KAAa;QACzD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,CAAC,GAAkB;YACvB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG;YAC9B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG;YAC9B,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG;YAC9B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG;YAC9B,GAAG;SACJ,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,mCAAY,GAAZ,UAAa,MAAgB,EAAE,IAAY,EAAE,KAAa;QACxD,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAG,IAAI,CAAE,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAG,IAAI,CAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,mCAAY,GAAZ,UAAa,MAAgB,EAAE,MAAc,EAAE,KAAa;QAC1D,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;QAErB,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAG,MAAM,CAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,gCAAS,GAAT,UAAU,MAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QAC3E,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,CAAC,GAAkB;YACvB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;SAC3B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,IAAI,GAAG,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,4BAAK,GAAL,UAAM,MAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QACvE,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAM,CAAC,GAAkB;YACvB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;SAC3B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,IAAI,GAAG,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;OAUG;IACH,8BAAO,GAAP,UAAQ,OAAgB,EAAE,KAAa,EAAE,SAAkB;QACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,+BAAQ,GAAR,UACE,QAAyB,EACzB,MAAe,EACf,KAAa,EACb,SAAkB,EAClB,aAA6B;QAE7B,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAE1C,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,aAAa;QACb,IAAM,CAAC,GAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,2BAAI,GAAJ,UACE,IAAY,EACZ,CAAS,EACT,CAAS,EACT,OASC;;QAED,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,IAAM,KAAK,GAAW,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QAC/C,IAAM,UAAU,GAAG,CAAC,MAAA,MAAA,OAAO,CAAC,UAAU,mCAAI,OAAO,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,yDAAyD;QACzD,0BAA0B;QAC1B,IAAM,SAAS,GACb,OAAO,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;YAC3D,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ;gBAChC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK;oBAC9D,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,OAAO,CAAC;QACd,IAAM,eAAe,GAAG,UAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAI,CAAC;QAC1D,IAAM,SAAS,GAAG,oBAAa,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,MAAG,CAAC;QAC5E,8CAA8C;QAC9C,sGAAsG;QACtG,2EAA2E;QAC3E,gFAAgF;QAChF,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAU,OAAO,CAAC,QAAQ,GAAG,UAAU,UAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtF,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;QAC7B,IAAM,QAAQ,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3B,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC,CAAC,mBAAmB;QACnF,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjG,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,UAAG,OAAO,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAG,OAAO,CAAC,UAAU,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAChD,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACjD,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE1C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,iBAAiB;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,4BAAK,GAAL,UAAM,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,QAAiB,EAAE,KAAc;QACzE,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,iFAAiF;QACjF,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,oBAAa,CAAC,cAAI,CAAC,uBAAa,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,MAAG,CAAC,CAAC;QAErG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,2BAAI,GAAJ,UAAK,QAAuB,EAAE,KAAc,EAAE,SAAkB,EAAE,OAA+C;QAC/G,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEpC,uDAAuD;QACvD,IAAM,CAAC,GAAkB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrG,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;QAUI;IACJ,4BAAK,GAAL,UAAM,KAAa;QACjB,sEAAsE;QACtE,qDAAqD;QACrD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,aAAa;QACvC,IAAM,IAAI,GAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,iFAAiF;QACjF,2FAA2F;QAC3F,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,CAAC,CAAC;QAEzD,8CAA8C;QAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzE,6BAA6B;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,aAAa;IAClC,CAAC;IAED;;;;OAIG;IACK,0CAAmB,GAA3B;QACE,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,sBAAS,GAAhB;QACE,OAAO,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;OAOG;IACI,yBAAY,GAAnB,UAAoB,IAAmB;QACrC,IAAM,IAAI,GAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACI,8BAAiB,GAAxB,UAAyB,IAAmB,EAAE,MAAgB,EAAE,KAAe;QAC7E,4BAA4B;QAC5B,IAAM,IAAI,GAAG,UAAC,KAAa;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,IAAM,IAAI,GAAG,UAAC,KAAa;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,mBAAmB;QACnB,IAAM,GAAG,GAAG,UAAC,KAAa;YACxB,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,IAAM,GAAG,GAAG,UAAC,KAAa;YACxB,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,IAAI,CAAC,GAAW,CAAC,CAAC;QAClB,IAAI,SAAS,GAAa,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QAC7C,oBAAoB;QACpB,IAAI,IAAI,GAAG,UAAC,KAAa;YACvB,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,IAAM,GAAG,GAAoB,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,GAAG,CAAC;gBACT,kBAAkB;gBAClB,KAAK,GAAG,CAAC;gBACT,iBAAiB;gBACjB,KAAK,GAAG;oBACN,qDAAqD;oBACrD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,kBAAkB;gBAClB,KAAK,GAAG,CAAC;gBACT,iBAAiB;gBACjB,KAAK,GAAG;oBACN,qDAAqD;oBACrD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBAER,KAAK,GAAG;oBACN,0BAA0B;oBAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,0BAA0B;oBAC1B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,wBAAwB;oBACxB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,wBAAwB;oBACxB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,+BAA+B;oBAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,+BAA+B;oBAC/B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,0CAA0C;oBAC1C,kCAAkC;oBAClC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,0CAA0C;oBAC1C,kCAAkC;oBAClC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,2EAA2E;oBAC3E,4BAA4B;oBAC5B,+BAA+B;oBAC/B,uCAAuC;oBACvC,kEAAkE;oBAClE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,sDAAsD;oBACtD,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBACnE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG;oBACN,2EAA2E;oBAC3E,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,gCAAgC;oBAChC,8BAA8B;oBAC9B,8BAA8B;oBAC9B,CAAC,EAAE,CAAC;oBACJ,MAAM;gBACR,iFAAiF;gBACjF;oBACE,CAAC,EAAE,CAAC;YACR,CAAC;QACH,CAAC,CAAC,YAAY;IAChB,CAAC,EAAC,wBAAwB;IAEX,iCAAoB,GAAnC,UAAoC,QAAgB;QAClD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,mCAAY,GAApB,UACE,EAAY,EACZ,EAAY,EACZ,KAAa,EACb,SAAkB,EAClB,aAA6B,EAC7B,iBAA0B;QAE1B,IAAM,IAAI,GAAmB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAmB,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,mCAAY,GAApB,UACE,UAAkB,EAClB,KAAa,EACb,SAAkB,EAClB,aAA6B,EAC7B,iBAA0B;QAE1B,IAAM,IAAI,GAAmB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAmB,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,wCAAiB,GAAzB,UACE,EAAY,EACZ,EAAY,EACZ,KAAa,EACb,SAAkB,EAClB,UAAsB,EACtB,aAA6B,EAC7B,2BAAsC;QAFtC,2BAAA,EAAA,cAAsB;QAItB,IAAI,QAAQ,GAAkB,eAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1G,IAAM,CAAC,GAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,IAAI,2BAA2B,EAAE,CAAC;YAChC,2BAA2B,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,2BAA2B,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,+DAA+D;YAC/D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAM,IAAI,GAAmB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,0CAAmB,GAA3B,UACE,UAAoB,EACpB,QAAkB,EAClB,iBAA2B,EAC3B,eAAyB,EACzB,KAAa,EACb,SAAkB,EAClB,aAA6B;QAE7B,IAAI,UAAU,YAAY,mCAAgB,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,WAAW,CACrB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,iBAAiB,EAC5B,UAAU,CAAC,eAAe,EAC1B,KAAK,EACL,SAAS,CACV,CAAC;QACJ,CAAC;QACD,aAAa;QACb,IAAM,CAAC,GAA2B;YAChC,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YACrB,GAAG;YACH,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;SACpB,CAAC;QACF,IAAM,IAAI,GAAe,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QACxG,OAAO,IAAI,CAAC;IACd,CAAC;IA5+DM,qBAAQ,GAAG;QAChB,wDAAwD;QACxD,iDAAiD;QACjD,sEAAsE;QACtE,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAw+Df,mBAAC;CAAA,AA9+DD,IA8+DC;AA9+DY,oCAAY"}
|
package/src/cjs/geomutils.d.ts
CHANGED
|
@@ -2,16 +2,47 @@
|
|
|
2
2
|
* @author Ikaros Kappler
|
|
3
3
|
* @date 2019-02-03
|
|
4
4
|
* @modified 2021-03-01 Added `wrapMax` function.
|
|
5
|
-
* @
|
|
5
|
+
* @modified 2024-11-15 Adding helper function `geomutils.mapAngleTo2PI(number)` for mapping any value into the interval [0,2*PI).
|
|
6
|
+
* @modified 2024-11-22 Adding helper function `geomutils.dotProduct(number)` for calculating the dot product of two vertices (as vectors).
|
|
7
|
+
*
|
|
8
|
+
* @version 1.2.0
|
|
6
9
|
**/
|
|
7
10
|
import { Line } from "./Line";
|
|
8
11
|
import { Vertex } from "./Vertex";
|
|
12
|
+
import { XYCoords } from "./interfaces";
|
|
9
13
|
/**
|
|
10
14
|
* A collection of usefull geometry utilities.
|
|
11
15
|
*
|
|
12
16
|
* @global
|
|
13
17
|
**/
|
|
14
18
|
export declare const geomutils: {
|
|
19
|
+
/**
|
|
20
|
+
* Map any angle (any numeric value) to [0, Math.PI).
|
|
21
|
+
*
|
|
22
|
+
* @param {number} angle - The numeric value to map.
|
|
23
|
+
* @return {number} The mapped angle inside [0,PI*2].
|
|
24
|
+
**/
|
|
25
|
+
mapAngleTo2PI(angle: number): number;
|
|
26
|
+
/**
|
|
27
|
+
* Calculate the euclidean distance between two points given by four coordinates (two coordinates each).
|
|
28
|
+
*
|
|
29
|
+
* @param {number} x1
|
|
30
|
+
* @param {number} y1
|
|
31
|
+
* @param {number} x2
|
|
32
|
+
* @param {number} y2
|
|
33
|
+
* @returns {number}
|
|
34
|
+
*/
|
|
35
|
+
dist4(x1: number, y1: number, x2: number, y2: number): number;
|
|
36
|
+
/**
|
|
37
|
+
* Map any angle (any numeric value) to [0, Math.PI).
|
|
38
|
+
*
|
|
39
|
+
* A × B := (A.x * B.x) + (A.y * B.y)
|
|
40
|
+
*
|
|
41
|
+
* @param {XYCoords} vertA - The first vertex.
|
|
42
|
+
* @param {XYCoords} vertB - The second vertex.
|
|
43
|
+
* @return {number} The dot product of the two vertices.
|
|
44
|
+
**/
|
|
45
|
+
dotProduct(vertA: XYCoords, vertB: XYCoords): number;
|
|
15
46
|
/**
|
|
16
47
|
* Compute the n-section of the angle – described as a triangle (A,B,C) – in point A.
|
|
17
48
|
*
|
package/src/cjs/geomutils.js
CHANGED
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
* @author Ikaros Kappler
|
|
4
4
|
* @date 2019-02-03
|
|
5
5
|
* @modified 2021-03-01 Added `wrapMax` function.
|
|
6
|
-
* @
|
|
6
|
+
* @modified 2024-11-15 Adding helper function `geomutils.mapAngleTo2PI(number)` for mapping any value into the interval [0,2*PI).
|
|
7
|
+
* @modified 2024-11-22 Adding helper function `geomutils.dotProduct(number)` for calculating the dot product of two vertices (as vectors).
|
|
8
|
+
*
|
|
9
|
+
* @version 1.2.0
|
|
7
10
|
**/
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.geomutils = void 0;
|
|
@@ -15,6 +18,49 @@ var Triangle_1 = require("./Triangle");
|
|
|
15
18
|
* @global
|
|
16
19
|
**/
|
|
17
20
|
exports.geomutils = {
|
|
21
|
+
/**
|
|
22
|
+
* Map any angle (any numeric value) to [0, Math.PI).
|
|
23
|
+
*
|
|
24
|
+
* @param {number} angle - The numeric value to map.
|
|
25
|
+
* @return {number} The mapped angle inside [0,PI*2].
|
|
26
|
+
**/
|
|
27
|
+
mapAngleTo2PI: function (angle) {
|
|
28
|
+
// Source: https://forums.codeguru.com/showthread.php?384172-get-angle-into-range-0-2*pi
|
|
29
|
+
var new_angle = Math.asin(Math.sin(angle));
|
|
30
|
+
if (Math.cos(angle) < 0) {
|
|
31
|
+
return Math.PI - new_angle;
|
|
32
|
+
}
|
|
33
|
+
else if (new_angle < 0) {
|
|
34
|
+
return new_angle + 2 * Math.PI;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return new_angle;
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
/**
|
|
41
|
+
* Calculate the euclidean distance between two points given by four coordinates (two coordinates each).
|
|
42
|
+
*
|
|
43
|
+
* @param {number} x1
|
|
44
|
+
* @param {number} y1
|
|
45
|
+
* @param {number} x2
|
|
46
|
+
* @param {number} y2
|
|
47
|
+
* @returns {number}
|
|
48
|
+
*/
|
|
49
|
+
dist4: function (x1, y1, x2, y2) {
|
|
50
|
+
return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y1 - y2, 2));
|
|
51
|
+
},
|
|
52
|
+
/**
|
|
53
|
+
* Map any angle (any numeric value) to [0, Math.PI).
|
|
54
|
+
*
|
|
55
|
+
* A × B := (A.x * B.x) + (A.y * B.y)
|
|
56
|
+
*
|
|
57
|
+
* @param {XYCoords} vertA - The first vertex.
|
|
58
|
+
* @param {XYCoords} vertB - The second vertex.
|
|
59
|
+
* @return {number} The dot product of the two vertices.
|
|
60
|
+
**/
|
|
61
|
+
dotProduct: function (vertA, vertB) {
|
|
62
|
+
return vertA.x * vertB.x + vertA.y * vertB.y;
|
|
63
|
+
},
|
|
18
64
|
/**
|
|
19
65
|
* Compute the n-section of the angle – described as a triangle (A,B,C) – in point A.
|
|
20
66
|
*
|
package/src/cjs/geomutils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geomutils.js","sourceRoot":"","sources":["../ts/geomutils.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"geomutils.js","sourceRoot":"","sources":["../ts/geomutils.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
* @modified 2023-02-10 All non-function attributes of the `Config` interface are now mandatory.
|
|
21
21
|
* @modified 2023-09-29 Added the `randomPoint(...)` function declaration to the IBounds interface.
|
|
22
22
|
* @modified 2024-08-25 Added the `CSSBackdropFilterParams` params to the global params (all optional).
|
|
23
|
+
* @modified 2025-03-29 Added interface `Intersectable`.
|
|
24
|
+
* @modified 2025-04-16 Added interface `IBounded`.
|
|
23
25
|
**/
|
|
24
26
|
import { Vertex } from "../Vertex";
|
|
25
27
|
import { Vector } from "../Vector";
|
|
@@ -36,6 +38,7 @@ import { PlotBoilerplate } from "../PlotBoilerplate";
|
|
|
36
38
|
import { DrawLib } from "./DrawLib";
|
|
37
39
|
import { PBText } from "../PBText";
|
|
38
40
|
import { CSSBackdropFilterParams } from "./externals";
|
|
41
|
+
import { VertTuple } from "../VertTuple";
|
|
39
42
|
/**
|
|
40
43
|
* @classdesc Coordinates (x,y) on the plane.
|
|
41
44
|
*
|
|
@@ -217,3 +220,39 @@ export interface IDraggable {
|
|
|
217
220
|
isVertex(): boolean;
|
|
218
221
|
setVIndex(vindex: number): IDraggable;
|
|
219
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* Shapes should implement this interface if they support intersection calculation.
|
|
225
|
+
*/
|
|
226
|
+
export interface Intersectable {
|
|
227
|
+
/**
|
|
228
|
+
* Get all line intersections with this polygon.
|
|
229
|
+
*
|
|
230
|
+
* This method returns all intersections (as vertices) with this shape. The returned array of vertices is in no specific order.
|
|
231
|
+
*
|
|
232
|
+
* See demo `47-closest-vector-projection-on-polygon` for how it works.
|
|
233
|
+
*
|
|
234
|
+
* @param {VertTuple} line - The line to find intersections with.
|
|
235
|
+
* @param {boolean} inVectorBoundsOnly - (default=false) If set to true only intersecion points on the passed vector are returned (located strictly between start and end vertex).
|
|
236
|
+
* @returns {Array<Vertex>} - An array of all intersections within this shape's bounds.
|
|
237
|
+
*/
|
|
238
|
+
lineIntersections(line: VertTuple<any>, inVectorBoundsOnly?: boolean): Array<Vertex>;
|
|
239
|
+
/**
|
|
240
|
+
* Get all line intersections of this polygon and their tangents along the shape.
|
|
241
|
+
*
|
|
242
|
+
* This method returns all intersection tangents (as vectors) with this shape. The returned array of vectors is in no specific order.
|
|
243
|
+
*
|
|
244
|
+
* @param {VertTuple} line - The line to find intersections with.
|
|
245
|
+
* @param {boolean} inVectorBoundsOnly - (default=false) If set to true only intersecion points on the passed vector are returned (located strictly between start and end vertex).
|
|
246
|
+
* @returns {Array<Vector>} - An array of all intersection tangents within this shape's bounds.
|
|
247
|
+
*/
|
|
248
|
+
lineIntersectionTangents(line: VertTuple<any>, inVectorBoundsOnly?: boolean): Array<Vector>;
|
|
249
|
+
}
|
|
250
|
+
export interface IBounded {
|
|
251
|
+
/**
|
|
252
|
+
* Get the bounding box (bounds) of this shape.
|
|
253
|
+
*
|
|
254
|
+
* @method getBounds
|
|
255
|
+
* @return {Bounds} The rectangular bounds of this shape.
|
|
256
|
+
**/
|
|
257
|
+
getBounds(): IBounds;
|
|
258
|
+
}
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
* @modified 2023-02-10 All non-function attributes of the `Config` interface are now mandatory.
|
|
22
22
|
* @modified 2023-09-29 Added the `randomPoint(...)` function declaration to the IBounds interface.
|
|
23
23
|
* @modified 2024-08-25 Added the `CSSBackdropFilterParams` params to the global params (all optional).
|
|
24
|
+
* @modified 2025-03-29 Added interface `Intersectable`.
|
|
25
|
+
* @modified 2025-04-16 Added interface `IBounded`.
|
|
24
26
|
**/
|
|
25
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
28
|
//# sourceMappingURL=core.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../ts/interfaces/core.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../ts/interfaces/core.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;IAwBI"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculate the inset of any non-self-overlapping polygon.
|
|
3
|
+
*
|
|
4
|
+
* The polygon may be
|
|
5
|
+
* - convex or non-convex
|
|
6
|
+
* - self-intersecting
|
|
7
|
+
*
|
|
8
|
+
* The algorithms will
|
|
9
|
+
* - first construct a general offset polygon which may be corrupt due to ouf-of-bounds or in illegal-area problems.
|
|
10
|
+
* - then dissect the possibly self-intersecting inset polygon into separate simple polygons.
|
|
11
|
+
* - then detect for each if it's out of bounds or in some illegal area.
|
|
12
|
+
* - keeping only the valid ones.
|
|
13
|
+
*
|
|
14
|
+
* @required sutherlandHodgman
|
|
15
|
+
* @required splitPolygonToNonIntersecting
|
|
16
|
+
*
|
|
17
|
+
* @author Ikaros Kappler
|
|
18
|
+
* @date 2024-11-04 Ported the script to a class.
|
|
19
|
+
* @modified 2024-12-02 Ported to Typescript.
|
|
20
|
+
*/
|
|
21
|
+
import { Line } from "../../Line";
|
|
22
|
+
import { Polygon } from "../../Polygon";
|
|
23
|
+
import { Vertex } from "../../Vertex";
|
|
24
|
+
export interface IPolygonInsetOptions {
|
|
25
|
+
innerPolygonOffset: number;
|
|
26
|
+
maxPolygonSplitDepth?: number;
|
|
27
|
+
intersectionEpsilon?: number;
|
|
28
|
+
removeEars?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare class PolygonInset {
|
|
31
|
+
/**
|
|
32
|
+
* The polygon to work with.
|
|
33
|
+
*/
|
|
34
|
+
readonly polygon: Polygon;
|
|
35
|
+
/**
|
|
36
|
+
* The input polygon, but without ear edges.
|
|
37
|
+
*/
|
|
38
|
+
optimizedPolygon: Polygon;
|
|
39
|
+
/**
|
|
40
|
+
* The original polygon as a sequence of line objects. This is easier to use than a list of points.
|
|
41
|
+
*/
|
|
42
|
+
originalPolygonLines: Array<Line>;
|
|
43
|
+
/**
|
|
44
|
+
* The simple inset lines, directly generated by offsetting the original polygon lines by the given amount.
|
|
45
|
+
*/
|
|
46
|
+
insetLines: Array<Line>;
|
|
47
|
+
/**
|
|
48
|
+
* The cropped inset lines that makes up the first direct iteration of the inset polygon.
|
|
49
|
+
* This one will probably be self-intersecting.
|
|
50
|
+
*/
|
|
51
|
+
insetPolygonLines: Array<Line>;
|
|
52
|
+
/**
|
|
53
|
+
* The inset polygon lines resembling an actual polygon instance (not just a sequence of lines).
|
|
54
|
+
*/
|
|
55
|
+
insetPolygon: Polygon;
|
|
56
|
+
/**
|
|
57
|
+
* Each polygon line and it's offsetted inset-line resemble a rectangular polygon.
|
|
58
|
+
* Array<Polygon> with 4 vertices each
|
|
59
|
+
**/
|
|
60
|
+
insetRectanglePolygons: Array<Polygon>;
|
|
61
|
+
/**
|
|
62
|
+
* The inset polygon split up into simple non-self-intersecting polygons.
|
|
63
|
+
* Represented as a list of vertex-lists. Each sub-list represents a single polygon.
|
|
64
|
+
*/
|
|
65
|
+
splitPolygons: Array<Array<Vertex>>;
|
|
66
|
+
/**
|
|
67
|
+
* The final result: all valid split-polygons. These are making up the actual polygon inset.
|
|
68
|
+
* Note: list may be empty. Depending on the offset amount there is not a guaranteed offset polygon existing.
|
|
69
|
+
*/
|
|
70
|
+
filteredSplitPolygons: Array<Array<Vertex>>;
|
|
71
|
+
/**
|
|
72
|
+
* Constructs a new PolygonInset instance with the underlying given polygon to work with.
|
|
73
|
+
*
|
|
74
|
+
* Please note that the algorithm will reverse the vertex order if the given polygon
|
|
75
|
+
* is not clockwise.
|
|
76
|
+
*
|
|
77
|
+
* @param {Polygon} polygon - The polygon to calculate the offset for.
|
|
78
|
+
*/
|
|
79
|
+
constructor(polygon: Polygon);
|
|
80
|
+
/**
|
|
81
|
+
* This is the main method.
|
|
82
|
+
*
|
|
83
|
+
* Call this with the required option params to compute your desired offset polygon(s).
|
|
84
|
+
*
|
|
85
|
+
* @param {number} options.innerPolygonOffset - The offset to use. Should be a positive number. Correct result for negative numbers are not guaranteed.
|
|
86
|
+
* @param {number?} options.maxPolygonSplitDepth - (default is the number of polygon.vertices) The maximum amount of recursive stepts to simplify the complex first iteration of the offset polygon.
|
|
87
|
+
* @param {number?} options.intersectionEpsilon - (default is 1.0) The epsilon to use for detecting overlapping polygons. This indicates a tolerance value, because directly adjecent polygons may have a little arithmetic intersection area.
|
|
88
|
+
* @returns {Array<Array<Vertex>>} A list of vertex-lists, each one representing a simple polygon from the offset-polygons.
|
|
89
|
+
*/
|
|
90
|
+
computeOutputPolygons(options: IPolygonInsetOptions): Array<Array<Vertex>>;
|
|
91
|
+
/**
|
|
92
|
+
* This method transforms each polygon line into a new line
|
|
93
|
+
* by moving it to the inside direction of the polygon (by the given `insetAmount`).
|
|
94
|
+
*
|
|
95
|
+
* @param {Array<Line>} polygonLines
|
|
96
|
+
* @param {number} insetAmount
|
|
97
|
+
* @return {Array<Line>} The transformed lines. The result array has the same length and order as the input array.
|
|
98
|
+
*/
|
|
99
|
+
private _collectInsetLines;
|
|
100
|
+
/**
|
|
101
|
+
* For a sequence of inset polygon lines get the inset polygon by detecting
|
|
102
|
+
* useful intersections (by cropping or extending them).
|
|
103
|
+
*
|
|
104
|
+
* The returned lines resemble a new polygon.
|
|
105
|
+
*
|
|
106
|
+
* Please note that the returned polygon can be self-intersecting!
|
|
107
|
+
*
|
|
108
|
+
* @param {Array<Line>} insetLines
|
|
109
|
+
* @returns {Array<Line>} The cropped or exented inset polygon lines.
|
|
110
|
+
*/
|
|
111
|
+
private _collectInsetPolygonLines;
|
|
112
|
+
/**
|
|
113
|
+
* Converts two lists (same length) of original polygon lines and inset lines (interpreted as
|
|
114
|
+
* pairs) to a list of rectangular polyons.
|
|
115
|
+
*
|
|
116
|
+
* @static
|
|
117
|
+
* @param {Array<Line>} originalPolygonLines
|
|
118
|
+
* @param {Array<Line>} insetLines
|
|
119
|
+
* @returns {Array<Polygon>} A list of rectangular polygons; each returned polyon has exactly four vertices.
|
|
120
|
+
*/
|
|
121
|
+
private _collectRectangularPolygonInsets;
|
|
122
|
+
/**
|
|
123
|
+
* Converts a sequence of (hopefully adjacent) lines to a polygon by using all second line vertices `b`.
|
|
124
|
+
*
|
|
125
|
+
* @static
|
|
126
|
+
* @param insetPolygonLines
|
|
127
|
+
* @returns
|
|
128
|
+
*/
|
|
129
|
+
private static convertToBasicInsetPolygon;
|
|
130
|
+
/**
|
|
131
|
+
* Optimize the inset polygon by removing critical `ear` edges.
|
|
132
|
+
* Such an is identified by: the edge itself is completely located inside its neighbours inset rectangle.
|
|
133
|
+
*
|
|
134
|
+
* In this process multiple edges from the ear might be dropped and two adjacent edges get a new
|
|
135
|
+
* common intersection point.
|
|
136
|
+
*
|
|
137
|
+
* Note: this method is not working as expected in all cases and quite experimental.
|
|
138
|
+
*
|
|
139
|
+
* @param insetPolygon
|
|
140
|
+
* @param insetRectangles
|
|
141
|
+
*/
|
|
142
|
+
private static _optimizeInsetPolygon;
|
|
143
|
+
private static _locateExcessiveEarEdge;
|
|
144
|
+
private static _rectangleFullyContainsLine;
|
|
145
|
+
/**
|
|
146
|
+
* Filter split polygons: only keep those whose vertices are all contained inside the original polygon.
|
|
147
|
+
* Reason: scaling too much will result in excessive translation beyond the opposite bounds of the polygon (like more than 200% of possible insetting).
|
|
148
|
+
*
|
|
149
|
+
* @param {Array<Array<Vertex>>} splitPolygonsVertices
|
|
150
|
+
* @param {Polygon} originalPolygon
|
|
151
|
+
* @return {Array<Array<Vertex>>} The filtered polygon list.
|
|
152
|
+
*/
|
|
153
|
+
private static _filterInnerSplitPolygonsByOriginalBounds;
|
|
154
|
+
/**
|
|
155
|
+
* Filter split polygons: only keep those that do not (signifiantly) interset with any rectangles.
|
|
156
|
+
*
|
|
157
|
+
* @static
|
|
158
|
+
* @param {Array<Array<Vertex>>} splitPolygonsVertices
|
|
159
|
+
* @param {Array<Polygon>} insetRectanglePolygons
|
|
160
|
+
* @param {number?=1.0} intersectionEpsilon - (optional, default is 1.0) A epsislon to define a tolerance for checking if two polygons intersect.
|
|
161
|
+
*/
|
|
162
|
+
private static _filterInnerSplitPolygonsByCoverage;
|
|
163
|
+
/**
|
|
164
|
+
* This private method will reverse each polygon's vertex order that's not clockwise.
|
|
165
|
+
*
|
|
166
|
+
* @param {Array<Vertex[]>} polygons
|
|
167
|
+
*/
|
|
168
|
+
private static _assertAllPolygonsAreClockwise;
|
|
169
|
+
/**
|
|
170
|
+
* This private method will revert the vertex order if the polygon is not clockwise.
|
|
171
|
+
*
|
|
172
|
+
* @param {Vertex[]} polygonVerts
|
|
173
|
+
*/
|
|
174
|
+
private static _assertPolygonIsClockwise;
|
|
175
|
+
/**
|
|
176
|
+
* For simplification I'm using a callback generator function here.
|
|
177
|
+
*
|
|
178
|
+
* @param splitPolyVerts
|
|
179
|
+
* @param eps
|
|
180
|
+
* @param _splitPolyIndex
|
|
181
|
+
* @returns {Function} The callback for an `Array.some` parameter.
|
|
182
|
+
*/
|
|
183
|
+
private static _hasIntersectionCallback;
|
|
184
|
+
}
|