@buerli.io/react-cad 0.7.1-beta.1 → 0.7.1

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/build/index.js CHANGED
@@ -8,7 +8,7 @@ import { Matrix4 } from 'three';
8
8
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
9
9
  import _extends from '@babel/runtime/helpers/esm/extends';
10
10
  import { useFrame, useThree, createPortal, extend } from '@react-three/fiber';
11
- import { Html, useCursor, Text as Text$3, Merged, useBounds } from '@react-three/drei';
11
+ import { Html, useCursor, Text as Text$3, Merged } from '@react-three/drei';
12
12
  import create from 'zustand';
13
13
  import vanilla from 'zustand/vanilla';
14
14
  import 'antd/dist/antd.css';
@@ -375,12 +375,9 @@ function findObject(drawingId, id, unrollRefs = false) {
375
375
  }
376
376
  return undefined;
377
377
  }
378
- function componentToHex(x) {
379
- const hex = x.toString(16);
380
- return hex.length == 1 ? '0' + hex : hex;
381
- }
382
378
  function rgbToHex(color) {
383
- return '#' + componentToHex(color.r) + componentToHex(color.g) + componentToHex(color.b);
379
+ // Provide values as RGB values, which will *not* be gamma corrected by three.js
380
+ return '#' + new THREE.Color(color.r / 255, color.g / 255, color.b / 255).getHexString();
384
381
  }
385
382
  function fmod(num, denom) {
386
383
  let k = Math.floor(num / denom);
@@ -565,10 +562,17 @@ const NumOrExpr = ({
565
562
  prefix
566
563
  }) => {
567
564
  const [state, setState] = React__default.useState({
568
- isExpr: typeof valOrExpr === 'string' && !isDegValue(valOrExpr) && allowExpr,
565
+ isExpr: typeof defaults === 'string' && !isDegValue(defaults) && allowExpr,
569
566
  defaultVal: getDefNumValue(defaults),
570
567
  defaultExpr: getDefExprValue(defaults)
571
568
  });
569
+ React__default.useEffect(() => {
570
+ setState({
571
+ isExpr: typeof defaults === 'string' && !isDegValue(defaults) && allowExpr,
572
+ defaultVal: getDefNumValue(defaults),
573
+ defaultExpr: getDefExprValue(defaults)
574
+ });
575
+ }, [defaults, allowExpr]);
572
576
  const {
573
577
  isExpr,
574
578
  defaultVal,
@@ -2276,7 +2280,7 @@ const Dimension = ({
2276
2280
  allowExpr: true
2277
2281
  })));
2278
2282
  };
2279
- function RootImpl$y({
2283
+ function RootImpl$z({
2280
2284
  drawingId,
2281
2285
  pluginId
2282
2286
  }) {
@@ -2294,14 +2298,14 @@ function RootImpl$y({
2294
2298
  dimId: dimId
2295
2299
  })));
2296
2300
  }
2297
- const Root$y = ({
2301
+ const Root$z = ({
2298
2302
  drawingId,
2299
2303
  pluginId
2300
2304
  }) => {
2301
2305
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
2302
2306
  drawingId: drawingId,
2303
2307
  pluginId: pluginId
2304
- }, /*#__PURE__*/React__default.createElement(RootImpl$y, {
2308
+ }, /*#__PURE__*/React__default.createElement(RootImpl$z, {
2305
2309
  drawingId: drawingId,
2306
2310
  pluginId: pluginId
2307
2311
  }));
@@ -2310,7 +2314,7 @@ const Root$y = ({
2310
2314
  const initialState = {
2311
2315
  selected: []
2312
2316
  };
2313
- const description$y = {
2317
+ const description$z = {
2314
2318
  name: 'Dimensions',
2315
2319
  version: '1.0.0',
2316
2320
  author: 'Ledas',
@@ -2320,12 +2324,12 @@ const description$y = {
2320
2324
  initialState
2321
2325
  };
2322
2326
  const Plugin = {
2323
- Root: Root$y,
2327
+ Root: Root$z,
2324
2328
  View: View$f,
2325
- description: description$y
2329
+ description: description$z
2326
2330
  };
2327
2331
 
2328
- var index$y = /*#__PURE__*/Object.freeze({
2332
+ var index$z = /*#__PURE__*/Object.freeze({
2329
2333
  __proto__: null,
2330
2334
  Plugin: Plugin,
2331
2335
  useDimensionSetId: useDimensionSetId
@@ -2562,7 +2566,7 @@ function useHover$1(drawingId, objId) {
2562
2566
  onPointerOver
2563
2567
  }), [onPointerOut, onPointerOver]);
2564
2568
  }
2565
- function useIsSketchActive(drawingId) {
2569
+ function useIsSketchActive$1(drawingId) {
2566
2570
  const activeId = useDrawing(drawingId, d => {
2567
2571
  var _d$plugin$refs;
2568
2572
  return (_d$plugin$refs = d.plugin.refs[d.plugin.active.feature || -1]) == null ? void 0 : _d$plugin$refs.id;
@@ -2579,7 +2583,7 @@ function useIsGHovered(drawingId, objId) {
2579
2583
  return ((_d$interaction$hovere = d.interaction.hovered) == null ? void 0 : _d$interaction$hovere.objectId) === objId;
2580
2584
  }) || false;
2581
2585
  const isSelActive = useDrawing(drawingId, d => d.selection.active !== null) || false;
2582
- const isSketchActive = useIsSketchActive(drawingId);
2586
+ const isSketchActive = useIsSketchActive$1(drawingId);
2583
2587
  return !isSelActive && !isSketchActive && isHovered;
2584
2588
  }
2585
2589
  function useIsGSelected(drawingId, objId) {
@@ -2588,7 +2592,7 @@ function useIsGSelected(drawingId, objId) {
2588
2592
  return ((_d$interaction$select = d.interaction.selected) == null ? void 0 : _d$interaction$select.findIndex(info => info.objectId === objId)) !== -1;
2589
2593
  }) || false;
2590
2594
  const isSelActive = useDrawing(drawingId, d => d.selection.active !== null) || false;
2591
- const isSketchActive = useIsSketchActive(drawingId);
2595
+ const isSketchActive = useIsSketchActive$1(drawingId);
2592
2596
  return !isSelActive && !isSketchActive && isGSelected;
2593
2597
  }
2594
2598
  function useIsSHovered(drawingId, objId) {
@@ -3870,11 +3874,11 @@ function useSelectorsOrder(drawingId) {
3870
3874
  }), [addSelector, removeSelector, switchToNext]);
3871
3875
  }
3872
3876
 
3873
- var Members$s;
3877
+ var Members$t;
3874
3878
  (function (Members) {
3875
3879
  Members["Body1"] = "Body1";
3876
3880
  Members["Body2"] = "Body2";
3877
- })(Members$s || (Members$s = {}));
3881
+ })(Members$t || (Members$t = {}));
3878
3882
  const typesCaptions$5 = {
3879
3883
  [BooleanOperationType.INTERSECTION]: 'Intersection',
3880
3884
  [BooleanOperationType.SUBTRACTION]: 'Subtraction',
@@ -3897,7 +3901,7 @@ function useBoolTypeStore(drawingId, objId) {
3897
3901
  isChanged
3898
3902
  });
3899
3903
  }
3900
- function RootImpl$x({
3904
+ function RootImpl$y({
3901
3905
  drawingId,
3902
3906
  pluginId
3903
3907
  }) {
@@ -3905,8 +3909,8 @@ function RootImpl$x({
3905
3909
  objectId
3906
3910
  } = usePlugin(drawingId, pluginId, plugin => plugin);
3907
3911
  const type = useBoolTypeStore(drawingId, objectId);
3908
- const body1 = useIdParam(drawingId, objectId, Members$s.Body1);
3909
- const body2 = useRefsParam(drawingId, objectId, Members$s.Body2);
3912
+ const body1 = useIdParam(drawingId, objectId, Members$t.Body1);
3913
+ const body2 = useRefsParam(drawingId, objectId, Members$t.Body2);
3910
3914
  const update = React__default.useCallback(() => {
3911
3915
  return ccAPI.feature.updateBooleanOperation(drawingId, objectId, type.serverValue, [body1.serverValue, ...body2.serverValue]);
3912
3916
  }, [drawingId, objectId, type, body1, body2]);
@@ -3939,20 +3943,20 @@ function RootImpl$x({
3939
3943
  selectorsOrder: selOrder
3940
3944
  }));
3941
3945
  }
3942
- const Root$x = ({
3946
+ const Root$y = ({
3943
3947
  drawingId,
3944
3948
  pluginId
3945
3949
  }) => {
3946
3950
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
3947
3951
  drawingId: drawingId,
3948
3952
  pluginId: pluginId
3949
- }, /*#__PURE__*/React__default.createElement(RootImpl$x, {
3953
+ }, /*#__PURE__*/React__default.createElement(RootImpl$y, {
3950
3954
  drawingId: drawingId,
3951
3955
  pluginId: pluginId
3952
3956
  }));
3953
3957
  };
3954
3958
 
3955
- const description$x = {
3959
+ const description$y = {
3956
3960
  name: 'Boolean',
3957
3961
  version: '1.0.0',
3958
3962
  author: 'Ledas',
@@ -3969,10 +3973,10 @@ const description$x = {
3969
3973
  }
3970
3974
  };
3971
3975
 
3972
- var index$x = /*#__PURE__*/Object.freeze({
3976
+ var index$y = /*#__PURE__*/Object.freeze({
3973
3977
  __proto__: null,
3974
- Root: Root$x,
3975
- description: description$x
3978
+ Root: Root$y,
3979
+ description: description$y
3976
3980
  });
3977
3981
 
3978
3982
  function ownKeys$n(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -4158,6 +4162,20 @@ const PointEditor = ({
4158
4162
  const [x, setX] = React__default.useState(parsedDefaults[0]);
4159
4163
  const [y, setY] = React__default.useState(parsedDefaults[1]);
4160
4164
  const [z, setZ] = React__default.useState(parsedDefaults[2]);
4165
+
4166
+ // Reset components to defaults if the latter have changed (for example, if 'undo' operation was called); This shouldn't react to actual components changes!
4167
+ React__default.useEffect(() => {
4168
+ if (x !== parsedDefaults[0]) {
4169
+ setX(parsedDefaults[0]);
4170
+ }
4171
+ if (y !== parsedDefaults[1]) {
4172
+ setY(parsedDefaults[1]);
4173
+ }
4174
+ if (z !== parsedDefaults[2]) {
4175
+ setZ(parsedDefaults[2]);
4176
+ }
4177
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4178
+ }, [parsedDefaults]);
4161
4179
  React__default.useEffect(() => {
4162
4180
  if (typeof x === 'string' || typeof y === 'string' || typeof z === 'string') {
4163
4181
  setUserValue({
@@ -4200,14 +4218,14 @@ const PointEditor = ({
4200
4218
  displayVals: [0, 0, 0]
4201
4219
  });
4202
4220
  React__default.useEffect(() => {
4203
- if (userValue.isExpr && !(angle && isDegValue(userValue.value))) {
4221
+ if (defaults.isExpr && !(angle && isDegValue(defaults.value))) {
4204
4222
  const curProdId = getDrawing(drawingId).structure.currentProduct;
4205
4223
  const tree = getDrawing(drawingId).structure.tree;
4206
4224
  const exprSetId = tree[curProdId].expressionSet;
4207
- ccAPI.common.evaluateExpression(drawingId, exprSetId, userValue.value).then(res => setDisplayState(state => {
4225
+ ccAPI.common.evaluateExpression(drawingId, exprSetId, defaults.value).then(res => setDisplayState(state => {
4208
4226
  const res_ = res;
4209
4227
  const newVals = res_ !== null ? [res_.x, res_.y, res_.z] : [...state.displayVals];
4210
- const parsedPoint = parsePoint(userValue);
4228
+ const parsedPoint = parsePoint(defaults);
4211
4229
  parsedPoint.forEach((val, i) => {
4212
4230
  if (typeof val === 'string' && isDegValue(val)) {
4213
4231
  newVals[i] = val;
@@ -4218,13 +4236,12 @@ const PointEditor = ({
4218
4236
  });
4219
4237
  })).catch();
4220
4238
  } else {
4221
- const value = userValue.value;
4239
+ const value = defaults.value;
4222
4240
  setDisplayState(state => _objectSpread$n(_objectSpread$n({}, state), {}, {
4223
4241
  displayVals: [value.x, value.y, value.z]
4224
4242
  }));
4225
4243
  }
4226
- // eslint-disable-next-line react-hooks/exhaustive-deps
4227
- }, []);
4244
+ }, [drawingId, defaults, angle]);
4228
4245
  const onCollapse = React__default.useCallback(() => {
4229
4246
  if (userValue.isExpr) {
4230
4247
  const curProdId = getDrawing(drawingId).structure.currentProduct;
@@ -4386,9 +4403,9 @@ function usePointParam(drawingId, objId, memberName, options = {
4386
4403
  }, undefined, undefined, options_);
4387
4404
  }
4388
4405
 
4389
- var img$10 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADcSURBVEhL3ZTbDcMgDEVJlsgonabfnanfmaajdIlSS0aU+lWEsaLmCCkhMfheB2fJOadI1nIN49wJlv0Jo0xGURPUrZ05wkskH1OuOl+3ctfQE3bERxaLbnyJ+2WFUSYMy4G9shO63lBqvDJQBVbtThNfi39qHDAhqyOqPSY+fcDV4b63xwunFTjsbTAPa7thXFonQidXdURaq4vEIBhJmnnQAf8l8Eoi3hJp+1bGE3ATAH/odQCACcOHKwHRK3qa4AARdwemJdCw+oCgabQJd3BEieby/yUKTpDSG4InWqXAb1/sAAAAAElFTkSuQmCC";
4406
+ var img$11 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADcSURBVEhL3ZTbDcMgDEVJlsgonabfnanfmaajdIlSS0aU+lWEsaLmCCkhMfheB2fJOadI1nIN49wJlv0Jo0xGURPUrZ05wkskH1OuOl+3ctfQE3bERxaLbnyJ+2WFUSYMy4G9shO63lBqvDJQBVbtThNfi39qHDAhqyOqPSY+fcDV4b63xwunFTjsbTAPa7thXFonQidXdURaq4vEIBhJmnnQAf8l8Eoi3hJp+1bGE3ATAH/odQCACcOHKwHRK3qa4AARdwemJdCw+oCgabQJd3BEieby/yUKTpDSG4InWqXAb1/sAAAAAElFTkSuQmCC";
4390
4407
 
4391
- var img$$ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADjSURBVEhL3ZbbDcIwDEXTLsEoTMM3M/HNNIzCEgRLDpbrRx1iRTyOIrVR09x7ncrqUmstM1nbdRq/LzB4Bsv13u621NOh3b344zOAIuBoc4fLcYXRJhYfShAa78cQELsnxdwShcXtRG5h+s2ECDzmQ9jv632HQ2xaBd8FNc63B04BaANaRi9DqGdkKxBiNDu0ya3xFkYhdBkpB18/nkCURVcJeVtAN2SBWJA6A3Lt2QdGBHZC6EepBAB437EPuF8Rx7TcuSybICT148VDeAczPUFKgFx79oFUiXr47hL1MFmglCeKs2HMN70YFwAAAABJRU5ErkJggg==";
4408
+ var img$10 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADjSURBVEhL3ZbbDcIwDEXTLsEoTMM3M/HNNIzCEgRLDpbrRx1iRTyOIrVR09x7ncrqUmstM1nbdRq/LzB4Bsv13u621NOh3b344zOAIuBoc4fLcYXRJhYfShAa78cQELsnxdwShcXtRG5h+s2ECDzmQ9jv632HQ2xaBd8FNc63B04BaANaRi9DqGdkKxBiNDu0ya3xFkYhdBkpB18/nkCURVcJeVtAN2SBWJA6A3Lt2QdGBHZC6EepBAB437EPuF8Rx7TcuSybICT148VDeAczPUFKgFx79oFUiXr47hL1MFmglCeKs2HMN70YFwAAAABJRU5ErkJggg==";
4392
4409
 
4393
4410
  const invert = (value, inverted) => {
4394
4411
  return inverted ? 1 - value : value;
@@ -4404,7 +4421,7 @@ const BooleanEditor = ({
4404
4421
  Checkbox
4405
4422
  } = useBuerli(buerli => buerli.options.elements);
4406
4423
  const icon_ = Array.isArray(icon) ? true : Boolean(icon);
4407
- const icons = Array.isArray(icon) && icon.length == 2 ? icon : [img$10, img$$];
4424
+ const icons = Array.isArray(icon) && icon.length == 2 ? icon : [img$11, img$10];
4408
4425
  const {
4409
4426
  setUserValue,
4410
4427
  userValue,
@@ -4457,7 +4474,7 @@ function useBoolParam(drawingId, objId, memberName) {
4457
4474
  });
4458
4475
  }
4459
4476
 
4460
- var Members$r;
4477
+ var Members$s;
4461
4478
  (function (Members) {
4462
4479
  Members["Type"] = "extrudeType";
4463
4480
  Members["Direction"] = "extrudeDir";
@@ -4465,7 +4482,7 @@ var Members$r;
4465
4482
  Members["Limit2"] = "limit2";
4466
4483
  Members["taperAngle"] = "taperAngle";
4467
4484
  Members["capEnds"] = "capEnds";
4468
- })(Members$r || (Members$r = {}));
4485
+ })(Members$s || (Members$s = {}));
4469
4486
  var RegionMembers$2;
4470
4487
  (function (RegionMembers) {
4471
4488
  RegionMembers["Curves"] = "curves";
@@ -4476,7 +4493,7 @@ const typesCaptions$4 = {
4476
4493
  [ExtrusionType.SYMMETRIC]: 'Symmetric',
4477
4494
  [ExtrusionType.UP]: 'Up'
4478
4495
  };
4479
- const RootImpl$w = ({
4496
+ const RootImpl$x = ({
4480
4497
  drawingId,
4481
4498
  pluginId
4482
4499
  }) => {
@@ -4488,14 +4505,14 @@ const RootImpl$w = ({
4488
4505
  return (_drawing$structure$tr = drawing.structure.tree[objectId]) == null ? void 0 : (_drawing$structure$tr2 = _drawing$structure$tr.members) == null ? void 0 : _drawing$structure$tr2.region.value;
4489
4506
  });
4490
4507
  const region = useRefsParam(drawingId, sketchRegionId, RegionMembers$2.Curves);
4491
- const type = useTypeParam(drawingId, objectId, Members$r.Type);
4492
- const limit1 = useNumParam(drawingId, objectId, Members$r.Limit1);
4493
- const limit2 = useNumParam(drawingId, objectId, Members$r.Limit2);
4494
- const taperAngle = useNumParam(drawingId, objectId, Members$r.taperAngle, {
4508
+ const type = useTypeParam(drawingId, objectId, Members$s.Type);
4509
+ const limit1 = useNumParam(drawingId, objectId, Members$s.Limit1);
4510
+ const limit2 = useNumParam(drawingId, objectId, Members$s.Limit2);
4511
+ const taperAngle = useNumParam(drawingId, objectId, Members$s.taperAngle, {
4495
4512
  angle: true
4496
4513
  });
4497
- const direction = usePointParam(drawingId, objectId, Members$r.Direction);
4498
- const capEnds = useBoolParam(drawingId, objectId, Members$r.capEnds);
4514
+ const direction = usePointParam(drawingId, objectId, Members$s.Direction);
4515
+ const capEnds = useBoolParam(drawingId, objectId, Members$s.capEnds);
4499
4516
  const sketchId = React__default.useRef(NOCCID);
4500
4517
  React__default.useEffect(() => {
4501
4518
  var _tree$sketchGeometryI;
@@ -4574,20 +4591,20 @@ const RootImpl$w = ({
4574
4591
  inverted: true
4575
4592
  }));
4576
4593
  };
4577
- const Root$w = ({
4594
+ const Root$x = ({
4578
4595
  drawingId,
4579
4596
  pluginId
4580
4597
  }) => {
4581
4598
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
4582
4599
  drawingId: drawingId,
4583
4600
  pluginId: pluginId
4584
- }, /*#__PURE__*/React__default.createElement(RootImpl$w, {
4601
+ }, /*#__PURE__*/React__default.createElement(RootImpl$x, {
4585
4602
  drawingId: drawingId,
4586
4603
  pluginId: pluginId
4587
4604
  }));
4588
4605
  };
4589
4606
 
4590
- const description$w = {
4607
+ const description$x = {
4591
4608
  name: 'Extrusion',
4592
4609
  version: '1.0.0',
4593
4610
  author: 'Ledas',
@@ -4597,24 +4614,24 @@ const description$w = {
4597
4614
  initialState: addMembers
4598
4615
  };
4599
4616
 
4600
- var index$w = /*#__PURE__*/Object.freeze({
4617
+ var index$x = /*#__PURE__*/Object.freeze({
4601
4618
  __proto__: null,
4602
- Root: Root$w,
4603
- description: description$w
4619
+ Root: Root$x,
4620
+ description: description$x
4604
4621
  });
4605
4622
 
4606
- var Members$q;
4623
+ var Members$r;
4607
4624
  (function (Members) {
4608
4625
  Members["Axis"] = "references";
4609
4626
  Members["Inverted"] = "inverted";
4610
4627
  Members["StartAngle"] = "startAngle";
4611
4628
  Members["EndAngle"] = "endAngle";
4612
- })(Members$q || (Members$q = {}));
4629
+ })(Members$r || (Members$r = {}));
4613
4630
  var RegionMembers$1;
4614
4631
  (function (RegionMembers) {
4615
4632
  RegionMembers["Curves"] = "curves";
4616
4633
  })(RegionMembers$1 || (RegionMembers$1 = {}));
4617
- const RootImpl$v = ({
4634
+ const RootImpl$w = ({
4618
4635
  drawingId,
4619
4636
  pluginId
4620
4637
  }) => {
@@ -4626,14 +4643,14 @@ const RootImpl$v = ({
4626
4643
  return (_drawing$structure$tr = drawing.structure.tree[objectId]) == null ? void 0 : (_drawing$structure$tr2 = _drawing$structure$tr.members) == null ? void 0 : _drawing$structure$tr2.region.value;
4627
4644
  });
4628
4645
  const region = useRefsParam(drawingId, sketchRegionId, RegionMembers$1.Curves);
4629
- const axis = useRefsParam(drawingId, objectId, Members$q.Axis);
4630
- const startAngle = useNumParam(drawingId, objectId, Members$q.StartAngle, {
4646
+ const axis = useRefsParam(drawingId, objectId, Members$r.Axis);
4647
+ const startAngle = useNumParam(drawingId, objectId, Members$r.StartAngle, {
4631
4648
  angle: true
4632
4649
  });
4633
- const endAngle = useNumParam(drawingId, objectId, Members$q.EndAngle, {
4650
+ const endAngle = useNumParam(drawingId, objectId, Members$r.EndAngle, {
4634
4651
  angle: true
4635
4652
  });
4636
- const inverted = useBoolParam(drawingId, objectId, Members$q.Inverted);
4653
+ const inverted = useBoolParam(drawingId, objectId, Members$r.Inverted);
4637
4654
  const sketchId = React__default.useRef(NOCCID);
4638
4655
  React__default.useEffect(() => {
4639
4656
  var _tree$sketchGeometryI;
@@ -4684,20 +4701,20 @@ const RootImpl$v = ({
4684
4701
  icon: true
4685
4702
  })));
4686
4703
  };
4687
- const Root$v = ({
4704
+ const Root$w = ({
4688
4705
  drawingId,
4689
4706
  pluginId
4690
4707
  }) => {
4691
4708
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
4692
4709
  drawingId: drawingId,
4693
4710
  pluginId: pluginId
4694
- }, /*#__PURE__*/React__default.createElement(RootImpl$v, {
4711
+ }, /*#__PURE__*/React__default.createElement(RootImpl$w, {
4695
4712
  drawingId: drawingId,
4696
4713
  pluginId: pluginId
4697
4714
  }));
4698
4715
  };
4699
4716
 
4700
- const description$v = {
4717
+ const description$w = {
4701
4718
  name: 'Revolve',
4702
4719
  version: '1.0.0',
4703
4720
  author: 'Ledas',
@@ -4707,30 +4724,30 @@ const description$v = {
4707
4724
  initialState: addMembers
4708
4725
  };
4709
4726
 
4710
- var index$v = /*#__PURE__*/Object.freeze({
4727
+ var index$w = /*#__PURE__*/Object.freeze({
4711
4728
  __proto__: null,
4712
- Root: Root$v,
4713
- description: description$v
4729
+ Root: Root$w,
4730
+ description: description$w
4714
4731
  });
4715
4732
 
4716
- var Members$p;
4733
+ var Members$q;
4717
4734
  (function (Members) {
4718
4735
  Members["CSys"] = "references";
4719
4736
  Members["Width"] = "width";
4720
4737
  Members["Height"] = "height";
4721
4738
  Members["Length"] = "length";
4722
- })(Members$p || (Members$p = {}));
4723
- function RootImpl$u({
4739
+ })(Members$q || (Members$q = {}));
4740
+ function RootImpl$v({
4724
4741
  drawingId,
4725
4742
  pluginId
4726
4743
  }) {
4727
4744
  const {
4728
4745
  objectId
4729
4746
  } = usePlugin(drawingId, pluginId, plugin => plugin);
4730
- const csys = useRefsParam(drawingId, objectId, Members$p.CSys);
4731
- const width = useNumParam(drawingId, objectId, Members$p.Width);
4732
- const height = useNumParam(drawingId, objectId, Members$p.Height);
4733
- const length = useNumParam(drawingId, objectId, Members$p.Length);
4747
+ const csys = useRefsParam(drawingId, objectId, Members$q.CSys);
4748
+ const width = useNumParam(drawingId, objectId, Members$q.Width);
4749
+ const height = useNumParam(drawingId, objectId, Members$q.Height);
4750
+ const length = useNumParam(drawingId, objectId, Members$q.Length);
4734
4751
  const update = React__default.useCallback(() => {
4735
4752
  return ccAPI.feature.updateBox(drawingId, objectId, csys.serverValue, width.serverValue, length.serverValue, height.serverValue);
4736
4753
  }, [drawingId, objectId, csys, width, height, length]);
@@ -4779,20 +4796,20 @@ function RootImpl$u({
4779
4796
  allowExpr: true
4780
4797
  }));
4781
4798
  }
4782
- const Root$u = ({
4799
+ const Root$v = ({
4783
4800
  drawingId,
4784
4801
  pluginId
4785
4802
  }) => {
4786
4803
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
4787
4804
  drawingId: drawingId,
4788
4805
  pluginId: pluginId
4789
- }, /*#__PURE__*/React__default.createElement(RootImpl$u, {
4806
+ }, /*#__PURE__*/React__default.createElement(RootImpl$v, {
4790
4807
  drawingId: drawingId,
4791
4808
  pluginId: pluginId
4792
4809
  }));
4793
4810
  };
4794
4811
 
4795
- const description$u = {
4812
+ const description$v = {
4796
4813
  name: 'Box',
4797
4814
  version: '1.0.0',
4798
4815
  author: 'Ledas',
@@ -4801,26 +4818,26 @@ const description$u = {
4801
4818
  global: false
4802
4819
  };
4803
4820
 
4804
- var index$u = /*#__PURE__*/Object.freeze({
4821
+ var index$v = /*#__PURE__*/Object.freeze({
4805
4822
  __proto__: null,
4806
- Root: Root$u,
4807
- description: description$u
4823
+ Root: Root$v,
4824
+ description: description$v
4808
4825
  });
4809
4826
 
4810
- var Members$o;
4827
+ var Members$p;
4811
4828
  (function (Members) {
4812
4829
  Members["CSys"] = "references";
4813
4830
  Members["Radius"] = "radius";
4814
- })(Members$o || (Members$o = {}));
4815
- function RootImpl$t({
4831
+ })(Members$p || (Members$p = {}));
4832
+ function RootImpl$u({
4816
4833
  drawingId,
4817
4834
  pluginId
4818
4835
  }) {
4819
4836
  const {
4820
4837
  objectId
4821
4838
  } = usePlugin(drawingId, pluginId, plugin => plugin);
4822
- const csys = useRefsParam(drawingId, objectId, Members$o.CSys);
4823
- const radius = useNumParam(drawingId, objectId, Members$o.Radius);
4839
+ const csys = useRefsParam(drawingId, objectId, Members$p.CSys);
4840
+ const radius = useNumParam(drawingId, objectId, Members$p.Radius);
4824
4841
  const update = React__default.useCallback(() => {
4825
4842
  return ccAPI.feature.updateSphere(drawingId, objectId, csys.userValue, radius.userValue);
4826
4843
  }, [drawingId, objectId, csys, radius]);
@@ -4849,20 +4866,20 @@ function RootImpl$t({
4849
4866
  allowExpr: true
4850
4867
  }));
4851
4868
  }
4852
- const Root$t = ({
4869
+ const Root$u = ({
4853
4870
  drawingId,
4854
4871
  pluginId
4855
4872
  }) => {
4856
4873
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
4857
4874
  drawingId: drawingId,
4858
4875
  pluginId: pluginId
4859
- }, /*#__PURE__*/React__default.createElement(RootImpl$t, {
4876
+ }, /*#__PURE__*/React__default.createElement(RootImpl$u, {
4860
4877
  drawingId: drawingId,
4861
4878
  pluginId: pluginId
4862
4879
  }));
4863
4880
  };
4864
4881
 
4865
- const description$t = {
4882
+ const description$u = {
4866
4883
  name: 'Sphere',
4867
4884
  version: '1.0.0',
4868
4885
  author: 'Ledas',
@@ -4871,28 +4888,28 @@ const description$t = {
4871
4888
  global: false
4872
4889
  };
4873
4890
 
4874
- var index$t = /*#__PURE__*/Object.freeze({
4891
+ var index$u = /*#__PURE__*/Object.freeze({
4875
4892
  __proto__: null,
4876
- Root: Root$t,
4877
- description: description$t
4893
+ Root: Root$u,
4894
+ description: description$u
4878
4895
  });
4879
4896
 
4880
- var Members$n;
4897
+ var Members$o;
4881
4898
  (function (Members) {
4882
4899
  Members["CSys"] = "references";
4883
4900
  Members["Diameter"] = "diameter";
4884
4901
  Members["Height"] = "height";
4885
- })(Members$n || (Members$n = {}));
4886
- function RootImpl$s({
4902
+ })(Members$o || (Members$o = {}));
4903
+ function RootImpl$t({
4887
4904
  drawingId,
4888
4905
  pluginId
4889
4906
  }) {
4890
4907
  const {
4891
4908
  objectId
4892
4909
  } = usePlugin(drawingId, pluginId, plugin => plugin);
4893
- const csys = useRefsParam(drawingId, objectId, Members$n.CSys);
4894
- const diameter = useNumParam(drawingId, objectId, Members$n.Diameter);
4895
- const height = useNumParam(drawingId, objectId, Members$n.Height);
4910
+ const csys = useRefsParam(drawingId, objectId, Members$o.CSys);
4911
+ const diameter = useNumParam(drawingId, objectId, Members$o.Diameter);
4912
+ const height = useNumParam(drawingId, objectId, Members$o.Height);
4896
4913
  const update = React__default.useCallback(() => {
4897
4914
  return ccAPI.feature.updateCylinder(drawingId, objectId, csys.serverValue, diameter.serverValue, height.serverValue);
4898
4915
  }, [drawingId, objectId, csys, diameter, height]);
@@ -4931,20 +4948,20 @@ function RootImpl$s({
4931
4948
  allowExpr: true
4932
4949
  }));
4933
4950
  }
4934
- const Root$s = ({
4951
+ const Root$t = ({
4935
4952
  drawingId,
4936
4953
  pluginId
4937
4954
  }) => {
4938
4955
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
4939
4956
  drawingId: drawingId,
4940
4957
  pluginId: pluginId
4941
- }, /*#__PURE__*/React__default.createElement(RootImpl$s, {
4958
+ }, /*#__PURE__*/React__default.createElement(RootImpl$t, {
4942
4959
  drawingId: drawingId,
4943
4960
  pluginId: pluginId
4944
4961
  }));
4945
4962
  };
4946
4963
 
4947
- const description$s = {
4964
+ const description$t = {
4948
4965
  name: 'Cylinder',
4949
4966
  version: '1.0.0',
4950
4967
  author: 'Ledas',
@@ -4953,30 +4970,30 @@ const description$s = {
4953
4970
  global: false
4954
4971
  };
4955
4972
 
4956
- var index$s = /*#__PURE__*/Object.freeze({
4973
+ var index$t = /*#__PURE__*/Object.freeze({
4957
4974
  __proto__: null,
4958
- Root: Root$s,
4959
- description: description$s
4975
+ Root: Root$t,
4976
+ description: description$t
4960
4977
  });
4961
4978
 
4962
- var Members$m;
4979
+ var Members$n;
4963
4980
  (function (Members) {
4964
4981
  Members["CSys"] = "references";
4965
4982
  Members["BDiameter"] = "bDiameter";
4966
4983
  Members["TDiameter"] = "tDiameter";
4967
4984
  Members["Height"] = "height";
4968
- })(Members$m || (Members$m = {}));
4969
- function RootImpl$r({
4985
+ })(Members$n || (Members$n = {}));
4986
+ function RootImpl$s({
4970
4987
  drawingId,
4971
4988
  pluginId
4972
4989
  }) {
4973
4990
  const {
4974
4991
  objectId
4975
4992
  } = usePlugin(drawingId, pluginId, plugin => plugin);
4976
- const csys = useRefsParam(drawingId, objectId, Members$m.CSys);
4977
- const bDiameter = useNumParam(drawingId, objectId, Members$m.BDiameter);
4978
- const tDiameter = useNumParam(drawingId, objectId, Members$m.TDiameter);
4979
- const height = useNumParam(drawingId, objectId, Members$m.Height);
4993
+ const csys = useRefsParam(drawingId, objectId, Members$n.CSys);
4994
+ const bDiameter = useNumParam(drawingId, objectId, Members$n.BDiameter);
4995
+ const tDiameter = useNumParam(drawingId, objectId, Members$n.TDiameter);
4996
+ const height = useNumParam(drawingId, objectId, Members$n.Height);
4980
4997
  const update = React__default.useCallback(() => {
4981
4998
  return ccAPI.feature.updateCone(drawingId, objectId, csys.serverValue, bDiameter.serverValue, tDiameter.serverValue, height.serverValue);
4982
4999
  }, [drawingId, objectId, csys, bDiameter, tDiameter, height]);
@@ -5025,20 +5042,20 @@ function RootImpl$r({
5025
5042
  allowExpr: true
5026
5043
  }));
5027
5044
  }
5028
- const Root$r = ({
5045
+ const Root$s = ({
5029
5046
  drawingId,
5030
5047
  pluginId
5031
5048
  }) => {
5032
5049
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5033
5050
  drawingId: drawingId,
5034
5051
  pluginId: pluginId
5035
- }, /*#__PURE__*/React__default.createElement(RootImpl$r, {
5052
+ }, /*#__PURE__*/React__default.createElement(RootImpl$s, {
5036
5053
  drawingId: drawingId,
5037
5054
  pluginId: pluginId
5038
5055
  }));
5039
5056
  };
5040
5057
 
5041
- const description$r = {
5058
+ const description$s = {
5042
5059
  name: 'Cone',
5043
5060
  version: '1.0.0',
5044
5061
  author: 'Ledas',
@@ -5047,26 +5064,26 @@ const description$r = {
5047
5064
  global: false
5048
5065
  };
5049
5066
 
5050
- var index$r = /*#__PURE__*/Object.freeze({
5067
+ var index$s = /*#__PURE__*/Object.freeze({
5051
5068
  __proto__: null,
5052
- Root: Root$r,
5053
- description: description$r
5069
+ Root: Root$s,
5070
+ description: description$s
5054
5071
  });
5055
5072
 
5056
- var Members$l;
5073
+ var Members$m;
5057
5074
  (function (Members) {
5058
5075
  Members["References"] = "References";
5059
5076
  Members["Radius"] = "radius";
5060
- })(Members$l || (Members$l = {}));
5061
- const RootImpl$q = ({
5077
+ })(Members$m || (Members$m = {}));
5078
+ const RootImpl$r = ({
5062
5079
  drawingId,
5063
5080
  pluginId
5064
5081
  }) => {
5065
5082
  const {
5066
5083
  objectId
5067
5084
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5068
- const refs = useRefsParam(drawingId, objectId, Members$l.References);
5069
- const radius = useNumParam(drawingId, objectId, Members$l.Radius);
5085
+ const refs = useRefsParam(drawingId, objectId, Members$m.References);
5086
+ const radius = useNumParam(drawingId, objectId, Members$m.Radius);
5070
5087
  const update = React__default.useCallback(() => {
5071
5088
  return ccAPI.feature.updateFillet(drawingId, objectId, refs.serverValue, radius.serverValue);
5072
5089
  }, [drawingId, objectId, refs, radius]);
@@ -5089,20 +5106,20 @@ const RootImpl$q = ({
5089
5106
  allowExpr: true
5090
5107
  }));
5091
5108
  };
5092
- const Root$q = ({
5109
+ const Root$r = ({
5093
5110
  drawingId,
5094
5111
  pluginId
5095
5112
  }) => {
5096
5113
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5097
5114
  drawingId: drawingId,
5098
5115
  pluginId: pluginId
5099
- }, /*#__PURE__*/React__default.createElement(RootImpl$q, {
5116
+ }, /*#__PURE__*/React__default.createElement(RootImpl$r, {
5100
5117
  drawingId: drawingId,
5101
5118
  pluginId: pluginId
5102
5119
  }));
5103
5120
  };
5104
5121
 
5105
- const description$q = {
5122
+ const description$r = {
5106
5123
  name: 'Fillet',
5107
5124
  version: '1.0.0',
5108
5125
  author: 'Ledas',
@@ -5112,26 +5129,26 @@ const description$q = {
5112
5129
  initialState: addMembers
5113
5130
  };
5114
5131
 
5115
- var index$q = /*#__PURE__*/Object.freeze({
5132
+ var index$r = /*#__PURE__*/Object.freeze({
5116
5133
  __proto__: null,
5117
- Root: Root$q,
5118
- description: description$q
5134
+ Root: Root$r,
5135
+ description: description$r
5119
5136
  });
5120
5137
 
5121
- var Members$k;
5138
+ var Members$l;
5122
5139
  (function (Members) {
5123
5140
  Members["Type"] = "subType";
5124
5141
  Members["Angle"] = "angle";
5125
5142
  Members["References"] = "References";
5126
5143
  Members["Offset1"] = "offset1";
5127
5144
  Members["Offset2"] = "offset2";
5128
- })(Members$k || (Members$k = {}));
5145
+ })(Members$l || (Members$l = {}));
5129
5146
  const typesCaptions$3 = {
5130
5147
  [ChamferType.DISTANCE_AND_ANGLE]: 'Distance and angle',
5131
5148
  [ChamferType.EQUAL_DISTANCE]: 'Equal distance',
5132
5149
  [ChamferType.TWO_DISTANCES]: 'Two distances'
5133
5150
  };
5134
- const RootImpl$p = ({
5151
+ const RootImpl$q = ({
5135
5152
  drawingId,
5136
5153
  pluginId
5137
5154
  }) => {
@@ -5141,11 +5158,11 @@ const RootImpl$p = ({
5141
5158
  const {
5142
5159
  objectId
5143
5160
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5144
- const type = useTypeParam(drawingId, objectId, Members$k.Type);
5145
- const refs = useRefsParam(drawingId, objectId, Members$k.References);
5146
- const offset1 = useNumParam(drawingId, objectId, Members$k.Offset1);
5147
- const offset2 = useNumParam(drawingId, objectId, Members$k.Offset2);
5148
- const angle = useNumParam(drawingId, objectId, Members$k.Angle, {
5161
+ const type = useTypeParam(drawingId, objectId, Members$l.Type);
5162
+ const refs = useRefsParam(drawingId, objectId, Members$l.References);
5163
+ const offset1 = useNumParam(drawingId, objectId, Members$l.Offset1);
5164
+ const offset2 = useNumParam(drawingId, objectId, Members$l.Offset2);
5165
+ const angle = useNumParam(drawingId, objectId, Members$l.Angle, {
5149
5166
  angle: true
5150
5167
  });
5151
5168
  const switchDirections = React__default.useCallback(() => {
@@ -5183,7 +5200,7 @@ const RootImpl$p = ({
5183
5200
  param: offset1,
5184
5201
  allowExpr: true
5185
5202
  }, type.userValue === ChamferType.TWO_DISTANCES && /*#__PURE__*/React__default.createElement(Button, {
5186
- iconSrc: img$10,
5203
+ iconSrc: img$11,
5187
5204
  onClick: switchDirections
5188
5205
  })), type.userValue === ChamferType.TWO_DISTANCES && /*#__PURE__*/React__default.createElement(NumberEditor, {
5189
5206
  drawingId: drawingId,
@@ -5197,20 +5214,20 @@ const RootImpl$p = ({
5197
5214
  allowExpr: true
5198
5215
  }));
5199
5216
  };
5200
- const Root$p = ({
5217
+ const Root$q = ({
5201
5218
  drawingId,
5202
5219
  pluginId
5203
5220
  }) => {
5204
5221
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5205
5222
  drawingId: drawingId,
5206
5223
  pluginId: pluginId
5207
- }, /*#__PURE__*/React__default.createElement(RootImpl$p, {
5224
+ }, /*#__PURE__*/React__default.createElement(RootImpl$q, {
5208
5225
  drawingId: drawingId,
5209
5226
  pluginId: pluginId
5210
5227
  }));
5211
5228
  };
5212
5229
 
5213
- const description$p = {
5230
+ const description$q = {
5214
5231
  name: 'Chamfer',
5215
5232
  version: '1.0.0',
5216
5233
  author: 'Ledas',
@@ -5220,30 +5237,30 @@ const description$p = {
5220
5237
  initialState: addMembers
5221
5238
  };
5222
5239
 
5223
- var index$p = /*#__PURE__*/Object.freeze({
5240
+ var index$q = /*#__PURE__*/Object.freeze({
5224
5241
  __proto__: null,
5225
- Root: Root$p,
5226
- description: description$p
5242
+ Root: Root$q,
5243
+ description: description$q
5227
5244
  });
5228
5245
 
5229
- var Members$j;
5246
+ var Members$k;
5230
5247
  (function (Members) {
5231
5248
  Members["SolidReferences"] = "bodiesToTransform";
5232
5249
  Members["AxisReferences"] = "references";
5233
5250
  Members["Distance"] = "translationDistance";
5234
5251
  Members["Inverted"] = "inverted";
5235
- })(Members$j || (Members$j = {}));
5236
- function RootImpl$o({
5252
+ })(Members$k || (Members$k = {}));
5253
+ function RootImpl$p({
5237
5254
  drawingId,
5238
5255
  pluginId
5239
5256
  }) {
5240
5257
  const {
5241
5258
  objectId
5242
5259
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5243
- const solidRefs = useRefsParam(drawingId, objectId, Members$j.SolidReferences);
5244
- const axisRefs = useRefsParam(drawingId, objectId, Members$j.AxisReferences);
5245
- const distance = useNumParam(drawingId, objectId, Members$j.Distance);
5246
- const inverted = useBoolParam(drawingId, objectId, Members$j.Inverted);
5260
+ const solidRefs = useRefsParam(drawingId, objectId, Members$k.SolidReferences);
5261
+ const axisRefs = useRefsParam(drawingId, objectId, Members$k.AxisReferences);
5262
+ const distance = useNumParam(drawingId, objectId, Members$k.Distance);
5263
+ const inverted = useBoolParam(drawingId, objectId, Members$k.Inverted);
5247
5264
  const update = React__default.useCallback(() => {
5248
5265
  return ccAPI.feature.updateTransformation(drawingId, objectId, solidRefs.serverValue, axisRefs.serverValue, inverted.serverValue, distance.serverValue);
5249
5266
  }, [drawingId, objectId, solidRefs, axisRefs, inverted, distance]);
@@ -5278,20 +5295,20 @@ function RootImpl$o({
5278
5295
  allowExpr: true
5279
5296
  }));
5280
5297
  }
5281
- const Root$o = ({
5298
+ const Root$p = ({
5282
5299
  drawingId,
5283
5300
  pluginId
5284
5301
  }) => {
5285
5302
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5286
5303
  drawingId: drawingId,
5287
5304
  pluginId: pluginId
5288
- }, /*#__PURE__*/React__default.createElement(RootImpl$o, {
5305
+ }, /*#__PURE__*/React__default.createElement(RootImpl$p, {
5289
5306
  drawingId: drawingId,
5290
5307
  pluginId: pluginId
5291
5308
  }));
5292
5309
  };
5293
5310
 
5294
- const description$o = {
5311
+ const description$p = {
5295
5312
  name: 'Translate',
5296
5313
  version: '1.0.0',
5297
5314
  author: 'Ledas',
@@ -5301,32 +5318,32 @@ const description$o = {
5301
5318
  initialState: {}
5302
5319
  };
5303
5320
 
5304
- var index$o = /*#__PURE__*/Object.freeze({
5321
+ var index$p = /*#__PURE__*/Object.freeze({
5305
5322
  __proto__: null,
5306
- Root: Root$o,
5307
- description: description$o
5323
+ Root: Root$p,
5324
+ description: description$p
5308
5325
  });
5309
5326
 
5310
- var Members$i;
5327
+ var Members$j;
5311
5328
  (function (Members) {
5312
5329
  Members["SolidReferences"] = "bodiesToTransform";
5313
5330
  Members["AxisReferences"] = "references";
5314
5331
  Members["Angle"] = "rotationAngle";
5315
5332
  Members["Inverted"] = "inverted";
5316
- })(Members$i || (Members$i = {}));
5317
- function RootImpl$n({
5333
+ })(Members$j || (Members$j = {}));
5334
+ function RootImpl$o({
5318
5335
  drawingId,
5319
5336
  pluginId
5320
5337
  }) {
5321
5338
  const {
5322
5339
  objectId
5323
5340
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5324
- const solidRefs = useRefsParam(drawingId, objectId, Members$i.SolidReferences);
5325
- const axisRefs = useRefsParam(drawingId, objectId, Members$i.AxisReferences);
5326
- const angle = useNumParam(drawingId, objectId, Members$i.Angle, {
5341
+ const solidRefs = useRefsParam(drawingId, objectId, Members$j.SolidReferences);
5342
+ const axisRefs = useRefsParam(drawingId, objectId, Members$j.AxisReferences);
5343
+ const angle = useNumParam(drawingId, objectId, Members$j.Angle, {
5327
5344
  angle: true
5328
5345
  });
5329
- const inverted = useBoolParam(drawingId, objectId, Members$i.Inverted);
5346
+ const inverted = useBoolParam(drawingId, objectId, Members$j.Inverted);
5330
5347
  const update = React__default.useCallback(() => {
5331
5348
  return ccAPI.feature.updateTransformation(drawingId, objectId, solidRefs.serverValue, axisRefs.serverValue, inverted.serverValue, angle.serverValue);
5332
5349
  }, [drawingId, objectId, solidRefs, axisRefs, inverted, angle]);
@@ -5361,20 +5378,20 @@ function RootImpl$n({
5361
5378
  allowExpr: true
5362
5379
  }));
5363
5380
  }
5364
- const Root$n = ({
5381
+ const Root$o = ({
5365
5382
  drawingId,
5366
5383
  pluginId
5367
5384
  }) => {
5368
5385
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5369
5386
  drawingId: drawingId,
5370
5387
  pluginId: pluginId
5371
- }, /*#__PURE__*/React__default.createElement(RootImpl$n, {
5388
+ }, /*#__PURE__*/React__default.createElement(RootImpl$o, {
5372
5389
  drawingId: drawingId,
5373
5390
  pluginId: pluginId
5374
5391
  }));
5375
5392
  };
5376
5393
 
5377
- const description$n = {
5394
+ const description$o = {
5378
5395
  name: 'Rotate',
5379
5396
  version: '1.0.0',
5380
5397
  author: 'Ledas',
@@ -5384,26 +5401,26 @@ const description$n = {
5384
5401
  initialState: {}
5385
5402
  };
5386
5403
 
5387
- var index$n = /*#__PURE__*/Object.freeze({
5404
+ var index$o = /*#__PURE__*/Object.freeze({
5388
5405
  __proto__: null,
5389
- Root: Root$n,
5390
- description: description$n
5406
+ Root: Root$o,
5407
+ description: description$o
5391
5408
  });
5392
5409
 
5393
- var Members$h;
5410
+ var Members$i;
5394
5411
  (function (Members) {
5395
5412
  Members["SolidReferences"] = "bodiesToTransform";
5396
5413
  Members["CsysReferences"] = "references";
5397
- })(Members$h || (Members$h = {}));
5398
- function RootImpl$m({
5414
+ })(Members$i || (Members$i = {}));
5415
+ function RootImpl$n({
5399
5416
  drawingId,
5400
5417
  pluginId
5401
5418
  }) {
5402
5419
  const {
5403
5420
  objectId
5404
5421
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5405
- const solidRefs = useRefsParam(drawingId, objectId, Members$h.SolidReferences);
5406
- const csysRefs = useRefsParam(drawingId, objectId, Members$h.CsysReferences);
5422
+ const solidRefs = useRefsParam(drawingId, objectId, Members$i.SolidReferences);
5423
+ const csysRefs = useRefsParam(drawingId, objectId, Members$i.CsysReferences);
5407
5424
  const selOrder = useSelectorsOrder(drawingId);
5408
5425
  const update = React__default.useCallback(() => {
5409
5426
  return ccAPI.feature.updateTransformation(drawingId, objectId, solidRefs.userValue, csysRefs.userValue, 0, {
@@ -5442,20 +5459,20 @@ function RootImpl$m({
5442
5459
  selectorsOrder: selOrder
5443
5460
  }));
5444
5461
  }
5445
- const Root$m = ({
5462
+ const Root$n = ({
5446
5463
  drawingId,
5447
5464
  pluginId
5448
5465
  }) => {
5449
5466
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5450
5467
  drawingId: drawingId,
5451
5468
  pluginId: pluginId
5452
- }, /*#__PURE__*/React__default.createElement(RootImpl$m, {
5469
+ }, /*#__PURE__*/React__default.createElement(RootImpl$n, {
5453
5470
  drawingId: drawingId,
5454
5471
  pluginId: pluginId
5455
5472
  }));
5456
5473
  };
5457
5474
 
5458
- const description$m = {
5475
+ const description$n = {
5459
5476
  name: 'TransformByCsys',
5460
5477
  version: '1.0.0',
5461
5478
  author: 'Ledas',
@@ -5465,28 +5482,28 @@ const description$m = {
5465
5482
  initialState: {}
5466
5483
  };
5467
5484
 
5468
- var index$m = /*#__PURE__*/Object.freeze({
5485
+ var index$n = /*#__PURE__*/Object.freeze({
5469
5486
  __proto__: null,
5470
- Root: Root$m,
5471
- description: description$m
5487
+ Root: Root$n,
5488
+ description: description$n
5472
5489
  });
5473
5490
 
5474
- var Members$g;
5491
+ var Members$h;
5475
5492
  (function (Members) {
5476
5493
  Members["CutDirection"] = "cutDirection";
5477
5494
  Members["BodiesToCut"] = "bodiesToCut";
5478
5495
  Members["WorkPlaneReference"] = "workPlaneReference";
5479
- })(Members$g || (Members$g = {}));
5480
- function RootImpl$l({
5496
+ })(Members$h || (Members$h = {}));
5497
+ function RootImpl$m({
5481
5498
  drawingId,
5482
5499
  pluginId
5483
5500
  }) {
5484
5501
  const {
5485
5502
  objectId
5486
5503
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5487
- const cutDirection = useBoolParam(drawingId, objectId, Members$g.CutDirection);
5488
- const bodiesToCut = useRefsParam(drawingId, objectId, Members$g.BodiesToCut);
5489
- const workplaneId = useIdParam(drawingId, objectId, Members$g.WorkPlaneReference);
5504
+ const cutDirection = useBoolParam(drawingId, objectId, Members$h.CutDirection);
5505
+ const bodiesToCut = useRefsParam(drawingId, objectId, Members$h.BodiesToCut);
5506
+ const workplaneId = useIdParam(drawingId, objectId, Members$h.WorkPlaneReference);
5490
5507
  const update = React__default.useCallback(() => {
5491
5508
  return ccAPI.feature.updateSlice(drawingId, objectId, bodiesToCut.serverValue, workplaneId.serverValue, cutDirection.serverValue);
5492
5509
  }, [drawingId, objectId, bodiesToCut, cutDirection, workplaneId]);
@@ -5515,20 +5532,20 @@ function RootImpl$l({
5515
5532
  icon: true
5516
5533
  })));
5517
5534
  }
5518
- const Root$l = ({
5535
+ const Root$m = ({
5519
5536
  drawingId,
5520
5537
  pluginId
5521
5538
  }) => {
5522
5539
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5523
5540
  drawingId: drawingId,
5524
5541
  pluginId: pluginId
5525
- }, /*#__PURE__*/React__default.createElement(RootImpl$l, {
5542
+ }, /*#__PURE__*/React__default.createElement(RootImpl$m, {
5526
5543
  drawingId: drawingId,
5527
5544
  pluginId: pluginId
5528
5545
  }));
5529
5546
  };
5530
5547
 
5531
- const description$l = {
5548
+ const description$m = {
5532
5549
  name: 'Slice',
5533
5550
  version: '1.0.0',
5534
5551
  author: 'Ledas',
@@ -5538,28 +5555,28 @@ const description$l = {
5538
5555
  initialState: {}
5539
5556
  };
5540
5557
 
5541
- var index$l = /*#__PURE__*/Object.freeze({
5558
+ var index$m = /*#__PURE__*/Object.freeze({
5542
5559
  __proto__: null,
5543
- Root: Root$l,
5544
- description: description$l
5560
+ Root: Root$m,
5561
+ description: description$m
5545
5562
  });
5546
5563
 
5547
- var Members$f;
5564
+ var Members$g;
5548
5565
  (function (Members) {
5549
5566
  Members["Inverted"] = "inverted";
5550
5567
  Members["BodyToCut"] = "bodyToCut";
5551
5568
  Members["SheetBody"] = "sheetBody";
5552
- })(Members$f || (Members$f = {}));
5553
- function RootImpl$k({
5569
+ })(Members$g || (Members$g = {}));
5570
+ function RootImpl$l({
5554
5571
  drawingId,
5555
5572
  pluginId
5556
5573
  }) {
5557
5574
  const {
5558
5575
  objectId
5559
5576
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5560
- const inverted = useBoolParam(drawingId, objectId, Members$f.Inverted);
5561
- const bodyToCut = useIdParam(drawingId, objectId, Members$f.BodyToCut);
5562
- const sheetBody = useIdParam(drawingId, objectId, Members$f.SheetBody);
5577
+ const inverted = useBoolParam(drawingId, objectId, Members$g.Inverted);
5578
+ const bodyToCut = useIdParam(drawingId, objectId, Members$g.BodyToCut);
5579
+ const sheetBody = useIdParam(drawingId, objectId, Members$g.SheetBody);
5563
5580
  const update = React__default.useCallback(() => {
5564
5581
  return ccAPI.feature.updateSliceBySheet(drawingId, objectId, bodyToCut.serverValue, sheetBody.serverValue, inverted.serverValue);
5565
5582
  }, [drawingId, objectId, bodyToCut, inverted, sheetBody]);
@@ -5591,20 +5608,20 @@ function RootImpl$k({
5591
5608
  icon: true
5592
5609
  })));
5593
5610
  }
5594
- const Root$k = ({
5611
+ const Root$l = ({
5595
5612
  drawingId,
5596
5613
  pluginId
5597
5614
  }) => {
5598
5615
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5599
5616
  drawingId: drawingId,
5600
5617
  pluginId: pluginId
5601
- }, /*#__PURE__*/React__default.createElement(RootImpl$k, {
5618
+ }, /*#__PURE__*/React__default.createElement(RootImpl$l, {
5602
5619
  drawingId: drawingId,
5603
5620
  pluginId: pluginId
5604
5621
  }));
5605
5622
  };
5606
5623
 
5607
- const description$k = {
5624
+ const description$l = {
5608
5625
  name: 'SliceBySheet',
5609
5626
  version: '1.0.0',
5610
5627
  author: 'AWV',
@@ -5614,13 +5631,13 @@ const description$k = {
5614
5631
  initialState: {}
5615
5632
  };
5616
5633
 
5617
- var index$k = /*#__PURE__*/Object.freeze({
5634
+ var index$l = /*#__PURE__*/Object.freeze({
5618
5635
  __proto__: null,
5619
- Root: Root$k,
5620
- description: description$k
5636
+ Root: Root$l,
5637
+ description: description$l
5621
5638
  });
5622
5639
 
5623
- var Members$e;
5640
+ var Members$f;
5624
5641
  (function (Members) {
5625
5642
  Members["SolidReferences"] = "toPattern";
5626
5643
  Members["Axis1References"] = "references";
@@ -5632,24 +5649,24 @@ var Members$e;
5632
5649
  Members["Inverted2"] = "inverted2";
5633
5650
  Members["Count2"] = "secondDirInstanceCount";
5634
5651
  Members["Merged"] = "merged";
5635
- })(Members$e || (Members$e = {}));
5636
- function RootImpl$j({
5652
+ })(Members$f || (Members$f = {}));
5653
+ function RootImpl$k({
5637
5654
  drawingId,
5638
5655
  pluginId
5639
5656
  }) {
5640
5657
  const {
5641
5658
  objectId
5642
5659
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5643
- const solidRefs = useRefsParam(drawingId, objectId, Members$e.SolidReferences);
5644
- const axis1Refs = useRefsParam(drawingId, objectId, Members$e.Axis1References);
5645
- const axis2Refs = useRefsParam(drawingId, objectId, Members$e.Axis2References);
5646
- const dist1 = useNumParam(drawingId, objectId, Members$e.Distance1);
5647
- const dist2 = useNumParam(drawingId, objectId, Members$e.Distance2);
5648
- const count1 = useNumParam(drawingId, objectId, Members$e.Count1);
5649
- const count2 = useNumParam(drawingId, objectId, Members$e.Count2);
5650
- const inverted1 = useBoolParam(drawingId, objectId, Members$e.Inverted1);
5651
- const inverted2 = useBoolParam(drawingId, objectId, Members$e.Inverted2);
5652
- const merged = useBoolParam(drawingId, objectId, Members$e.Merged);
5660
+ const solidRefs = useRefsParam(drawingId, objectId, Members$f.SolidReferences);
5661
+ const axis1Refs = useRefsParam(drawingId, objectId, Members$f.Axis1References);
5662
+ const axis2Refs = useRefsParam(drawingId, objectId, Members$f.Axis2References);
5663
+ const dist1 = useNumParam(drawingId, objectId, Members$f.Distance1);
5664
+ const dist2 = useNumParam(drawingId, objectId, Members$f.Distance2);
5665
+ const count1 = useNumParam(drawingId, objectId, Members$f.Count1);
5666
+ const count2 = useNumParam(drawingId, objectId, Members$f.Count2);
5667
+ const inverted1 = useBoolParam(drawingId, objectId, Members$f.Inverted1);
5668
+ const inverted2 = useBoolParam(drawingId, objectId, Members$f.Inverted2);
5669
+ const merged = useBoolParam(drawingId, objectId, Members$f.Merged);
5653
5670
  const update = React__default.useCallback(() => {
5654
5671
  const params1 = [inverted1.serverValue, dist1.serverValue, count1.serverValue, merged.serverValue];
5655
5672
  const axis2Refs_ = axis2Refs.serverValue.length > 0 ? axis2Refs.serverValue : null;
@@ -5721,20 +5738,20 @@ function RootImpl$j({
5721
5738
  param: merged
5722
5739
  }));
5723
5740
  }
5724
- const Root$j = ({
5741
+ const Root$k = ({
5725
5742
  drawingId,
5726
5743
  pluginId
5727
5744
  }) => {
5728
5745
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5729
5746
  drawingId: drawingId,
5730
5747
  pluginId: pluginId
5731
- }, /*#__PURE__*/React__default.createElement(RootImpl$j, {
5748
+ }, /*#__PURE__*/React__default.createElement(RootImpl$k, {
5732
5749
  drawingId: drawingId,
5733
5750
  pluginId: pluginId
5734
5751
  }));
5735
5752
  };
5736
5753
 
5737
- const description$j = {
5754
+ const description$k = {
5738
5755
  name: 'Linear pattern',
5739
5756
  version: '1.0.0',
5740
5757
  author: 'Ledas',
@@ -5744,13 +5761,13 @@ const description$j = {
5744
5761
  initialState: {}
5745
5762
  };
5746
5763
 
5747
- var index$j = /*#__PURE__*/Object.freeze({
5764
+ var index$k = /*#__PURE__*/Object.freeze({
5748
5765
  __proto__: null,
5749
- Root: Root$j,
5750
- description: description$j
5766
+ Root: Root$k,
5767
+ description: description$k
5751
5768
  });
5752
5769
 
5753
- var Members$d;
5770
+ var Members$e;
5754
5771
  (function (Members) {
5755
5772
  Members["SolidReferences"] = "toPattern";
5756
5773
  Members["AxisReferences"] = "references";
@@ -5758,22 +5775,22 @@ var Members$d;
5758
5775
  Members["Inverted"] = "inverted";
5759
5776
  Members["Count"] = "instanceCount";
5760
5777
  Members["Merged"] = "merged";
5761
- })(Members$d || (Members$d = {}));
5762
- function RootImpl$i({
5778
+ })(Members$e || (Members$e = {}));
5779
+ function RootImpl$j({
5763
5780
  drawingId,
5764
5781
  pluginId
5765
5782
  }) {
5766
5783
  const {
5767
5784
  objectId
5768
5785
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5769
- const solidRefs = useRefsParam(drawingId, objectId, Members$d.SolidReferences);
5770
- const axisRefs = useRefsParam(drawingId, objectId, Members$d.AxisReferences);
5771
- const angle = useNumParam(drawingId, objectId, Members$d.Angle, {
5786
+ const solidRefs = useRefsParam(drawingId, objectId, Members$e.SolidReferences);
5787
+ const axisRefs = useRefsParam(drawingId, objectId, Members$e.AxisReferences);
5788
+ const angle = useNumParam(drawingId, objectId, Members$e.Angle, {
5772
5789
  angle: true
5773
5790
  });
5774
- const count = useNumParam(drawingId, objectId, Members$d.Count);
5775
- const inverted = useBoolParam(drawingId, objectId, Members$d.Inverted);
5776
- const merged = useBoolParam(drawingId, objectId, Members$d.Merged);
5791
+ const count = useNumParam(drawingId, objectId, Members$e.Count);
5792
+ const inverted = useBoolParam(drawingId, objectId, Members$e.Inverted);
5793
+ const merged = useBoolParam(drawingId, objectId, Members$e.Merged);
5777
5794
  const update = React__default.useCallback(() => {
5778
5795
  const params = [inverted.serverValue, angle.serverValue, count.serverValue, merged.serverValue];
5779
5796
  return ccAPI.feature.updatePattern(drawingId, objectId, solidRefs.serverValue, axisRefs.serverValue, params, null, null);
@@ -5820,20 +5837,20 @@ function RootImpl$i({
5820
5837
  param: merged
5821
5838
  }));
5822
5839
  }
5823
- const Root$i = ({
5840
+ const Root$j = ({
5824
5841
  drawingId,
5825
5842
  pluginId
5826
5843
  }) => {
5827
5844
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5828
5845
  drawingId: drawingId,
5829
5846
  pluginId: pluginId
5830
- }, /*#__PURE__*/React__default.createElement(RootImpl$i, {
5847
+ }, /*#__PURE__*/React__default.createElement(RootImpl$j, {
5831
5848
  drawingId: drawingId,
5832
5849
  pluginId: pluginId
5833
5850
  }));
5834
5851
  };
5835
5852
 
5836
- const description$i = {
5853
+ const description$j = {
5837
5854
  name: 'Circular pattern',
5838
5855
  version: '1.0.0',
5839
5856
  author: 'Ledas',
@@ -5843,26 +5860,26 @@ const description$i = {
5843
5860
  initialState: {}
5844
5861
  };
5845
5862
 
5846
- var index$i = /*#__PURE__*/Object.freeze({
5863
+ var index$j = /*#__PURE__*/Object.freeze({
5847
5864
  __proto__: null,
5848
- Root: Root$i,
5849
- description: description$i
5865
+ Root: Root$j,
5866
+ description: description$j
5850
5867
  });
5851
5868
 
5852
- var Members$c;
5869
+ var Members$d;
5853
5870
  (function (Members) {
5854
5871
  Members["SolidReferences"] = "toPattern";
5855
5872
  Members["FaceReferences"] = "references";
5856
- })(Members$c || (Members$c = {}));
5857
- const RootImpl$h = ({
5873
+ })(Members$d || (Members$d = {}));
5874
+ const RootImpl$i = ({
5858
5875
  drawingId,
5859
5876
  pluginId
5860
5877
  }) => {
5861
5878
  const {
5862
5879
  objectId
5863
5880
  } = usePlugin(drawingId, pluginId, plugin => plugin);
5864
- const solidRefs = useRefsParam(drawingId, objectId, Members$c.SolidReferences);
5865
- const faceRefs = useRefsParam(drawingId, objectId, Members$c.FaceReferences);
5881
+ const solidRefs = useRefsParam(drawingId, objectId, Members$d.SolidReferences);
5882
+ const faceRefs = useRefsParam(drawingId, objectId, Members$d.FaceReferences);
5866
5883
  const update = React__default.useCallback(() => {
5867
5884
  return ccAPI.feature.updateMirror(drawingId, objectId, solidRefs.serverValue, faceRefs.serverValue);
5868
5885
  }, [drawingId, objectId, solidRefs, faceRefs]);
@@ -5887,20 +5904,20 @@ const RootImpl$h = ({
5887
5904
  customIdPicker: pickGrOrObjId
5888
5905
  }));
5889
5906
  };
5890
- const Root$h = ({
5907
+ const Root$i = ({
5891
5908
  drawingId,
5892
5909
  pluginId
5893
5910
  }) => {
5894
5911
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
5895
5912
  drawingId: drawingId,
5896
5913
  pluginId: pluginId
5897
- }, /*#__PURE__*/React__default.createElement(RootImpl$h, {
5914
+ }, /*#__PURE__*/React__default.createElement(RootImpl$i, {
5898
5915
  drawingId: drawingId,
5899
5916
  pluginId: pluginId
5900
5917
  }));
5901
5918
  };
5902
5919
 
5903
- const description$h = {
5920
+ const description$i = {
5904
5921
  name: 'Mirror',
5905
5922
  version: '1.0.0',
5906
5923
  author: 'AWV',
@@ -5910,10 +5927,10 @@ const description$h = {
5910
5927
  initialState: {}
5911
5928
  };
5912
5929
 
5913
- var index$h = /*#__PURE__*/Object.freeze({
5930
+ var index$i = /*#__PURE__*/Object.freeze({
5914
5931
  __proto__: null,
5915
- Root: Root$h,
5916
- description: description$h
5932
+ Root: Root$i,
5933
+ description: description$i
5917
5934
  });
5918
5935
 
5919
5936
  const defaultNumberOfDigits = 3;
@@ -5972,7 +5989,7 @@ const vectorToString = (point, digits) => `${point.toArray().map(n => MathUtils.
5972
5989
  function ownKeys$l(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5973
5990
  function _objectSpread$l(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$l(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$l(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5974
5991
  const Excluded = [GraphicType.LOOP].concat(EntityTypes);
5975
- const RootImpl$g = ({
5992
+ const RootImpl$h = ({
5976
5993
  drawingId,
5977
5994
  pluginId
5978
5995
  }) => {
@@ -6078,11 +6095,11 @@ const Output = ({
6078
6095
  }, `${item.asString}`));
6079
6096
  }));
6080
6097
  };
6081
- const Root$g = ({
6098
+ const Root$h = ({
6082
6099
  drawingId,
6083
6100
  pluginId
6084
6101
  }) => {
6085
- return /*#__PURE__*/React__default.createElement(ErrorBoundary, null, /*#__PURE__*/React__default.createElement(RootImpl$g, {
6102
+ return /*#__PURE__*/React__default.createElement(ErrorBoundary, null, /*#__PURE__*/React__default.createElement(RootImpl$h, {
6086
6103
  drawingId: drawingId,
6087
6104
  pluginId: pluginId
6088
6105
  }));
@@ -6547,7 +6564,7 @@ const View$e = ({
6547
6564
  }));
6548
6565
  };
6549
6566
 
6550
- const description$g = {
6567
+ const description$h = {
6551
6568
  name: 'Measure',
6552
6569
  version: '0.0.1',
6553
6570
  author: 'AWV',
@@ -6559,11 +6576,11 @@ const description$g = {
6559
6576
  }
6560
6577
  };
6561
6578
 
6562
- var index$g = /*#__PURE__*/Object.freeze({
6579
+ var index$h = /*#__PURE__*/Object.freeze({
6563
6580
  __proto__: null,
6564
- Root: Root$g,
6581
+ Root: Root$h,
6565
6582
  View: View$e,
6566
- description: description$g
6583
+ description: description$h
6567
6584
  });
6568
6585
 
6569
6586
  // TODO use it as key in object
@@ -6814,7 +6831,7 @@ const getInitialState = () => {
6814
6831
  needsUpdate: 0
6815
6832
  };
6816
6833
  };
6817
- const description$f = {
6834
+ const description$g = {
6818
6835
  name: 'Sketcher',
6819
6836
  version: '1.0.0',
6820
6837
  author: 'Ledas',
@@ -6826,7 +6843,7 @@ const description$f = {
6826
6843
 
6827
6844
  function getSketchState(drawingId, pluginId) {
6828
6845
  const plugin = getPlugin(drawingId, pluginId);
6829
- if (!plugin || plugin.name !== description$f.name) {
6846
+ if (!plugin || plugin.name !== description$g.name) {
6830
6847
  window.console.error('Wrong arguments are passed into getSketchState.');
6831
6848
  }
6832
6849
  return plugin.state;
@@ -8899,102 +8916,102 @@ function DrawCircle(drawingId, pluginId) {
8899
8916
  };
8900
8917
  }
8901
8918
 
8902
- var img$_ = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M98.6501 57.944V63.1826H71.546V80.9483H28.9538V63.1826H1.84961V57.944H28.9538V38.3561H36.0145V33.8008C36.0145 26.0568 42.3919 19.4515 50.3638 19.4515C58.3356 19.4515 64.713 25.829 64.713 33.8008V38.3561H71.7738V57.944H98.6501ZM66.9907 76.393V42.9114H59.9299V33.8008C59.9299 28.5622 55.6024 24.0069 50.136 24.0069C44.6696 24.0069 40.5698 28.5622 40.5698 33.8008V42.9114H33.5091V76.393H66.9907Z' fill='black'/%3e%3cpath d='M66.9918 42.9114V76.393H33.5103V42.9114H40.571V33.8008C40.571 28.5622 44.8985 24.0068 50.3649 24.0068C55.8313 24.0068 60.1589 28.3344 60.1589 33.8008V42.9114H66.9918ZM56.7424 40.6338V34.0285C56.7424 30.612 53.7814 27.6511 50.3649 27.6511C46.9484 27.6511 43.9875 30.612 43.9875 34.0285V40.6338H56.7424ZM55.6036 65.9158V56.5774C55.6036 53.6164 53.3259 51.3388 50.3649 51.3388C47.404 51.3388 45.1263 53.6164 45.1263 56.5774V65.9158H55.6036Z' fill='%239D9D9C'/%3e%3cpath d='M56.7412 34.0286V40.6338H43.9863V34.0286C43.9863 30.6121 46.9473 27.6511 50.3638 27.6511C53.7803 27.6511 56.7412 30.3843 56.7412 34.0286ZM52.1859 36.0785V34.0286C52.1859 33.1175 51.2748 32.2064 50.3638 32.2064C49.4527 32.2064 48.5416 32.8897 48.5416 34.0286V36.0785H52.1859Z' fill='black'/%3e%3cpath d='M55.6027 56.5774V65.9158H45.1255V56.5774C45.1255 53.6164 47.4031 51.3387 50.3641 51.3387C53.0973 51.3387 55.6027 53.6164 55.6027 56.5774Z' fill='black'/%3e%3c/svg%3e";
8903
- var fixation = img$_;
8919
+ var img$$ = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M98.6501 57.944V63.1826H71.546V80.9483H28.9538V63.1826H1.84961V57.944H28.9538V38.3561H36.0145V33.8008C36.0145 26.0568 42.3919 19.4515 50.3638 19.4515C58.3356 19.4515 64.713 25.829 64.713 33.8008V38.3561H71.7738V57.944H98.6501ZM66.9907 76.393V42.9114H59.9299V33.8008C59.9299 28.5622 55.6024 24.0069 50.136 24.0069C44.6696 24.0069 40.5698 28.5622 40.5698 33.8008V42.9114H33.5091V76.393H66.9907Z' fill='black'/%3e%3cpath d='M66.9918 42.9114V76.393H33.5103V42.9114H40.571V33.8008C40.571 28.5622 44.8985 24.0068 50.3649 24.0068C55.8313 24.0068 60.1589 28.3344 60.1589 33.8008V42.9114H66.9918ZM56.7424 40.6338V34.0285C56.7424 30.612 53.7814 27.6511 50.3649 27.6511C46.9484 27.6511 43.9875 30.612 43.9875 34.0285V40.6338H56.7424ZM55.6036 65.9158V56.5774C55.6036 53.6164 53.3259 51.3388 50.3649 51.3388C47.404 51.3388 45.1263 53.6164 45.1263 56.5774V65.9158H55.6036Z' fill='%239D9D9C'/%3e%3cpath d='M56.7412 34.0286V40.6338H43.9863V34.0286C43.9863 30.6121 46.9473 27.6511 50.3638 27.6511C53.7803 27.6511 56.7412 30.3843 56.7412 34.0286ZM52.1859 36.0785V34.0286C52.1859 33.1175 51.2748 32.2064 50.3638 32.2064C49.4527 32.2064 48.5416 32.8897 48.5416 34.0286V36.0785H52.1859Z' fill='black'/%3e%3cpath d='M55.6027 56.5774V65.9158H45.1255V56.5774C45.1255 53.6164 47.4031 51.3387 50.3641 51.3387C53.0973 51.3387 55.6027 53.6164 55.6027 56.5774Z' fill='black'/%3e%3c/svg%3e";
8920
+ var fixation = img$$;
8904
8921
 
8905
- var img$Z = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M93.7715 47.5999H6.8291V53H93.7715V47.5999Z' fill='black'/%3e%3c/svg%3e";
8906
- var horizontality = img$Z;
8922
+ var img$_ = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M93.7715 47.5999H6.8291V53H93.7715V47.5999Z' fill='black'/%3e%3c/svg%3e";
8923
+ var horizontality = img$_;
8907
8924
 
8908
- var img$Y = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M53 12H47.6006V88.5999H53V12Z' fill='black'/%3e%3c/svg%3e";
8909
- var verticality = img$Y;
8925
+ var img$Z = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M53 12H47.6006V88.5999H53V12Z' fill='black'/%3e%3c/svg%3e";
8926
+ var verticality = img$Z;
8910
8927
 
8911
- var img$X = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M44.05 49.7792L50 55.6417L55.95 49.7792L50 43.9167L44.05 49.7792ZM54.8167 40.8458L80.0333 16L84 19.9083L58.7833 44.7542L63.6 49.5L58.7833 54.2458L84 79.0917L80.0333 83L54.8167 58.1542L50 62.9L45.1833 58.1542L19.9667 83L16 79.0917L41.2167 54.2458L36.4 49.5L50.2833 35.8208L54.8167 40.8458Z' fill='black'/%3e%3c/svg%3e";
8912
- var coincident = img$X;
8928
+ var img$Y = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M44.05 49.7792L50 55.6417L55.95 49.7792L50 43.9167L44.05 49.7792ZM54.8167 40.8458L80.0333 16L84 19.9083L58.7833 44.7542L63.6 49.5L58.7833 54.2458L84 79.0917L80.0333 83L54.8167 58.1542L50 62.9L45.1833 58.1542L19.9667 83L16 79.0917L41.2167 54.2458L36.4 49.5L50.2833 35.8208L54.8167 40.8458Z' fill='black'/%3e%3c/svg%3e";
8929
+ var coincident = img$Y;
8913
8930
 
8914
- var img$W = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M63 46C67.3243 46 71.973 46.8784 75 50C78.027 53.1216 80.5 59.2635 80.5 63.5C80.5 67.9595 77.2703 71.973 74.2432 75.0946C71.2162 78.2162 67.1081 80 63 80C58.6757 80 54.7838 78.2162 51.7568 75.0946C48.7297 71.973 46.5 67.7365 46.5 63.5C46.5 59.0406 46.973 54.1216 50 51C52.8108 47.8784 58.6757 46 63 46Z' fill='%239D9D9C'/%3e%3cpath d='M46.796 63.1473C46.796 67.5666 48.5637 71.5439 51.6572 74.6374C54.7507 77.7309 58.949 79.4986 63.1473 79.4986C67.5666 79.4986 71.5439 77.7309 74.6374 74.6374C77.7309 71.5439 79.4986 67.3456 79.4986 63.1473C79.4986 58.728 77.7309 54.7507 74.6374 51.6572C71.5439 48.5637 67.3456 46.796 63.1473 46.796C58.728 46.796 54.7507 48.5637 51.6572 51.6572C48.5637 54.7507 46.796 58.728 46.796 63.1473ZM63.1473 83.9178C57.8442 83.9178 52.5411 81.9292 48.5637 77.7309C43.9235 73.0906 41.9348 66.4617 42.5977 60.4957L14.0935 89L11 85.9065L85.9065 11L89 14.0935L60.4957 42.5977C66.6827 41.7139 73.0906 43.7025 77.7309 48.5637C85.9065 56.7394 85.9065 69.7762 77.7309 77.9518C73.7535 81.9292 68.4504 83.9178 63.1473 83.9178Z' fill='black'/%3e%3c/svg%3e";
8915
- var tangency = img$W;
8931
+ var img$X = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M63 46C67.3243 46 71.973 46.8784 75 50C78.027 53.1216 80.5 59.2635 80.5 63.5C80.5 67.9595 77.2703 71.973 74.2432 75.0946C71.2162 78.2162 67.1081 80 63 80C58.6757 80 54.7838 78.2162 51.7568 75.0946C48.7297 71.973 46.5 67.7365 46.5 63.5C46.5 59.0406 46.973 54.1216 50 51C52.8108 47.8784 58.6757 46 63 46Z' fill='%239D9D9C'/%3e%3cpath d='M46.796 63.1473C46.796 67.5666 48.5637 71.5439 51.6572 74.6374C54.7507 77.7309 58.949 79.4986 63.1473 79.4986C67.5666 79.4986 71.5439 77.7309 74.6374 74.6374C77.7309 71.5439 79.4986 67.3456 79.4986 63.1473C79.4986 58.728 77.7309 54.7507 74.6374 51.6572C71.5439 48.5637 67.3456 46.796 63.1473 46.796C58.728 46.796 54.7507 48.5637 51.6572 51.6572C48.5637 54.7507 46.796 58.728 46.796 63.1473ZM63.1473 83.9178C57.8442 83.9178 52.5411 81.9292 48.5637 77.7309C43.9235 73.0906 41.9348 66.4617 42.5977 60.4957L14.0935 89L11 85.9065L85.9065 11L89 14.0935L60.4957 42.5977C66.6827 41.7139 73.0906 43.7025 77.7309 48.5637C85.9065 56.7394 85.9065 69.7762 77.7309 77.9518C73.7535 81.9292 68.4504 83.9178 63.1473 83.9178Z' fill='black'/%3e%3c/svg%3e";
8932
+ var tangency = img$X;
8916
8933
 
8917
- var img$V = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M88 36.7379L36.7561 88L33 84.2621L84.2439 33L88 36.7379Z' fill='black'/%3e%3cpath d='M67 16.0777L15.7561 68L12 64.1942L63.2439 12L67 16.0777Z' fill='black'/%3e%3c/svg%3e";
8918
- var parallelity = img$V;
8934
+ var img$W = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M88 36.7379L36.7561 88L33 84.2621L84.2439 33L88 36.7379Z' fill='black'/%3e%3cpath d='M67 16.0777L15.7561 68L12 64.1942L63.2439 12L67 16.0777Z' fill='black'/%3e%3c/svg%3e";
8935
+ var parallelity = img$W;
8919
8936
 
8920
- var img$U = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12 75H50.5M88 75H50.5M50.5 75V24.5' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8921
- var perpendicularity = img$U;
8937
+ var img$V = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12 75H50.5M88 75H50.5M50.5 75V24.5' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8938
+ var perpendicularity = img$V;
8922
8939
 
8923
- var img$T = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M60.4698 20.5082L56.6826 16.7236L16.9448 56.4895L20.7321 60.2741L60.4698 20.5082Z' fill='black'/%3e%3cpath d='M82.8491 21.6999L79.0635 17.9143L18.115 78.8628L21.9006 82.6484L82.8491 21.6999Z' fill='black'/%3e%3cpath d='M83.9996 44.0778L80.2124 40.2932L40.4746 80.0591L44.2619 83.8437L83.9996 44.0778Z' fill='black'/%3e%3c/svg%3e";
8924
- var colinear = img$T;
8940
+ var img$U = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M60.4698 20.5082L56.6826 16.7236L16.9448 56.4895L20.7321 60.2741L60.4698 20.5082Z' fill='black'/%3e%3cpath d='M82.8491 21.6999L79.0635 17.9143L18.115 78.8628L21.9006 82.6484L82.8491 21.6999Z' fill='black'/%3e%3cpath d='M83.9996 44.0778L80.2124 40.2932L40.4746 80.0591L44.2619 83.8437L83.9996 44.0778Z' fill='black'/%3e%3c/svg%3e";
8941
+ var colinear = img$U;
8925
8942
 
8926
- var img$S = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='50' cy='50' r='32.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='50' cy='50' r='19.5' stroke='black' stroke-width='5'/%3e%3crect x='44' y='44' width='12' height='12' fill='white' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
8927
- var concentric = img$S;
8943
+ var img$T = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='50' cy='50' r='32.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='50' cy='50' r='19.5' stroke='black' stroke-width='5'/%3e%3crect x='44' y='44' width='12' height='12' fill='white' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
8944
+ var concentric = img$T;
8928
8945
 
8929
- var img$R = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M34.6614 51.5994L48.7943 65.8707L62.9272 51.5994L48.7943 37.3281L34.6614 51.5994ZM69.75 51.5994L48.7943 72.7603L40.2658 64.1483L15.8987 89L12 84.817L36.6108 60.2114L27.8386 51.5994L48.7943 30.4385L57.3228 39.0505L85.1013 11L89 14.9369L61.2215 43.2334L69.75 51.5994Z' fill='black'/%3e%3c/svg%3e";
8930
- var midpoint = img$R;
8946
+ var img$S = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M34.6614 51.5994L48.7943 65.8707L62.9272 51.5994L48.7943 37.3281L34.6614 51.5994ZM69.75 51.5994L48.7943 72.7603L40.2658 64.1483L15.8987 89L12 84.817L36.6108 60.2114L27.8386 51.5994L48.7943 30.4385L57.3228 39.0505L85.1013 11L89 14.9369L61.2215 43.2334L69.75 51.5994Z' fill='black'/%3e%3c/svg%3e";
8947
+ var midpoint = img$S;
8931
8948
 
8932
- var img$Q = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M87.5 27L80 52.5L89 78.5H63V27H87.5Z' fill='%239D9D9C'/%3e%3cpath d='M53 79H48V84H53V79Z' fill='black'/%3e%3cpath d='M53 71H48V75H53V71Z' fill='black'/%3e%3cpath d='M53 61H48V66H53V61Z' fill='black'/%3e%3cpath d='M53 53H48V57H53V53Z' fill='black'/%3e%3cpath d='M53 43H48V48H53V43Z' fill='black'/%3e%3cpath d='M53 34H48V39H53V34Z' fill='black'/%3e%3cpath d='M53 25H48V30H53V25Z' fill='black'/%3e%3cpath d='M53 16H48V21H53V16Z' fill='black'/%3e%3cpath d='M38 27L38.5 78L13.5 77L20.5 52L12.5 27.5L38 27Z' fill='%239D9D9C'/%3e%3cpath d='M14.2877 28.4358L21.9726 52.3891L14.2877 76.5642H37.5753V28.4358H14.2877ZM42 24V81H8L17.0822 52.3891L8 24H42Z' fill='black'/%3e%3cpath d='M63.6259 76.5642H86.7551L78.8912 52.3891L86.5238 28.214H63.3946V76.5642H63.6259ZM59 81V24H93L83.7483 52.3891L92.7687 81H59Z' fill='black'/%3e%3c/svg%3e";
8933
- var symmetric = img$Q;
8949
+ var img$R = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M87.5 27L80 52.5L89 78.5H63V27H87.5Z' fill='%239D9D9C'/%3e%3cpath d='M53 79H48V84H53V79Z' fill='black'/%3e%3cpath d='M53 71H48V75H53V71Z' fill='black'/%3e%3cpath d='M53 61H48V66H53V61Z' fill='black'/%3e%3cpath d='M53 53H48V57H53V53Z' fill='black'/%3e%3cpath d='M53 43H48V48H53V43Z' fill='black'/%3e%3cpath d='M53 34H48V39H53V34Z' fill='black'/%3e%3cpath d='M53 25H48V30H53V25Z' fill='black'/%3e%3cpath d='M53 16H48V21H53V16Z' fill='black'/%3e%3cpath d='M38 27L38.5 78L13.5 77L20.5 52L12.5 27.5L38 27Z' fill='%239D9D9C'/%3e%3cpath d='M14.2877 28.4358L21.9726 52.3891L14.2877 76.5642H37.5753V28.4358H14.2877ZM42 24V81H8L17.0822 52.3891L8 24H42Z' fill='black'/%3e%3cpath d='M63.6259 76.5642H86.7551L78.8912 52.3891L86.5238 28.214H63.3946V76.5642H63.6259ZM59 81V24H93L83.7483 52.3891L92.7687 81H59Z' fill='black'/%3e%3c/svg%3e";
8950
+ var symmetric = img$R;
8934
8951
 
8935
- var img$P = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M87.0685 59.9326H13.5317V66.7416H87.0685V59.9326Z' fill='black'/%3e%3cpath d='M87.0685 34.0582H13.5317V40.8672H87.0685V34.0582Z' fill='black'/%3e%3c/svg%3e";
8936
- var equal = img$P;
8952
+ var img$Q = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M87.0685 59.9326H13.5317V66.7416H87.0685V59.9326Z' fill='black'/%3e%3cpath d='M87.0685 34.0582H13.5317V40.8672H87.0685V34.0582Z' fill='black'/%3e%3c/svg%3e";
8953
+ var equal = img$Q;
8937
8954
 
8938
- var img$O = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M80 50H19' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M74 59L82 50.3692L74 42' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M26 42L19 50.3692V50.6308L25.75 59' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M5 30V70' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M96 30V70' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3c/svg%3e";
8939
- var hdimension = img$O;
8955
+ var img$P = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M80 50H19' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M74 59L82 50.3692L74 42' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M26 42L19 50.3692V50.6308L25.75 59' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M5 30V70' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M96 30V70' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3c/svg%3e";
8956
+ var hdimension = img$P;
8940
8957
 
8941
- var img$N = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M31 95H69' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M50 21V81' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M58 27L49.8769 20L42 27' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M42 74L50.1231 81L58 74.25' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M31 6H69' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3c/svg%3e";
8942
- var vdimension = img$N;
8958
+ var img$O = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M31 95H69' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M50 21V81' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M58 27L49.8769 20L42 27' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M42 74L50.1231 81L58 74.25' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M31 6H69' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3c/svg%3e";
8959
+ var vdimension = img$O;
8943
8960
 
8944
- var img$M = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M68.0001 32L31.2217 69L34.2036 66' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M69 40L68.3478 30.6522L59 30' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M30 59L30.8696 68.3478L40 69' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M10 65L34 89' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M65 10L89 34' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3c/svg%3e";
8945
- var dimension = img$M;
8961
+ var img$N = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M68.0001 32L31.2217 69L34.2036 66' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M69 40L68.3478 30.6522L59 30' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M30 59L30.8696 68.3478L40 69' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M10 65L34 89' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3cpath d='M65 10L89 34' stroke='black' stroke-width='4' stroke-miterlimit='10'/%3e%3c/svg%3e";
8962
+ var dimension = img$N;
8946
8963
 
8947
- var img$L = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='50' cy='50' r='35.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='43.5' y='43.5' width='12' height='12' fill='white' stroke='black' stroke-width='5'/%3e%3cline x1='55.2322' y1='43.2322' x2='73.2322' y2='25.2322' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8948
- var radius = img$L;
8964
+ var img$M = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='50' cy='50' r='35.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='43.5' y='43.5' width='12' height='12' fill='white' stroke='black' stroke-width='5'/%3e%3cline x1='55.2322' y1='43.2322' x2='73.2322' y2='25.2322' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8965
+ var radius = img$M;
8949
8966
 
8950
- var img$K = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M49.8772 47C40.8772 47 34.5 54.036 34.5 54.036L27.5 42.7085C27.5 42.7085 36.2983 33 49.8772 33C63.4562 33 71.6769 42 71.6769 42L64.6502 53C64.6502 53 58.8772 47 49.8772 47Z' fill='%23C4C4C4'/%3e%3cpath d='M34.5 54.036L48.9999 77.5L64.6502 53C64.6502 53 58.8772 47 49.8772 47C40.8772 47 34.5 54.036 34.5 54.036Z' fill='%23C4C4C4'/%3e%3cpath d='M15.1406 22.7083L48.9999 77.5M48.9999 77.5L84.0002 22.7083M48.9999 77.5L34.5 54.036M48.9999 77.5L64.6502 53M34.5 54.036C34.5 54.036 40.8772 47 49.8772 47C58.8772 47 64.6502 53 64.6502 53M34.5 54.036L27.5 42.7085C27.5 42.7085 36.2983 33 49.8772 33C63.4562 33 71.6769 42 71.6769 42L64.6502 53' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
8951
- var angle = img$K;
8967
+ var img$L = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M49.8772 47C40.8772 47 34.5 54.036 34.5 54.036L27.5 42.7085C27.5 42.7085 36.2983 33 49.8772 33C63.4562 33 71.6769 42 71.6769 42L64.6502 53C64.6502 53 58.8772 47 49.8772 47Z' fill='%23C4C4C4'/%3e%3cpath d='M34.5 54.036L48.9999 77.5L64.6502 53C64.6502 53 58.8772 47 49.8772 47C40.8772 47 34.5 54.036 34.5 54.036Z' fill='%23C4C4C4'/%3e%3cpath d='M15.1406 22.7083L48.9999 77.5M48.9999 77.5L84.0002 22.7083M48.9999 77.5L34.5 54.036M48.9999 77.5L64.6502 53M34.5 54.036C34.5 54.036 40.8772 47 49.8772 47C58.8772 47 64.6502 53 64.6502 53M34.5 54.036L27.5 42.7085C27.5 42.7085 36.2983 33 49.8772 33C63.4562 33 71.6769 42 71.6769 42L64.6502 53' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
8968
+ var angle = img$L;
8952
8969
 
8953
- var img$J = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M65 16.5L15.5 66H80.5M80.5 66L74 59M80.5 66L75 73' stroke='black' stroke-width='5'/%3e%3cpath d='M55.9524 46.4372L53 51L48.5 42.5H58.5L55.9524 46.4372Z' fill='black'/%3e%3cpath d='M56.5 61.5C56.5 61.5 59.5 58.5 59.5 54C59.5 49.5 55.5 46 55.5 46M53 51L58.5 42.5H48.5L53 51Z' stroke='black' stroke-width='2'/%3e%3cpath d='M77.0859 82.5469L79.2188 78.625H81.9141L78.6016 84.2656L82 90H79.2734L77.0859 86.0156L74.8984 90H72.1719L75.5703 84.2656L72.2578 78.625H74.9531L77.0859 82.5469Z' fill='black'/%3e%3c/svg%3e";
8954
- var angleox = img$J;
8970
+ var img$K = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M65 16.5L15.5 66H80.5M80.5 66L74 59M80.5 66L75 73' stroke='black' stroke-width='5'/%3e%3cpath d='M55.9524 46.4372L53 51L48.5 42.5H58.5L55.9524 46.4372Z' fill='black'/%3e%3cpath d='M56.5 61.5C56.5 61.5 59.5 58.5 59.5 54C59.5 49.5 55.5 46 55.5 46M53 51L58.5 42.5H48.5L53 51Z' stroke='black' stroke-width='2'/%3e%3cpath d='M77.0859 82.5469L79.2188 78.625H81.9141L78.6016 84.2656L82 90H79.2734L77.0859 86.0156L74.8984 90H72.1719L75.5703 84.2656L72.2578 78.625H74.9531L77.0859 82.5469Z' fill='black'/%3e%3c/svg%3e";
8971
+ var angleox = img$K;
8955
8972
 
8956
- var img$I = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='18.5' y='18.5' width='64' height='64' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M60.5352 58.7656C59.5859 59.9023 58.2441 60.7871 56.5098 61.4199C54.7754 62.041 52.8535 62.3516 50.7441 62.3516C48.5293 62.3516 46.584 61.8711 44.9082 60.9102C43.2441 59.9375 41.9551 58.5312 41.041 56.6914C40.1387 54.8516 39.6758 52.6895 39.6523 50.2051V48.4648C39.6523 45.9102 40.0801 43.7012 40.9355 41.8379C41.8027 39.9629 43.0449 38.5332 44.6621 37.5488C46.291 36.5527 48.1953 36.0547 50.375 36.0547C53.4102 36.0547 55.7832 36.7812 57.4941 38.2344C59.2051 39.6758 60.2188 41.7793 60.5352 44.5449H55.4023C55.168 43.0801 54.6465 42.0078 53.8379 41.3281C53.041 40.6484 51.9395 40.3086 50.5332 40.3086C48.7402 40.3086 47.375 40.9824 46.4375 42.3301C45.5 43.6777 45.0254 45.6816 45.0137 48.3418V49.9766C45.0137 52.6602 45.5234 54.6875 46.543 56.0586C47.5625 57.4297 49.0566 58.1152 51.0254 58.1152C53.0059 58.1152 54.418 57.6934 55.2617 56.8496V52.4375H50.4629V48.5527H60.5352V58.7656Z' fill='black'/%3e%3c/svg%3e";
8957
- var rigidSet = img$I;
8973
+ var img$J = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='18.5' y='18.5' width='64' height='64' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M60.5352 58.7656C59.5859 59.9023 58.2441 60.7871 56.5098 61.4199C54.7754 62.041 52.8535 62.3516 50.7441 62.3516C48.5293 62.3516 46.584 61.8711 44.9082 60.9102C43.2441 59.9375 41.9551 58.5312 41.041 56.6914C40.1387 54.8516 39.6758 52.6895 39.6523 50.2051V48.4648C39.6523 45.9102 40.0801 43.7012 40.9355 41.8379C41.8027 39.9629 43.0449 38.5332 44.6621 37.5488C46.291 36.5527 48.1953 36.0547 50.375 36.0547C53.4102 36.0547 55.7832 36.7812 57.4941 38.2344C59.2051 39.6758 60.2188 41.7793 60.5352 44.5449H55.4023C55.168 43.0801 54.6465 42.0078 53.8379 41.3281C53.041 40.6484 51.9395 40.3086 50.5332 40.3086C48.7402 40.3086 47.375 40.9824 46.4375 42.3301C45.5 43.6777 45.0254 45.6816 45.0137 48.3418V49.9766C45.0137 52.6602 45.5234 54.6875 46.543 56.0586C47.5625 57.4297 49.0566 58.1152 51.0254 58.1152C53.0059 58.1152 54.418 57.6934 55.2617 56.8496V52.4375H50.4629V48.5527H60.5352V58.7656Z' fill='black'/%3e%3c/svg%3e";
8974
+ var rigidSet = img$J;
8958
8975
 
8959
- var img$H = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M54 53V79.6063L46 84V57.6378L54 53Z' fill='%239D9D9C'/%3e%3cpath d='M52.5 49L43.5 54L21 40.25L29.5 34.5L52.5 49Z' fill='%239D9D9C'/%3e%3cpath d='M42.5 56.5V84.5L18 70.6667V44L42.5 56.5Z' fill='%239D9D9C'/%3e%3cpath d='M82.1815 79.7636V36.9565L67.967 45.1793V87.9864L82.1815 79.7636ZM79.2904 33.087L42.9109 11.3207L28.6964 19.5435L65.5578 40.8261L79.2904 33.087ZM53.9934 79.2799V52.9185L46.2838 57.5136V83.6331L53.9934 79.2799ZM63.1485 45.1793L26.2871 23.6549V31.6359L27.7327 30.9103H27.9736L29.1782 30.1848L59.0528 48.0815V82.1821L55.6799 83.6331L63.1485 87.9864V45.1793ZM41.4653 57.5136L18.8185 44.4538V70.5734L41.4653 83.6331V57.5136ZM21.2277 40.1005L43.8746 53.1603L51.3432 48.8071L29.1782 35.5054L21.2277 40.1005ZM21.4686 34.538V18.3342L22.6733 17.6087L41.7063 6.72554L42.9109 6L87 32.1196V82.6658L65.5578 95L50.8614 86.5353L43.6337 90.6467L14 73.2337V38.8913L15.2046 38.1658L21.4686 34.538Z' fill='black'/%3e%3c/svg%3e";
8976
+ var img$I = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M54 53V79.6063L46 84V57.6378L54 53Z' fill='%239D9D9C'/%3e%3cpath d='M52.5 49L43.5 54L21 40.25L29.5 34.5L52.5 49Z' fill='%239D9D9C'/%3e%3cpath d='M42.5 56.5V84.5L18 70.6667V44L42.5 56.5Z' fill='%239D9D9C'/%3e%3cpath d='M82.1815 79.7636V36.9565L67.967 45.1793V87.9864L82.1815 79.7636ZM79.2904 33.087L42.9109 11.3207L28.6964 19.5435L65.5578 40.8261L79.2904 33.087ZM53.9934 79.2799V52.9185L46.2838 57.5136V83.6331L53.9934 79.2799ZM63.1485 45.1793L26.2871 23.6549V31.6359L27.7327 30.9103H27.9736L29.1782 30.1848L59.0528 48.0815V82.1821L55.6799 83.6331L63.1485 87.9864V45.1793ZM41.4653 57.5136L18.8185 44.4538V70.5734L41.4653 83.6331V57.5136ZM21.2277 40.1005L43.8746 53.1603L51.3432 48.8071L29.1782 35.5054L21.2277 40.1005ZM21.4686 34.538V18.3342L22.6733 17.6087L41.7063 6.72554L42.9109 6L87 32.1196V82.6658L65.5578 95L50.8614 86.5353L43.6337 90.6467L14 73.2337V38.8913L15.2046 38.1658L21.4686 34.538Z' fill='black'/%3e%3c/svg%3e";
8960
8977
 
8961
- var img$G = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M46.9476 18C64.6143 18 79 32.5294 79 50.3726C79 68.2157 64.6143 83 46.9476 83C39.3762 83 32.5619 80.451 27.0095 76.1176C29.281 75.3529 31.8048 74.3333 34.0762 72.549C37.1048 70 39.1238 67.1961 40.1333 64.1373C42.1524 65.1569 44.4238 65.6667 46.9476 65.6667C55.2762 65.6667 62.0905 58.7843 62.0905 50.3726C62.0905 41.9608 55.2762 35.5 46.9476 35.5C44.1714 35.5 41.2714 36.7255 39 38C37.9905 35.1961 35.2762 31.7941 32.5 29.5C30.2286 27.7157 28.0238 26.5098 25.5 26C31.3048 21.1569 39.1238 18 46.9476 18Z' fill='%239D9D9C'/%3e%3cpath d='M31.5682 68.64C29.1136 70.6 26.6591 71.72 24.4773 72C24.2045 72 23.9318 72 23.6591 72C22.5682 72 21.75 71.72 21.4773 71.16L21.2045 70.6C20.9318 70.04 20.9318 68.92 21.2045 67.8C22.0227 65.56 23.6591 63.32 25.8409 61.36C28.2955 59.4 31.2955 58 33.4773 58C34.2955 58 35.1136 58 35.6591 58.84C36.2045 59.4 35.9318 60.52 35.9318 61.36C35.9318 63.88 34.0227 66.68 31.5682 68.64Z' fill='white'/%3e%3cpath d='M20.3098 30.8104C20.8464 30.2701 21.9197 30 22.993 30C25.1395 30.2701 27.8226 31.3506 29.9691 33.2414C32.3839 35.1323 34.2621 37.5634 34.7988 39.7243C35.0671 40.5347 35.0671 41.345 34.7988 41.8853L34.5304 42.1554C33.9938 42.6956 33.1889 42.9658 32.6523 42.9658C30.2374 43.2359 27.286 41.8853 24.8712 39.7243C22.7246 38.1036 21.1148 35.9426 20.3098 33.7817C20.0415 33.2414 19.7732 31.6207 20.3098 30.8104Z' fill='white'/%3e%3cpath d='M24.4306 71.3333C26.4499 71.0808 28.7216 70.0707 30.9933 68.303C33.265 66.5354 35.0319 64.0101 35.2843 61.9899C35.5367 61.4848 35.5367 60.4747 35.0319 59.7172C34.5271 59.2121 33.5174 58.9596 33.0126 58.9596C30.9933 58.9596 28.2168 59.9697 25.9451 61.9899C23.9258 63.7576 22.1589 65.7778 21.654 67.798C21.4016 68.8081 21.4016 69.8182 21.654 70.3232L21.9065 70.5758C22.4113 71.0808 22.9161 71.3333 23.9258 71.3333C23.9258 71.3333 24.1782 71.3333 24.4306 71.3333ZM20.8968 31.4343C20.1396 32.4444 20.6444 33.7071 20.8968 34.4646C21.654 36.4848 23.1685 38.5051 25.1878 40.0202C27.4595 42.0404 30.4885 43.0505 32.5078 43.0505C33.0126 43.0505 34.0223 42.798 34.2747 42.2929L34.5271 42.0404C34.7795 41.5354 34.7795 40.7778 34.5271 40.0202C34.0223 38 32.2554 35.7273 29.9837 33.9596C27.9644 32.1919 25.4402 31.1818 23.4209 30.9293C22.4113 30.6768 21.4016 30.9293 20.8968 31.4343ZM84 50.6263C84 71.0808 67.3408 88 46.8953 88C35.2843 88 24.9354 82.697 18.1203 74.3636C17.8679 74.1111 17.8679 74.1111 17.6154 73.8586C17.6154 73.6061 17.363 73.6061 17.363 73.3535L17.1106 73.101C17.1106 72.8485 16.8582 72.8485 16.8582 72.596C16.101 70.8283 16.101 68.8081 16.8582 66.2828C17.8679 63.5051 19.8872 60.4747 22.9161 58.202C26.1975 55.6768 29.9837 54.1616 33.265 54.1616C35.5368 54.1616 37.5561 54.9192 39.0705 56.4343L39.3229 56.6869C39.5754 56.6869 39.5754 56.9394 39.5754 57.1919C41.3422 59.4646 44.1188 60.7273 47.1477 60.7273C52.7008 60.7273 57.2442 56.1818 57.2442 50.6263C57.2442 45.0707 52.7008 40.5253 47.1477 40.5253C43.8664 40.5253 40.8374 42.0404 39.0705 44.5657C38.8181 44.8182 38.8181 45.0707 38.5657 45.3232C37.3036 46.8384 35.5367 47.8485 33.0126 47.8485C32.7602 47.8485 32.7602 47.8485 32.5078 47.8485C29.2264 47.8485 25.4402 46.3333 22.4113 43.8081C19.6347 41.5354 17.6154 38.7576 16.6058 35.9798C15.5961 32.9495 15.8486 30.1717 17.363 28.1515L17.6154 27.6465L17.8679 27.3939C24.683 18.8081 35.2843 13 47.1477 13C67.3408 13.2525 84 29.9192 84 50.6263ZM78.9517 50.6263C78.9517 32.9495 64.5642 18.5556 46.8953 18.5556C39.0705 18.5556 31.7506 21.3333 26.1975 26.1313C28.7216 26.6364 31.2457 27.899 33.5174 29.6667C36.294 31.9394 38.3133 34.7172 39.3229 37.495C41.5947 36.2323 44.1188 35.4747 47.1477 35.4747C55.4774 35.4747 62.2925 42.2929 62.2925 50.6263C62.2925 58.9596 55.4774 65.7778 47.1477 65.7778C44.6236 65.7778 42.3519 65.2727 40.3326 64.2626C39.5754 67.0404 37.3036 70.0707 34.2747 72.596C32.003 74.3636 29.7313 75.6263 27.2071 76.1313C32.7602 80.4242 39.5754 82.9495 47.1477 82.9495C64.5642 82.697 78.9517 68.303 78.9517 50.6263Z' fill='black'/%3e%3c/svg%3e";
8978
+ var img$H = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M46.9476 18C64.6143 18 79 32.5294 79 50.3726C79 68.2157 64.6143 83 46.9476 83C39.3762 83 32.5619 80.451 27.0095 76.1176C29.281 75.3529 31.8048 74.3333 34.0762 72.549C37.1048 70 39.1238 67.1961 40.1333 64.1373C42.1524 65.1569 44.4238 65.6667 46.9476 65.6667C55.2762 65.6667 62.0905 58.7843 62.0905 50.3726C62.0905 41.9608 55.2762 35.5 46.9476 35.5C44.1714 35.5 41.2714 36.7255 39 38C37.9905 35.1961 35.2762 31.7941 32.5 29.5C30.2286 27.7157 28.0238 26.5098 25.5 26C31.3048 21.1569 39.1238 18 46.9476 18Z' fill='%239D9D9C'/%3e%3cpath d='M31.5682 68.64C29.1136 70.6 26.6591 71.72 24.4773 72C24.2045 72 23.9318 72 23.6591 72C22.5682 72 21.75 71.72 21.4773 71.16L21.2045 70.6C20.9318 70.04 20.9318 68.92 21.2045 67.8C22.0227 65.56 23.6591 63.32 25.8409 61.36C28.2955 59.4 31.2955 58 33.4773 58C34.2955 58 35.1136 58 35.6591 58.84C36.2045 59.4 35.9318 60.52 35.9318 61.36C35.9318 63.88 34.0227 66.68 31.5682 68.64Z' fill='white'/%3e%3cpath d='M20.3098 30.8104C20.8464 30.2701 21.9197 30 22.993 30C25.1395 30.2701 27.8226 31.3506 29.9691 33.2414C32.3839 35.1323 34.2621 37.5634 34.7988 39.7243C35.0671 40.5347 35.0671 41.345 34.7988 41.8853L34.5304 42.1554C33.9938 42.6956 33.1889 42.9658 32.6523 42.9658C30.2374 43.2359 27.286 41.8853 24.8712 39.7243C22.7246 38.1036 21.1148 35.9426 20.3098 33.7817C20.0415 33.2414 19.7732 31.6207 20.3098 30.8104Z' fill='white'/%3e%3cpath d='M24.4306 71.3333C26.4499 71.0808 28.7216 70.0707 30.9933 68.303C33.265 66.5354 35.0319 64.0101 35.2843 61.9899C35.5367 61.4848 35.5367 60.4747 35.0319 59.7172C34.5271 59.2121 33.5174 58.9596 33.0126 58.9596C30.9933 58.9596 28.2168 59.9697 25.9451 61.9899C23.9258 63.7576 22.1589 65.7778 21.654 67.798C21.4016 68.8081 21.4016 69.8182 21.654 70.3232L21.9065 70.5758C22.4113 71.0808 22.9161 71.3333 23.9258 71.3333C23.9258 71.3333 24.1782 71.3333 24.4306 71.3333ZM20.8968 31.4343C20.1396 32.4444 20.6444 33.7071 20.8968 34.4646C21.654 36.4848 23.1685 38.5051 25.1878 40.0202C27.4595 42.0404 30.4885 43.0505 32.5078 43.0505C33.0126 43.0505 34.0223 42.798 34.2747 42.2929L34.5271 42.0404C34.7795 41.5354 34.7795 40.7778 34.5271 40.0202C34.0223 38 32.2554 35.7273 29.9837 33.9596C27.9644 32.1919 25.4402 31.1818 23.4209 30.9293C22.4113 30.6768 21.4016 30.9293 20.8968 31.4343ZM84 50.6263C84 71.0808 67.3408 88 46.8953 88C35.2843 88 24.9354 82.697 18.1203 74.3636C17.8679 74.1111 17.8679 74.1111 17.6154 73.8586C17.6154 73.6061 17.363 73.6061 17.363 73.3535L17.1106 73.101C17.1106 72.8485 16.8582 72.8485 16.8582 72.596C16.101 70.8283 16.101 68.8081 16.8582 66.2828C17.8679 63.5051 19.8872 60.4747 22.9161 58.202C26.1975 55.6768 29.9837 54.1616 33.265 54.1616C35.5368 54.1616 37.5561 54.9192 39.0705 56.4343L39.3229 56.6869C39.5754 56.6869 39.5754 56.9394 39.5754 57.1919C41.3422 59.4646 44.1188 60.7273 47.1477 60.7273C52.7008 60.7273 57.2442 56.1818 57.2442 50.6263C57.2442 45.0707 52.7008 40.5253 47.1477 40.5253C43.8664 40.5253 40.8374 42.0404 39.0705 44.5657C38.8181 44.8182 38.8181 45.0707 38.5657 45.3232C37.3036 46.8384 35.5367 47.8485 33.0126 47.8485C32.7602 47.8485 32.7602 47.8485 32.5078 47.8485C29.2264 47.8485 25.4402 46.3333 22.4113 43.8081C19.6347 41.5354 17.6154 38.7576 16.6058 35.9798C15.5961 32.9495 15.8486 30.1717 17.363 28.1515L17.6154 27.6465L17.8679 27.3939C24.683 18.8081 35.2843 13 47.1477 13C67.3408 13.2525 84 29.9192 84 50.6263ZM78.9517 50.6263C78.9517 32.9495 64.5642 18.5556 46.8953 18.5556C39.0705 18.5556 31.7506 21.3333 26.1975 26.1313C28.7216 26.6364 31.2457 27.899 33.5174 29.6667C36.294 31.9394 38.3133 34.7172 39.3229 37.495C41.5947 36.2323 44.1188 35.4747 47.1477 35.4747C55.4774 35.4747 62.2925 42.2929 62.2925 50.6263C62.2925 58.9596 55.4774 65.7778 47.1477 65.7778C44.6236 65.7778 42.3519 65.2727 40.3326 64.2626C39.5754 67.0404 37.3036 70.0707 34.2747 72.596C32.003 74.3636 29.7313 75.6263 27.2071 76.1313C32.7602 80.4242 39.5754 82.9495 47.1477 82.9495C64.5642 82.697 78.9517 68.303 78.9517 50.6263Z' fill='black'/%3e%3c/svg%3e";
8962
8979
 
8963
- var img$F = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M54.5901 49.2615V54.9931H48.7076H42.8252V49.2615V43.5299H48.7076H54.5901V49.2615Z' fill='white'/%3e%3cpath d='M48.7074 54.9931V79.8303M42.825 43.5299L34.0766 35.0832L42.825 43.5299ZM42.825 43.5299V49.2615V43.5299ZM42.825 43.5299H48.7074H42.825ZM42.825 54.9931L34.0766 64.1437L42.825 54.9931ZM42.825 54.9931V49.2615V54.9931ZM42.825 54.9931H48.7074H42.825ZM54.5899 54.9931L63.0365 64.1437L54.5899 54.9931ZM54.5899 54.9931V49.2615V54.9931ZM54.5899 54.9931H48.7074H54.5899ZM54.5899 43.5299L63.0365 35.0832L54.5899 43.5299ZM54.5899 43.5299V49.2615V43.5299ZM54.5899 43.5299H48.7074H54.5899ZM54.5899 49.2615H79.1253H54.5899ZM42.825 49.2615H17.9878H42.825ZM48.7074 43.5299V18.9944V43.5299Z' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
8980
+ var img$G = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M54.5901 49.2615V54.9931H48.7076H42.8252V49.2615V43.5299H48.7076H54.5901V49.2615Z' fill='white'/%3e%3cpath d='M48.7074 54.9931V79.8303M42.825 43.5299L34.0766 35.0832L42.825 43.5299ZM42.825 43.5299V49.2615V43.5299ZM42.825 43.5299H48.7074H42.825ZM42.825 54.9931L34.0766 64.1437L42.825 54.9931ZM42.825 54.9931V49.2615V54.9931ZM42.825 54.9931H48.7074H42.825ZM54.5899 54.9931L63.0365 64.1437L54.5899 54.9931ZM54.5899 54.9931V49.2615V54.9931ZM54.5899 54.9931H48.7074H54.5899ZM54.5899 43.5299L63.0365 35.0832L54.5899 43.5299ZM54.5899 43.5299V49.2615V43.5299ZM54.5899 43.5299H48.7074H54.5899ZM54.5899 49.2615H79.1253H54.5899ZM42.825 49.2615H17.9878H42.825ZM48.7074 43.5299V18.9944V43.5299Z' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
8964
8981
 
8965
- var img$E = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M82 23.5C82 25.8684 80.0541 28 77.3784 28C76.6486 28 75.9189 27.7632 75.1892 27.5263C74.2162 27.0526 73.4865 26.1053 73.2432 25.1579C73 24.6842 73 24.2105 73 23.5C73 21.1316 74.9459 19 77.6216 19C80.0541 19 82 21.1316 82 23.5Z' fill='%239D9D9C'/%3e%3cpath d='M73.359 25.2051C73.6026 26.1795 74.5769 27.1538 75.3077 27.641C76.0385 28.1282 76.7692 28.1282 77.5 28.1282C79.9359 28.1282 82.1282 26.1795 82.1282 23.5C82.1282 20.8205 80.1795 18.8718 77.5 18.8718C75.0641 18.8718 72.8718 20.8205 72.8718 23.5C73.1154 23.9872 73.1154 24.7179 73.359 25.2051ZM77.5 14C82.6154 14 87 18.141 87 23.5C87 28.859 82.859 33 77.5 33C76.0385 33 74.3333 32.5128 73.1154 31.7821C72.8718 31.7821 72.6282 31.5385 72.6282 31.2949C71.1667 30.5641 70.1923 29.1026 69.2179 27.641C68.9744 27.3974 68.9744 26.9103 68.7308 26.6667C68.2436 25.6923 68 24.4744 68 23.2564C68.2436 18.3846 72.3846 14 77.5 14Z' fill='black'/%3e%3cpath d='M69.5946 28C70.3243 29.4516 71.5405 30.6613 73 31.629L31.4054 73C30.4324 71.5484 29.2162 70.3387 28 69.6129L69.5946 28Z' fill='black'/%3e%3cpath d='M19 77.6216C19 75.1892 20.8947 73 23.5 73C24.2105 73 24.6842 73.2432 25.3947 73.2432C26.3421 73.7297 27.2895 74.4595 27.5263 75.4324C27.7632 75.9189 28 76.6487 28 77.3784C28 79.8108 26.1053 82 23.5 82C20.8947 82 19 80.0541 19 77.6216Z' fill='%239D9D9C'/%3e%3cpath d='M23.5 81.8846C25.9359 81.8846 28.1282 79.9359 28.1282 77.2564C28.1282 76.5256 27.8846 75.7949 27.641 75.3077C27.1538 74.3333 26.4231 73.6026 25.4487 73.1154C24.9615 72.8718 24.2308 72.8718 23.5 72.8718C21.0641 72.8718 18.8718 74.8205 18.8718 77.5C19.1154 79.9359 21.0641 81.8846 23.5 81.8846ZM32.0256 73.359C32.7564 74.5769 33 76.0385 33 77.5C33 82.6154 28.859 87 23.5 87C18.3846 87 14 82.859 14 77.5C14 72.141 18.141 68 23.5 68C24.7179 68 25.9359 68.2436 27.1538 68.7308C27.3974 68.9744 27.641 68.9744 27.8846 69.2179C29.3462 69.9487 30.5641 71.1667 31.2949 72.6282C31.7821 72.8718 32.0256 73.1154 32.0256 73.359Z' fill='black'/%3e%3c/svg%3e";
8966
- var line$1 = img$E;
8982
+ var img$F = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M82 23.5C82 25.8684 80.0541 28 77.3784 28C76.6486 28 75.9189 27.7632 75.1892 27.5263C74.2162 27.0526 73.4865 26.1053 73.2432 25.1579C73 24.6842 73 24.2105 73 23.5C73 21.1316 74.9459 19 77.6216 19C80.0541 19 82 21.1316 82 23.5Z' fill='%239D9D9C'/%3e%3cpath d='M73.359 25.2051C73.6026 26.1795 74.5769 27.1538 75.3077 27.641C76.0385 28.1282 76.7692 28.1282 77.5 28.1282C79.9359 28.1282 82.1282 26.1795 82.1282 23.5C82.1282 20.8205 80.1795 18.8718 77.5 18.8718C75.0641 18.8718 72.8718 20.8205 72.8718 23.5C73.1154 23.9872 73.1154 24.7179 73.359 25.2051ZM77.5 14C82.6154 14 87 18.141 87 23.5C87 28.859 82.859 33 77.5 33C76.0385 33 74.3333 32.5128 73.1154 31.7821C72.8718 31.7821 72.6282 31.5385 72.6282 31.2949C71.1667 30.5641 70.1923 29.1026 69.2179 27.641C68.9744 27.3974 68.9744 26.9103 68.7308 26.6667C68.2436 25.6923 68 24.4744 68 23.2564C68.2436 18.3846 72.3846 14 77.5 14Z' fill='black'/%3e%3cpath d='M69.5946 28C70.3243 29.4516 71.5405 30.6613 73 31.629L31.4054 73C30.4324 71.5484 29.2162 70.3387 28 69.6129L69.5946 28Z' fill='black'/%3e%3cpath d='M19 77.6216C19 75.1892 20.8947 73 23.5 73C24.2105 73 24.6842 73.2432 25.3947 73.2432C26.3421 73.7297 27.2895 74.4595 27.5263 75.4324C27.7632 75.9189 28 76.6487 28 77.3784C28 79.8108 26.1053 82 23.5 82C20.8947 82 19 80.0541 19 77.6216Z' fill='%239D9D9C'/%3e%3cpath d='M23.5 81.8846C25.9359 81.8846 28.1282 79.9359 28.1282 77.2564C28.1282 76.5256 27.8846 75.7949 27.641 75.3077C27.1538 74.3333 26.4231 73.6026 25.4487 73.1154C24.9615 72.8718 24.2308 72.8718 23.5 72.8718C21.0641 72.8718 18.8718 74.8205 18.8718 77.5C19.1154 79.9359 21.0641 81.8846 23.5 81.8846ZM32.0256 73.359C32.7564 74.5769 33 76.0385 33 77.5C33 82.6154 28.859 87 23.5 87C18.3846 87 14 82.859 14 77.5C14 72.141 18.141 68 23.5 68C24.7179 68 25.9359 68.2436 27.1538 68.7308C27.3974 68.9744 27.641 68.9744 27.8846 69.2179C29.3462 69.9487 30.5641 71.1667 31.2949 72.6282C31.7821 72.8718 32.0256 73.1154 32.0256 73.359Z' fill='black'/%3e%3c/svg%3e";
8983
+ var line$1 = img$F;
8967
8984
 
8968
- var img$D = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='12.5' y='22.5' width='77' height='53' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='89' cy='24' r='8.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='13' cy='76' r='8.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8969
- var rectangle2points = img$D;
8985
+ var img$E = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='12.5' y='22.5' width='77' height='53' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='89' cy='24' r='8.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='13' cy='76' r='8.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8986
+ var rectangle2points = img$E;
8970
8987
 
8971
- var img$C = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M45 17.5C45 14.6053 47.3158 12 50.5 12C53.3947 12 56 14.3158 56 17.5C56 20.3947 53.6842 23 50.5 23C47.3158 22.7105 45 20.3947 45 17.5Z' fill='%239D9D9C'/%3e%3cpath d='M84 53.72C84 71.92 68.8594 87 50 87V62.82H58.5V45.5H50V27C54.25 27 57.7031 24.64 59.2969 21C75 25 84 38.64 84 53.72Z' fill='%239D9D9C'/%3e%3cpath d='M46.4 49.9565V57.5217H53.8571V49.9565H46.4ZM50 63H41V45H50H59V63H50V63Z' fill='black'/%3e%3cpath d='M37 15H31V20H37V15Z' fill='black'/%3e%3cpath d='M16 15H10V20H16V15Z' fill='black'/%3e%3cpath d='M26 15H21V20H26V15Z' fill='black'/%3e%3cpath d='M89 53.1728C89 74.4228 71.7059 92 50.2193 92V89.3765V86.7531C68.5615 86.7531 83.7594 71.7994 83.7594 53.1728C83.7594 37.9568 73.5401 25.1019 59.6524 21.1667C58.0802 24.8395 54.4118 27.463 50.2193 27.463C44.7166 27.463 40 23.0031 40 17.2315C40 11.7222 44.4545 7 50.2193 7C55.4599 7 59.6524 10.9352 60.1765 15.9198C76.6845 20.3796 89 35.3333 89 53.1728ZM50.2193 12.2469C47.5989 12.2469 45.2406 14.3457 45.2406 17.2315C45.2406 19.8549 47.3369 22.216 50.2193 22.216C52.8396 22.216 55.1979 20.1173 55.1979 17.2315C55.1979 14.3457 53.1016 12.2469 50.2193 12.2469Z' fill='black'/%3e%3c/svg%3e";
8972
- var arcTangential = img$C;
8988
+ var img$D = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M45 17.5C45 14.6053 47.3158 12 50.5 12C53.3947 12 56 14.3158 56 17.5C56 20.3947 53.6842 23 50.5 23C47.3158 22.7105 45 20.3947 45 17.5Z' fill='%239D9D9C'/%3e%3cpath d='M84 53.72C84 71.92 68.8594 87 50 87V62.82H58.5V45.5H50V27C54.25 27 57.7031 24.64 59.2969 21C75 25 84 38.64 84 53.72Z' fill='%239D9D9C'/%3e%3cpath d='M46.4 49.9565V57.5217H53.8571V49.9565H46.4ZM50 63H41V45H50H59V63H50V63Z' fill='black'/%3e%3cpath d='M37 15H31V20H37V15Z' fill='black'/%3e%3cpath d='M16 15H10V20H16V15Z' fill='black'/%3e%3cpath d='M26 15H21V20H26V15Z' fill='black'/%3e%3cpath d='M89 53.1728C89 74.4228 71.7059 92 50.2193 92V89.3765V86.7531C68.5615 86.7531 83.7594 71.7994 83.7594 53.1728C83.7594 37.9568 73.5401 25.1019 59.6524 21.1667C58.0802 24.8395 54.4118 27.463 50.2193 27.463C44.7166 27.463 40 23.0031 40 17.2315C40 11.7222 44.4545 7 50.2193 7C55.4599 7 59.6524 10.9352 60.1765 15.9198C76.6845 20.3796 89 35.3333 89 53.1728ZM50.2193 12.2469C47.5989 12.2469 45.2406 14.3457 45.2406 17.2315C45.2406 19.8549 47.3369 22.216 50.2193 22.216C52.8396 22.216 55.1979 20.1173 55.1979 17.2315C55.1979 14.3457 53.1016 12.2469 50.2193 12.2469Z' fill='black'/%3e%3c/svg%3e";
8989
+ var arcTangential = img$D;
8973
8990
 
8974
- var img$B = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cmask id='path-1-inside-1' fill='white'%3e%3cpath d='M10.6184 60.8555C10.6184 50.4737 14.7426 40.5171 22.0836 33.1761C29.4246 25.8351 39.3812 21.7109 49.7629 21.7109C60.1447 21.7109 70.1013 25.8351 77.4423 33.1761C84.7833 40.5171 88.9074 50.4737 88.9074 60.8554L49.7629 60.8555L10.6184 60.8555Z'/%3e%3c/mask%3e%3cpath d='M10.6184 60.8555C10.6184 50.4737 14.7426 40.5171 22.0836 33.1761C29.4246 25.8351 39.3812 21.7109 49.7629 21.7109C60.1447 21.7109 70.1013 25.8351 77.4423 33.1761C84.7833 40.5171 88.9074 50.4737 88.9074 60.8554L49.7629 60.8555L10.6184 60.8555Z' stroke='black' stroke-width='12' mask='url(%23path-1-inside-1)'/%3e%3cpath d='M82.9238 60.8556C82.9238 52.0608 79.43 43.6262 73.2112 37.4074C66.9924 31.1885 58.5578 27.6948 49.763 27.6948C40.9683 27.6948 32.5337 31.1885 26.3149 37.4074C20.096 43.6262 16.6023 52.0608 16.6023 60.8556L49.763 60.8556H82.9238Z' fill='%23C4C4C4'/%3e%3ccircle cx='13.5545' cy='60.8554' r='7.04754' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='86.4455' cy='60.8554' r='7.04754' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='43.5242' y='53.8079' width='12.4774' height='12.4774' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8975
- var arcCenter = img$B;
8991
+ var img$C = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cmask id='path-1-inside-1' fill='white'%3e%3cpath d='M10.6184 60.8555C10.6184 50.4737 14.7426 40.5171 22.0836 33.1761C29.4246 25.8351 39.3812 21.7109 49.7629 21.7109C60.1447 21.7109 70.1013 25.8351 77.4423 33.1761C84.7833 40.5171 88.9074 50.4737 88.9074 60.8554L49.7629 60.8555L10.6184 60.8555Z'/%3e%3c/mask%3e%3cpath d='M10.6184 60.8555C10.6184 50.4737 14.7426 40.5171 22.0836 33.1761C29.4246 25.8351 39.3812 21.7109 49.7629 21.7109C60.1447 21.7109 70.1013 25.8351 77.4423 33.1761C84.7833 40.5171 88.9074 50.4737 88.9074 60.8554L49.7629 60.8555L10.6184 60.8555Z' stroke='black' stroke-width='12' mask='url(%23path-1-inside-1)'/%3e%3cpath d='M82.9238 60.8556C82.9238 52.0608 79.43 43.6262 73.2112 37.4074C66.9924 31.1885 58.5578 27.6948 49.763 27.6948C40.9683 27.6948 32.5337 31.1885 26.3149 37.4074C20.096 43.6262 16.6023 52.0608 16.6023 60.8556L49.763 60.8556H82.9238Z' fill='%23C4C4C4'/%3e%3ccircle cx='13.5545' cy='60.8554' r='7.04754' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='86.4455' cy='60.8554' r='7.04754' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='43.5242' y='53.8079' width='12.4774' height='12.4774' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8992
+ var arcCenter = img$C;
8976
8993
 
8977
- var img$A = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M84 63.5C84 58.9694 83.1076 54.4832 81.3738 50.2974C79.6401 46.1117 77.0988 42.3084 73.8952 39.1048C70.6916 35.9012 66.8883 33.3599 62.7026 31.6262C58.5168 29.8924 54.0306 29 49.5 29C44.9694 29 40.4832 29.8924 36.2974 31.6262C32.1117 33.3599 28.3084 35.9012 25.1048 39.1048C21.9012 42.3084 19.3599 46.1117 17.6262 50.2974C15.8924 54.4832 15 58.9694 15 63.5L49.5 63.5H84Z' fill='%23C4C4C4'/%3e%3cpath d='M84 63.5C84 58.9694 83.1076 54.4832 81.3738 50.2974C79.6401 46.1117 77.0988 42.3084 73.8952 39.1048C70.6916 35.9012 66.8883 33.3599 62.7026 31.6262C58.5168 29.8924 54.0306 29 49.5 29C44.9694 29 40.4832 29.8924 36.2974 31.6262C32.1117 33.3599 28.3084 35.9012 25.1048 39.1048C21.9012 42.3084 19.3599 46.1117 17.6262 50.2974C15.8924 54.4832 15 58.9694 15 63.5' stroke='black' stroke-width='5'/%3e%3ccircle cx='17.5' cy='63.5' r='8' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='81.5' cy='63.5' r='8' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='49.5' cy='31.5' r='8' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8978
- var arc3points = img$A;
8994
+ var img$B = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M84 63.5C84 58.9694 83.1076 54.4832 81.3738 50.2974C79.6401 46.1117 77.0988 42.3084 73.8952 39.1048C70.6916 35.9012 66.8883 33.3599 62.7026 31.6262C58.5168 29.8924 54.0306 29 49.5 29C44.9694 29 40.4832 29.8924 36.2974 31.6262C32.1117 33.3599 28.3084 35.9012 25.1048 39.1048C21.9012 42.3084 19.3599 46.1117 17.6262 50.2974C15.8924 54.4832 15 58.9694 15 63.5L49.5 63.5H84Z' fill='%23C4C4C4'/%3e%3cpath d='M84 63.5C84 58.9694 83.1076 54.4832 81.3738 50.2974C79.6401 46.1117 77.0988 42.3084 73.8952 39.1048C70.6916 35.9012 66.8883 33.3599 62.7026 31.6262C58.5168 29.8924 54.0306 29 49.5 29C44.9694 29 40.4832 29.8924 36.2974 31.6262C32.1117 33.3599 28.3084 35.9012 25.1048 39.1048C21.9012 42.3084 19.3599 46.1117 17.6262 50.2974C15.8924 54.4832 15 58.9694 15 63.5' stroke='black' stroke-width='5'/%3e%3ccircle cx='17.5' cy='63.5' r='8' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='81.5' cy='63.5' r='8' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='49.5' cy='31.5' r='8' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8995
+ var arc3points = img$B;
8979
8996
 
8980
- var img$z = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M49.7712 85C30.6811 85 15 68.9977 15 49.6349C15 30.2721 30.5448 15 49.9076 15C56.4528 15 63.3478 16.7601 68.5294 20.0327C67.984 21.3963 67.1569 23.2443 67.1569 24.6078C67.1569 30.3349 71.2225 34.6732 77.2222 34.6732C78.5858 34.6732 80.249 34.3036 81.3399 33.7582C83.5216 38.3943 85 44.3169 85 49.7712C85 69.1341 68.8613 85 49.7712 85ZM58.4641 58.4641V41.0784H41.0784V58.4641H58.4641Z' fill='%239D9D9C'/%3e%3cpath d='M55 46H46V55H55V46Z' fill='white'/%3e%3cpath d='M72 25C72 21.8421 74.3158 19 77.5 19C80.3947 19 83 21.5263 83 25C83 28.1579 80.6842 31 77.5 31C74.3158 31 72 28.1579 72 25Z' fill='%239D9D9C'/%3e%3cpath d='M77.4136 30.0678C80.0915 30.0678 82.5017 27.8983 82.5017 24.9153C82.5017 22.2034 80.3593 19.7627 77.4136 19.7627C74.7356 19.7627 72.3254 21.9322 72.3254 24.9153C72.5932 27.6271 74.7356 30.0678 77.4136 30.0678ZM50.6339 84.5763C69.3797 84.5763 84.6441 69.1186 84.6441 49.8644C84.6441 44.4407 83.3051 39.2881 81.1627 34.678C80.0915 34.9492 78.7525 35.4915 77.6814 35.4915C72.0576 35.4915 67.2373 30.8814 67.2373 24.9153C67.2373 23.2881 67.5051 21.9322 68.3085 20.5763C63.2203 17.322 57.061 15.4237 50.6339 15.4237C31.8881 15.4237 16.3559 30.8814 16.3559 50.1356C16.3559 69.3898 31.6203 84.5763 50.6339 84.5763ZM71.522 16.2373C73.1288 15.1525 75.2712 14.339 77.4136 14.339C83.0373 14.339 87.8576 18.9492 87.8576 24.9153C87.8576 27.3559 86.7864 29.7966 85.4475 31.4237C88.3932 37.1186 90 43.3559 90 49.8644C90 72.1017 72.3254 90 50.6339 90C28.9424 90 11 72.1017 11 49.8644C11 27.6271 28.6746 10 50.6339 10C58.4 10 65.6305 12.4407 71.522 16.2373Z' fill='black'/%3e%3cpath d='M46.2174 53.7826H53.7826V46.2174H46.2174V53.7826ZM41 41H59V59H41V41V41Z' fill='black'/%3e%3c/svg%3e";
8981
- var circleCenterRadius = img$z;
8997
+ var img$A = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M49.7712 85C30.6811 85 15 68.9977 15 49.6349C15 30.2721 30.5448 15 49.9076 15C56.4528 15 63.3478 16.7601 68.5294 20.0327C67.984 21.3963 67.1569 23.2443 67.1569 24.6078C67.1569 30.3349 71.2225 34.6732 77.2222 34.6732C78.5858 34.6732 80.249 34.3036 81.3399 33.7582C83.5216 38.3943 85 44.3169 85 49.7712C85 69.1341 68.8613 85 49.7712 85ZM58.4641 58.4641V41.0784H41.0784V58.4641H58.4641Z' fill='%239D9D9C'/%3e%3cpath d='M55 46H46V55H55V46Z' fill='white'/%3e%3cpath d='M72 25C72 21.8421 74.3158 19 77.5 19C80.3947 19 83 21.5263 83 25C83 28.1579 80.6842 31 77.5 31C74.3158 31 72 28.1579 72 25Z' fill='%239D9D9C'/%3e%3cpath d='M77.4136 30.0678C80.0915 30.0678 82.5017 27.8983 82.5017 24.9153C82.5017 22.2034 80.3593 19.7627 77.4136 19.7627C74.7356 19.7627 72.3254 21.9322 72.3254 24.9153C72.5932 27.6271 74.7356 30.0678 77.4136 30.0678ZM50.6339 84.5763C69.3797 84.5763 84.6441 69.1186 84.6441 49.8644C84.6441 44.4407 83.3051 39.2881 81.1627 34.678C80.0915 34.9492 78.7525 35.4915 77.6814 35.4915C72.0576 35.4915 67.2373 30.8814 67.2373 24.9153C67.2373 23.2881 67.5051 21.9322 68.3085 20.5763C63.2203 17.322 57.061 15.4237 50.6339 15.4237C31.8881 15.4237 16.3559 30.8814 16.3559 50.1356C16.3559 69.3898 31.6203 84.5763 50.6339 84.5763ZM71.522 16.2373C73.1288 15.1525 75.2712 14.339 77.4136 14.339C83.0373 14.339 87.8576 18.9492 87.8576 24.9153C87.8576 27.3559 86.7864 29.7966 85.4475 31.4237C88.3932 37.1186 90 43.3559 90 49.8644C90 72.1017 72.3254 90 50.6339 90C28.9424 90 11 72.1017 11 49.8644C11 27.6271 28.6746 10 50.6339 10C58.4 10 65.6305 12.4407 71.522 16.2373Z' fill='black'/%3e%3cpath d='M46.2174 53.7826H53.7826V46.2174H46.2174V53.7826ZM41 41H59V59H41V41V41Z' fill='black'/%3e%3c/svg%3e";
8998
+ var circleCenterRadius = img$A;
8982
8999
 
8983
- var img$y = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M61.8771 19.8479C71.6505 19.8479 79.795 27.6795 79.795 37.6715V61.9765V71.4284V75.7493V79.5301H75.9942H71.6505H62.1486H37.7152H28.2133H23.8696H20.0688V75.7493V71.4284V61.9765V37.6715V28.2196V23.8987V20.118H23.8696H28.2133H37.7152H61.8771V19.8479Z' fill='%239D9D9C'/%3e%3cpath d='M84.2997 84.2994H62.0418H38.1941H16.2012V62.0415V38.1937V16.2008H38.4591H62.3068C65.7515 16.2008 69.1962 16.9957 72.1109 18.5856C73.4358 19.3805 74.7606 20.1754 75.8205 20.9704C77.1454 22.0303 78.4703 23.3551 79.5302 24.68C80.3251 25.7399 81.385 27.0648 81.915 28.3897C83.5048 31.3044 84.2997 34.7491 84.2997 38.4587V62.3065V84.2994V84.2994ZM79.5302 38.4587C79.5302 28.9196 71.5809 20.9704 62.0418 20.9704H38.1941H28.92H24.6804H20.9707V24.68V28.9196V38.1937V62.0415V71.3156V75.5552V79.2649H24.6804H28.92H38.1941H62.0418H71.316H75.5556H79.2652V75.5552V71.3156V62.0415V38.4587H79.5302Z' fill='black'/%3e%3c/svg%3e";
8984
- var filletSketch = img$y;
9000
+ var img$z = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M61.8771 19.8479C71.6505 19.8479 79.795 27.6795 79.795 37.6715V61.9765V71.4284V75.7493V79.5301H75.9942H71.6505H62.1486H37.7152H28.2133H23.8696H20.0688V75.7493V71.4284V61.9765V37.6715V28.2196V23.8987V20.118H23.8696H28.2133H37.7152H61.8771V19.8479Z' fill='%239D9D9C'/%3e%3cpath d='M84.2997 84.2994H62.0418H38.1941H16.2012V62.0415V38.1937V16.2008H38.4591H62.3068C65.7515 16.2008 69.1962 16.9957 72.1109 18.5856C73.4358 19.3805 74.7606 20.1754 75.8205 20.9704C77.1454 22.0303 78.4703 23.3551 79.5302 24.68C80.3251 25.7399 81.385 27.0648 81.915 28.3897C83.5048 31.3044 84.2997 34.7491 84.2997 38.4587V62.3065V84.2994V84.2994ZM79.5302 38.4587C79.5302 28.9196 71.5809 20.9704 62.0418 20.9704H38.1941H28.92H24.6804H20.9707V24.68V28.9196V38.1937V62.0415V71.3156V75.5552V79.2649H24.6804H28.92H38.1941H62.0418H71.316H75.5556H79.2652V75.5552V71.3156V62.0415V38.4587H79.5302Z' fill='black'/%3e%3c/svg%3e";
9001
+ var filletSketch = img$z;
8985
9002
 
8986
- var img$x = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M43.5 70L18 81L21 61L27.5 56.5L43.5 70Z' fill='white'/%3e%3cpath d='M90 84V91H10V87.5L20.8949 84H90Z' fill='black'/%3e%3cpath d='M67 18L79 30.1141L43.5 66L31 53.5L67 18Z' fill='%239D9D9C'/%3e%3cpath d='M78.3496 29.9585L67.2276 18.9046L32.0081 53.6017L43.1301 64.6556L78.3496 29.9585ZM23.0488 62.8133L19.0325 78.166L34.1707 73.8672L39.1138 68.9544L27.6829 57.9004L23.0488 62.8133ZM11 84L17.1789 59.7427L25.2114 51.7593L67.2276 10L87 29.6515L37.2602 79.3942L20.8862 84H11Z' fill='black'/%3e%3cpath d='M21 84L10 88L10.6286 84H21Z' fill='black'/%3e%3c/svg%3e";
9003
+ var img$y = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M43.5 70L18 81L21 61L27.5 56.5L43.5 70Z' fill='white'/%3e%3cpath d='M90 84V91H10V87.5L20.8949 84H90Z' fill='black'/%3e%3cpath d='M67 18L79 30.1141L43.5 66L31 53.5L67 18Z' fill='%239D9D9C'/%3e%3cpath d='M78.3496 29.9585L67.2276 18.9046L32.0081 53.6017L43.1301 64.6556L78.3496 29.9585ZM23.0488 62.8133L19.0325 78.166L34.1707 73.8672L39.1138 68.9544L27.6829 57.9004L23.0488 62.8133ZM11 84L17.1789 59.7427L25.2114 51.7593L67.2276 10L87 29.6515L37.2602 79.3942L20.8862 84H11Z' fill='black'/%3e%3cpath d='M21 84L10 88L10.6286 84H21Z' fill='black'/%3e%3c/svg%3e";
8987
9004
 
8988
- var img$w = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='12.5' y='10.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='12.5' y='70.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='69.5' y='70.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M21.5 62V47.5' stroke='black' stroke-width='3'/%3e%3cpath d='M26 47H17L21.5 39L26 47Z' fill='black' stroke='black'/%3e%3cpath d='M39 80.5L53.5 80.5' stroke='black' stroke-width='3'/%3e%3cpath d='M54 85L54 76L62 80.5L54 85Z' fill='black' stroke='black'/%3e%3c/svg%3e";
8989
- var copyRect = img$w;
9005
+ var img$x = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='12.5' y='10.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='12.5' y='70.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='69.5' y='70.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M21.5 62V47.5' stroke='black' stroke-width='3'/%3e%3cpath d='M26 47H17L21.5 39L26 47Z' fill='black' stroke='black'/%3e%3cpath d='M39 80.5L53.5 80.5' stroke='black' stroke-width='3'/%3e%3cpath d='M54 85L54 76L62 80.5L54 85Z' fill='black' stroke='black'/%3e%3c/svg%3e";
9006
+ var copyRect = img$x;
8990
9007
 
8991
- var img$v = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='56.5' y='40.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='24.5' y='70.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='24.5' y='10.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M64 23L64 26L59 23L64 20L64 23Z' fill='black'/%3e%3cpath d='M70 32C70 32 69.9661 27.6452 68.5 25.5C67.0339 23.3548 64 23 64 23M64 26L64 20L59 23L64 26Z' stroke='black' stroke-width='2'/%3e%3cpath d='M67.0001 73.9992L64.0001 73.9984L67 69L70.0001 74L67.0001 73.9992Z' fill='black'/%3e%3cpath d='M58.0001 80C58.0001 80 62.1802 80 64.5 78.5C66.8198 77 67.0001 73.9992 67.0001 73.9992M64.0001 73.9984L70.0001 74L67 69L64.0001 73.9984Z' stroke='black' stroke-width='2'/%3e%3ccircle cx='34' cy='50' r='6.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8992
- var copyCirc = img$v;
9008
+ var img$w = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='56.5' y='40.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='24.5' y='70.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='24.5' y='10.5' width='19' height='19' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M64 23L64 26L59 23L64 20L64 23Z' fill='black'/%3e%3cpath d='M70 32C70 32 69.9661 27.6452 68.5 25.5C67.0339 23.3548 64 23 64 23M64 26L64 20L59 23L64 26Z' stroke='black' stroke-width='2'/%3e%3cpath d='M67.0001 73.9992L64.0001 73.9984L67 69L70.0001 74L67.0001 73.9992Z' fill='black'/%3e%3cpath d='M58.0001 80C58.0001 80 62.1802 80 64.5 78.5C66.8198 77 67.0001 73.9992 67.0001 73.9992M64.0001 73.9984L70.0001 74L67 69L64.0001 73.9984Z' stroke='black' stroke-width='2'/%3e%3ccircle cx='34' cy='50' r='6.5' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
9009
+ var copyCirc = img$w;
8993
9010
 
8994
- var img$u = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cline x1='49.5' y1='16' x2='49.5' y2='85' stroke='black' stroke-width='5'/%3e%3crect x='11.5' y='37.5' width='25' height='25' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='63.5' y='37.5' width='25' height='25' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
9011
+ var img$v = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cline x1='49.5' y1='16' x2='49.5' y2='85' stroke='black' stroke-width='5'/%3e%3crect x='11.5' y='37.5' width='25' height='25' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3crect x='63.5' y='37.5' width='25' height='25' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
8995
9012
 
8996
- var img$t = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='18.5' y='18.5' width='64' height='64' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M48.6562 36.4062V53.2637C48.6562 56.0645 47.7773 58.2793 46.0195 59.9082C44.2734 61.5371 41.8828 62.3516 38.8477 62.3516C35.8594 62.3516 33.4863 61.5605 31.7285 59.9785C29.9707 58.3965 29.0742 56.2227 29.0391 53.457V36.4062H34.3125V53.2988C34.3125 54.9746 34.7109 56.1992 35.5078 56.9727C36.3164 57.7344 37.4297 58.1152 38.8477 58.1152C41.8125 58.1152 43.3184 56.5566 43.3652 53.4395V36.4062H48.6562ZM66.252 55.2852C66.252 54.2891 65.9004 53.5273 65.1973 53C64.4941 52.4609 63.2285 51.8984 61.4004 51.3125C59.5723 50.7148 58.125 50.1289 57.0586 49.5547C54.1523 47.9844 52.6992 45.8691 52.6992 43.209C52.6992 41.8262 53.0859 40.5957 53.8594 39.5176C54.6445 38.4277 55.7637 37.5781 57.2168 36.9688C58.6816 36.3594 60.3223 36.0547 62.1387 36.0547C63.9668 36.0547 65.5957 36.3887 67.0254 37.0566C68.4551 37.7129 69.5625 38.6445 70.3477 39.8516C71.1445 41.0586 71.543 42.4297 71.543 43.9648H66.2695C66.2695 42.793 65.9004 41.8848 65.1621 41.2402C64.4238 40.584 63.3867 40.2559 62.0508 40.2559C60.7617 40.2559 59.7598 40.5312 59.0449 41.082C58.3301 41.6211 57.9727 42.3359 57.9727 43.2266C57.9727 44.0586 58.3887 44.7559 59.2207 45.3184C60.0645 45.8809 61.3008 46.4082 62.9297 46.9004C65.9297 47.8027 68.1152 48.9219 69.4863 50.2578C70.8574 51.5938 71.543 53.2578 71.543 55.25C71.543 57.4648 70.7051 59.2051 69.0293 60.4707C67.3535 61.7246 65.0977 62.3516 62.2617 62.3516C60.293 62.3516 58.5 61.9941 56.8828 61.2793C55.2656 60.5527 54.0293 59.5625 53.1738 58.3086C52.3301 57.0547 51.9082 55.6016 51.9082 53.9492H57.1992C57.1992 56.7734 58.8867 58.1855 62.2617 58.1855C63.5156 58.1855 64.4941 57.9336 65.1973 57.4297C65.9004 56.9141 66.252 56.1992 66.252 55.2852Z' fill='black'/%3e%3c/svg%3e";
8997
- var useReference = img$t;
9013
+ var img$u = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='18.5' y='18.5' width='64' height='64' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M48.6562 36.4062V53.2637C48.6562 56.0645 47.7773 58.2793 46.0195 59.9082C44.2734 61.5371 41.8828 62.3516 38.8477 62.3516C35.8594 62.3516 33.4863 61.5605 31.7285 59.9785C29.9707 58.3965 29.0742 56.2227 29.0391 53.457V36.4062H34.3125V53.2988C34.3125 54.9746 34.7109 56.1992 35.5078 56.9727C36.3164 57.7344 37.4297 58.1152 38.8477 58.1152C41.8125 58.1152 43.3184 56.5566 43.3652 53.4395V36.4062H48.6562ZM66.252 55.2852C66.252 54.2891 65.9004 53.5273 65.1973 53C64.4941 52.4609 63.2285 51.8984 61.4004 51.3125C59.5723 50.7148 58.125 50.1289 57.0586 49.5547C54.1523 47.9844 52.6992 45.8691 52.6992 43.209C52.6992 41.8262 53.0859 40.5957 53.8594 39.5176C54.6445 38.4277 55.7637 37.5781 57.2168 36.9688C58.6816 36.3594 60.3223 36.0547 62.1387 36.0547C63.9668 36.0547 65.5957 36.3887 67.0254 37.0566C68.4551 37.7129 69.5625 38.6445 70.3477 39.8516C71.1445 41.0586 71.543 42.4297 71.543 43.9648H66.2695C66.2695 42.793 65.9004 41.8848 65.1621 41.2402C64.4238 40.584 63.3867 40.2559 62.0508 40.2559C60.7617 40.2559 59.7598 40.5312 59.0449 41.082C58.3301 41.6211 57.9727 42.3359 57.9727 43.2266C57.9727 44.0586 58.3887 44.7559 59.2207 45.3184C60.0645 45.8809 61.3008 46.4082 62.9297 46.9004C65.9297 47.8027 68.1152 48.9219 69.4863 50.2578C70.8574 51.5938 71.543 53.2578 71.543 55.25C71.543 57.4648 70.7051 59.2051 69.0293 60.4707C67.3535 61.7246 65.0977 62.3516 62.2617 62.3516C60.293 62.3516 58.5 61.9941 56.8828 61.2793C55.2656 60.5527 54.0293 59.5625 53.1738 58.3086C52.3301 57.0547 51.9082 55.6016 51.9082 53.9492H57.1992C57.1992 56.7734 58.8867 58.1855 62.2617 58.1855C63.5156 58.1855 64.4941 57.9336 65.1973 57.4297C65.9004 56.9141 66.252 56.1992 66.252 55.2852Z' fill='black'/%3e%3c/svg%3e";
9014
+ var useReference = img$u;
8998
9015
 
8999
9016
  const RootContext = /*#__PURE__*/React__default.createContext({
9000
9017
  drawingId: -1,
@@ -9082,7 +9099,7 @@ const SketchGroup = ({
9082
9099
 
9083
9100
  function useSketchState(drawingId, pluginId, sel, equalityFn) {
9084
9101
  return usePlugin(drawingId, pluginId, plugin => {
9085
- if (plugin && plugin.name === description$f.name) {
9102
+ if (plugin && plugin.name === description$g.name) {
9086
9103
  return sel(plugin.state);
9087
9104
  } else {
9088
9105
  window.console.error('Wrong arguments are passed into useSketchState.');
@@ -9606,10 +9623,10 @@ const resources = {
9606
9623
  [CCClasses.CC2DAngleOXConstraint]: angleox,
9607
9624
  [CCClasses.CCRigidSet]: rigidSet,
9608
9625
  [CCClasses.CCUse]: useReference,
9609
- [CCClasses.CCExtrusion]: img$H,
9610
- [CCClasses.CCRevolve]: img$G,
9611
- [CCClasses.CCRevolve]: img$G,
9612
- [HandlersList.DRAWPOINT]: img$F,
9626
+ [CCClasses.CCExtrusion]: img$I,
9627
+ [CCClasses.CCRevolve]: img$H,
9628
+ [CCClasses.CCRevolve]: img$H,
9629
+ [HandlersList.DRAWPOINT]: img$G,
9613
9630
  [HandlersList.DRAWLINE]: line$1,
9614
9631
  [HandlersList.DRAWRECTANGLE]: rectangle2points,
9615
9632
  [HandlersList.DRAWARCTANGENT]: arcTangential,
@@ -9617,11 +9634,11 @@ const resources = {
9617
9634
  [HandlersList.DRAWARCMIDDLE]: arc3points,
9618
9635
  [HandlersList.DRAWCIRCLE]: circleCenterRadius,
9619
9636
  [HandlersList.FILLET]: filletSketch,
9620
- [HandlersList.TRIM]: img$x,
9637
+ [HandlersList.TRIM]: img$y,
9621
9638
  [HandlersList.USEREF]: useReference,
9622
9639
  [Patterns.RECTANGULAR]: copyRect,
9623
9640
  [Patterns.CIRCULAR]: copyCirc,
9624
- [Patterns.MIRROR]: img$u
9641
+ [Patterns.MIRROR]: img$v
9625
9642
  };
9626
9643
  const textures = {};
9627
9644
  const textureLoader = new THREE.TextureLoader();
@@ -12283,17 +12300,6 @@ function useInteractionReset(drawingId, pluginId) {
12283
12300
  }
12284
12301
  }, [drawingId, pluginId, children]);
12285
12302
  }
12286
- const getSketchBounds = boundsMember => {
12287
- const [min, max] = boundsMember.members.map(memb => convertToVector(memb));
12288
- const box = new THREE.Box3(min, max);
12289
- const sphere = new THREE.Sphere();
12290
- box.getBoundingSphere(sphere);
12291
- return {
12292
- center: sphere.center,
12293
- radius: sphere.radius,
12294
- box
12295
- };
12296
- };
12297
12303
 
12298
12304
  // Changes cursor if it's set in plugin state
12299
12305
  function useChangeCursor() {
@@ -12304,32 +12310,6 @@ function useChangeCursor() {
12304
12310
  const cursor = useSketchState(drawingId, pluginId, s => s.cursor);
12305
12311
  useCursor(cursor !== null, cursor || '');
12306
12312
  }
12307
-
12308
- // This component is used only to contain the sketcher's bounding box
12309
- const SketchBounds = ({
12310
- drawingId,
12311
- pluginId
12312
- }) => {
12313
- const sketchId = usePlugin(drawingId, pluginId, plugin => plugin.objectId);
12314
- const boundsMember = useDrawing(drawingId, d => {
12315
- var _d$structure$tree$ske2, _d$structure$tree$ske3;
12316
- return (_d$structure$tree$ske2 = d.structure.tree[sketchId]) == null ? void 0 : (_d$structure$tree$ske3 = _d$structure$tree$ske2.members) == null ? void 0 : _d$structure$tree$ske3.boundingBox;
12317
- });
12318
- const ref = React__default.useRef(null);
12319
- React__default.useEffect(() => {
12320
- var _ref$current, _ref$current$bounding;
12321
- if (ref.current && ref.current.boundingBox === null) {
12322
- ref.current.computeBoundingBox();
12323
- }
12324
- const {
12325
- box
12326
- } = getSketchBounds(boundsMember);
12327
- (_ref$current = ref.current) == null ? void 0 : (_ref$current$bounding = _ref$current.boundingBox) == null ? void 0 : _ref$current$bounding.copy(box);
12328
- }, [boundsMember]);
12329
- return /*#__PURE__*/React__default.createElement("mesh", null, /*#__PURE__*/React__default.createElement("bufferGeometry", {
12330
- ref: ref
12331
- }));
12332
- };
12333
12313
  const DrawingMode = ({
12334
12314
  drawingId,
12335
12315
  pluginId
@@ -12340,49 +12320,7 @@ const DrawingMode = ({
12340
12320
  set
12341
12321
  } = getPlugin(drawingId, pluginId);
12342
12322
  useChangeCursor();
12343
- const camera = useThree(state => state.camera);
12344
12323
  const camControls = useThree(state => state.controls);
12345
- const boundsControls = useBounds();
12346
- const boundsMember = useDrawing(drawingId, d => {
12347
- var _d$structure$tree$ske4, _d$structure$tree$ske5;
12348
- return (_d$structure$tree$ske4 = d.structure.tree[sketchId]) == null ? void 0 : (_d$structure$tree$ske5 = _d$structure$tree$ske4.members) == null ? void 0 : _d$structure$tree$ske5.boundingBox;
12349
- });
12350
-
12351
- // Set camera in front of sketch and adjast zoom to make visible all sketch objects after sketch enabling
12352
- React__default.useEffect(() => {
12353
- var _getDrawing$structure, _getDrawing$structure2, _getDrawing$structure3, _plane$members;
12354
- const planeRef = (_getDrawing$structure = getDrawing(drawingId).structure.tree[sketchId]) == null ? void 0 : (_getDrawing$structure2 = _getDrawing$structure.members) == null ? void 0 : (_getDrawing$structure3 = _getDrawing$structure2.planeReference) == null ? void 0 : _getDrawing$structure3.value;
12355
- const bounds = getSketchBounds(boundsMember);
12356
- const plane = getDrawing(drawingId).structure.tree[planeRef];
12357
- const normal = convertToVector(plane == null ? void 0 : (_plane$members = plane.members) == null ? void 0 : _plane$members.Normal);
12358
- const csys = getDrawing(drawingId).structure.tree[sketchId].coordinateSystem;
12359
- const transformMatrix = csys ? MathUtils.convertToMatrix3(csys) : new THREE.Matrix3();
12360
- const upVector = new THREE.Vector3(0, 1, 0).applyMatrix3(transformMatrix).normalize();
12361
-
12362
- // If box.min === box.max add (1,1,0) to box.max to make box not empty
12363
- const box = bounds.box;
12364
- if (box.min.distanceTo(box.max) < tolerance$4) {
12365
- box.set(box.min, box.min.clone().add(new THREE.Vector3(1000, 1000, 1000)));
12366
- }
12367
-
12368
- // Convert local box coordinates to global
12369
- const matrix4 = csys ? MathUtils.convertToMatrix4(csys) : new THREE.Matrix4();
12370
- const globCenter = bounds.center.clone().applyMatrix4(matrix4);
12371
- const globBox = box.clone().applyMatrix4(matrix4);
12372
- camera.position.copy(globCenter.clone().addScaledVector(normal, (bounds.radius || 1) * 100 * 2));
12373
- camera.up.copy(upVector);
12374
- camControls.target.copy(globCenter);
12375
- camControls == null ? void 0 : camControls.update();
12376
-
12377
- // Set sketch bounds to camera bounds
12378
- boundsControls == null ? void 0 : boundsControls.refresh(globBox).fit();
12379
-
12380
- // Reset camera bounds when sketch is disabled
12381
- return () => {
12382
- boundsControls == null ? void 0 : boundsControls.refresh().fit();
12383
- };
12384
- // eslint-disable-next-line react-hooks/exhaustive-deps
12385
- }, []);
12386
12324
 
12387
12325
  // Add handlers to pluginState when sketcher is enabled
12388
12326
  React__default.useEffect(() => {
@@ -12482,10 +12420,7 @@ const DrawingMode = ({
12482
12420
  // SketcherDimensionSet has it's own cSys that will be applied in Plugin.tsx, so apply inverse Sketch cSys.
12483
12421
  // TODO: remove it when parent plugin matrix won't be applied for embedded one.
12484
12422
  const inverseM = getGlobalToLocalMatrix(drawingId, sketchId);
12485
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SketchBounds, {
12486
- drawingId: drawingId,
12487
- pluginId: pluginId
12488
- }), /*#__PURE__*/React__default.createElement(TmpGraphics, null), /*#__PURE__*/React__default.createElement(Sketch, {
12423
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TmpGraphics, null), /*#__PURE__*/React__default.createElement(Sketch, {
12489
12424
  key: sketchId,
12490
12425
  objId: sketchId
12491
12426
  }), /*#__PURE__*/React__default.createElement(MousePosition, null), /*#__PURE__*/React__default.createElement(RubberBandRectangle, null), /*#__PURE__*/React__default.createElement("group", {
@@ -12507,16 +12442,13 @@ const ViewOnlyMode = ({
12507
12442
  return (_drawing$structure$tr = drawing.structure.tree[sketchId]) == null ? void 0 : _drawing$structure$tr.coordinateSystem;
12508
12443
  });
12509
12444
  const transformMatrix = React__default.useMemo(() => csys ? MathUtils.convertToMatrix4(csys) : new THREE.Matrix4(), [csys]);
12510
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SketchBounds, {
12511
- drawingId: drawingId,
12512
- pluginId: pluginId
12513
- }), /*#__PURE__*/React__default.createElement(HUD, null, /*#__PURE__*/React__default.createElement("group", {
12445
+ return /*#__PURE__*/React__default.createElement(HUD, null, /*#__PURE__*/React__default.createElement("group", {
12514
12446
  matrix: transformMatrix,
12515
12447
  matrixAutoUpdate: false
12516
12448
  }, /*#__PURE__*/React__default.createElement(Sketch, {
12517
12449
  key: sketchId,
12518
12450
  objId: sketchId
12519
- }))));
12451
+ })));
12520
12452
  };
12521
12453
  const ViewImpl$d = ({
12522
12454
  drawingId,
@@ -12796,6 +12728,18 @@ const useIsLoading = drawingId => {
12796
12728
  return loads.length > 0;
12797
12729
  };
12798
12730
 
12731
+ const useIsSketchActive = drawingId => {
12732
+ const activeId = useDrawing(drawingId, d => {
12733
+ var _d$plugin$refs;
12734
+ return (_d$plugin$refs = d.plugin.refs[d.plugin.active.feature || -1]) == null ? void 0 : _d$plugin$refs.objectId;
12735
+ });
12736
+ const objClass = useDrawingStr(drawingId, d => {
12737
+ var _d$structure$tree;
12738
+ return (_d$structure$tree = d.structure.tree[activeId || -1]) == null ? void 0 : _d$structure$tree.class;
12739
+ });
12740
+ return ccUtils.base.isA(objClass, CCClasses.CCSketch);
12741
+ };
12742
+
12799
12743
  const useOperationSequence = (drawingId, partId) => {
12800
12744
  const children = useDrawing(drawingId, d => {
12801
12745
  var _d$structure$tree$par;
@@ -13547,9 +13491,9 @@ const useRetainVisibility = (drawingId, pluginId) => {
13547
13491
  }, [drawingId, pluginId]);
13548
13492
  };
13549
13493
 
13550
- var img$s = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB9SURBVEhL7ZFBCsAgDAT7HP//l77HCrsHCbaJiUKFDHtJgjsHr7qZFKikQOV/gruUFg4GnAK7JiSwOKIChLcRFIgHvqBKsFLQgraexQIEnWCLAEHzmQJ0gqM+GVUCCuyIUoS3EVEBt++EBFx94hRwMDAtmCUFKilQ2Syo9QGcSz3H8BHMoQAAAABJRU5ErkJggg==";
13494
+ var img$t = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB9SURBVEhL7ZFBCsAgDAT7HP//l77HCrsHCbaJiUKFDHtJgjsHr7qZFKikQOV/gruUFg4GnAK7JiSwOKIChLcRFIgHvqBKsFLQgraexQIEnWCLAEHzmQJ0gqM+GVUCCuyIUoS3EVEBt++EBFx94hRwMDAtmCUFKilQ2Syo9QGcSz3H8BHMoQAAAABJRU5ErkJggg==";
13551
13495
 
13552
- var img$r = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABzSURBVEhL7Y1BCsAwCAT7nLy837SFLCFsY0woQQ8OexF155LDBBOUu7zBsEYkQW3fdYQR9O01WFgsCai6BespAQRUSsGRjreA6obBqYKrgIomwcMIVUAVZvD2wU/QQ10tWE9JgUkKTFJgkgKTGII/HBaIPHzTFiPbxQ1UAAAAAElFTkSuQmCC";
13496
+ var img$s = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABzSURBVEhL7Y1BCsAwCAT7nLy837SFLCFsY0woQQ8OexF155LDBBOUu7zBsEYkQW3fdYQR9O01WFgsCai6BespAQRUSsGRjreA6obBqYKrgIomwcMIVUAVZvD2wU/QQ10tWE9JgUkKTFJgkgKTGII/HBaIPHzTFiPbxQ1UAAAAAElFTkSuQmCC";
13553
13497
 
13554
13498
  const noSameSketchFilter = (drawingId, sketchId, objectId) => {
13555
13499
  const parentSketchId = getAncestorIdByClass(drawingId, objectId, CCClasses.CCSketch);
@@ -13617,7 +13561,7 @@ const PositionSelection = ({
13617
13561
  customUnSelect: noDeselect ? () => void {} : undefined
13618
13562
  }), children);
13619
13563
  };
13620
- var Members$b;
13564
+ var Members$c;
13621
13565
  (function (Members) {
13622
13566
  Members["PlaneReference"] = "planeReference";
13623
13567
  Members["AxisReference"] = "axisReference";
@@ -13625,19 +13569,19 @@ var Members$b;
13625
13569
  Members["AxisIsX"] = "axisIsX";
13626
13570
  Members["PlaneInverted"] = "planeInverted";
13627
13571
  Members["AxisInverted"] = "axisInverted";
13628
- })(Members$b || (Members$b = {}));
13572
+ })(Members$c || (Members$c = {}));
13629
13573
  const Position = () => {
13630
13574
  const {
13631
13575
  drawingId,
13632
13576
  pluginId
13633
13577
  } = React__default.useContext(RootContext);
13634
13578
  const sketchId = usePlugin(drawingId, pluginId, plugin => plugin.objectId);
13635
- const planeId = usePositionParam(drawingId, sketchId, Members$b.PlaneReference);
13636
- const axisId = usePositionParam(drawingId, sketchId, Members$b.AxisReference);
13637
- const originId = usePositionParam(drawingId, sketchId, Members$b.OriginReference);
13638
- const isXAxis = useBoolParam(drawingId, sketchId, Members$b.AxisIsX);
13639
- const planeInverted = useBoolParam(drawingId, sketchId, Members$b.PlaneInverted);
13640
- const axisInverted = useBoolParam(drawingId, sketchId, Members$b.AxisInverted);
13579
+ const planeId = usePositionParam(drawingId, sketchId, Members$c.PlaneReference);
13580
+ const axisId = usePositionParam(drawingId, sketchId, Members$c.AxisReference);
13581
+ const originId = usePositionParam(drawingId, sketchId, Members$c.OriginReference);
13582
+ const isXAxis = useBoolParam(drawingId, sketchId, Members$c.AxisIsX);
13583
+ const planeInverted = useBoolParam(drawingId, sketchId, Members$c.PlaneInverted);
13584
+ const axisInverted = useBoolParam(drawingId, sketchId, Members$c.AxisInverted);
13641
13585
  const onPlaneChange = React__default.useCallback(value => {
13642
13586
  ccAPI.sketcher.setSketchRefs(drawingId, sketchId, value || null, Boolean(planeInverted.serverValue), axisId.value || null, Boolean(isXAxis.serverValue), Boolean(axisInverted.serverValue), originId.value || null);
13643
13587
  }, [drawingId, sketchId, planeInverted, axisId, isXAxis, axisInverted, originId]);
@@ -13682,7 +13626,7 @@ const Position = () => {
13682
13626
  filter: axisFilter_
13683
13627
  }, /*#__PURE__*/React__default.createElement(BooleanEditor, {
13684
13628
  param: isXAxis,
13685
- icon: [img$r, img$s]
13629
+ icon: [img$s, img$t]
13686
13630
  }), /*#__PURE__*/React__default.createElement(BooleanEditor, {
13687
13631
  param: axisInverted,
13688
13632
  icon: true
@@ -14026,7 +13970,7 @@ const SketchMode = ({
14026
13970
  value: contextValue
14027
13971
  }, /*#__PURE__*/React__default.createElement(Handlers, null), /*#__PURE__*/React__default.createElement(Constraints$2, null), /*#__PURE__*/React__default.createElement(CopyPatterns, null), /*#__PURE__*/React__default.createElement(Details, null), /*#__PURE__*/React__default.createElement(Regions, null), /*#__PURE__*/React__default.createElement(Position, null)));
14028
13972
  };
14029
- const RootImpl$f = ({
13973
+ const RootImpl$g = ({
14030
13974
  drawingId,
14031
13975
  pluginId
14032
13976
  }) => {
@@ -14083,24 +14027,24 @@ const RootImpl$f = ({
14083
14027
  pluginId: pluginId
14084
14028
  }));
14085
14029
  };
14086
- const Root$f = ({
14030
+ const Root$g = ({
14087
14031
  drawingId,
14088
14032
  pluginId
14089
14033
  }) => {
14090
14034
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
14091
14035
  drawingId: drawingId,
14092
14036
  pluginId: pluginId
14093
- }, /*#__PURE__*/React__default.createElement(RootImpl$f, {
14037
+ }, /*#__PURE__*/React__default.createElement(RootImpl$g, {
14094
14038
  drawingId: drawingId,
14095
14039
  pluginId: pluginId
14096
14040
  }));
14097
14041
  };
14098
14042
 
14099
- var index$f = /*#__PURE__*/Object.freeze({
14043
+ var index$g = /*#__PURE__*/Object.freeze({
14100
14044
  __proto__: null,
14101
- Root: Root$f,
14045
+ Root: Root$g,
14102
14046
  View: View$d,
14103
- description: description$f
14047
+ description: description$g
14104
14048
  });
14105
14049
 
14106
14050
  function useRefsReset(type, refs) {
@@ -14149,13 +14093,13 @@ function useIsUncommited(drawingId, objId) {
14149
14093
  return isUncommited;
14150
14094
  }
14151
14095
 
14152
- var Members$a;
14096
+ var Members$b;
14153
14097
  (function (Members) {
14154
14098
  Members["Type"] = "Type";
14155
14099
  Members["Position"] = "Position";
14156
14100
  Members["References"] = "References";
14157
14101
  Members["Direction"] = "Direction";
14158
- })(Members$a || (Members$a = {}));
14102
+ })(Members$b || (Members$b = {}));
14159
14103
  const typesCaptions$2 = {
14160
14104
  [WorkAxisType.WA_2PLANES]: '2 Planes',
14161
14105
  [WorkAxisType.WA_2POINTS]: '2 Points',
@@ -14166,17 +14110,17 @@ const typesCaptions$2 = {
14166
14110
  [WorkAxisType.WA_USERDEFINED]: 'Custom'
14167
14111
  };
14168
14112
  const readOnlyTypes$3 = [WorkAxisType.WA_FIXED];
14169
- const RootImpl$e = ({
14113
+ const RootImpl$f = ({
14170
14114
  drawingId,
14171
14115
  pluginId
14172
14116
  }) => {
14173
14117
  const {
14174
14118
  objectId
14175
14119
  } = usePlugin(drawingId, pluginId, plugin => plugin);
14176
- const type = useTypeParam(drawingId, objectId, Members$a.Type);
14177
- const refs = useRefsParam(drawingId, objectId, Members$a.References);
14178
- const position = usePointParam(drawingId, objectId, Members$a.Position);
14179
- const direction = usePointParam(drawingId, objectId, Members$a.Direction);
14120
+ const type = useTypeParam(drawingId, objectId, Members$b.Type);
14121
+ const refs = useRefsParam(drawingId, objectId, Members$b.References);
14122
+ const position = usePointParam(drawingId, objectId, Members$b.Position);
14123
+ const direction = usePointParam(drawingId, objectId, Members$b.Direction);
14180
14124
  const isUncommited = useIsUncommited(drawingId, objectId);
14181
14125
  const selOrder = useSelectorsOrder(drawingId);
14182
14126
  useRefsReset(type, refs);
@@ -14247,14 +14191,14 @@ const RootImpl$e = ({
14247
14191
  selectorsOrder: selOrder
14248
14192
  })));
14249
14193
  };
14250
- const Root$e = ({
14194
+ const Root$f = ({
14251
14195
  drawingId,
14252
14196
  pluginId
14253
14197
  }) => {
14254
14198
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
14255
14199
  drawingId: drawingId,
14256
14200
  pluginId: pluginId
14257
- }, /*#__PURE__*/React__default.createElement(RootImpl$e, {
14201
+ }, /*#__PURE__*/React__default.createElement(RootImpl$f, {
14258
14202
  drawingId: drawingId,
14259
14203
  pluginId: pluginId
14260
14204
  }));
@@ -14357,7 +14301,7 @@ const View$c = ({
14357
14301
  }));
14358
14302
  };
14359
14303
 
14360
- const description$e = {
14304
+ const description$f = {
14361
14305
  name: 'WorkAxis',
14362
14306
  version: '1.0.0',
14363
14307
  author: 'Ledas',
@@ -14367,11 +14311,11 @@ const description$e = {
14367
14311
  initialState: addMembers
14368
14312
  };
14369
14313
 
14370
- var index$e = /*#__PURE__*/Object.freeze({
14314
+ var index$f = /*#__PURE__*/Object.freeze({
14371
14315
  __proto__: null,
14372
- Root: Root$e,
14316
+ Root: Root$f,
14373
14317
  View: View$c,
14374
- description: description$e
14318
+ description: description$f
14375
14319
  });
14376
14320
 
14377
14321
  function linePlaneAngle(drawingId, refsParam) {
@@ -14436,7 +14380,7 @@ const validators = {
14436
14380
  [WorkPlaneType.WP_3POINTS]: wp3Points
14437
14381
  };
14438
14382
 
14439
- var Members$9;
14383
+ var Members$a;
14440
14384
  (function (Members) {
14441
14385
  Members["Type"] = "Type";
14442
14386
  Members["Offset"] = "Offset";
@@ -14444,7 +14388,7 @@ var Members$9;
14444
14388
  Members["Position"] = "Position";
14445
14389
  Members["Normal"] = "Normal";
14446
14390
  Members["References"] = "References";
14447
- })(Members$9 || (Members$9 = {}));
14391
+ })(Members$a || (Members$a = {}));
14448
14392
  const readOnlyTypes$2 = [WorkPlaneType.WP_XYPLANE, WorkPlaneType.WP_XZPLANE, WorkPlaneType.WP_YZPLANE, WorkPlaneType.WP_2CURVES, WorkPlaneType.WP_FIXED];
14449
14393
  const typesCaptions$1 = {
14450
14394
  [WorkPlaneType.WP_XYPLANE]: 'XY-Plane',
@@ -14460,21 +14404,21 @@ const typesCaptions$1 = {
14460
14404
  [WorkPlaneType.WP_POINTFACE]: 'Point and plane',
14461
14405
  [WorkPlaneType.WP_LINEPLANEANGLE]: 'Line, plane and angle'
14462
14406
  };
14463
- const RootImpl$d = ({
14407
+ const RootImpl$e = ({
14464
14408
  drawingId,
14465
14409
  pluginId
14466
14410
  }) => {
14467
14411
  const {
14468
14412
  objectId
14469
14413
  } = usePlugin(drawingId, pluginId, plugin => plugin);
14470
- const type = useTypeParam(drawingId, objectId, Members$9.Type);
14471
- const refs = useRefsParam(drawingId, objectId, Members$9.References);
14472
- const offset = useNumParam(drawingId, objectId, Members$9.Offset);
14473
- const angle = useNumParam(drawingId, objectId, Members$9.Angle, {
14414
+ const type = useTypeParam(drawingId, objectId, Members$a.Type);
14415
+ const refs = useRefsParam(drawingId, objectId, Members$a.References);
14416
+ const offset = useNumParam(drawingId, objectId, Members$a.Offset);
14417
+ const angle = useNumParam(drawingId, objectId, Members$a.Angle, {
14474
14418
  angle: true
14475
14419
  });
14476
- const position = usePointParam(drawingId, objectId, Members$9.Position);
14477
- const normal = usePointParam(drawingId, objectId, Members$9.Normal);
14420
+ const position = usePointParam(drawingId, objectId, Members$a.Position);
14421
+ const normal = usePointParam(drawingId, objectId, Members$a.Normal);
14478
14422
  const isUncommited = useIsUncommited(drawingId, objectId);
14479
14423
  useRefsReset(type, refs);
14480
14424
  useRetainVisibility(drawingId, pluginId);
@@ -14514,7 +14458,7 @@ const RootImpl$d = ({
14514
14458
  validator: validate,
14515
14459
  forceUpdateEnabled: isUncommited
14516
14460
  }, /*#__PURE__*/React__default.createElement(TypeEditor, {
14517
- caption: Members$9.Type,
14461
+ caption: Members$a.Type,
14518
14462
  param: type,
14519
14463
  types: typesCaptions$1,
14520
14464
  readonlyTypes: readOnlyTypes$2
@@ -14609,24 +14553,24 @@ const RootImpl$d = ({
14609
14553
  selectorsOrder: selOrder
14610
14554
  })), !isReadonly && type.userValue !== WorkPlaneType.WP_LINEPLANEANGLE && /*#__PURE__*/React__default.createElement(NumberEditor, {
14611
14555
  drawingId: drawingId,
14612
- caption: Members$9.Offset,
14556
+ caption: Members$a.Offset,
14613
14557
  param: offset,
14614
14558
  allowExpr: true
14615
14559
  }), type.userValue === WorkPlaneType.WP_LINEPLANEANGLE && /*#__PURE__*/React__default.createElement(NumberEditor, {
14616
14560
  drawingId: drawingId,
14617
- caption: Members$9.Angle,
14561
+ caption: Members$a.Angle,
14618
14562
  param: angle,
14619
14563
  allowExpr: true
14620
14564
  }));
14621
14565
  };
14622
- const Root$d = ({
14566
+ const Root$e = ({
14623
14567
  drawingId,
14624
14568
  pluginId
14625
14569
  }) => {
14626
14570
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
14627
14571
  drawingId: drawingId,
14628
14572
  pluginId: pluginId
14629
- }, /*#__PURE__*/React__default.createElement(RootImpl$d, {
14573
+ }, /*#__PURE__*/React__default.createElement(RootImpl$e, {
14630
14574
  drawingId: drawingId,
14631
14575
  pluginId: pluginId
14632
14576
  }));
@@ -14739,7 +14683,7 @@ const View$b = ({
14739
14683
  }));
14740
14684
  };
14741
14685
 
14742
- const description$d = {
14686
+ const description$e = {
14743
14687
  name: 'WorkPlane',
14744
14688
  version: '1.0.0',
14745
14689
  author: 'Ledas',
@@ -14749,19 +14693,19 @@ const description$d = {
14749
14693
  initialState: addMembers
14750
14694
  };
14751
14695
 
14752
- var index$d = /*#__PURE__*/Object.freeze({
14696
+ var index$e = /*#__PURE__*/Object.freeze({
14753
14697
  __proto__: null,
14754
- Root: Root$d,
14698
+ Root: Root$e,
14755
14699
  View: View$b,
14756
- description: description$d
14700
+ description: description$e
14757
14701
  });
14758
14702
 
14759
- var Members$8;
14703
+ var Members$9;
14760
14704
  (function (Members) {
14761
14705
  Members["Type"] = "Type";
14762
14706
  Members["Position"] = "Position";
14763
14707
  Members["References"] = "References";
14764
- })(Members$8 || (Members$8 = {}));
14708
+ })(Members$9 || (Members$9 = {}));
14765
14709
  const readOnlyTypes$1 = [WorkPointType.WPT_FIXED];
14766
14710
  const typesCaptions = {
14767
14711
  [WorkPointType.WPT_2POINTS]: 'Midpoint',
@@ -14774,16 +14718,16 @@ const typesCaptions = {
14774
14718
  [WorkPointType.WPT_INTERSECTION]: 'Intersection',
14775
14719
  [WorkPointType.WPT_USERDEFINED]: 'Custom'
14776
14720
  };
14777
- const RootImpl$c = ({
14721
+ const RootImpl$d = ({
14778
14722
  drawingId,
14779
14723
  pluginId
14780
14724
  }) => {
14781
14725
  const {
14782
14726
  objectId
14783
14727
  } = usePlugin(drawingId, pluginId, plugin => plugin);
14784
- const type = useTypeParam(drawingId, objectId, Members$8.Type);
14785
- const refs = useRefsParam(drawingId, objectId, Members$8.References);
14786
- const position = usePointParam(drawingId, objectId, Members$8.Position);
14728
+ const type = useTypeParam(drawingId, objectId, Members$9.Type);
14729
+ const refs = useRefsParam(drawingId, objectId, Members$9.References);
14730
+ const position = usePointParam(drawingId, objectId, Members$9.Position);
14787
14731
  const isUncommited = useIsUncommited(drawingId, objectId);
14788
14732
  const selOrder = useSelectorsOrder(drawingId);
14789
14733
  useRefsReset(type, refs);
@@ -14861,14 +14805,14 @@ const RootImpl$c = ({
14861
14805
  maxLen: 3
14862
14806
  }));
14863
14807
  };
14864
- const Root$c = ({
14808
+ const Root$d = ({
14865
14809
  drawingId,
14866
14810
  pluginId
14867
14811
  }) => {
14868
14812
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
14869
14813
  drawingId: drawingId,
14870
14814
  pluginId: pluginId
14871
- }, /*#__PURE__*/React__default.createElement(RootImpl$c, {
14815
+ }, /*#__PURE__*/React__default.createElement(RootImpl$d, {
14872
14816
  drawingId: drawingId,
14873
14817
  pluginId: pluginId
14874
14818
  }));
@@ -14936,7 +14880,7 @@ const View$a = ({
14936
14880
  }));
14937
14881
  };
14938
14882
 
14939
- const description$c = {
14883
+ const description$d = {
14940
14884
  name: 'WorkPoint',
14941
14885
  version: '1.0.0',
14942
14886
  author: 'Ledas',
@@ -14946,11 +14890,11 @@ const description$c = {
14946
14890
  initialState: addMembers
14947
14891
  };
14948
14892
 
14949
- var index$c = /*#__PURE__*/Object.freeze({
14893
+ var index$d = /*#__PURE__*/Object.freeze({
14950
14894
  __proto__: null,
14951
- Root: Root$c,
14895
+ Root: Root$d,
14952
14896
  View: View$a,
14953
- description: description$c
14897
+ description: description$d
14954
14898
  });
14955
14899
 
14956
14900
  function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -15001,13 +14945,26 @@ const CSysEditor = ({
15001
14945
  validator
15002
14946
  }) => {
15003
14947
  const {
15004
- userValue,
15005
14948
  setUserValue,
15006
14949
  defaults
15007
14950
  } = param;
15008
- const [x, setX] = React__default.useState(() => userValue[csysRow].x);
15009
- const [y, setY] = React__default.useState(() => userValue[csysRow].y);
15010
- const [z, setZ] = React__default.useState(() => userValue[csysRow].z);
14951
+ const [x, setX] = React__default.useState(() => defaults[csysRow].x);
14952
+ const [y, setY] = React__default.useState(() => defaults[csysRow].y);
14953
+ const [z, setZ] = React__default.useState(() => defaults[csysRow].z);
14954
+
14955
+ // Update component values on defaults change; This shouldn't react to actual components changes!
14956
+ React__default.useEffect(() => {
14957
+ if (x !== defaults[csysRow].x) {
14958
+ setX(defaults[csysRow].x);
14959
+ }
14960
+ if (y !== defaults[csysRow].y) {
14961
+ setY(defaults[csysRow].y);
14962
+ }
14963
+ if (z !== defaults[csysRow].z) {
14964
+ setZ(defaults[csysRow].z);
14965
+ }
14966
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14967
+ }, [defaults, csysRow]);
15011
14968
  React__default.useEffect(() => {
15012
14969
  setUserValue(val => {
15013
14970
  const newVal = [_objectSpread$9({}, val[0]), _objectSpread$9({}, val[1]), _objectSpread$9({}, val[2]), _objectSpread$9({}, val[3])];
@@ -15093,14 +15050,14 @@ function useCSysParam(drawingId, objId) {
15093
15050
  });
15094
15051
  }
15095
15052
 
15096
- var Members$7;
15053
+ var Members$8;
15097
15054
  (function (Members) {
15098
15055
  Members["References"] = "References";
15099
15056
  Members["Offset"] = "Offset";
15100
15057
  Members["Rotation"] = "Rotation";
15101
15058
  Members["Inverted"] = "Inverted";
15102
15059
  Members["Type"] = "Type";
15103
- })(Members$7 || (Members$7 = {}));
15060
+ })(Members$8 || (Members$8 = {}));
15104
15061
  const readOnlyTypes = [WorkCoordSystemType.WCS_FIXED];
15105
15062
  const typeCaptions = {
15106
15063
  [WorkCoordSystemType.WCS_FIXED]: 'Fixed',
@@ -15129,21 +15086,21 @@ const getObjectDirection = (drawingId, obj) => {
15129
15086
  const matrix = getDrawing(drawingId).api.structure.calculateGlobalTransformation(obj.id);
15130
15087
  return dir.applyMatrix4(matrix).normalize();
15131
15088
  };
15132
- function RootImpl$b({
15089
+ function RootImpl$c({
15133
15090
  drawingId,
15134
15091
  pluginId
15135
15092
  }) {
15136
15093
  const {
15137
15094
  objectId
15138
15095
  } = usePlugin(drawingId, pluginId, pluginState => pluginState);
15139
- const type = useTypeParam(drawingId, objectId, Members$7.Type);
15140
- const refs = useRefsParam(drawingId, objectId, Members$7.References);
15096
+ const type = useTypeParam(drawingId, objectId, Members$8.Type);
15097
+ const refs = useRefsParam(drawingId, objectId, Members$8.References);
15141
15098
  const csys = useCSysParam(drawingId, objectId);
15142
- const offset = usePointParam(drawingId, objectId, Members$7.Offset);
15143
- const rotation = usePointParam(drawingId, objectId, Members$7.Rotation, {
15099
+ const offset = usePointParam(drawingId, objectId, Members$8.Offset);
15100
+ const rotation = usePointParam(drawingId, objectId, Members$8.Rotation, {
15144
15101
  angle: true
15145
15102
  });
15146
- const inverted = useBoolParam(drawingId, objectId, Members$7.Inverted);
15103
+ const inverted = useBoolParam(drawingId, objectId, Members$8.Inverted);
15147
15104
  const isUncommited = useIsUncommited(drawingId, objectId);
15148
15105
  const {
15149
15106
  defaults: refsDefaults,
@@ -15319,7 +15276,7 @@ function RootImpl$b({
15319
15276
  validator: validate,
15320
15277
  forceUpdateEnabled: isUncommited
15321
15278
  }, /*#__PURE__*/React__default.createElement(TypeEditor, {
15322
- caption: Members$7.Type,
15279
+ caption: Members$8.Type,
15323
15280
  param: type,
15324
15281
  types: typeCaptions,
15325
15282
  readonlyTypes: readOnlyTypes
@@ -15369,14 +15326,14 @@ function RootImpl$b({
15369
15326
  param: rotation
15370
15327
  })));
15371
15328
  }
15372
- const Root$b = ({
15329
+ const Root$c = ({
15373
15330
  drawingId,
15374
15331
  pluginId
15375
15332
  }) => {
15376
15333
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
15377
15334
  drawingId: drawingId,
15378
15335
  pluginId: pluginId
15379
- }, /*#__PURE__*/React__default.createElement(RootImpl$b, {
15336
+ }, /*#__PURE__*/React__default.createElement(RootImpl$c, {
15380
15337
  drawingId: drawingId,
15381
15338
  pluginId: pluginId
15382
15339
  }));
@@ -15494,7 +15451,7 @@ const View$9 = ({
15494
15451
  }));
15495
15452
  };
15496
15453
 
15497
- const description$b = {
15454
+ const description$c = {
15498
15455
  name: 'WorkCoordSystem',
15499
15456
  version: '1.0.0',
15500
15457
  author: 'Ledas',
@@ -15510,11 +15467,11 @@ const description$b = {
15510
15467
  }
15511
15468
  };
15512
15469
 
15513
- var index$b = /*#__PURE__*/Object.freeze({
15470
+ var index$c = /*#__PURE__*/Object.freeze({
15514
15471
  __proto__: null,
15515
- Root: Root$b,
15472
+ Root: Root$c,
15516
15473
  View: View$9,
15517
- description: description$b
15474
+ description: description$c
15518
15475
  });
15519
15476
 
15520
15477
  const Caption = ({
@@ -15783,7 +15740,7 @@ function View$8({
15783
15740
  }));
15784
15741
  }
15785
15742
 
15786
- function RootImpl$a({
15743
+ function RootImpl$b({
15787
15744
  drawingId,
15788
15745
  pluginId
15789
15746
  }) {
@@ -15833,17 +15790,17 @@ function RootImpl$a({
15833
15790
  })
15834
15791
  })));
15835
15792
  }
15836
- function Root$a({
15793
+ function Root$b({
15837
15794
  drawingId,
15838
15795
  pluginId
15839
15796
  }) {
15840
- return /*#__PURE__*/React__default.createElement(ErrorBoundary, null, /*#__PURE__*/React__default.createElement(RootImpl$a, {
15797
+ return /*#__PURE__*/React__default.createElement(ErrorBoundary, null, /*#__PURE__*/React__default.createElement(RootImpl$b, {
15841
15798
  drawingId: drawingId,
15842
15799
  pluginId: pluginId
15843
15800
  }));
15844
15801
  }
15845
15802
 
15846
- const description$a = {
15803
+ const description$b = {
15847
15804
  name: 'BoundingBoxInfo',
15848
15805
  version: '1.0.0',
15849
15806
  author: 'Ledas',
@@ -15855,11 +15812,11 @@ const description$a = {
15855
15812
  }
15856
15813
  };
15857
15814
 
15858
- var index$a = /*#__PURE__*/Object.freeze({
15815
+ var index$b = /*#__PURE__*/Object.freeze({
15859
15816
  __proto__: null,
15860
- Root: Root$a,
15817
+ Root: Root$b,
15861
15818
  View: View$8,
15862
- description: description$a
15819
+ description: description$b
15863
15820
  });
15864
15821
 
15865
15822
  const ExpressionEditor = ({
@@ -15878,6 +15835,15 @@ const ExpressionEditor = ({
15878
15835
  // displayed expression & value
15879
15836
  const [expressionD, setExpressionD] = React__default.useState(expression.length !== 0 ? expression : initValue);
15880
15837
  const [valueD, setValueD] = React__default.useState(initValue);
15838
+
15839
+ // Update displayed expression when its member values change; This shouldn't react to actual expressionD changes!
15840
+ React__default.useEffect(() => {
15841
+ const newExpr = expression.length !== 0 ? expression : value.toString();
15842
+ if (newExpr !== expressionD) {
15843
+ setExpressionD(newExpr);
15844
+ }
15845
+ // eslint-disable-next-line react-hooks/exhaustive-deps
15846
+ }, [expression, value]);
15881
15847
  React__default.useEffect(() => {
15882
15848
  setValueD(value.toString());
15883
15849
  }, [value]);
@@ -15979,7 +15945,7 @@ const ExpressionsValidator = ({
15979
15945
  };
15980
15946
 
15981
15947
  const nameRegex = /[a-zA-Z_][a-zA-Z0-9_]*/g;
15982
- const RootImpl$9 = ({
15948
+ const RootImpl$a = ({
15983
15949
  drawingId,
15984
15950
  pluginId
15985
15951
  }) => {
@@ -16151,19 +16117,19 @@ const RootImpl$9 = ({
16151
16117
  onChange: e => setShowHidden(e.target.checked)
16152
16118
  }, " Show hidden "));
16153
16119
  };
16154
- const Root$9 = ({
16120
+ const Root$a = ({
16155
16121
  drawingId,
16156
16122
  pluginId
16157
16123
  }) => {
16158
16124
  return /*#__PURE__*/React__default.createElement(ExpressionsValidator, {
16159
16125
  drawingId: drawingId
16160
- }, /*#__PURE__*/React__default.createElement(RootImpl$9, {
16126
+ }, /*#__PURE__*/React__default.createElement(RootImpl$a, {
16161
16127
  drawingId: drawingId,
16162
16128
  pluginId: pluginId
16163
16129
  }));
16164
16130
  };
16165
16131
 
16166
- const description$9 = {
16132
+ const description$a = {
16167
16133
  name: 'Expressions',
16168
16134
  version: '1.0.0',
16169
16135
  author: 'Ledas',
@@ -16172,30 +16138,30 @@ const description$9 = {
16172
16138
  initialState: {}
16173
16139
  };
16174
16140
 
16175
- var index$9 = /*#__PURE__*/Object.freeze({
16141
+ var index$a = /*#__PURE__*/Object.freeze({
16176
16142
  __proto__: null,
16177
- Root: Root$9,
16178
- description: description$9
16143
+ Root: Root$a,
16144
+ description: description$a
16179
16145
  });
16180
16146
 
16181
- var Members$6;
16147
+ var Members$7;
16182
16148
  (function (Members) {
16183
16149
  Members["MateReference"] = "firstRefMate";
16184
16150
  Members["XOffset"] = "xOffset";
16185
16151
  Members["YOffset"] = "yOffset";
16186
16152
  Members["ZOffset"] = "zOffset";
16187
- })(Members$6 || (Members$6 = {}));
16188
- function RootImpl$8({
16153
+ })(Members$7 || (Members$7 = {}));
16154
+ function RootImpl$9({
16189
16155
  drawingId,
16190
16156
  pluginId
16191
16157
  }) {
16192
16158
  const {
16193
16159
  objectId
16194
16160
  } = usePlugin(drawingId, pluginId, plugin => plugin);
16195
- const mateRef = useMateParam(drawingId, objectId, Members$6.MateReference);
16196
- const xOffset = useNumParam(drawingId, objectId, Members$6.XOffset);
16197
- const yOffset = useNumParam(drawingId, objectId, Members$6.YOffset);
16198
- const zOffset = useNumParam(drawingId, objectId, Members$6.ZOffset);
16161
+ const mateRef = useMateParam(drawingId, objectId, Members$7.MateReference);
16162
+ const xOffset = useNumParam(drawingId, objectId, Members$7.XOffset);
16163
+ const yOffset = useNumParam(drawingId, objectId, Members$7.YOffset);
16164
+ const zOffset = useNumParam(drawingId, objectId, Members$7.ZOffset);
16199
16165
  const update = React__default.useCallback(async () => {
16200
16166
  return ccAPI.assemblyBuilder.updateFastenedOriginConstraints(drawingId, [{
16201
16167
  constrId: objectId,
@@ -16233,14 +16199,14 @@ function RootImpl$8({
16233
16199
  caption: "Offset Z"
16234
16200
  }));
16235
16201
  }
16236
- const Root$8 = ({
16202
+ const Root$9 = ({
16237
16203
  drawingId,
16238
16204
  pluginId
16239
16205
  }) => {
16240
16206
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
16241
16207
  drawingId: drawingId,
16242
16208
  pluginId: pluginId
16243
- }, /*#__PURE__*/React__default.createElement(RootImpl$8, {
16209
+ }, /*#__PURE__*/React__default.createElement(RootImpl$9, {
16244
16210
  drawingId: drawingId,
16245
16211
  pluginId: pluginId
16246
16212
  }));
@@ -16766,7 +16732,7 @@ const View$7 = ({
16766
16732
  }));
16767
16733
  };
16768
16734
 
16769
- const description$8 = {
16735
+ const description$9 = {
16770
16736
  name: 'Fastened Origin',
16771
16737
  version: '1.0.0',
16772
16738
  author: 'Ledas',
@@ -16775,33 +16741,33 @@ const description$8 = {
16775
16741
  global: false
16776
16742
  };
16777
16743
 
16778
- var index$8 = /*#__PURE__*/Object.freeze({
16744
+ var index$9 = /*#__PURE__*/Object.freeze({
16779
16745
  __proto__: null,
16780
- Root: Root$8,
16746
+ Root: Root$9,
16781
16747
  View: View$7,
16782
- description: description$8
16748
+ description: description$9
16783
16749
  });
16784
16750
 
16785
- var Members$5;
16751
+ var Members$6;
16786
16752
  (function (Members) {
16787
16753
  Members["Mate1Reference"] = "firstRefMate";
16788
16754
  Members["Mate2Reference"] = "secondRefMate";
16789
16755
  Members["XOffset"] = "xOffset";
16790
16756
  Members["YOffset"] = "yOffset";
16791
16757
  Members["ZOffset"] = "zOffset";
16792
- })(Members$5 || (Members$5 = {}));
16793
- function RootImpl$7({
16758
+ })(Members$6 || (Members$6 = {}));
16759
+ function RootImpl$8({
16794
16760
  drawingId,
16795
16761
  pluginId
16796
16762
  }) {
16797
16763
  const {
16798
16764
  objectId
16799
16765
  } = usePlugin(drawingId, pluginId, plugin => plugin);
16800
- const mate1Ref = useMateParam(drawingId, objectId, Members$5.Mate1Reference);
16801
- const mate2Ref = useMateParam(drawingId, objectId, Members$5.Mate2Reference);
16802
- const xOffset = useNumParam(drawingId, objectId, Members$5.XOffset);
16803
- const yOffset = useNumParam(drawingId, objectId, Members$5.YOffset);
16804
- const zOffset = useNumParam(drawingId, objectId, Members$5.ZOffset);
16766
+ const mate1Ref = useMateParam(drawingId, objectId, Members$6.Mate1Reference);
16767
+ const mate2Ref = useMateParam(drawingId, objectId, Members$6.Mate2Reference);
16768
+ const xOffset = useNumParam(drawingId, objectId, Members$6.XOffset);
16769
+ const yOffset = useNumParam(drawingId, objectId, Members$6.YOffset);
16770
+ const zOffset = useNumParam(drawingId, objectId, Members$6.ZOffset);
16805
16771
  const selOrder = useSelectorsOrder(drawingId);
16806
16772
  const update = React__default.useCallback(async () => {
16807
16773
  return ccAPI.assemblyBuilder.updateFastenedConstraints(drawingId, [{
@@ -16848,14 +16814,14 @@ function RootImpl$7({
16848
16814
  caption: "Offset Z"
16849
16815
  }));
16850
16816
  }
16851
- const Root$7 = ({
16817
+ const Root$8 = ({
16852
16818
  drawingId,
16853
16819
  pluginId
16854
16820
  }) => {
16855
16821
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
16856
16822
  drawingId: drawingId,
16857
16823
  pluginId: pluginId
16858
- }, /*#__PURE__*/React__default.createElement(RootImpl$7, {
16824
+ }, /*#__PURE__*/React__default.createElement(RootImpl$8, {
16859
16825
  drawingId: drawingId,
16860
16826
  pluginId: pluginId
16861
16827
  }));
@@ -16885,7 +16851,7 @@ const View$6 = ({
16885
16851
  }));
16886
16852
  };
16887
16853
 
16888
- const description$7 = {
16854
+ const description$8 = {
16889
16855
  name: 'Fastened',
16890
16856
  version: '1.0.0',
16891
16857
  author: 'Ledas',
@@ -16894,11 +16860,11 @@ const description$7 = {
16894
16860
  global: false
16895
16861
  };
16896
16862
 
16897
- var index$7 = /*#__PURE__*/Object.freeze({
16863
+ var index$8 = /*#__PURE__*/Object.freeze({
16898
16864
  __proto__: null,
16899
- Root: Root$7,
16865
+ Root: Root$8,
16900
16866
  View: View$6,
16901
- description: description$7
16867
+ description: description$8
16902
16868
  });
16903
16869
 
16904
16870
  function validateLimits(limits, name) {
@@ -17379,7 +17345,7 @@ const LimitedValue = ({
17379
17345
  })));
17380
17346
  };
17381
17347
 
17382
- var Members$4;
17348
+ var Members$5;
17383
17349
  (function (Members) {
17384
17350
  Members["Mate1Reference"] = "firstRefMate";
17385
17351
  Members["Mate2Reference"] = "secondRefMate";
@@ -17387,8 +17353,8 @@ var Members$4;
17387
17353
  Members["YOffset"] = "yOffset";
17388
17354
  Members["ZOffsetValue"] = "zOffsetValue";
17389
17355
  Members["ZOffsetLimits"] = "zOffsetLimits";
17390
- })(Members$4 || (Members$4 = {}));
17391
- function RootImpl$6({
17356
+ })(Members$5 || (Members$5 = {}));
17357
+ function RootImpl$7({
17392
17358
  drawingId,
17393
17359
  pluginId
17394
17360
  }) {
@@ -17398,12 +17364,12 @@ function RootImpl$6({
17398
17364
  const {
17399
17365
  objectId
17400
17366
  } = usePlugin(drawingId, pluginId, plugin => plugin);
17401
- const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members$4.ZOffsetLimits]);
17402
- const mate1Ref = useMateParam(drawingId, objectId, Members$4.Mate1Reference);
17403
- const mate2Ref = useMateParam(drawingId, objectId, Members$4.Mate2Reference);
17404
- const xOffset = useNumParam(drawingId, objectId, Members$4.XOffset);
17405
- const yOffset = useNumParam(drawingId, objectId, Members$4.YOffset);
17406
- const zOffsetLimits = useLimitsParam(drawingId, objectId, Members$4.ZOffsetLimits, {
17367
+ const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members$5.ZOffsetLimits]);
17368
+ const mate1Ref = useMateParam(drawingId, objectId, Members$5.Mate1Reference);
17369
+ const mate2Ref = useMateParam(drawingId, objectId, Members$5.Mate2Reference);
17370
+ const xOffset = useNumParam(drawingId, objectId, Members$5.XOffset);
17371
+ const yOffset = useNumParam(drawingId, objectId, Members$5.YOffset);
17372
+ const zOffsetLimits = useLimitsParam(drawingId, objectId, Members$5.ZOffsetLimits, {
17407
17373
  forceNoLimits: limitsCollapsed
17408
17374
  });
17409
17375
  const selOrder = useSelectorsOrder(drawingId);
@@ -17471,21 +17437,21 @@ function RootImpl$6({
17471
17437
  }, /*#__PURE__*/React__default.createElement(LimitedValue, {
17472
17438
  drawingId: drawingId,
17473
17439
  objId: objectId,
17474
- memberName: Members$4.ZOffsetValue,
17475
- limitsName: Members$4.ZOffsetLimits,
17440
+ memberName: Members$5.ZOffsetValue,
17441
+ limitsName: Members$5.ZOffsetLimits,
17476
17442
  onUpdate: updateValue,
17477
17443
  caption: "Offset Z",
17478
17444
  disabled: disableVals
17479
17445
  })));
17480
17446
  }
17481
- const Root$6 = ({
17447
+ const Root$7 = ({
17482
17448
  drawingId,
17483
17449
  pluginId
17484
17450
  }) => {
17485
17451
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
17486
17452
  drawingId: drawingId,
17487
17453
  pluginId: pluginId
17488
- }, /*#__PURE__*/React__default.createElement(RootImpl$6, {
17454
+ }, /*#__PURE__*/React__default.createElement(RootImpl$7, {
17489
17455
  drawingId: drawingId,
17490
17456
  pluginId: pluginId
17491
17457
  }));
@@ -17515,7 +17481,7 @@ const View$5 = ({
17515
17481
  }));
17516
17482
  };
17517
17483
 
17518
- const description$6 = {
17484
+ const description$7 = {
17519
17485
  name: 'Slider',
17520
17486
  version: '1.0.0',
17521
17487
  author: 'Ledas',
@@ -17524,22 +17490,22 @@ const description$6 = {
17524
17490
  global: false
17525
17491
  };
17526
17492
 
17527
- var index$6 = /*#__PURE__*/Object.freeze({
17493
+ var index$7 = /*#__PURE__*/Object.freeze({
17528
17494
  __proto__: null,
17529
- Root: Root$6,
17495
+ Root: Root$7,
17530
17496
  View: View$5,
17531
- description: description$6
17497
+ description: description$7
17532
17498
  });
17533
17499
 
17534
- var Members$3;
17500
+ var Members$4;
17535
17501
  (function (Members) {
17536
17502
  Members["Mate1Reference"] = "firstRefMate";
17537
17503
  Members["Mate2Reference"] = "secondRefMate";
17538
17504
  Members["ZOffset"] = "zOffset";
17539
17505
  Members["ZRotationValue"] = "zRotationValue";
17540
17506
  Members["ZRotationLimits"] = "zRotationLimits";
17541
- })(Members$3 || (Members$3 = {}));
17542
- function RootImpl$5({
17507
+ })(Members$4 || (Members$4 = {}));
17508
+ function RootImpl$6({
17543
17509
  drawingId,
17544
17510
  pluginId
17545
17511
  }) {
@@ -17549,11 +17515,11 @@ function RootImpl$5({
17549
17515
  const {
17550
17516
  objectId
17551
17517
  } = usePlugin(drawingId, pluginId, plugin => plugin);
17552
- const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members$3.ZRotationLimits]);
17553
- const mate1Ref = useMateParam(drawingId, objectId, Members$3.Mate1Reference);
17554
- const mate2Ref = useMateParam(drawingId, objectId, Members$3.Mate2Reference);
17555
- const zOffset = useNumParam(drawingId, objectId, Members$3.ZOffset);
17556
- const zRotationLimits = useLimitsParam(drawingId, objectId, Members$3.ZRotationLimits, {
17518
+ const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members$4.ZRotationLimits]);
17519
+ const mate1Ref = useMateParam(drawingId, objectId, Members$4.Mate1Reference);
17520
+ const mate2Ref = useMateParam(drawingId, objectId, Members$4.Mate2Reference);
17521
+ const zOffset = useNumParam(drawingId, objectId, Members$4.ZOffset);
17522
+ const zRotationLimits = useLimitsParam(drawingId, objectId, Members$4.ZRotationLimits, {
17557
17523
  angle: true,
17558
17524
  forceNoLimits: limitsCollapsed
17559
17525
  });
@@ -17616,22 +17582,22 @@ function RootImpl$5({
17616
17582
  }, /*#__PURE__*/React__default.createElement(LimitedValue, {
17617
17583
  drawingId: drawingId,
17618
17584
  objId: objectId,
17619
- memberName: Members$3.ZRotationValue,
17620
- limitsName: Members$3.ZRotationLimits,
17585
+ memberName: Members$4.ZRotationValue,
17586
+ limitsName: Members$4.ZRotationLimits,
17621
17587
  onUpdate: updateValue,
17622
17588
  caption: "Rotation Z",
17623
17589
  angle: true,
17624
17590
  disabled: disableVals
17625
17591
  })));
17626
17592
  }
17627
- const Root$5 = ({
17593
+ const Root$6 = ({
17628
17594
  drawingId,
17629
17595
  pluginId
17630
17596
  }) => {
17631
17597
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
17632
17598
  drawingId: drawingId,
17633
17599
  pluginId: pluginId
17634
- }, /*#__PURE__*/React__default.createElement(RootImpl$5, {
17600
+ }, /*#__PURE__*/React__default.createElement(RootImpl$6, {
17635
17601
  drawingId: drawingId,
17636
17602
  pluginId: pluginId
17637
17603
  }));
@@ -17661,7 +17627,7 @@ const View$4 = ({
17661
17627
  }));
17662
17628
  };
17663
17629
 
17664
- const description$5 = {
17630
+ const description$6 = {
17665
17631
  name: 'Revolute',
17666
17632
  version: '1.0.0',
17667
17633
  author: 'Ledas',
@@ -17670,14 +17636,14 @@ const description$5 = {
17670
17636
  global: false
17671
17637
  };
17672
17638
 
17673
- var index$5 = /*#__PURE__*/Object.freeze({
17639
+ var index$6 = /*#__PURE__*/Object.freeze({
17674
17640
  __proto__: null,
17675
- Root: Root$5,
17641
+ Root: Root$6,
17676
17642
  View: View$4,
17677
- description: description$5
17643
+ description: description$6
17678
17644
  });
17679
17645
 
17680
- var Members$2;
17646
+ var Members$3;
17681
17647
  (function (Members) {
17682
17648
  Members["Mate1Reference"] = "firstRefMate";
17683
17649
  Members["Mate2Reference"] = "secondRefMate";
@@ -17685,8 +17651,8 @@ var Members$2;
17685
17651
  Members["ZOffsetLimits"] = "zOffsetLimits";
17686
17652
  Members["ZRotationValue"] = "zRotationValue";
17687
17653
  Members["ZRotationLimits"] = "zRotationLimits";
17688
- })(Members$2 || (Members$2 = {}));
17689
- function RootImpl$4({
17654
+ })(Members$3 || (Members$3 = {}));
17655
+ function RootImpl$5({
17690
17656
  drawingId,
17691
17657
  pluginId
17692
17658
  }) {
@@ -17696,13 +17662,13 @@ function RootImpl$4({
17696
17662
  const {
17697
17663
  objectId
17698
17664
  } = usePlugin(drawingId, pluginId, plugin => plugin);
17699
- const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members$2.ZOffsetLimits, Members$2.ZRotationLimits]);
17700
- const mate1Ref = useMateParam(drawingId, objectId, Members$2.Mate1Reference);
17701
- const mate2Ref = useMateParam(drawingId, objectId, Members$2.Mate2Reference);
17702
- const zOffsetLimits = useLimitsParam(drawingId, objectId, Members$2.ZOffsetLimits, {
17665
+ const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members$3.ZOffsetLimits, Members$3.ZRotationLimits]);
17666
+ const mate1Ref = useMateParam(drawingId, objectId, Members$3.Mate1Reference);
17667
+ const mate2Ref = useMateParam(drawingId, objectId, Members$3.Mate2Reference);
17668
+ const zOffsetLimits = useLimitsParam(drawingId, objectId, Members$3.ZOffsetLimits, {
17703
17669
  forceNoLimits: limitsCollapsed
17704
17670
  });
17705
- const zRotationLimits = useLimitsParam(drawingId, objectId, Members$2.ZRotationLimits, {
17671
+ const zRotationLimits = useLimitsParam(drawingId, objectId, Members$3.ZRotationLimits, {
17706
17672
  angle: true,
17707
17673
  forceNoLimits: limitsCollapsed
17708
17674
  });
@@ -17771,30 +17737,30 @@ function RootImpl$4({
17771
17737
  }, /*#__PURE__*/React__default.createElement(LimitedValue, {
17772
17738
  drawingId: drawingId,
17773
17739
  objId: objectId,
17774
- memberName: Members$2.ZOffsetValue,
17775
- limitsName: Members$2.ZOffsetLimits,
17740
+ memberName: Members$3.ZOffsetValue,
17741
+ limitsName: Members$3.ZOffsetLimits,
17776
17742
  onUpdate: updateOffset,
17777
17743
  caption: "Offset Z",
17778
17744
  disabled: disableVals
17779
17745
  }), /*#__PURE__*/React__default.createElement(LimitedValue, {
17780
17746
  drawingId: drawingId,
17781
17747
  objId: objectId,
17782
- memberName: Members$2.ZRotationValue,
17783
- limitsName: Members$2.ZRotationLimits,
17748
+ memberName: Members$3.ZRotationValue,
17749
+ limitsName: Members$3.ZRotationLimits,
17784
17750
  onUpdate: updateRotation,
17785
17751
  caption: "Rotation Z",
17786
17752
  angle: true,
17787
17753
  disabled: disableVals
17788
17754
  })));
17789
17755
  }
17790
- const Root$4 = ({
17756
+ const Root$5 = ({
17791
17757
  drawingId,
17792
17758
  pluginId
17793
17759
  }) => {
17794
17760
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
17795
17761
  drawingId: drawingId,
17796
17762
  pluginId: pluginId
17797
- }, /*#__PURE__*/React__default.createElement(RootImpl$4, {
17763
+ }, /*#__PURE__*/React__default.createElement(RootImpl$5, {
17798
17764
  drawingId: drawingId,
17799
17765
  pluginId: pluginId
17800
17766
  }));
@@ -17824,7 +17790,7 @@ const View$3 = ({
17824
17790
  }));
17825
17791
  };
17826
17792
 
17827
- const description$4 = {
17793
+ const description$5 = {
17828
17794
  name: 'Cylindrical',
17829
17795
  version: '1.0.0',
17830
17796
  author: 'Ledas',
@@ -17833,14 +17799,14 @@ const description$4 = {
17833
17799
  global: false
17834
17800
  };
17835
17801
 
17836
- var index$4 = /*#__PURE__*/Object.freeze({
17802
+ var index$5 = /*#__PURE__*/Object.freeze({
17837
17803
  __proto__: null,
17838
- Root: Root$4,
17804
+ Root: Root$5,
17839
17805
  View: View$3,
17840
- description: description$4
17806
+ description: description$5
17841
17807
  });
17842
17808
 
17843
- var Members$1;
17809
+ var Members$2;
17844
17810
  (function (Members) {
17845
17811
  Members["Mate1Reference"] = "firstRefMate";
17846
17812
  Members["Mate2Reference"] = "secondRefMate";
@@ -17851,8 +17817,8 @@ var Members$1;
17851
17817
  Members["YOffsetLimits"] = "yOffsetLimits";
17852
17818
  Members["ZRotationValue"] = "zRotationValue";
17853
17819
  Members["ZRotationLimits"] = "zRotationLimits";
17854
- })(Members$1 || (Members$1 = {}));
17855
- function RootImpl$3({
17820
+ })(Members$2 || (Members$2 = {}));
17821
+ function RootImpl$4({
17856
17822
  drawingId,
17857
17823
  pluginId
17858
17824
  }) {
@@ -17862,17 +17828,17 @@ function RootImpl$3({
17862
17828
  const {
17863
17829
  objectId
17864
17830
  } = usePlugin(drawingId, pluginId, plugin => plugin);
17865
- const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members$1.XOffsetLimits, Members$1.YOffsetLimits, Members$1.ZRotationLimits]);
17866
- const mate1Ref = useMateParam(drawingId, objectId, Members$1.Mate1Reference);
17867
- const mate2Ref = useMateParam(drawingId, objectId, Members$1.Mate2Reference);
17868
- const zOffset = useNumParam(drawingId, objectId, Members$1.ZOffset);
17869
- const xOffsetLimits = useLimitsParam(drawingId, objectId, Members$1.XOffsetLimits, {
17831
+ const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members$2.XOffsetLimits, Members$2.YOffsetLimits, Members$2.ZRotationLimits]);
17832
+ const mate1Ref = useMateParam(drawingId, objectId, Members$2.Mate1Reference);
17833
+ const mate2Ref = useMateParam(drawingId, objectId, Members$2.Mate2Reference);
17834
+ const zOffset = useNumParam(drawingId, objectId, Members$2.ZOffset);
17835
+ const xOffsetLimits = useLimitsParam(drawingId, objectId, Members$2.XOffsetLimits, {
17870
17836
  forceNoLimits: limitsCollapsed
17871
17837
  });
17872
- const yOffsetLimits = useLimitsParam(drawingId, objectId, Members$1.YOffsetLimits, {
17838
+ const yOffsetLimits = useLimitsParam(drawingId, objectId, Members$2.YOffsetLimits, {
17873
17839
  forceNoLimits: limitsCollapsed
17874
17840
  });
17875
- const zRotationLimits = useLimitsParam(drawingId, objectId, Members$1.ZRotationLimits, {
17841
+ const zRotationLimits = useLimitsParam(drawingId, objectId, Members$2.ZRotationLimits, {
17876
17842
  angle: true,
17877
17843
  forceNoLimits: limitsCollapsed
17878
17844
  });
@@ -17959,38 +17925,38 @@ function RootImpl$3({
17959
17925
  }, /*#__PURE__*/React__default.createElement(LimitedValue, {
17960
17926
  drawingId: drawingId,
17961
17927
  objId: objectId,
17962
- memberName: Members$1.XOffsetValue,
17963
- limitsName: Members$1.XOffsetLimits,
17928
+ memberName: Members$2.XOffsetValue,
17929
+ limitsName: Members$2.XOffsetLimits,
17964
17930
  onUpdate: updateXOffset,
17965
17931
  caption: "Offset X",
17966
17932
  disabled: disableVals
17967
17933
  }), /*#__PURE__*/React__default.createElement(LimitedValue, {
17968
17934
  drawingId: drawingId,
17969
17935
  objId: objectId,
17970
- memberName: Members$1.YOffsetValue,
17971
- limitsName: Members$1.YOffsetLimits,
17936
+ memberName: Members$2.YOffsetValue,
17937
+ limitsName: Members$2.YOffsetLimits,
17972
17938
  onUpdate: updateYOffset,
17973
17939
  caption: "Offset Y",
17974
17940
  disabled: disableVals
17975
17941
  }), /*#__PURE__*/React__default.createElement(LimitedValue, {
17976
17942
  drawingId: drawingId,
17977
17943
  objId: objectId,
17978
- memberName: Members$1.ZRotationValue,
17979
- limitsName: Members$1.ZRotationLimits,
17944
+ memberName: Members$2.ZRotationValue,
17945
+ limitsName: Members$2.ZRotationLimits,
17980
17946
  onUpdate: updateRotation,
17981
17947
  caption: "Rotation Z",
17982
17948
  angle: true,
17983
17949
  disabled: disableVals
17984
17950
  })));
17985
17951
  }
17986
- const Root$3 = ({
17952
+ const Root$4 = ({
17987
17953
  drawingId,
17988
17954
  pluginId
17989
17955
  }) => {
17990
17956
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
17991
17957
  drawingId: drawingId,
17992
17958
  pluginId: pluginId
17993
- }, /*#__PURE__*/React__default.createElement(RootImpl$3, {
17959
+ }, /*#__PURE__*/React__default.createElement(RootImpl$4, {
17994
17960
  drawingId: drawingId,
17995
17961
  pluginId: pluginId
17996
17962
  }));
@@ -18020,7 +17986,7 @@ const View$2 = ({
18020
17986
  }));
18021
17987
  };
18022
17988
 
18023
- const description$3 = {
17989
+ const description$4 = {
18024
17990
  name: 'Planar',
18025
17991
  version: '1.0.0',
18026
17992
  author: 'Ledas',
@@ -18029,14 +17995,14 @@ const description$3 = {
18029
17995
  global: false
18030
17996
  };
18031
17997
 
18032
- var index$3 = /*#__PURE__*/Object.freeze({
17998
+ var index$4 = /*#__PURE__*/Object.freeze({
18033
17999
  __proto__: null,
18034
- Root: Root$3,
18000
+ Root: Root$4,
18035
18001
  View: View$2,
18036
- description: description$3
18002
+ description: description$4
18037
18003
  });
18038
18004
 
18039
- var Members;
18005
+ var Members$1;
18040
18006
  (function (Members) {
18041
18007
  Members["Mate1Reference"] = "firstRefMate";
18042
18008
  Members["Mate2Reference"] = "secondRefMate";
@@ -18048,8 +18014,8 @@ var Members;
18048
18014
  Members["ZOffsetLimits"] = "zOffsetLimits";
18049
18015
  Members["ZRotationValue"] = "zRotationValue";
18050
18016
  Members["ZRotationLimits"] = "zRotationLimits";
18051
- })(Members || (Members = {}));
18052
- function RootImpl$2({
18017
+ })(Members$1 || (Members$1 = {}));
18018
+ function RootImpl$3({
18053
18019
  drawingId,
18054
18020
  pluginId
18055
18021
  }) {
@@ -18059,19 +18025,19 @@ function RootImpl$2({
18059
18025
  const {
18060
18026
  objectId
18061
18027
  } = usePlugin(drawingId, pluginId, plugin => plugin);
18062
- const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members.XOffsetLimits, Members.YOffsetLimits, Members.ZOffsetLimits, Members.ZRotationLimits]);
18063
- const mate1Ref = useMateParam(drawingId, objectId, Members.Mate1Reference);
18064
- const mate2Ref = useMateParam(drawingId, objectId, Members.Mate2Reference);
18065
- const xOffsetLimits = useLimitsParam(drawingId, objectId, Members.XOffsetLimits, {
18028
+ const [limitsCollapsed, setLimitsCollapsed] = useCollapsed(drawingId, objectId, [Members$1.XOffsetLimits, Members$1.YOffsetLimits, Members$1.ZOffsetLimits, Members$1.ZRotationLimits]);
18029
+ const mate1Ref = useMateParam(drawingId, objectId, Members$1.Mate1Reference);
18030
+ const mate2Ref = useMateParam(drawingId, objectId, Members$1.Mate2Reference);
18031
+ const xOffsetLimits = useLimitsParam(drawingId, objectId, Members$1.XOffsetLimits, {
18066
18032
  forceNoLimits: limitsCollapsed
18067
18033
  });
18068
- const yOffsetLimits = useLimitsParam(drawingId, objectId, Members.YOffsetLimits, {
18034
+ const yOffsetLimits = useLimitsParam(drawingId, objectId, Members$1.YOffsetLimits, {
18069
18035
  forceNoLimits: limitsCollapsed
18070
18036
  });
18071
- const zOffsetLimits = useLimitsParam(drawingId, objectId, Members.ZOffsetLimits, {
18037
+ const zOffsetLimits = useLimitsParam(drawingId, objectId, Members$1.ZOffsetLimits, {
18072
18038
  forceNoLimits: limitsCollapsed
18073
18039
  });
18074
- const zRotationLimits = useLimitsParam(drawingId, objectId, Members.ZRotationLimits, {
18040
+ const zRotationLimits = useLimitsParam(drawingId, objectId, Members$1.ZRotationLimits, {
18075
18041
  angle: true,
18076
18042
  forceNoLimits: limitsCollapsed
18077
18043
  });
@@ -18164,46 +18130,46 @@ function RootImpl$2({
18164
18130
  }, /*#__PURE__*/React__default.createElement(LimitedValue, {
18165
18131
  drawingId: drawingId,
18166
18132
  objId: objectId,
18167
- memberName: Members.XOffsetValue,
18168
- limitsName: Members.XOffsetLimits,
18133
+ memberName: Members$1.XOffsetValue,
18134
+ limitsName: Members$1.XOffsetLimits,
18169
18135
  onUpdate: updateXOffset,
18170
18136
  caption: "Offset X",
18171
18137
  disabled: disableVals
18172
18138
  }), /*#__PURE__*/React__default.createElement(LimitedValue, {
18173
18139
  drawingId: drawingId,
18174
18140
  objId: objectId,
18175
- memberName: Members.YOffsetValue,
18176
- limitsName: Members.YOffsetLimits,
18141
+ memberName: Members$1.YOffsetValue,
18142
+ limitsName: Members$1.YOffsetLimits,
18177
18143
  onUpdate: updateYOffset,
18178
18144
  caption: "Offset Y",
18179
18145
  disabled: disableVals
18180
18146
  }), /*#__PURE__*/React__default.createElement(LimitedValue, {
18181
18147
  drawingId: drawingId,
18182
18148
  objId: objectId,
18183
- memberName: Members.ZOffsetValue,
18184
- limitsName: Members.ZOffsetLimits,
18149
+ memberName: Members$1.ZOffsetValue,
18150
+ limitsName: Members$1.ZOffsetLimits,
18185
18151
  onUpdate: updateZOffset,
18186
18152
  caption: "Offset Z",
18187
18153
  disabled: disableVals
18188
18154
  }), /*#__PURE__*/React__default.createElement(LimitedValue, {
18189
18155
  drawingId: drawingId,
18190
18156
  objId: objectId,
18191
- memberName: Members.ZRotationValue,
18192
- limitsName: Members.ZRotationLimits,
18157
+ memberName: Members$1.ZRotationValue,
18158
+ limitsName: Members$1.ZRotationLimits,
18193
18159
  onUpdate: updateRotation,
18194
18160
  caption: "Rotation Z",
18195
18161
  angle: true,
18196
18162
  disabled: disableVals
18197
18163
  })));
18198
18164
  }
18199
- const Root$2 = ({
18165
+ const Root$3 = ({
18200
18166
  drawingId,
18201
18167
  pluginId
18202
18168
  }) => {
18203
18169
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
18204
18170
  drawingId: drawingId,
18205
18171
  pluginId: pluginId
18206
- }, /*#__PURE__*/React__default.createElement(RootImpl$2, {
18172
+ }, /*#__PURE__*/React__default.createElement(RootImpl$3, {
18207
18173
  drawingId: drawingId,
18208
18174
  pluginId: pluginId
18209
18175
  }));
@@ -18233,7 +18199,7 @@ const View$1 = ({
18233
18199
  }));
18234
18200
  };
18235
18201
 
18236
- const description$2 = {
18202
+ const description$3 = {
18237
18203
  name: 'Parallel',
18238
18204
  version: '1.0.0',
18239
18205
  author: 'Ledas',
@@ -18242,14 +18208,14 @@ const description$2 = {
18242
18208
  global: false
18243
18209
  };
18244
18210
 
18245
- var index$2 = /*#__PURE__*/Object.freeze({
18211
+ var index$3 = /*#__PURE__*/Object.freeze({
18246
18212
  __proto__: null,
18247
- Root: Root$2,
18213
+ Root: Root$3,
18248
18214
  View: View$1,
18249
- description: description$2
18215
+ description: description$3
18250
18216
  });
18251
18217
 
18252
- var img$q = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M9 95H91' stroke='black' stroke-width='5' stroke-miterlimit='10'/%3e%3cpath d='M50 21V84' stroke='black' stroke-width='5' stroke-miterlimit='10'/%3e%3cpath d='M33 69L50.2615 84L67 69.5357' stroke='black' stroke-width='5' stroke-miterlimit='10'/%3e%3cline x1='89.5' y1='97' x2='89.5' y2='85' stroke='black' stroke-width='3'/%3e%3cline x1='10.5' y1='84' x2='10.5' y2='97' stroke='black' stroke-width='3'/%3e%3c/svg%3e";
18218
+ var img$r = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M9 95H91' stroke='black' stroke-width='5' stroke-miterlimit='10'/%3e%3cpath d='M50 21V84' stroke='black' stroke-width='5' stroke-miterlimit='10'/%3e%3cpath d='M33 69L50.2615 84L67 69.5357' stroke='black' stroke-width='5' stroke-miterlimit='10'/%3e%3cline x1='89.5' y1='97' x2='89.5' y2='85' stroke='black' stroke-width='3'/%3e%3cline x1='10.5' y1='84' x2='10.5' y2='97' stroke='black' stroke-width='3'/%3e%3c/svg%3e";
18253
18219
 
18254
18220
  function useFileParam() {
18255
18221
  const [userValue, setUserValue] = React__default.useState(undefined);
@@ -18264,7 +18230,7 @@ function useFileParam() {
18264
18230
  isChanged
18265
18231
  });
18266
18232
  }
18267
- function RootImpl$1({
18233
+ function RootImpl$2({
18268
18234
  drawingId,
18269
18235
  pluginId
18270
18236
  }) {
@@ -18351,7 +18317,7 @@ function RootImpl$1({
18351
18317
  verticalAlign: 'top'
18352
18318
  }
18353
18319
  }, /*#__PURE__*/React__default.createElement("image", {
18354
- href: img$q,
18320
+ href: img$r,
18355
18321
  width: "14",
18356
18322
  height: "14"
18357
18323
  })), /*#__PURE__*/React__default.createElement("input", {
@@ -18364,20 +18330,20 @@ function RootImpl$1({
18364
18330
  onChange: onChange
18365
18331
  }))));
18366
18332
  }
18367
- const Root$1 = ({
18333
+ const Root$2 = ({
18368
18334
  drawingId,
18369
18335
  pluginId
18370
18336
  }) => {
18371
18337
  return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
18372
18338
  drawingId: drawingId,
18373
18339
  pluginId: pluginId
18374
- }, /*#__PURE__*/React__default.createElement(RootImpl$1, {
18340
+ }, /*#__PURE__*/React__default.createElement(RootImpl$2, {
18375
18341
  drawingId: drawingId,
18376
18342
  pluginId: pluginId
18377
18343
  }));
18378
18344
  };
18379
18345
 
18380
- const description$1 = {
18346
+ const description$2 = {
18381
18347
  name: 'Import',
18382
18348
  version: '1.0.0',
18383
18349
  author: 'Ledas',
@@ -18386,6 +18352,64 @@ const description$1 = {
18386
18352
  global: false
18387
18353
  };
18388
18354
 
18355
+ var index$2 = /*#__PURE__*/Object.freeze({
18356
+ __proto__: null,
18357
+ Root: Root$2,
18358
+ description: description$2
18359
+ });
18360
+
18361
+ var Members;
18362
+ (function (Members) {
18363
+ Members["BodiesToDelete"] = "bodiesToDelete";
18364
+ })(Members || (Members = {}));
18365
+ function RootImpl$1({
18366
+ drawingId,
18367
+ pluginId
18368
+ }) {
18369
+ const {
18370
+ objectId
18371
+ } = usePlugin(drawingId, pluginId, plugin => plugin);
18372
+ const bodiesToDelete = useRefsParam(drawingId, objectId, Members.BodiesToDelete);
18373
+ const update = React__default.useCallback(() => {
18374
+ return ccAPI.feature.updateEntityDeletion(drawingId, objectId, bodiesToDelete.serverValue);
18375
+ }, [drawingId, objectId, bodiesToDelete]);
18376
+ return /*#__PURE__*/React__default.createElement(PluginForm, {
18377
+ drawingId: drawingId,
18378
+ update: update,
18379
+ params: {
18380
+ bodiesToCut: bodiesToDelete
18381
+ }
18382
+ }, /*#__PURE__*/React__default.createElement(RefsEditor, {
18383
+ drawingId: drawingId,
18384
+ param: bodiesToDelete,
18385
+ caption: "Solids",
18386
+ filter: solidFilter,
18387
+ customIdPicker: pickOwnerId
18388
+ }));
18389
+ }
18390
+ const Root$1 = ({
18391
+ drawingId,
18392
+ pluginId
18393
+ }) => {
18394
+ return /*#__PURE__*/React__default.createElement(FtPluginValidator, {
18395
+ drawingId: drawingId,
18396
+ pluginId: pluginId
18397
+ }, /*#__PURE__*/React__default.createElement(RootImpl$1, {
18398
+ drawingId: drawingId,
18399
+ pluginId: pluginId
18400
+ }));
18401
+ };
18402
+
18403
+ const description$1 = {
18404
+ name: 'EntityDeletion',
18405
+ version: '1.0.0',
18406
+ author: 'AWV',
18407
+ persistent: true,
18408
+ visible: false,
18409
+ global: false,
18410
+ initialState: {}
18411
+ };
18412
+
18389
18413
  var index$1 = /*#__PURE__*/Object.freeze({
18390
18414
  __proto__: null,
18391
18415
  Root: Root$1,
@@ -19224,6 +19248,103 @@ const FtVisibilityController = ({
19224
19248
  };
19225
19249
  var FtVisibilityController$1 = FtVisibilityController;
19226
19250
 
19251
+ const RecalcIfChanged = ({
19252
+ drawingId,
19253
+ objectId,
19254
+ recalc
19255
+ }) => {
19256
+ const position = useDrawing(drawingId, d => {
19257
+ var _d$structure$tree$obj, _d$structure$tree$obj2;
19258
+ return (_d$structure$tree$obj = d.structure.tree[objectId]) == null ? void 0 : (_d$structure$tree$obj2 = _d$structure$tree$obj.members) == null ? void 0 : _d$structure$tree$obj2.Position;
19259
+ });
19260
+ const curPosition = useDrawing(drawingId, d => {
19261
+ var _d$structure$tree$obj3, _d$structure$tree$obj4;
19262
+ return (_d$structure$tree$obj3 = d.structure.tree[objectId]) == null ? void 0 : (_d$structure$tree$obj4 = _d$structure$tree$obj3.members) == null ? void 0 : _d$structure$tree$obj4.curPosition;
19263
+ });
19264
+ const sketchBB = useDrawing(drawingId, d => {
19265
+ var _d$structure$tree$obj5, _d$structure$tree$obj6;
19266
+ return (_d$structure$tree$obj5 = d.structure.tree[objectId]) == null ? void 0 : (_d$structure$tree$obj6 = _d$structure$tree$obj5.members) == null ? void 0 : _d$structure$tree$obj6.boundingBox;
19267
+ });
19268
+ React__default.useEffect(() => {
19269
+ recalc();
19270
+ // eslint-disable-next-line react-hooks/exhaustive-deps
19271
+ }, [position, curPosition, sketchBB]);
19272
+ return null;
19273
+ };
19274
+
19275
+ /**
19276
+ * Contains combined visible plugin geometry bounding box
19277
+ */
19278
+ const PluginGeometryBounds = ({
19279
+ drawingId
19280
+ }) => {
19281
+ const curPartId = useDrawing(drawingId, d => d.structure.currentProduct || d.structure.root);
19282
+ const opSeqId = useOperationSequence(drawingId, curPartId) || NOCCID;
19283
+ const featureRefIds = useDrawingArr(drawingId, d => {
19284
+ var _d$structure$tree$opS;
19285
+ return (_d$structure$tree$opS = d.structure.tree[opSeqId]) == null ? void 0 : _d$structure$tree$opS.children;
19286
+ });
19287
+ const visible = useDrawingArr(drawingId, d => d.plugin.visible);
19288
+ const [needsRecalc, setNeedsRecalc] = React__default.useState(0);
19289
+ const recalc = React__default.useCallback(() => {
19290
+ setNeedsRecalc(val => val + 1);
19291
+ }, []);
19292
+ const {
19293
+ bb,
19294
+ features
19295
+ } = React__default.useMemo(() => {
19296
+ const tree = getDrawing(drawingId).structure.tree;
19297
+ const featureIds = featureRefIds.map(refId => {
19298
+ var _tree$refId, _tree$refId$members, _tree$refId$members$r;
19299
+ return (_tree$refId = tree[refId]) == null ? void 0 : (_tree$refId$members = _tree$refId.members) == null ? void 0 : (_tree$refId$members$r = _tree$refId$members.refObj) == null ? void 0 : _tree$refId$members$r.value;
19300
+ });
19301
+ const visibleFeatureIds = featureIds.filter(id => visible.indexOf(id) !== -1);
19302
+ const bb_ = new THREE.Box3();
19303
+ visibleFeatureIds.forEach(id => {
19304
+ const obj = tree[id];
19305
+ const objClass = obj.class;
19306
+ switch (objClass) {
19307
+ case CCClasses.CCWorkPoint:
19308
+ case CCClasses.CCWorkAxis:
19309
+ case CCClasses.CCWorkCoordSystem:
19310
+ {
19311
+ var _obj$members;
19312
+ bb_.expandByPoint(convertToVector((_obj$members = obj.members) == null ? void 0 : _obj$members.Position));
19313
+ break;
19314
+ }
19315
+ case CCClasses.CCWorkPlane:
19316
+ {
19317
+ var _obj$members2;
19318
+ bb_.expandByPoint(convertToVector((_obj$members2 = obj.members) == null ? void 0 : _obj$members2.curPosition));
19319
+ break;
19320
+ }
19321
+ case CCClasses.CCSketch:
19322
+ {
19323
+ var _obj$members3;
19324
+ const sketchBB = (_obj$members3 = obj.members) == null ? void 0 : _obj$members3.boundingBox;
19325
+ const [min, max] = sketchBB.members.map(memb => convertToVector(memb));
19326
+ bb_.expandByPoint(min);
19327
+ bb_.expandByPoint(max);
19328
+ break;
19329
+ }
19330
+ }
19331
+ });
19332
+ return {
19333
+ bb: bb_,
19334
+ features: visibleFeatureIds
19335
+ };
19336
+ // eslint-disable-next-line react-hooks/exhaustive-deps
19337
+ }, [drawingId, featureRefIds, visible, needsRecalc]);
19338
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !bb.isEmpty() && /*#__PURE__*/React__default.createElement("mesh", null, /*#__PURE__*/React__default.createElement("bufferGeometry", {
19339
+ boundingBox: bb
19340
+ })), features.map(id => /*#__PURE__*/React__default.createElement(RecalcIfChanged, {
19341
+ key: id,
19342
+ drawingId: drawingId,
19343
+ objectId: id,
19344
+ recalc: recalc
19345
+ })));
19346
+ };
19347
+
19227
19348
  const mateNames$1 = ['firstRefMate', 'secondRefMate'];
19228
19349
  const getCSysKey = uData => uData.csysId.toString() + ', ' + uData.matePath.toString();
19229
19350
  const HoveredConstraintDisplay = ({
@@ -19729,6 +19850,52 @@ const Outline = /*#__PURE__*/React__default.forwardRef(function Outline(_ref, fo
19729
19850
  });
19730
19851
  });
19731
19852
 
19853
+ const useVisibleSolids = drawingId => {
19854
+ const curNodeId = useDrawing(drawingId, d => d.structure.currentNode);
19855
+ const curProdId = useDrawing(drawingId, d => d.structure.currentProduct);
19856
+ const solidsIds = useDrawingArr(drawingId, d => {
19857
+ var _d$structure$tree$cur;
19858
+ return (_d$structure$tree$cur = d.structure.tree[curProdId]) == null ? void 0 : _d$structure$tree$cur.solids;
19859
+ });
19860
+
19861
+ // This useDrawing is used ONLY for reactiveness, since we don't want to react to all the tree changes, and reacting to current node's children changes should be enough
19862
+ useDrawing(drawingId, d => {
19863
+ var _d$structure$tree$cur2;
19864
+ return (_d$structure$tree$cur2 = d.structure.tree[curNodeId]) == null ? void 0 : _d$structure$tree$cur2.children;
19865
+ });
19866
+ const tree = getDrawing(drawingId).structure.tree;
19867
+ const descendants = curNodeId ? getDescendants(tree, curNodeId) : [];
19868
+ const partDescendants = descendants.filter((id, i) => {
19869
+ var _node$members, _node$members$product;
19870
+ const node = tree[id];
19871
+ if (node && !ccUtils.base.isA(node.class, CCClasses.IProductReference)) {
19872
+ return false;
19873
+ }
19874
+ const product = tree[(_node$members = node.members) == null ? void 0 : (_node$members$product = _node$members.productId) == null ? void 0 : _node$members$product.value];
19875
+ if (product && !ccUtils.base.isA(product.class, CCClasses.CCPart)) {
19876
+ return false;
19877
+ }
19878
+ if (descendants.indexOf(id) !== i) {
19879
+ return false;
19880
+ }
19881
+ return true;
19882
+ });
19883
+ let solids = [];
19884
+ partDescendants.forEach(id => {
19885
+ var _node$members2, _node$members2$produc;
19886
+ const node = tree[id];
19887
+ const product = tree[(_node$members2 = node.members) == null ? void 0 : (_node$members2$produc = _node$members2.productId) == null ? void 0 : _node$members2$produc.value];
19888
+ const solids_ = product == null ? void 0 : product.solids;
19889
+ solids_ && solids.push(...solids_);
19890
+ });
19891
+ if (solids.length === 0) {
19892
+ // Use currentProduct solids if no other solids are available.
19893
+ solids = solidsIds;
19894
+ }
19895
+ const solidsUnique = solids.filter((id, i) => solids.indexOf(id) === i);
19896
+ return solidsUnique;
19897
+ };
19898
+
19732
19899
  const mateNames = ['firstRefMate', 'secondRefMate'];
19733
19900
  const getMateRefIds = (drawingId, constrId) => {
19734
19901
  var _tree$constrId;
@@ -21801,50 +21968,7 @@ const ModelTree = ({
21801
21968
  }));
21802
21969
  };
21803
21970
 
21804
- const useVisibleSolids = drawingId => {
21805
- const curNodeId = useDrawing(drawingId, d => d.structure.currentNode);
21806
- const curProdId = useDrawing(drawingId, d => d.structure.currentProduct);
21807
- const solidsIds = useDrawingArr(drawingId, d => d.structure.tree[curProdId].solids);
21808
-
21809
- // This useDrawing is used ONLY for reactiveness, since we don't want to react to all the tree changes, and reacting to current node's children changes should be enough
21810
- useDrawing(drawingId, d => {
21811
- var _d$structure$tree$cur;
21812
- return (_d$structure$tree$cur = d.structure.tree[curNodeId]) == null ? void 0 : _d$structure$tree$cur.children;
21813
- });
21814
- const tree = getDrawing(drawingId).structure.tree;
21815
- const descendants = curNodeId ? getDescendants(tree, curNodeId) : [];
21816
- const partDescendants = descendants.filter((id, i) => {
21817
- var _node$members, _node$members$product;
21818
- const node = tree[id];
21819
- if (node && !ccUtils.base.isA(node.class, CCClasses.IProductReference)) {
21820
- return false;
21821
- }
21822
- const product = tree[(_node$members = node.members) == null ? void 0 : (_node$members$product = _node$members.productId) == null ? void 0 : _node$members$product.value];
21823
- if (product && !ccUtils.base.isA(product.class, CCClasses.CCPart)) {
21824
- return false;
21825
- }
21826
- if (descendants.indexOf(id) !== i) {
21827
- return false;
21828
- }
21829
- return true;
21830
- });
21831
- let solids = [];
21832
- partDescendants.forEach(id => {
21833
- var _node$members2, _node$members2$produc;
21834
- const node = tree[id];
21835
- const product = tree[(_node$members2 = node.members) == null ? void 0 : (_node$members2$produc = _node$members2.productId) == null ? void 0 : _node$members2$produc.value];
21836
- const solids_ = product == null ? void 0 : product.solids;
21837
- solids_ && solids.push(...solids_);
21838
- });
21839
- if (solids.length === 0) {
21840
- // Use currentProduct solids if no other solids are available.
21841
- solids = solidsIds;
21842
- }
21843
- const solidsUnique = solids.filter((id, i) => solids.indexOf(id) === i);
21844
- return solidsUnique;
21845
- };
21846
-
21847
- function useMenuItems(setEditName) {
21971
+ function useMenuItems(drawingId, solidId, setEditName) {
21848
21972
  return React__default.useMemo(() => {
21849
21973
  return {
21850
21974
  rename: {
@@ -21853,9 +21977,32 @@ function useMenuItems(setEditName) {
21853
21977
  callback: () => {
21854
21978
  setEditName(true);
21855
21979
  }
21980
+ },
21981
+ delete: {
21982
+ caption: 'delete',
21983
+ icon: /*#__PURE__*/React__default.createElement(DeleteOutlined, null),
21984
+ callback: () => {
21985
+ var _drawing$graphic$cont, _drawing$structure$tr;
21986
+ const drawing = getDrawing(drawingId);
21987
+ const curProdId = drawing.structure.currentProduct;
21988
+ if (!curProdId) {
21989
+ return;
21990
+ }
21991
+ const solidOwner = (_drawing$graphic$cont = drawing.graphic.containers[solidId]) == null ? void 0 : _drawing$graphic$cont.owner;
21992
+ const selectedInfo = drawing.interaction.selected || [];
21993
+ const curSolids = ((_drawing$structure$tr = drawing.structure.tree[curProdId]) == null ? void 0 : _drawing$structure$tr.solids) || [];
21994
+ const selectedSolids = selectedInfo.filter(info => info.graphicId && curSolids.indexOf(info.graphicId) !== -1).map(info => info.objectId);
21995
+ const ids = selectedSolids.indexOf(solidOwner) === -1 && curSolids.indexOf(solidId) !== -1 ? [...selectedSolids, solidOwner] : selectedSolids;
21996
+ ccAPI.feature.createFeature(drawingId, curProdId, 'CC_EntityDeletion', 'Entity Deletion').then(res => {
21997
+ if (res) {
21998
+ ccAPI.feature.updateEntityDeletion(drawingId, res, ids);
21999
+ }
22000
+ }).catch(console.warn);
22001
+ drawing.api.interaction.setSelected([]);
22002
+ }
21856
22003
  }
21857
22004
  };
21858
- }, [setEditName]);
22005
+ }, [drawingId, solidId, setEditName]);
21859
22006
  }
21860
22007
 
21861
22008
  var css_248z$1 = "/*\n The only way to customize color picker from react-colorful is using css classes, so we need this file here.\n*/\n.colorPicker {\n border: 1px solid rgb(200, 200, 200);\n border-radius: 4px;\n padding: 4px;\n background-color: rgb(250, 250, 250);\n}\n\n.colorPicker .react-colorful {\n width: 150px;\n height: 150px;\n}\n\n.colorPicker .react-colorful__hue {\n height: 16px;\n}\n\n.colorPicker .react-colorful__pointer {\n width: 20px;\n height: 20px;\n}\n\n.colorPicker .react-colorful__saturation {\n border-radius: 4px 4px 0 0;\n}\n\n.colorPicker .react-colorful__last-control {\n border-radius: 0 0 4px 4px;\n}\n\n.colorPicker-dropdown {\n color: transparent;\n}\n\n.colorPicker-dropdown .ant-dropdown-menu-root {\n padding: 0px;\n background-color: transparent;\n box-shadow: none;\n}\n\n.colorPicker-dropdown .ant-dropdown-menu-root .ant-dropdown-menu-item {\n padding: 0px;\n color: transparent;\n background-color: transparent;\n}\n";
@@ -21996,16 +22143,6 @@ const ColorPicker = ({
21996
22143
  });
21997
22144
  const [showPicker, setShowPicker] = React__default.useState(false);
21998
22145
 
21999
- // Update user color and opacity if they were changed on server
22000
- React__default.useEffect(() => {
22001
- setUColor({
22002
- r,
22003
- g,
22004
- b,
22005
- a: opacity
22006
- });
22007
- }, [r, g, b, opacity]);
22008
-
22009
22146
  // Set the origin color and opacity foreach solid, if it is not set yet. It will be used to reset the color in case of user canceled the input.
22010
22147
  React__default.useEffect(() => {
22011
22148
  if (!showPicker) {
@@ -22273,7 +22410,7 @@ const Solid = ({
22273
22410
  underlined: isHovered,
22274
22411
  strong: isSelected
22275
22412
  });
22276
- const menuItems = useMenuItems(setRename);
22413
+ const menuItems = useMenuItems(drawingId, solidId, setRename);
22277
22414
  return /*#__PURE__*/React__default.createElement(HoveredDiv, {
22278
22415
  style: {
22279
22416
  flex: 1,
@@ -22392,39 +22529,41 @@ const SideBar = ({
22392
22529
  var css_248z = ".toolbar-dropdown .ant-dropdown-menu-root {\n margin-left: -24px;\n}\n";
22393
22530
  styleInject(css_248z);
22394
22531
 
22395
- var img$p = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M54.59 49.2615V54.9931H48.7075H42.8251V49.2615V43.5299H48.7075H54.59V49.2615Z' fill='%23C4C4C4'/%3e%3cpath d='M42.8251 43.5299L34.0767 35.0832M42.8251 43.5299V49.2615M42.8251 43.5299H48.7075M42.8251 54.9931L34.0767 64.1437M42.8251 54.9931V49.2615M42.8251 54.9931H48.7075M54.59 54.9931L63.0366 64.1437M54.59 54.9931V49.2615M54.59 54.9931H48.7075M54.59 43.5299L63.0366 35.0832M54.59 43.5299V49.2615M54.59 43.5299H48.7075M54.59 49.2615H79.1254M42.8251 49.2615H17.9879M48.7075 43.5299L48.7075 18.9944M48.7075 54.9931L48.7075 79.8303' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
22532
+ var img$q = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M54.59 49.2615V54.9931H48.7075H42.8251V49.2615V43.5299H48.7075H54.59V49.2615Z' fill='%23C4C4C4'/%3e%3cpath d='M42.8251 43.5299L34.0767 35.0832M42.8251 43.5299V49.2615M42.8251 43.5299H48.7075M42.8251 54.9931L34.0767 64.1437M42.8251 54.9931V49.2615M42.8251 54.9931H48.7075M54.59 54.9931L63.0366 64.1437M54.59 54.9931V49.2615M54.59 54.9931H48.7075M54.59 43.5299L63.0366 35.0832M54.59 43.5299V49.2615M54.59 43.5299H48.7075M54.59 49.2615H79.1254M42.8251 49.2615H17.9879M48.7075 43.5299L48.7075 18.9944M48.7075 54.9931L48.7075 79.8303' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
22533
+
22534
+ var img$p = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg clip-path='url(%23clip0)'%3e%3cpath d='M23.3951 -18.3953C26.7929 -27.63 31.0227 -40.7314 31.0227 -40.7314L38.6065 -18.3796L31.0008 -18.3874L23.3951 -18.3953Z' fill='%23C4C4C4'/%3e%3cpath d='M30.9497 33.7484L31.0008 -18.3874M31.0008 -18.3874L23.3951 -18.3953C26.7929 -27.63 31.0227 -40.7314 31.0227 -40.7314L38.6065 -18.3796L31.0008 -18.3874Z' stroke='%23C4C4C4' stroke-width='5'/%3e%3cpath d='M-19.6068 58.8999C-29.4464 58.8234 -43.2064 59.2709 -43.2064 59.2709L-24.7335 44.5785L-22.1701 51.7392L-19.6068 58.8999Z' fill='%23C4C4C4'/%3e%3cpath d='M26.9146 34.1651L-22.1701 51.7392M-22.1701 51.7392L-19.6068 58.8999C-29.4464 58.8234 -43.2064 59.2709 -43.2064 59.2709L-24.7335 44.5785L-22.1701 51.7392Z' stroke='%23C4C4C4' stroke-width='5'/%3e%3cpath d='M71.7906 62.6511C76.2149 71.4403 82.8953 83.4781 82.8953 83.4781L61.3896 73.7508L66.5901 68.201L71.7906 62.6511Z' fill='black'/%3e%3cpath d='M28.5445 32.5543L66.5901 68.201M66.5901 68.201L71.7906 62.6511C76.2149 71.4403 82.8953 83.4781 82.8953 83.4781L61.3896 73.7508L66.5901 68.201Z' stroke='black' stroke-width='5'/%3e%3ccircle cx='30.9862' cy='33.7406' r='14.6466' transform='rotate(10.304 30.9862 33.7406)' fill='%23C4C4C4'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='clip0'%3e%3crect width='100' height='100' fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
22396
22535
 
22397
- var img$o = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg clip-path='url(%23clip0)'%3e%3cpath d='M23.3951 -18.3953C26.7929 -27.63 31.0227 -40.7314 31.0227 -40.7314L38.6065 -18.3796L31.0008 -18.3874L23.3951 -18.3953Z' fill='%23C4C4C4'/%3e%3cpath d='M30.9497 33.7484L31.0008 -18.3874M31.0008 -18.3874L23.3951 -18.3953C26.7929 -27.63 31.0227 -40.7314 31.0227 -40.7314L38.6065 -18.3796L31.0008 -18.3874Z' stroke='%23C4C4C4' stroke-width='5'/%3e%3cpath d='M-19.6068 58.8999C-29.4464 58.8234 -43.2064 59.2709 -43.2064 59.2709L-24.7335 44.5785L-22.1701 51.7392L-19.6068 58.8999Z' fill='%23C4C4C4'/%3e%3cpath d='M26.9146 34.1651L-22.1701 51.7392M-22.1701 51.7392L-19.6068 58.8999C-29.4464 58.8234 -43.2064 59.2709 -43.2064 59.2709L-24.7335 44.5785L-22.1701 51.7392Z' stroke='%23C4C4C4' stroke-width='5'/%3e%3cpath d='M71.7906 62.6511C76.2149 71.4403 82.8953 83.4781 82.8953 83.4781L61.3896 73.7508L66.5901 68.201L71.7906 62.6511Z' fill='black'/%3e%3cpath d='M28.5445 32.5543L66.5901 68.201M66.5901 68.201L71.7906 62.6511C76.2149 71.4403 82.8953 83.4781 82.8953 83.4781L61.3896 73.7508L66.5901 68.201Z' stroke='black' stroke-width='5'/%3e%3ccircle cx='30.9862' cy='33.7406' r='14.6466' transform='rotate(10.304 30.9862 33.7406)' fill='%23C4C4C4'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='clip0'%3e%3crect width='100' height='100' fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
22536
+ var img$o = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M76 68H24V32H50H76V50.3396V68Z' fill='%239D9D9C'/%3e%3cpath d='M50 32V50.3396H76M50 32H24V68H76V50.3396L50 32ZM50 32H76V50.3396L50 32Z' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
22398
22537
 
22399
- var img$n = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M76 68H24V32H50H76V50.3396V68Z' fill='%239D9D9C'/%3e%3cpath d='M50 32V50.3396H76M50 32H24V68H76V50.3396L50 32ZM50 32H76V50.3396L50 32Z' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
22538
+ var img$n = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M50.0022 18.8763L56.8295 30.8519H50.0029H42.9422L50.0022 18.8763Z' fill='black'/%3e%3cpath d='M50.0044 58.7949L50.0029 30.8519M50.0029 30.8519H56.8295L50.0022 18.8763L42.9422 30.8519H50.0029Z' stroke='black' stroke-width='5'/%3e%3cpath d='M13.575 80.0459L20.5325 68.1455L23.9458 74.0575L27.4762 80.1723L13.575 80.0459Z' fill='black'/%3e%3cpath d='M48.1444 60.0847L23.9458 74.0575M23.9458 74.0575L20.5325 68.1455L13.575 80.0459L27.4762 80.1723L23.9458 74.0575Z' stroke='black' stroke-width='5'/%3e%3cpath d='M86.5163 80.2449L72.7315 80.1697L76.1448 74.2577L79.6751 68.1429L86.5163 80.2449Z' fill='black'/%3e%3cpath d='M51.9447 60.2875L76.1448 74.2577M76.1448 74.2577L72.7315 80.1697L86.5163 80.2449L79.6751 68.1429L76.1448 74.2577Z' stroke='black' stroke-width='5'/%3e%3ccircle cx='50.0032' cy='58.4568' r='9.47496' fill='black'/%3e%3c/svg%3e";
22400
22539
 
22401
- var img$m = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M50.0022 18.8763L56.8295 30.8519H50.0029H42.9422L50.0022 18.8763Z' fill='black'/%3e%3cpath d='M50.0044 58.7949L50.0029 30.8519M50.0029 30.8519H56.8295L50.0022 18.8763L42.9422 30.8519H50.0029Z' stroke='black' stroke-width='5'/%3e%3cpath d='M13.575 80.0459L20.5325 68.1455L23.9458 74.0575L27.4762 80.1723L13.575 80.0459Z' fill='black'/%3e%3cpath d='M48.1444 60.0847L23.9458 74.0575M23.9458 74.0575L20.5325 68.1455L13.575 80.0459L27.4762 80.1723L23.9458 74.0575Z' stroke='black' stroke-width='5'/%3e%3cpath d='M86.5163 80.2449L72.7315 80.1697L76.1448 74.2577L79.6751 68.1429L86.5163 80.2449Z' fill='black'/%3e%3cpath d='M51.9447 60.2875L76.1448 74.2577M76.1448 74.2577L72.7315 80.1697L86.5163 80.2449L79.6751 68.1429L76.1448 74.2577Z' stroke='black' stroke-width='5'/%3e%3ccircle cx='50.0032' cy='58.4568' r='9.47496' fill='black'/%3e%3c/svg%3e";
22540
+ var img$m = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M61 69.5C71.7696 69.5 80.5 60.7696 80.5 50C80.5 39.2304 71.7696 30.5 61 30.5C50.2304 30.5 41.5 39.2304 41.5 50C41.5 60.7696 50.2304 69.5 61 69.5Z' fill='%239D9D9C' stroke='black' stroke-width='5'/%3e%3cpath d='M39 69.5C49.7696 69.5 58.5 60.7696 58.5 50C58.5 39.2304 49.7696 30.5 39 30.5C28.2304 30.5 19.5 39.2304 19.5 50C19.5 60.7696 28.2304 69.5 39 69.5Z' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
22402
22541
 
22403
- var img$l = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M61 69.5C71.7696 69.5 80.5 60.7696 80.5 50C80.5 39.2304 71.7696 30.5 61 30.5C50.2304 30.5 41.5 39.2304 41.5 50C41.5 60.7696 50.2304 69.5 61 69.5Z' fill='%239D9D9C' stroke='black' stroke-width='5'/%3e%3cpath d='M39 69.5C49.7696 69.5 58.5 60.7696 58.5 50C58.5 39.2304 49.7696 30.5 39 30.5C28.2304 30.5 19.5 39.2304 19.5 50C19.5 60.7696 28.2304 69.5 39 69.5Z' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
22542
+ var img$l = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M80 64.2836C80 65.2687 80.5 66.0149 80.5 67L79 67.7313L73 71.1791L52.5 83.5C52.25 77.3433 50.5 71.1791 49 66.2537L77.5 49.5C78.25 51.9627 79.25 55.0448 79.5 58C80 59.9701 79.75 62.0672 80 64.2836Z' fill='%239D9D9C'/%3e%3cpath d='M63.1637 25C68.6959 30.4337 74.731 38.5843 78 49.6988L49.5848 66C46.3158 55.3795 40.5322 47.2289 35 41.3012L63.1637 25Z' fill='white'/%3e%3cpath d='M64.5 25L35.1739 42C30.4534 37.0476 24.9814 32.981 22 31L42.5 19H43.6211L50.5 15C50.9969 15.2476 53.0062 16.2571 54 17C55.2422 17.7429 56.7609 19.0143 58.5 20.5C59.7422 21.7381 62.5124 23.019 64.5 25Z' fill='%239D9D9C'/%3e%3cpath d='M20 35C22.8 36.7225 27.4273 40.0628 31.5 44C39.3909 51.6283 46.7273 64.5445 48 82.7539C48 82.7539 48 82.7539 48 83L20 67.4974V35Z' fill='%239D9D9C'/%3e%3cpath d='M35.3986 41.5077C40.8007 47.4154 46.4484 55.5385 49.6406 66.1231C51.3594 71.0462 52.3416 76.7077 52.5872 82.8615L73.2135 71.0462L79.1068 67.6L80.089 67.1077C80.089 66.1231 80.089 65.1385 80.089 64.1538C79.8434 61.9385 79.8434 59.9692 79.3523 58C78.8612 55.0462 78.3701 52.3385 77.6335 49.8769C74.4413 38.8 68.7936 30.9231 63.1459 25.2615C61.1815 23.2923 59.4626 21.8154 57.7438 20.3385C56.0249 18.8615 54.306 17.8769 53.0783 16.8923C52.0961 16.1538 51.3594 15.9077 50.6228 15.4154L44.2384 19.1077L43.5018 19.3538L23.121 31.1692C26.5587 33.3846 30.9786 36.5846 35.3986 41.5077ZM16 29.9385L50.3772 10C50.6228 10 51.1139 10.2462 51.605 10.4923C51.605 10.4923 51.8505 10.4923 52.0961 10.7385C52.0961 10.7385 52.3416 10.7385 52.3416 10.9846C52.5872 11.2308 53.0783 11.2308 53.5694 11.7231C53.5694 11.7231 53.8149 11.7231 53.8149 11.9692C54.0605 11.9692 54.0605 12.2154 54.306 12.2154C60.4448 15.9077 75.1779 26.7385 81.8078 47.1692C83.7722 53.0769 85 59.7231 85 67.3538C85 67.6 85 67.6 85 67.8462C85 68.0923 85 68.3385 85 68.5846C85 69.0769 85 69.8154 84.7545 70.0615L50.6228 90L16 70.0615V29.9385ZM31.2242 43.9692C27.2954 40.0308 23.6121 37.0769 20.911 35.6V67.1077L47.9217 82.6154C47.9217 82.6154 47.9217 82.6154 47.9217 82.3692C46.694 64.1539 38.8363 51.8462 31.2242 43.9692Z' fill='black'/%3e%3c/svg%3e";
22404
22543
 
22405
- var img$k = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M80 64.2836C80 65.2687 80.5 66.0149 80.5 67L79 67.7313L73 71.1791L52.5 83.5C52.25 77.3433 50.5 71.1791 49 66.2537L77.5 49.5C78.25 51.9627 79.25 55.0448 79.5 58C80 59.9701 79.75 62.0672 80 64.2836Z' fill='%239D9D9C'/%3e%3cpath d='M63.1637 25C68.6959 30.4337 74.731 38.5843 78 49.6988L49.5848 66C46.3158 55.3795 40.5322 47.2289 35 41.3012L63.1637 25Z' fill='white'/%3e%3cpath d='M64.5 25L35.1739 42C30.4534 37.0476 24.9814 32.981 22 31L42.5 19H43.6211L50.5 15C50.9969 15.2476 53.0062 16.2571 54 17C55.2422 17.7429 56.7609 19.0143 58.5 20.5C59.7422 21.7381 62.5124 23.019 64.5 25Z' fill='%239D9D9C'/%3e%3cpath d='M20 35C22.8 36.7225 27.4273 40.0628 31.5 44C39.3909 51.6283 46.7273 64.5445 48 82.7539C48 82.7539 48 82.7539 48 83L20 67.4974V35Z' fill='%239D9D9C'/%3e%3cpath d='M35.3986 41.5077C40.8007 47.4154 46.4484 55.5385 49.6406 66.1231C51.3594 71.0462 52.3416 76.7077 52.5872 82.8615L73.2135 71.0462L79.1068 67.6L80.089 67.1077C80.089 66.1231 80.089 65.1385 80.089 64.1538C79.8434 61.9385 79.8434 59.9692 79.3523 58C78.8612 55.0462 78.3701 52.3385 77.6335 49.8769C74.4413 38.8 68.7936 30.9231 63.1459 25.2615C61.1815 23.2923 59.4626 21.8154 57.7438 20.3385C56.0249 18.8615 54.306 17.8769 53.0783 16.8923C52.0961 16.1538 51.3594 15.9077 50.6228 15.4154L44.2384 19.1077L43.5018 19.3538L23.121 31.1692C26.5587 33.3846 30.9786 36.5846 35.3986 41.5077ZM16 29.9385L50.3772 10C50.6228 10 51.1139 10.2462 51.605 10.4923C51.605 10.4923 51.8505 10.4923 52.0961 10.7385C52.0961 10.7385 52.3416 10.7385 52.3416 10.9846C52.5872 11.2308 53.0783 11.2308 53.5694 11.7231C53.5694 11.7231 53.8149 11.7231 53.8149 11.9692C54.0605 11.9692 54.0605 12.2154 54.306 12.2154C60.4448 15.9077 75.1779 26.7385 81.8078 47.1692C83.7722 53.0769 85 59.7231 85 67.3538C85 67.6 85 67.6 85 67.8462C85 68.0923 85 68.3385 85 68.5846C85 69.0769 85 69.8154 84.7545 70.0615L50.6228 90L16 70.0615V29.9385ZM31.2242 43.9692C27.2954 40.0308 23.6121 37.0769 20.911 35.6V67.1077L47.9217 82.6154C47.9217 82.6154 47.9217 82.6154 47.9217 82.3692C46.694 64.1539 38.8363 51.8462 31.2242 43.9692Z' fill='black'/%3e%3c/svg%3e";
22544
+ var img$k = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M83.5 47.5L84 69.5L53 88V65.4255L83.5 47.5Z' fill='%239D9D9C'/%3e%3cpath d='M72.2041 27L82 42.2927L50.9796 60L42 44.439L72.2041 27Z' fill='white'/%3e%3cpath d='M69 23L38.5 41.5L20 29.5686L50.1017 12L69 23Z' fill='%239D9D9C'/%3e%3cpath d='M48 64.5236V88L17 69.2408V34L36.5496 44.822L48 64.5236Z' fill='%239D9D9C'/%3e%3cpath d='M83.266 69.5323V48.1723L53.2305 65.6985V87.0585L83.266 69.5323ZM38.4858 40.2308L68.5213 22.9785L50.5 12.2985L20.4645 29.8246L38.4858 40.2308ZM72.617 26.8123L42.0355 44.3385L51.3191 60.2215L82.4468 42.4215L72.617 26.8123ZM50.5 95L12 72.8185V28.1815L50.5 6L69.6135 17.2277L70.1596 17.5015L72.0709 18.5969L75.3475 20.5138L75.6206 20.7877L89 42.1477V43.5169V47.3508V50.9108V72.8185L50.5 95ZM47.7695 64.8769L36.5745 45.4338L17.461 34.48V69.5323L47.7695 87.0585V64.8769V64.8769Z' fill='black'/%3e%3c/svg%3e";
22406
22545
 
22407
- var img$j = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M83.5 47.5L84 69.5L53 88V65.4255L83.5 47.5Z' fill='%239D9D9C'/%3e%3cpath d='M72.2041 27L82 42.2927L50.9796 60L42 44.439L72.2041 27Z' fill='white'/%3e%3cpath d='M69 23L38.5 41.5L20 29.5686L50.1017 12L69 23Z' fill='%239D9D9C'/%3e%3cpath d='M48 64.5236V88L17 69.2408V34L36.5496 44.822L48 64.5236Z' fill='%239D9D9C'/%3e%3cpath d='M83.266 69.5323V48.1723L53.2305 65.6985V87.0585L83.266 69.5323ZM38.4858 40.2308L68.5213 22.9785L50.5 12.2985L20.4645 29.8246L38.4858 40.2308ZM72.617 26.8123L42.0355 44.3385L51.3191 60.2215L82.4468 42.4215L72.617 26.8123ZM50.5 95L12 72.8185V28.1815L50.5 6L69.6135 17.2277L70.1596 17.5015L72.0709 18.5969L75.3475 20.5138L75.6206 20.7877L89 42.1477V43.5169V47.3508V50.9108V72.8185L50.5 95ZM47.7695 64.8769L36.5745 45.4338L17.461 34.48V69.5323L47.7695 87.0585V64.8769V64.8769Z' fill='black'/%3e%3c/svg%3e";
22546
+ var img$j = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M50.5 85L19.5 67V57L50.5 73.5L80.5 57V67L50.5 85Z' fill='%239D9D9C'/%3e%3cpath d='M50.5 58.5L19.5 41.5V33L50.5 15L80.5 33V41.5L50.5 58.5Z' fill='%239D9D9C'/%3e%3cpath d='M50.5 85L19.5 67V57L50.5 73.5M50.5 85V73.5M50.5 85L80.5 67V57L50.5 73.5M50.5 58.5L19.5 41.5V33M50.5 58.5L80.5 41.5V33M50.5 58.5V49M19.5 33L50.5 15L80.5 33M19.5 33L50.5 49M80.5 33L50.5 49' stroke='black' stroke-width='5'/%3e%3cpath d='M7 42.5L50.5 66L90.5 42.5' stroke='black' stroke-width='4' stroke-dasharray='6 6'/%3e%3c/svg%3e";
22408
22547
 
22409
- var img$i = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M50.5 85L19.5 67V57L50.5 73.5L80.5 57V67L50.5 85Z' fill='%239D9D9C'/%3e%3cpath d='M50.5 58.5L19.5 41.5V33L50.5 15L80.5 33V41.5L50.5 58.5Z' fill='%239D9D9C'/%3e%3cpath d='M50.5 85L19.5 67V57L50.5 73.5M50.5 85V73.5M50.5 85L80.5 67V57L50.5 73.5M50.5 58.5L19.5 41.5V33M50.5 58.5L80.5 41.5V33M50.5 58.5V49M19.5 33L50.5 15L80.5 33M19.5 33L50.5 49M80.5 33L50.5 49' stroke='black' stroke-width='5'/%3e%3cpath d='M7 42.5L50.5 66L90.5 42.5' stroke='black' stroke-width='4' stroke-dasharray='6 6'/%3e%3c/svg%3e";
22548
+ var img$i = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M51.0063 73.336C53.4802 75.0704 56.9902 77.2291 56.9902 77.2291L50.998 81.1099L51.0022 77.223L51.0063 73.336Z' fill='black'/%3e%3cpath d='M37.0301 77.2088L51.0022 77.223M51.0022 77.223L51.0063 73.336C53.4802 75.0704 56.9902 77.2291 56.9902 77.2291L50.998 81.1099L51.0022 77.223Z' stroke='black' stroke-width='5'/%3e%3cpath d='M18.1688 46.008C19.9005 43.5323 22.0554 40.02 22.0554 40.02L25.9427 46.008H22.0557H18.1688Z' fill='black'/%3e%3cpath d='M22.0565 59.98L22.0557 46.008M22.0557 46.008H18.1688C19.9005 43.5323 22.0554 40.02 22.0554 40.02L25.9427 46.008H22.0557Z' stroke='black' stroke-width='5'/%3e%3cpath d='M13.074 69.4348V86.926H31.038V69.4348H13.074Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M68.962 69.4348V86.926H86.9261V69.4348H68.962Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M13.074 13.074V30.5653H31.038V13.074H13.074Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
22410
22549
 
22411
- var img$h = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M51.0063 73.336C53.4802 75.0704 56.9902 77.2291 56.9902 77.2291L50.998 81.1099L51.0022 77.223L51.0063 73.336Z' fill='black'/%3e%3cpath d='M37.0301 77.2088L51.0022 77.223M51.0022 77.223L51.0063 73.336C53.4802 75.0704 56.9902 77.2291 56.9902 77.2291L50.998 81.1099L51.0022 77.223Z' stroke='black' stroke-width='5'/%3e%3cpath d='M18.1688 46.008C19.9005 43.5323 22.0554 40.02 22.0554 40.02L25.9427 46.008H22.0557H18.1688Z' fill='black'/%3e%3cpath d='M22.0565 59.98L22.0557 46.008M22.0557 46.008H18.1688C19.9005 43.5323 22.0554 40.02 22.0554 40.02L25.9427 46.008H22.0557Z' stroke='black' stroke-width='5'/%3e%3cpath d='M13.074 69.4348V86.926H31.038V69.4348H13.074Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M68.962 69.4348V86.926H86.9261V69.4348H68.962Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M13.074 13.074V30.5653H31.038V13.074H13.074Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3c/svg%3e";
22550
+ var img$h = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M24.5872 29.3655V10.7394H43.4203V29.3655H24.5872Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M56.4585 59.313V40.6869H75.2916V59.313H56.4585Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M24.5872 88.9692V70.343H43.4203V88.9692H24.5872Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='33.9004' cy='50' r='7.01998' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M66.9687 69.0801L64.6302 73.0889H66.9687H69.0891L66.9687 69.0801Z' fill='black'/%3e%3cpath d='M57.9614 80.0566C57.9614 80.0566 61.8547 80.0566 64.6302 78.2571C67.4056 76.4577 66.9687 73.0889 66.9687 73.0889M66.9687 73.0889H69.0891L66.9687 69.0801L64.6302 73.0889H66.9687Z' stroke='black' stroke-width='3'/%3e%3cpath d='M59.377 23.2311L63.3858 25.5696L63.3858 23.2311L63.3858 21.1106L59.377 23.2311Z' fill='black'/%3e%3cpath d='M70.3535 32.2383C70.3535 32.2383 70.3535 28.345 68.554 25.5696C66.7546 22.7942 63.3858 23.2311 63.3858 23.2311M63.3858 23.2311L63.3858 21.1106L59.377 23.2311L63.3858 25.5696L63.3858 23.2311Z' stroke='black' stroke-width='3'/%3e%3c/svg%3e";
22412
22551
 
22413
- var img$g = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M24.5872 29.3655V10.7394H43.4203V29.3655H24.5872Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M56.4585 59.313V40.6869H75.2916V59.313H56.4585Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M24.5872 88.9692V70.343H43.4203V88.9692H24.5872Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3ccircle cx='33.9004' cy='50' r='7.01998' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M66.9687 69.0801L64.6302 73.0889H66.9687H69.0891L66.9687 69.0801Z' fill='black'/%3e%3cpath d='M57.9614 80.0566C57.9614 80.0566 61.8547 80.0566 64.6302 78.2571C67.4056 76.4577 66.9687 73.0889 66.9687 73.0889M66.9687 73.0889H69.0891L66.9687 69.0801L64.6302 73.0889H66.9687Z' stroke='black' stroke-width='3'/%3e%3cpath d='M59.377 23.2311L63.3858 25.5696L63.3858 23.2311L63.3858 21.1106L59.377 23.2311Z' fill='black'/%3e%3cpath d='M70.3535 32.2383C70.3535 32.2383 70.3535 28.345 68.554 25.5696C66.7546 22.7942 63.3858 23.2311 63.3858 23.2311M63.3858 23.2311L63.3858 21.1106L59.377 23.2311L63.3858 25.5696L63.3858 23.2311Z' stroke='black' stroke-width='3'/%3e%3c/svg%3e";
22552
+ var img$g = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M11.7271 44.9991V11.5911H44.4269V44.9991H11.7271Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M54.225 87.1429V53.7348H86.9248V87.1429H54.225Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M70.7374 34.5093C71.9639 38.3422 73.9238 43.5731 73.9238 43.5731L65.0733 39.8339L67.9054 37.1716L70.7374 34.5093Z' fill='black'/%3e%3cpath d='M53.8624 22.2349L67.9054 37.1716M67.9054 37.1716L70.7374 34.5093C71.9639 38.3422 73.9238 43.5731 73.9238 43.5731L65.0733 39.8339L67.9054 37.1716Z' stroke='black' stroke-width='3'/%3e%3cpath d='M40.0838 64.9367C41.3102 68.7697 43.2701 74.0005 43.2701 74.0005L34.4196 70.2613L37.2517 67.599L40.0838 64.9367Z' fill='black'/%3e%3cpath d='M23.2087 52.6623L37.2517 67.599M37.2517 67.599L40.0838 64.9367C41.3102 68.7697 43.2701 74.0005 43.2701 74.0005L34.4196 70.2613L37.2517 67.599Z' stroke='black' stroke-width='3'/%3e%3c/svg%3e";
22414
22553
 
22415
- var img$f = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M11.7271 44.9991V11.5911H44.4269V44.9991H11.7271Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M54.225 87.1429V53.7348H86.9248V87.1429H54.225Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M70.7374 34.5093C71.9639 38.3422 73.9238 43.5731 73.9238 43.5731L65.0733 39.8339L67.9054 37.1716L70.7374 34.5093Z' fill='black'/%3e%3cpath d='M53.8624 22.2349L67.9054 37.1716M67.9054 37.1716L70.7374 34.5093C71.9639 38.3422 73.9238 43.5731 73.9238 43.5731L65.0733 39.8339L67.9054 37.1716Z' stroke='black' stroke-width='3'/%3e%3cpath d='M40.0838 64.9367C41.3102 68.7697 43.2701 74.0005 43.2701 74.0005L34.4196 70.2613L37.2517 67.599L40.0838 64.9367Z' fill='black'/%3e%3cpath d='M23.2087 52.6623L37.2517 67.599M37.2517 67.599L40.0838 64.9367C41.3102 68.7697 43.2701 74.0005 43.2701 74.0005L34.4196 70.2613L37.2517 67.599Z' stroke='black' stroke-width='3'/%3e%3c/svg%3e";
22554
+ var img$f = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M48.87 15.5356L25.5355 38.8701L49.5772 62.9118L72.9117 39.5772L48.87 15.5356Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M62.0025 72.2212L69.8723 68.4292L66.8718 76.8386L64.6776 74.8257L62.0025 72.2212Z' fill='black'/%3e%3cpath d='M32.4696 74.8257C32.4696 74.8257 41.5741 81.7231 50.2894 80.9647C59.0047 80.2063 64.6776 74.8257 64.6776 74.8257M64.6776 74.8257L62.0025 72.2212L69.8723 68.4292L66.8718 76.8386L64.6776 74.8257Z' stroke='black' stroke-width='3'/%3e%3c/svg%3e";
22416
22555
 
22417
- var img$e = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M48.87 15.5356L25.5355 38.8701L49.5772 62.9118L72.9117 39.5772L48.87 15.5356Z' fill='%23C4C4C4' stroke='black' stroke-width='5'/%3e%3cpath d='M62.0025 72.2212L69.8723 68.4292L66.8718 76.8386L64.6776 74.8257L62.0025 72.2212Z' fill='black'/%3e%3cpath d='M32.4696 74.8257C32.4696 74.8257 41.5741 81.7231 50.2894 80.9647C59.0047 80.2063 64.6776 74.8257 64.6776 74.8257M64.6776 74.8257L62.0025 72.2212L69.8723 68.4292L66.8718 76.8386L64.6776 74.8257Z' stroke='black' stroke-width='3'/%3e%3c/svg%3e";
22556
+ var img$e = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath d='M73 35H27V81H73V35Z' fill='url(%23pattern0)'/%3e%3cpath d='M76.7543 68.9546C79.0345 72.2706 82.4203 76.7135 82.4203 76.7135L72.8674 75.687L74.8108 72.3208L76.7543 68.9546Z' fill='black'/%3e%3cpath d='M57.0555 62.071L74.8108 72.3208M74.8108 72.3208L76.7543 68.9546C79.0345 72.2706 82.4203 76.7135 82.4203 76.7135L72.8674 75.687L74.8108 72.3208Z' stroke='black' stroke-width='3'/%3e%3cpath d='M46.1127 29.1424C47.8443 25.5097 49.9991 20.3561 49.9991 20.3561L53.8866 29.1424H49.9996H46.1127Z' fill='black'/%3e%3cpath d='M50.0008 49.6439L49.9996 29.1424M49.9996 29.1424H46.1127C47.8443 25.5097 49.9991 20.3561 49.9991 20.3561L53.8866 29.1424H49.9996Z' stroke='black' stroke-width='3'/%3e%3cpath d='M27.4698 75.6876C23.4579 76.0043 17.9174 76.715 17.9174 76.715L23.5828 68.9552L25.5263 72.3214L27.4698 75.6876Z' fill='black'/%3e%3cpath d='M43.2806 62.0696L25.5263 72.3214M25.5263 72.3214L27.4698 75.6876C23.4579 76.0043 17.9174 76.715 17.9174 76.715L23.5828 68.9552L25.5263 72.3214Z' stroke='black' stroke-width='3'/%3e%3cpath d='M36.0513 49.8615L49.7913 41.8235L64.2183 49.8615V66.1434L49.7913 74.0439L36.0513 66.1434V49.8615Z' fill='%23C4C4C4'/%3e%3cpath d='M36.0513 49.8615L49.7913 57.8994M36.0513 49.8615L49.7913 41.8235L64.2183 49.8615M36.0513 49.8615V66.1434L49.7913 74.0439M49.7913 57.8994V74.0439M49.7913 57.8994L64.2183 49.8615M49.7913 74.0439L64.2183 66.1434V49.8615' stroke='black' stroke-width='4'/%3e%3cdefs%3e%3cpattern id='pattern0' patternContentUnits='objectBoundingBox' width='1' height='1'%3e%3cuse xlink:href='%23image0' transform='scale(0.01)'/%3e%3c/pattern%3e%3cimage id='image0' width='100' height='100' xlink:href='data:image/png%3bbase64%2ciVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2bIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRDNDczMDE4QjE3MzExRTY5Mjc0REVFOTVERDJGNTg3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRDNDczMDE5QjE3MzExRTY5Mjc0REVFOTVERDJGNTg3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEM0NzMwMTZCMTczMTFFNjkyNzRERUU5NUREMkY1ODciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEM0NzMwMTdCMTczMTFFNjkyNzRERUU5NUREMkY1ODciLz4gPC9yZGY6RGVzY3JpcHRpb24%2bIDwvcmRmOlJERj4gPC94OnhtcG1ldGE%2bIDw/eHBhY2tldCBlbmQ9InIiPz6Uw7%2boAAALkklEQVR42uydCXAT1xmAV5ZsybawJcuXjDkcfGJjS5YpJSnJUFKSmR7DMG1DMi0FGpMZmoSb9EpCrjahhQIBUgiFlmQKZBJKOi1tTElmSIGktQ7f%2bMI2NpIv3bJl6%2bz/W5spsaU1Bh0r%2b/0z/6xtPe%2b%2b9z69/d//9v3/crxeL0WEPRJDuoAAIUKAECBECBAChAgBQoAQIUAIECIECJFAwgvGSTgcTkQqn3%2biGS/8OOgeUA/oTtD3WjYURGSBLhjrgpygnCQCQADGYjgcAF067qN/g24GKCoCJDwgMuHwOuhavHSgvgE9AfoLANNHgIQGBB8OW7GTQYV3%2bG9W0FdwJAEYBwESPBir4LAPNOcuT9EGuh2g/JUAuTcQi%2bDwO9AVTP2wUMJXub0Up9kwKme4jaFUgW4DMA0EyNRASODwMuhToNxA5UR8btP2Col4gSguc2wYmBy6fdV6i2nUXcBwejfoW6AvAhgDAcIMAqfhm0B3g4oDlYuN4ejWlYgsy%2bckFviz5pe6bE2nGs1il8ebyXA5I%2bjzoEcBjIsAmQjjEdpOLAx4HYqyL5%2bb2LR2oUgex2W%2bqMPt9Z6oN6o%2b7RkuhhYKGIri7WsrQLlIgPhA5NIgvs1ULic5Tg23p7wUAVc4lfMP2t22vdWDrV0Wp3ySoh%2bC7gAwbTMSCIBIgsMvQbfgXShQOWFcTOuWckk8GO7se6lj/eBo9wGVfnTI6cllGlig%2b0FfAzCWGQEEQOD62XrQX4GmByrH5VCDjxUm937zvlklwZoyYFP/dsNa/16zWQqzMglDUXQmfw76RwDjmbZAAMbX4HAQlOn24fiqNL5uY2mKTMDjcEMxPbW7PK5jtcaaz3V2nFbHMRRV0sswV6YVEAAxl/ItAD7GVC5LyKvZWZE6LyORJwrHUoduyGUE%2b9KttblKJyl6BnQXgOmOaiAAIgEbAvocxTDTiefFdD4tT/HK0wU5VARE2WfvOKwxUCMuL9P17fSX6g0AY48qIPSy%2bBqsPOicwP9HmVblJnWtzksq40ZmBf//3iJ0w7kWS835dss86BKmEdpNf8nOjl/mZyUQgKGgfMviDzC1vyxNoIFRsSgxNiaOYpHYHJ5RGC31NQMjMqZVAhC0K8/evszPKiAAIgN%2b/DXoOqb1pNR4bv2OitTMuUmxqRSLBfyWAbAvfeDHlDCZDdCTOCPDZX7WACk42YI2ApfFZwUqA551T%2bUisf2B2Ql5VBTJlVvDrW/XGePB82fyg3CZ/7Xm9flvsAWIl2G5w/bIfGHrE0XJcl4Mh4pGcXm81J%2bbzOqPOm15XoZnMQDknhsY8k0OsnRB%2b5rCZFm0wkDBumMbsC2hvlbIgaj7R8oqq7S9H98cuh6tQLDu2AZsS8jhh6NBTo9XerzOKH2/xfKl5xdsl3aTo3dvtd5kGnUXhm00hrOB0LCi56/04xM%2b5TPylOJkPlfARhDmUffIAZWh4bphtBx%2bDeuXJyS3LD6XcxNmVbcC2flG/ahi0yWd610wlG4WxTii8X630aTBugEMRaDpO7YN2xg1QMQCrv74yqzZK%2bcL1TjL8r/MQAkv3LDKn/xI2/2Zzt4eaRjXtMNtT1Zpuy902GRYN4YZoxrbhm2MqlsWzkzWFYvkq3JnDe9X6lUtRoffDQijbu%2bcgyo9dSaBBw6jRJo9K1YSThDdVqf%2bt9V63cCwi9EBLEjhqzeXpxSJ%2bFx5KOsTchsCDUjYfX96OQDR7asetFocnnx/5fqhQ3Zd7nPJ0wXKn8hSShNiY2JDWa8hp8dxRGOog5kTLpFIGOrfvK1CkpQriiufVkY9XxwnfesbWdKLXbamdxrMErAd/h5O8aCDFBsvao2r85K6V%2bUmlQbbfcFFxPOtltq/tFnmgslQMIzw3rULk40r5gmLwulBhXWWhQ1bCQ18KDvR/Yc6o/LKreES6B/%2b%2bHLQUWKYIosv3LB1PF2eEiNLE8wLkk/UcUhtwAdUpQx1HFmWndCwoURcDsY77NNzHhUBgRkKd5MsRfHd/CTLPqW%2b6abFKfNXbtjlydnzn0EK7IoG/JecjARe8t1cr2/IZQI70XXL5mR07OYlxaq3V6TmpcZzFRFbFYjkzCY9gZf0%2brIMWc3ASNebKoMbANznr1yP1Snb9knv6NKsBGVlqViGQO/k/CMur/tYrUEDszg02AFhJMbGtG0ul/BLUvlyKsLCo1ggZXBLOrYyizrfZqk912rJhltWyoRpDgysq9phxec6%2b8ATRcn9j%2bYIi5m2vv/9hrX%2b7HVzhpvBTnA5lP77Bcm6b%2bFGCpYstfEolggabzDkpY/OFzoPawxKet2IN9Eoe9PeaTSlAbyWrQpJYmEKf/btn4PT2b1fpR%2bxOTxM01jHkrGNFOKyeF6MhGKR8CiWCU53dy5OVfTQ/kF/AP/ACtPnl68NUDAdVW1RSArAmfOCPWrtMDsYbztZQl4t2Ik50kSegmKh8CiWCjqI%2b5dnStCDPlZr5KMD6a9cm8lR/swl3TAOMi/D9iIBj9MJ/o1XkRFfSrFYeBTLBQx57uLMeOrMdbPmH522XH/LGgAiIeA0lkOZVy1I6lydH/mNFBFbywrFMswPFopkR1ZIeWAzlLTdntQHhMmC8ujDWYLvFUQHjKgYIbcLLte/sDRNQceBmAM9p8CNFGAnMsCvUFBRJlEZpw6GXHr4YWnh/eCXjP/swexE1cGvS0sARlo0ti1qEwdwfJ71hPrPFvKi9%2bE9RTI5ECBECBAChAgBQoAQIUAIECIECAFCuoAAIUKAECBE2AREb3enY2zFdO00bBu2MRTnDskDKqfHOxvjQPDp3uZy9saBTFXGxY1womaE0MLBGIuxOJBGkwZjL6JVsO6nGk3qyeJG2ARkB6jfdEZjcSAdNhnGXuAOkmiDcVU73Ip1/2eHTR4oboRu%2bw7WAGnZULAXDhh/fpwKsAHB4fbOeVNtyN38SW89xmSwHQTW8dmPdfWH1IY8R4AtSHRbsc15dB%2bwx4ZAhfrhUJl/ovkI5UutscxfOQyMee5ynxvjQDbJ2JdaA%2bNGDmsMdZpJ4kZAPqV8qZvUrLYhdAUfonzJZwKlM%2bJiHMhTF7VDH7RYatlgXjBuBOuy8aJ2GGCgnQi0oRtjC9dAOx8MNoyQGXXMkgN6Fn7ErKG7KV9qowmCcSAftFpKK6u0HdAJnZGCgXEjG6u0nVgXhkxA2IYXQQvptoVEQrovi84r9RLcxjAP%2bx561ExsKcaB/HcsDqRme4Vk/t3GgUxVMG7kN9WDXVqba7KEAKcpXwKznlDXKSwb5ehMbI8DmEOUL8Wf33i9HquzbOsXcSCLxCFL8YdxI0drDRo6xR8TDNz3hSmYrk7LpRM6dyG%2bZuLHoP0BivFheqyorLplgOlyQzDNyxdJMOHcJoCBdiLQhAKTYG4A/Uo4YYRthIyDglk%2bT8BoeZ9iSBMLRjYNHMq0D9ssmCY2oUjy5TiQqcpY3IhSP2JzMseNUL40sa9CPa2RsGcR29tL58XdBWDehiPO4f0mUrY6PHmvfDZALRDFqbYqJPlTTaSst7tt%2b5SDrR3m0CdSjmogt4FphcN36FTj%2bCaEIn/l2uk4kOVzE1U/KhbJY2MmTzV%2bssGkutw9VOxlTkvbiKM0GKnGg7LexNJk/C%2bBBkxEicn415eIrDB6hk5fN3%2bps9cUJqvB2Yw/1WASOSdPxv8C6O9JMv7JwaCH/Cp6/gwOGgZtGtzjAkThb0b4m5jJB0QICIO8rmLqYBbRyzDLg3TKf1G%2bNyHUh6K%2bM%2bmVR6tpwz//Lk/RThvs86GsZzD6Mioe4UJHnqONPSbIH5rCv2JqqJ%2bCFocaxrQ06nc4WrIo32vzfsj0ZQX9E%2bjPAETYHiXP9BdLLqHty5JxH12jlzuqw12nGQ2EhsKhRwqOGFwBwJzsp2f8q1eJBE/IviwChAgBQoAQIUAIECIECAFChAAhQIgQIEQCyv8EGACQZFkbz7/GOQAAAABJRU5ErkJggg=='/%3e%3c/defs%3e%3c/svg%3e";
22418
22557
 
22419
- var img$d = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath d='M73 35H27V81H73V35Z' fill='url(%23pattern0)'/%3e%3cpath d='M76.7543 68.9546C79.0345 72.2706 82.4203 76.7135 82.4203 76.7135L72.8674 75.687L74.8108 72.3208L76.7543 68.9546Z' fill='black'/%3e%3cpath d='M57.0555 62.071L74.8108 72.3208M74.8108 72.3208L76.7543 68.9546C79.0345 72.2706 82.4203 76.7135 82.4203 76.7135L72.8674 75.687L74.8108 72.3208Z' stroke='black' stroke-width='3'/%3e%3cpath d='M46.1127 29.1424C47.8443 25.5097 49.9991 20.3561 49.9991 20.3561L53.8866 29.1424H49.9996H46.1127Z' fill='black'/%3e%3cpath d='M50.0008 49.6439L49.9996 29.1424M49.9996 29.1424H46.1127C47.8443 25.5097 49.9991 20.3561 49.9991 20.3561L53.8866 29.1424H49.9996Z' stroke='black' stroke-width='3'/%3e%3cpath d='M27.4698 75.6876C23.4579 76.0043 17.9174 76.715 17.9174 76.715L23.5828 68.9552L25.5263 72.3214L27.4698 75.6876Z' fill='black'/%3e%3cpath d='M43.2806 62.0696L25.5263 72.3214M25.5263 72.3214L27.4698 75.6876C23.4579 76.0043 17.9174 76.715 17.9174 76.715L23.5828 68.9552L25.5263 72.3214Z' stroke='black' stroke-width='3'/%3e%3cpath d='M36.0513 49.8615L49.7913 41.8235L64.2183 49.8615V66.1434L49.7913 74.0439L36.0513 66.1434V49.8615Z' fill='%23C4C4C4'/%3e%3cpath d='M36.0513 49.8615L49.7913 57.8994M36.0513 49.8615L49.7913 41.8235L64.2183 49.8615M36.0513 49.8615V66.1434L49.7913 74.0439M49.7913 57.8994V74.0439M49.7913 57.8994L64.2183 49.8615M49.7913 74.0439L64.2183 66.1434V49.8615' stroke='black' stroke-width='4'/%3e%3cdefs%3e%3cpattern id='pattern0' patternContentUnits='objectBoundingBox' width='1' height='1'%3e%3cuse xlink:href='%23image0' transform='scale(0.01)'/%3e%3c/pattern%3e%3cimage id='image0' width='100' height='100' xlink:href='data:image/png%3bbase64%2ciVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2bIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRDNDczMDE4QjE3MzExRTY5Mjc0REVFOTVERDJGNTg3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRDNDczMDE5QjE3MzExRTY5Mjc0REVFOTVERDJGNTg3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEM0NzMwMTZCMTczMTFFNjkyNzRERUU5NUREMkY1ODciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEM0NzMwMTdCMTczMTFFNjkyNzRERUU5NUREMkY1ODciLz4gPC9yZGY6RGVzY3JpcHRpb24%2bIDwvcmRmOlJERj4gPC94OnhtcG1ldGE%2bIDw/eHBhY2tldCBlbmQ9InIiPz6Uw7%2boAAALkklEQVR42uydCXAT1xmAV5ZsybawJcuXjDkcfGJjS5YpJSnJUFKSmR7DMG1DMi0FGpMZmoSb9EpCrjahhQIBUgiFlmQKZBJKOi1tTElmSIGktQ7f%2bMI2NpIv3bJl6%2bz/W5spsaU1Bh0r%2b/0z/6xtPe%2b%2b9z69/d//9v3/crxeL0WEPRJDuoAAIUKAECBECBAChAgBQoAQIUAIECIECJFAwgvGSTgcTkQqn3%2biGS/8OOgeUA/oTtD3WjYURGSBLhjrgpygnCQCQADGYjgcAF067qN/g24GKCoCJDwgMuHwOuhavHSgvgE9AfoLANNHgIQGBB8OW7GTQYV3%2bG9W0FdwJAEYBwESPBir4LAPNOcuT9EGuh2g/JUAuTcQi%2bDwO9AVTP2wUMJXub0Up9kwKme4jaFUgW4DMA0EyNRASODwMuhToNxA5UR8btP2Col4gSguc2wYmBy6fdV6i2nUXcBwejfoW6AvAhgDAcIMAqfhm0B3g4oDlYuN4ejWlYgsy%2bckFviz5pe6bE2nGs1il8ebyXA5I%2bjzoEcBjIsAmQjjEdpOLAx4HYqyL5%2bb2LR2oUgex2W%2bqMPt9Z6oN6o%2b7RkuhhYKGIri7WsrQLlIgPhA5NIgvs1ULic5Tg23p7wUAVc4lfMP2t22vdWDrV0Wp3ySoh%2bC7gAwbTMSCIBIgsMvQbfgXShQOWFcTOuWckk8GO7se6lj/eBo9wGVfnTI6cllGlig%2b0FfAzCWGQEEQOD62XrQX4GmByrH5VCDjxUm937zvlklwZoyYFP/dsNa/16zWQqzMglDUXQmfw76RwDjmbZAAMbX4HAQlOn24fiqNL5uY2mKTMDjcEMxPbW7PK5jtcaaz3V2nFbHMRRV0sswV6YVEAAxl/ItAD7GVC5LyKvZWZE6LyORJwrHUoduyGUE%2b9KttblKJyl6BnQXgOmOaiAAIgEbAvocxTDTiefFdD4tT/HK0wU5VARE2WfvOKwxUCMuL9P17fSX6g0AY48qIPSy%2bBqsPOicwP9HmVblJnWtzksq40ZmBf//3iJ0w7kWS835dss86BKmEdpNf8nOjl/mZyUQgKGgfMviDzC1vyxNoIFRsSgxNiaOYpHYHJ5RGC31NQMjMqZVAhC0K8/evszPKiAAIgN%2b/DXoOqb1pNR4bv2OitTMuUmxqRSLBfyWAbAvfeDHlDCZDdCTOCPDZX7WACk42YI2ApfFZwUqA551T%2bUisf2B2Ql5VBTJlVvDrW/XGePB82fyg3CZ/7Xm9flvsAWIl2G5w/bIfGHrE0XJcl4Mh4pGcXm81J%2bbzOqPOm15XoZnMQDknhsY8k0OsnRB%2b5rCZFm0wkDBumMbsC2hvlbIgaj7R8oqq7S9H98cuh6tQLDu2AZsS8jhh6NBTo9XerzOKH2/xfKl5xdsl3aTo3dvtd5kGnUXhm00hrOB0LCi56/04xM%2b5TPylOJkPlfARhDmUffIAZWh4bphtBx%2bDeuXJyS3LD6XcxNmVbcC2flG/ahi0yWd610wlG4WxTii8X630aTBugEMRaDpO7YN2xg1QMQCrv74yqzZK%2bcL1TjL8r/MQAkv3LDKn/xI2/2Zzt4eaRjXtMNtT1Zpuy902GRYN4YZoxrbhm2MqlsWzkzWFYvkq3JnDe9X6lUtRoffDQijbu%2bcgyo9dSaBBw6jRJo9K1YSThDdVqf%2bt9V63cCwi9EBLEjhqzeXpxSJ%2bFx5KOsTchsCDUjYfX96OQDR7asetFocnnx/5fqhQ3Zd7nPJ0wXKn8hSShNiY2JDWa8hp8dxRGOog5kTLpFIGOrfvK1CkpQriiufVkY9XxwnfesbWdKLXbamdxrMErAd/h5O8aCDFBsvao2r85K6V%2bUmlQbbfcFFxPOtltq/tFnmgslQMIzw3rULk40r5gmLwulBhXWWhQ1bCQ18KDvR/Yc6o/LKreES6B/%2b%2bHLQUWKYIosv3LB1PF2eEiNLE8wLkk/UcUhtwAdUpQx1HFmWndCwoURcDsY77NNzHhUBgRkKd5MsRfHd/CTLPqW%2b6abFKfNXbtjlydnzn0EK7IoG/JecjARe8t1cr2/IZQI70XXL5mR07OYlxaq3V6TmpcZzFRFbFYjkzCY9gZf0%2brIMWc3ASNebKoMbANznr1yP1Snb9knv6NKsBGVlqViGQO/k/CMur/tYrUEDszg02AFhJMbGtG0ul/BLUvlyKsLCo1ggZXBLOrYyizrfZqk912rJhltWyoRpDgysq9phxec6%2b8ATRcn9j%2bYIi5m2vv/9hrX%2b7HVzhpvBTnA5lP77Bcm6b%2bFGCpYstfEolggabzDkpY/OFzoPawxKet2IN9Eoe9PeaTSlAbyWrQpJYmEKf/btn4PT2b1fpR%2bxOTxM01jHkrGNFOKyeF6MhGKR8CiWCU53dy5OVfTQ/kF/AP/ACtPnl68NUDAdVW1RSArAmfOCPWrtMDsYbztZQl4t2Ik50kSegmKh8CiWCjqI%2b5dnStCDPlZr5KMD6a9cm8lR/swl3TAOMi/D9iIBj9MJ/o1XkRFfSrFYeBTLBQx57uLMeOrMdbPmH522XH/LGgAiIeA0lkOZVy1I6lydH/mNFBFbywrFMswPFopkR1ZIeWAzlLTdntQHhMmC8ujDWYLvFUQHjKgYIbcLLte/sDRNQceBmAM9p8CNFGAnMsCvUFBRJlEZpw6GXHr4YWnh/eCXjP/swexE1cGvS0sARlo0ti1qEwdwfJ71hPrPFvKi9%2bE9RTI5ECBECBAChAgBQoAQIUAIECIECAFCuoAAIUKAECBE2AREb3enY2zFdO00bBu2MRTnDskDKqfHOxvjQPDp3uZy9saBTFXGxY1womaE0MLBGIuxOJBGkwZjL6JVsO6nGk3qyeJG2ARkB6jfdEZjcSAdNhnGXuAOkmiDcVU73Ip1/2eHTR4oboRu%2bw7WAGnZULAXDhh/fpwKsAHB4fbOeVNtyN38SW89xmSwHQTW8dmPdfWH1IY8R4AtSHRbsc15dB%2bwx4ZAhfrhUJl/ovkI5UutscxfOQyMee5ynxvjQDbJ2JdaA%2bNGDmsMdZpJ4kZAPqV8qZvUrLYhdAUfonzJZwKlM%2bJiHMhTF7VDH7RYatlgXjBuBOuy8aJ2GGCgnQi0oRtjC9dAOx8MNoyQGXXMkgN6Fn7ErKG7KV9qowmCcSAftFpKK6u0HdAJnZGCgXEjG6u0nVgXhkxA2IYXQQvptoVEQrovi84r9RLcxjAP%2bx561ExsKcaB/HcsDqRme4Vk/t3GgUxVMG7kN9WDXVqba7KEAKcpXwKznlDXKSwb5ehMbI8DmEOUL8Wf33i9HquzbOsXcSCLxCFL8YdxI0drDRo6xR8TDNz3hSmYrk7LpRM6dyG%2bZuLHoP0BivFheqyorLplgOlyQzDNyxdJMOHcJoCBdiLQhAKTYG4A/Uo4YYRthIyDglk%2bT8BoeZ9iSBMLRjYNHMq0D9ssmCY2oUjy5TiQqcpY3IhSP2JzMseNUL40sa9CPa2RsGcR29tL58XdBWDehiPO4f0mUrY6PHmvfDZALRDFqbYqJPlTTaSst7tt%2b5SDrR3m0CdSjmogt4FphcN36FTj%2bCaEIn/l2uk4kOVzE1U/KhbJY2MmTzV%2bssGkutw9VOxlTkvbiKM0GKnGg7LexNJk/C%2bBBkxEicn415eIrDB6hk5fN3%2bps9cUJqvB2Yw/1WASOSdPxv8C6O9JMv7JwaCH/Cp6/gwOGgZtGtzjAkThb0b4m5jJB0QICIO8rmLqYBbRyzDLg3TKf1G%2bNyHUh6K%2bM%2bmVR6tpwz//Lk/RThvs86GsZzD6Mioe4UJHnqONPSbIH5rCv2JqqJ%2bCFocaxrQ06nc4WrIo32vzfsj0ZQX9E%2bjPAETYHiXP9BdLLqHty5JxH12jlzuqw12nGQ2EhsKhRwqOGFwBwJzsp2f8q1eJBE/IviwChAgBQoAQIUAIECIECAFChAAhQIgQIEQCyv8EGACQZFkbz7/GOQAAAABJRU5ErkJggg=='/%3e%3c/defs%3e%3c/svg%3e";
22558
+ var img$d = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M49 51V84L20 67.2513V34.5L49 51Z' fill='%239D9D9C'/%3e%3cpath d='M80 36L81 68L53 84L52 51.5L80 36Z' fill='%239D9D9C'/%3e%3cpath d='M78 31.5L51 47.5L23 31.5L51 14.5L78 31.5Z' fill='%239D9D9C'/%3e%3cpath d='M85 30V70L50.3772 90L16 70V30L50.3772 10L85 30ZM80.089 67.284V35.9259L52.8327 51.7284V83.3333L80.089 67.284ZM50.6228 47.284L77.879 31.4815L50.6228 15.679L23.6121 31.4815L50.6228 47.284ZM48.1673 83.0864V51.4815L21.1566 35.679V67.284L48.1673 83.0864Z' fill='black'/%3e%3c/svg%3e";
22420
22559
 
22421
- var img$c = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M49 51V84L20 67.2513V34.5L49 51Z' fill='%239D9D9C'/%3e%3cpath d='M80 36L81 68L53 84L52 51.5L80 36Z' fill='%239D9D9C'/%3e%3cpath d='M78 31.5L51 47.5L23 31.5L51 14.5L78 31.5Z' fill='%239D9D9C'/%3e%3cpath d='M85 30V70L50.3772 90L16 70V30L50.3772 10L85 30ZM80.089 67.284V35.9259L52.8327 51.7284V83.3333L80.089 67.284ZM50.6228 47.284L77.879 31.4815L50.6228 15.679L23.6121 31.4815L50.6228 47.284ZM48.1673 83.0864V51.4815L21.1566 35.679V67.284L48.1673 83.0864Z' fill='black'/%3e%3c/svg%3e";
22560
+ var img$c = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M83.6772 50C83.6772 68.5993 68.5994 83.6771 50 83.6771C31.4007 83.6771 16.3229 68.5993 16.3229 50C16.3229 31.4006 31.4007 16.3228 50 16.3228C68.5994 16.3228 83.6772 31.4006 83.6772 50Z' fill='%23C4C4C4' stroke='black' stroke-width='4'/%3e%3cpath d='M83.5552 50.2295C83.5552 51.5641 82.6873 52.8856 81.001 54.1186C79.3147 55.3516 76.843 56.4719 73.7271 57.4156C70.6112 58.3593 66.9122 59.1079 62.8411 59.6186C58.77 60.1293 54.4066 60.3922 50.0001 60.3922C45.5935 60.3922 41.2302 60.1293 37.1591 59.6186C33.088 59.1079 29.3889 58.3593 26.273 57.4156C23.1571 56.4719 20.6855 55.3516 18.9992 54.1186C17.3129 52.8856 16.4449 51.5641 16.4449 50.2295' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
22422
22561
 
22423
- var img$b = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M83.6772 50C83.6772 68.5993 68.5994 83.6771 50 83.6771C31.4007 83.6771 16.3229 68.5993 16.3229 50C16.3229 31.4006 31.4007 16.3228 50 16.3228C68.5994 16.3228 83.6772 31.4006 83.6772 50Z' fill='%23C4C4C4' stroke='black' stroke-width='4'/%3e%3cpath d='M83.5552 50.2295C83.5552 51.5641 82.6873 52.8856 81.001 54.1186C79.3147 55.3516 76.843 56.4719 73.7271 57.4156C70.6112 58.3593 66.9122 59.1079 62.8411 59.6186C58.77 60.1293 54.4066 60.3922 50.0001 60.3922C45.5935 60.3922 41.2302 60.1293 37.1591 59.6186C33.088 59.1079 29.3889 58.3593 26.273 57.4156C23.1571 56.4719 20.6855 55.3516 18.9992 54.1186C17.3129 52.8856 16.4449 51.5641 16.4449 50.2295' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
22562
+ var img$b = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M77.5 24.5V76.5618C77.5 76.5618 71.8057 90.5 49.0014 90.5C26.1971 90.5 22.5 76.5618 22.5 76.5618V24.5C22.5 24.5 26.5014 14 49.0014 14C71.5014 14 77.5 24.5 77.5 24.5Z' fill='%23C4C4C4'/%3e%3cpath d='M77.5 24.5V76.5618C77.5 76.5618 71.8057 90.5 49.0014 90.5C26.1971 90.5 22.5 76.5618 22.5 76.5618V24.5M77.5 24.5C77.5 24.5 71.5014 14 49.0014 14C26.5014 14 22.5 24.5 22.5 24.5M77.5 24.5C77.5 24.5 71.5 34.5 49.0014 34.5C26.5028 34.5 22.5 24.5 22.5 24.5' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
22424
22563
 
22425
- var img$a = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M77.5 24.5V76.5618C77.5 76.5618 71.8057 90.5 49.0014 90.5C26.1971 90.5 22.5 76.5618 22.5 76.5618V24.5C22.5 24.5 26.5014 14 49.0014 14C71.5014 14 77.5 24.5 77.5 24.5Z' fill='%23C4C4C4'/%3e%3cpath d='M77.5 24.5V76.5618C77.5 76.5618 71.8057 90.5 49.0014 90.5C26.1971 90.5 22.5 76.5618 22.5 76.5618V24.5M77.5 24.5C77.5 24.5 71.5014 14 49.0014 14C26.5014 14 22.5 24.5 22.5 24.5M77.5 24.5C77.5 24.5 71.5 34.5 49.0014 34.5C26.5028 34.5 22.5 24.5 22.5 24.5' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
22564
+ var img$a = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M49.0014 90.5C26.1971 90.5 22.5 76.5618 22.5 76.5618L49.0014 14L77.5 76.5618C77.5 76.5618 71.8057 90.5 49.0014 90.5Z' fill='%23C4C4C4' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
22426
22565
 
22427
- var img$9 = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M49.0014 90.5C26.1971 90.5 22.5 76.5618 22.5 76.5618L49.0014 14L77.5 76.5618C77.5 76.5618 71.8057 90.5 49.0014 90.5Z' fill='%23C4C4C4' stroke='black' stroke-width='4'/%3e%3c/svg%3e";
22566
+ var img$9 = "data:image/svg+xml,%3csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M50.1373 15C69.3529 15 86.5 30.6471 86.5 50.1373C86.5 69.6274 69.0784 86 49.8627 86C30.6471 86 15 69.3529 15 50.1373C15 30.9216 30.6471 15 50.1373 15Z' fill='%239D9D9C'/%3e%3cpath d='M85.5085 50.6373C85.5085 31.4169 69.8576 15.4915 50.6373 15.4915C31.4169 15.4915 15.4915 31.1424 15.4915 50.6373C15.4915 70.1322 31.1424 85.5085 50.6373 85.5085C70.1322 85.5085 85.5085 69.8576 85.5085 50.6373ZM50.6373 10C72.878 10 91 28.122 91 50.6373C91 72.878 72.878 91 50.6373 91C28.3966 91 10 72.878 10 50.3627C10 28.122 28.122 10 50.6373 10Z' fill='black'/%3e%3cpath d='M50.1382 54.0081L36.8699 67L33 63.1301L45.9919 50.1382L33 36.8699L36.8699 33L50.1382 45.9919L63.1301 33L67 36.8699L54.0081 50.1382L67 63.1301L65.065 65.065L63.1301 67L50.1382 54.0081Z' fill='black'/%3e%3c/svg%3e";
22428
22567
 
22429
22568
  const Icon = ({
22430
22569
  url
@@ -22463,150 +22602,157 @@ const PartModeCmds = (drawingId, rootId) => {
22463
22602
  Sketch: {
22464
22603
  label: 'Sketch',
22465
22604
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22466
- url: img$x
22605
+ url: img$y
22467
22606
  }),
22468
22607
  callback: wrapper(() => ccAPI.sketcher.createSketch(drawingId, rootId))
22469
22608
  },
22470
22609
  Work: [{
22471
22610
  label: 'Workpoint',
22472
22611
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22473
- url: img$p
22612
+ url: img$q
22474
22613
  }),
22475
22614
  callback: wrapper(() => featureApi.createWorkGeometry(drawingId, rootId, CCClasses.CCWorkPoint, 'WorkPoint'))
22476
22615
  }, {
22477
22616
  label: 'Workaxis',
22478
22617
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22479
- url: img$o
22618
+ url: img$p
22480
22619
  }),
22481
22620
  callback: wrapper(() => featureApi.createWorkGeometry(drawingId, rootId, CCClasses.CCWorkAxis, 'WorkAxis'))
22482
22621
  }, {
22483
22622
  label: 'Workplane',
22484
22623
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22485
- url: img$n
22624
+ url: img$o
22486
22625
  }),
22487
22626
  callback: wrapper(() => featureApi.createWorkGeometry(drawingId, rootId, CCClasses.CCWorkPlane, 'WorkPlane'))
22488
22627
  }, {
22489
22628
  label: 'WCsys',
22490
22629
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22491
- url: img$m
22630
+ url: img$n
22492
22631
  }),
22493
22632
  callback: wrapper(() => featureApi.createWorkGeometry(drawingId, rootId, CCClasses.CCWorkCoordSystem, 'WorkCoordSystem'))
22494
22633
  }],
22495
22634
  Solid: [{
22496
22635
  label: 'Extrusion',
22497
22636
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22498
- url: img$H
22637
+ url: img$I
22499
22638
  }),
22500
22639
  callback: wrapper(() => featureApi.createExtrusion(drawingId, rootId))
22501
22640
  }, {
22502
22641
  label: 'Revolve',
22503
22642
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22504
- url: img$G
22643
+ url: img$H
22505
22644
  }),
22506
22645
  callback: wrapper(() => featureApi.createRevolve(drawingId, rootId))
22507
22646
  }],
22508
22647
  Boolean: {
22509
22648
  label: 'Boolean',
22510
22649
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22511
- url: img$l
22650
+ url: img$m
22512
22651
  }),
22513
22652
  callback: wrapper(() => featureApi.createBooleanOperation(drawingId, rootId))
22514
22653
  },
22515
22654
  Slice: [{
22516
22655
  label: 'Slice',
22517
22656
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22518
- url: img$i
22657
+ url: img$j
22519
22658
  }),
22520
22659
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCSlice, 'Slice'))
22521
22660
  }, {
22522
22661
  label: 'Slice by sheet',
22523
22662
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22524
- url: img$i
22663
+ url: img$j
22525
22664
  }),
22526
22665
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCSliceBySheet, 'Slice by sheet'))
22527
22666
  }],
22528
22667
  Edge: [{
22529
22668
  label: 'Fillet',
22530
22669
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22531
- url: img$k
22670
+ url: img$l
22532
22671
  }),
22533
22672
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCConstantRadiusFillet, 'Fillet'))
22534
22673
  }, {
22535
22674
  label: 'Chamfer',
22536
22675
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22537
- url: img$j
22676
+ url: img$k
22538
22677
  }),
22539
22678
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCChamfer, 'Chamfer'))
22540
22679
  }],
22541
22680
  Patterns: [{
22542
22681
  label: 'Linear pattern',
22543
22682
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22544
- url: img$h
22683
+ url: img$i
22545
22684
  }),
22546
22685
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCLinearPattern, 'Linear pattern'))
22547
22686
  }, {
22548
22687
  label: 'Circular pattern',
22549
22688
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22550
- url: img$g
22689
+ url: img$h
22551
22690
  }),
22552
22691
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCCircularPattern, 'Circular pattern'))
22553
22692
  }, {
22554
22693
  label: 'Mirror',
22555
22694
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22556
- url: img$u
22695
+ url: img$v
22557
22696
  }),
22558
22697
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCMirror, 'Mirror'))
22559
22698
  }],
22560
22699
  Translation: [{
22561
22700
  label: 'Translation',
22562
22701
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22563
- url: img$f
22702
+ url: img$g
22564
22703
  }),
22565
22704
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCTranslation, 'Translate'))
22566
22705
  }, {
22567
22706
  label: 'Rotation',
22568
22707
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22569
- url: img$e
22708
+ url: img$f
22570
22709
  }),
22571
22710
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCRotation, 'Rotate'))
22572
22711
  }, {
22573
22712
  label: 'Transformation by Csys',
22574
22713
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22575
- url: img$d
22714
+ url: img$e
22576
22715
  }),
22577
22716
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCTransformationByCSys, 'Transform by Csys'))
22578
22717
  }],
22579
22718
  BasicShapes: [{
22580
22719
  label: 'Add Box',
22581
22720
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22582
- url: img$c
22721
+ url: img$d
22583
22722
  }),
22584
22723
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, 'CC_Box', 'Box'))
22585
22724
  }, {
22586
22725
  label: 'Add Sphere',
22587
22726
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22588
- url: img$b
22727
+ url: img$c
22589
22728
  }),
22590
22729
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, 'CC_Sphere', 'Sphere'))
22591
22730
  }, {
22592
22731
  label: 'Add Cylinder',
22593
22732
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22594
- url: img$a
22733
+ url: img$b
22595
22734
  }),
22596
22735
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, 'CC_Cylinder', 'Cylinder'))
22597
22736
  }, {
22598
22737
  label: 'Add Cone',
22599
22738
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22600
- url: img$9
22739
+ url: img$a
22601
22740
  }),
22602
22741
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, 'CC_Cone', 'Cone'))
22603
22742
  }],
22604
22743
  Import: {
22605
22744
  label: 'Import',
22606
22745
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22607
- url: img$q
22746
+ url: img$r
22608
22747
  }),
22609
22748
  callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCImport, 'Import'))
22749
+ },
22750
+ Deletion: {
22751
+ label: 'Delete Entity',
22752
+ icon: /*#__PURE__*/React__default.createElement(Icon, {
22753
+ url: img$9
22754
+ }),
22755
+ callback: wrapper(() => featureApi.createFeature(drawingId, rootId, CCClasses.CCEntityDeletion, 'Entity Deletion'))
22610
22756
  }
22611
22757
  };
22612
22758
  };
@@ -22866,7 +23012,7 @@ const useOptionCommands = () => {
22866
23012
  }, {
22867
23013
  label: 'Wireframe',
22868
23014
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22869
- url: img$c
23015
+ url: img$d
22870
23016
  }),
22871
23017
  isChecked: showWireframe,
22872
23018
  isDisabled: !showFaces,
@@ -22881,7 +23027,7 @@ const useOptionCommands = () => {
22881
23027
  }, {
22882
23028
  label: 'Vertices',
22883
23029
  icon: /*#__PURE__*/React__default.createElement(Icon, {
22884
- url: img$F
23030
+ url: img$G
22885
23031
  }),
22886
23032
  isChecked: showVertices,
22887
23033
  command: () => setShowVertices(!showVertices)
@@ -23106,4 +23252,4 @@ const Drawing = ({
23106
23252
  })), /*#__PURE__*/React__default.createElement(BlankDiv, null));
23107
23253
  };
23108
23254
 
23109
- export { index$x as Boolean, index$a as BoundingBoxInfo, index$u as Box, CADApi, CSysDisplay, index$p as Chamfer, index$i as CircularPattern, index$r as Cone, Constraints, index$s as Cylinder, index$4 as Cylindrical, index$y as Dimensions, Drawing, index$9 as Expressions, index$w as Extrusion, index$7 as Fastened, index$8 as FastenedOrigin, FeaturePlugin, index$q as Fillet, FtVisibilityController$1 as FtVisibilityController, GlobalPlugins, HUD, HoveredConstraintDisplay, index$1 as Import, index$j as LinearPattern, MateScope, index$g as Measure, Menu, Messages, index$h as Mirror, ModelTree, Outline, index$2 as Parallel, index$3 as Planar, index as ProductManagement, Readfile$1 as Readfile, index$5 as Revolute, index$v as Revolve, index$n as Rotate, SelectedMateObj, SideBar, index$f as Sketch, index$l as Slice, index$k as SliceBySheet, index$6 as Slider, Solids, index$t as Sphere, ToolBar, index$m as TransformByCsys, index$o as Translate, TreeObjScope, ViewOptionButtons, ViewPlugButtons, index$e as WorkAxis, WorkAxisObj, index$b as WorkCoordSystem, WorkCoordSystemObj, index$d as WorkPlane, WorkPlaneObj, index$c as WorkPoint, WorkPointObj, getCADState, getMateRefIds, useAllObjects, useCADStore, useHasPending, useIsLoading };
23255
+ export { index$y as Boolean, index$b as BoundingBoxInfo, index$v as Box, CADApi, CSysDisplay, index$q as Chamfer, index$j as CircularPattern, index$s as Cone, Constraints, index$t as Cylinder, index$5 as Cylindrical, index$z as Dimensions, Drawing, EditMode, index$1 as EntityDeletion, index$a as Expressions, index$x as Extrusion, index$8 as Fastened, index$9 as FastenedOrigin, FeaturePlugin, index$r as Fillet, FtVisibilityController$1 as FtVisibilityController, GlobalPlugins, HUD, HoveredConstraintDisplay, index$2 as Import, index$k as LinearPattern, MateScope, index$h as Measure, Menu, Messages, index$i as Mirror, ModelTree, Outline, index$3 as Parallel, index$4 as Planar, PluginGeometryBounds, index as ProductManagement, Readfile$1 as Readfile, index$6 as Revolute, index$w as Revolve, index$o as Rotate, SelectedMateObj, SideBar, index$g as Sketch, index$m as Slice, index$l as SliceBySheet, index$7 as Slider, Solids, index$u as Sphere, ToolBar, index$n as TransformByCsys, index$p as Translate, TreeObjScope, ViewOptionButtons, ViewPlugButtons, index$f as WorkAxis, WorkAxisObj, index$c as WorkCoordSystem, WorkCoordSystemObj, index$e as WorkPlane, WorkPlaneObj, index$d as WorkPoint, WorkPointObj, getCADState, getMateRefIds, useAllObjects, useCADStore, useEditMode, useHasPending, useIsLoading, useIsSketchActive, useVisibleSolids };