@antv/layout 1.2.4 → 1.2.7

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.
Files changed (55) hide show
  1. package/README.md +2 -2
  2. package/lib/circular.d.ts +1 -1
  3. package/lib/circular.js +11 -11
  4. package/lib/comboCombined.d.ts +32 -0
  5. package/lib/comboCombined.js +441 -0
  6. package/lib/comboCombined.js.map +1 -0
  7. package/lib/concentric.d.ts +1 -1
  8. package/lib/concentric.js +15 -15
  9. package/lib/d3Force/forceInBox.d.ts +7 -7
  10. package/lib/dagre/add-border-segments.d.ts +1 -1
  11. package/lib/dagre/add-border-segments.js +5 -5
  12. package/lib/dagre/layout.d.ts +3 -3
  13. package/lib/dagre/layout.js +39 -37
  14. package/lib/dagre/layout.js.map +1 -1
  15. package/lib/dagre/nesting-graph.d.ts +2 -2
  16. package/lib/dagre/nesting-graph.js +4 -4
  17. package/lib/dagre/order/add-subgraph-constraints.d.ts +2 -2
  18. package/lib/dagre/order/add-subgraph-constraints.js +16 -12
  19. package/lib/dagre/order/add-subgraph-constraints.js.map +1 -1
  20. package/lib/dagre/order/build-layer-graph.d.ts +3 -3
  21. package/lib/dagre/order/build-layer-graph.js +3 -3
  22. package/lib/dagre/order/init-data-order.d.ts +2 -2
  23. package/lib/dagre/order/init-order.d.ts +2 -2
  24. package/lib/dagre/order/sort-subgraph.d.ts +2 -2
  25. package/lib/dagre/order/sort-subgraph.js +7 -7
  26. package/lib/dagre/parent-dummy-chains.d.ts +2 -2
  27. package/lib/dagre/util.d.ts +3 -3
  28. package/lib/dagre/util.js +8 -8
  29. package/lib/dagre.d.ts +1 -1
  30. package/lib/dagre.js +27 -24
  31. package/lib/dagre.js.map +1 -1
  32. package/lib/force/forceNBody.d.ts +3 -3
  33. package/lib/force/forceNBody.js +26 -6
  34. package/lib/force/forceNBody.js.map +1 -1
  35. package/lib/force/index.d.ts +2 -2
  36. package/lib/force/index.js +60 -49
  37. package/lib/force/index.js.map +1 -1
  38. package/lib/index.d.ts +16 -15
  39. package/lib/index.js +16 -15
  40. package/lib/index.js.map +1 -1
  41. package/lib/registry.d.ts +1 -1
  42. package/lib/registry.js +13 -11
  43. package/lib/registry.js.map +1 -1
  44. package/lib/supervisor.d.ts +1 -1
  45. package/lib/supervisor.js +6 -9
  46. package/lib/supervisor.js.map +1 -1
  47. package/lib/types.d.ts +15 -6
  48. package/lib/util/math.d.ts +15 -2
  49. package/lib/util/math.js +43 -14
  50. package/lib/util/math.js.map +1 -1
  51. package/package.json +2 -2
  52. package/dist/4051326ec27047d2402d.worker.js +0 -2
  53. package/dist/4051326ec27047d2402d.worker.js.map +0 -1
  54. package/dist/index.min.js +0 -2
  55. package/dist/index.min.js.map +0 -1
@@ -1,24 +1,24 @@
1
1
  import { __assign, __awaiter, __generator, __read } from "tslib";
2
- import { Graph as IGraph } from "@antv/graphlib";
3
- import { isNumber, isObject } from "@antv/util";
4
- import { formatNumberFn, isArray } from "../util";
5
- import { forceNBody } from "./forceNBody";
2
+ import { Graph as IGraph } from '@antv/graphlib';
3
+ import { isFunction, isNumber, isObject } from '@antv/util';
4
+ import { formatNumberFn, isArray } from '../util';
5
+ import { forceNBody } from './forceNBody';
6
6
  var DEFAULTS_LAYOUT_OPTIONS = {
7
7
  dimensions: 2,
8
8
  maxIteration: 500,
9
9
  gravity: 10,
10
10
  factor: 1,
11
- edgeStrength: 200,
11
+ edgeStrength: 50,
12
12
  nodeStrength: 1000,
13
13
  coulombDisScale: 0.005,
14
14
  damping: 0.9,
15
- maxSpeed: 500,
15
+ maxSpeed: 200,
16
16
  minMovement: 0.4,
17
17
  interval: 0.02,
18
18
  linkDistance: 200,
19
19
  clusterNodeStrength: 20,
20
20
  preventOverlap: true,
21
- distanceThresholdMode: "mean",
21
+ distanceThresholdMode: 'mean',
22
22
  };
23
23
  /**
24
24
  * Layout with faster force
@@ -39,7 +39,7 @@ var ForceLayout = /** @class */ (function () {
39
39
  function ForceLayout(options) {
40
40
  if (options === void 0) { options = {}; }
41
41
  this.options = options;
42
- this.id = "force";
42
+ this.id = 'force';
43
43
  /**
44
44
  * time interval for layout force animations
45
45
  */
@@ -76,7 +76,7 @@ var ForceLayout = /** @class */ (function () {
76
76
  * Stop simulation immediately.
77
77
  */
78
78
  ForceLayout.prototype.stop = function () {
79
- if (this.timeInterval && typeof window !== "undefined") {
79
+ if (this.timeInterval && typeof window !== 'undefined') {
80
80
  window.clearInterval(this.timeInterval);
81
81
  }
82
82
  this.running = false;
@@ -105,7 +105,7 @@ var ForceLayout = /** @class */ (function () {
105
105
  return _this.lastGraph.mergeNodeData(node.id, {
106
106
  x: node.data.x,
107
107
  y: node.data.y,
108
- z: _this.options.dimensions === 3 ? node.data.z : undefined
108
+ z: _this.options.dimensions === 3 ? node.data.z : undefined,
109
109
  });
110
110
  });
111
111
  }
@@ -124,7 +124,9 @@ var ForceLayout = /** @class */ (function () {
124
124
  layoutNodes = nodes.map(function (node, i) {
125
125
  return (__assign(__assign({}, node), { data: __assign(__assign({}, node.data), {
126
126
  // ...randomDistribution(node, dimensions, 30, i),
127
- x: isNumber(node.data.x) ? node.data.x : Math.random() * width, y: isNumber(node.data.y) ? node.data.y : Math.random() * height, z: isNumber(node.data.z) ? node.data.z : Math.random() * Math.sqrt(width * height), size: nodeSize(node) || 30, mass: getMass(node), nodeStrength: nodeStrength(node) }) }));
127
+ x: isNumber(node.data.x) ? node.data.x : Math.random() * width, y: isNumber(node.data.y) ? node.data.y : Math.random() * height, z: isNumber(node.data.z)
128
+ ? node.data.z
129
+ : Math.random() * Math.sqrt(width * height), size: nodeSize(node) || 30, mass: getMass(node), nodeStrength: nodeStrength(node) }) }));
128
130
  });
129
131
  layoutEdges = edges.map(function (edge) { return (__assign(__assign({}, edge), { data: __assign(__assign({}, edge.data), { edgeStrength: edgeStrength(edge), linkDistance: linkDistance(edge, graph.getNode(edge.source), graph.getNode(edge.target)) }) })); });
130
132
  if (!(nodes === null || nodes === void 0 ? void 0 : nodes.length)) {
@@ -153,7 +155,7 @@ var ForceLayout = /** @class */ (function () {
153
155
  this.lastCalcGraph = calcGraph;
154
156
  this.lastOptions = formattedOptions;
155
157
  this.lastVelMap = velMap;
156
- if (typeof window === "undefined")
158
+ if (typeof window === 'undefined')
157
159
  return [2 /*return*/];
158
160
  iter = 0;
159
161
  return [2 /*return*/, new Promise(function (resolve) {
@@ -172,7 +174,7 @@ var ForceLayout = /** @class */ (function () {
172
174
  return graph.mergeNodeData(node.id, {
173
175
  x: node.data.x,
174
176
  y: node.data.y,
175
- z: dimensions === 3 ? node.data.z : undefined
177
+ z: dimensions === 3 ? node.data.z : undefined,
176
178
  });
177
179
  });
178
180
  }
@@ -202,14 +204,14 @@ var ForceLayout = /** @class */ (function () {
202
204
  */
203
205
  ForceLayout.prototype.formatOptions = function (options, graph) {
204
206
  var formattedOptions = options;
205
- var propsWidth = options.width, propsHeight = options.height, getMass = options.getMass;
207
+ var propsWidth = options.width, propsHeight = options.height, getMass = options.getMass, nodeSize = options.nodeSize;
206
208
  // === formating width, height, and center =====
207
209
  formattedOptions.width =
208
- !propsWidth && typeof window !== "undefined"
210
+ !propsWidth && typeof window !== 'undefined'
209
211
  ? window.innerWidth
210
212
  : propsWidth;
211
213
  formattedOptions.height =
212
- !propsHeight && typeof window !== "undefined"
214
+ !propsHeight && typeof window !== 'undefined'
213
215
  ? window.innerHeight
214
216
  : propsHeight;
215
217
  if (!options.center) {
@@ -224,14 +226,14 @@ var ForceLayout = /** @class */ (function () {
224
226
  var massWeight = 1;
225
227
  if (isNumber(d === null || d === void 0 ? void 0 : d.data.mass))
226
228
  massWeight = d === null || d === void 0 ? void 0 : d.data.mass;
227
- var degree = graph.getDegree(d.id, "both");
229
+ var degree = graph.getDegree(d.id, 'both');
228
230
  return !degree || degree < 5 ? massWeight : degree * 5 * massWeight;
229
231
  };
230
232
  }
231
233
  // === formating node size =====
232
234
  if (options.preventOverlap) {
233
235
  var nodeSpacingFunc_1 = formatNumberFn(0, options.nodeSpacing);
234
- if (!options.nodeSize) {
236
+ if (!nodeSize) {
235
237
  formattedOptions.nodeSize = function (d) {
236
238
  var size = ((d === null || d === void 0 ? void 0 : d.data) || {}).size;
237
239
  if (size) {
@@ -246,15 +248,20 @@ var ForceLayout = /** @class */ (function () {
246
248
  return 10 + nodeSpacingFunc_1(d);
247
249
  };
248
250
  }
249
- else if (isArray(options.nodeSize)) {
251
+ else if (isFunction(nodeSize)) {
250
252
  formattedOptions.nodeSize = function (d) {
251
- var nodeSize = options.nodeSize;
252
- return Math.max(nodeSize[0], nodeSize[1]) + nodeSpacingFunc_1(d);
253
+ return nodeSize(d) + nodeSpacingFunc_1(d);
254
+ };
255
+ }
256
+ else if (isArray(nodeSize)) {
257
+ formattedOptions.nodeSize = function (d) {
258
+ var nodeSizeArr = nodeSize;
259
+ return Math.max(nodeSizeArr[0], nodeSizeArr[1]) + nodeSpacingFunc_1(d);
253
260
  };
254
261
  }
255
262
  else {
256
263
  formattedOptions.nodeSize = function (d) {
257
- return options.nodeSize + nodeSpacingFunc_1(d);
264
+ return nodeSize + nodeSpacingFunc_1(d);
258
265
  };
259
266
  }
260
267
  }
@@ -288,11 +295,11 @@ var ForceLayout = /** @class */ (function () {
288
295
  return {
289
296
  x: center[0],
290
297
  y: center[1],
291
- z: dimensions === 3 ? center[2] : undefined
298
+ z: dimensions === 3 ? center[2] : undefined,
292
299
  };
293
300
  },
294
301
  };
295
- if (typeof clusterNodeStrength !== "function") {
302
+ if (typeof clusterNodeStrength !== 'function') {
296
303
  options.clusterNodeStrength = function (node) {
297
304
  return clusterNodeStrength;
298
305
  };
@@ -318,7 +325,7 @@ var ForceLayout = /** @class */ (function () {
318
325
  },
319
326
  others: 1,
320
327
  center: function (node) {
321
- var degree = calcGraph.getDegree(node.id, "both");
328
+ var degree = calcGraph.getDegree(node.id, 'both');
322
329
  // 孤点默认给1个远离的中心点
323
330
  if (!degree) {
324
331
  return {
@@ -384,13 +391,13 @@ var ForceLayout = /** @class */ (function () {
384
391
  });
385
392
  }
386
393
  var _a = options.centripetalOptions || {}, leaf = _a.leaf, single = _a.single, others = _a.others;
387
- if (leaf && typeof leaf !== "function") {
394
+ if (leaf && typeof leaf !== 'function') {
388
395
  options.centripetalOptions.leaf = function () { return leaf; };
389
396
  }
390
- if (single && typeof single !== "function") {
397
+ if (single && typeof single !== 'function') {
391
398
  options.centripetalOptions.single = function () { return single; };
392
399
  }
393
- if (others && typeof others !== "function") {
400
+ if (others && typeof others !== 'function') {
394
401
  options.centripetalOptions.others = function () { return others; };
395
402
  }
396
403
  };
@@ -463,7 +470,7 @@ var ForceLayout = /** @class */ (function () {
463
470
  * @param accMap acceleration map
464
471
  */
465
472
  ForceLayout.prototype.calAttractive = function (calcGraph, accMap, options) {
466
- var dimensions = options.dimensions;
473
+ var dimensions = options.dimensions, nodeSize = options.nodeSize;
467
474
  calcGraph.getAllEdges().forEach(function (edge, i) {
468
475
  var source = edge.source, target = edge.target;
469
476
  var sourceNode = calcGraph.getNode(source);
@@ -481,6 +488,8 @@ var ForceLayout = /** @class */ (function () {
481
488
  }
482
489
  }
483
490
  var vecLength = Math.sqrt(vecX * vecX + vecY * vecY + vecZ * vecZ);
491
+ if (vecLength < nodeSize(sourceNode) + nodeSize(targetNode))
492
+ return;
484
493
  var direX = vecX / vecLength;
485
494
  var direY = vecY / vecLength;
486
495
  var direZ = vecZ / vecLength;
@@ -526,9 +535,9 @@ var ForceLayout = /** @class */ (function () {
526
535
  var vecY = 0;
527
536
  var vecZ = 0;
528
537
  var gravity = defaultGravity;
529
- var inDegree = calcGraph.getDegree(id, "in");
530
- var outDegree = calcGraph.getDegree(id, "out");
531
- var degree = calcGraph.getDegree(id, "both");
538
+ var inDegree = calcGraph.getDegree(id, 'in');
539
+ var outDegree = calcGraph.getDegree(id, 'out');
540
+ var degree = calcGraph.getDegree(id, 'both');
532
541
  var forceCenter = getCenter === null || getCenter === void 0 ? void 0 : getCenter(node, degree);
533
542
  if (forceCenter) {
534
543
  var _a = __read(forceCenter, 3), centerX = _a[0], centerY = _a[1], strength = _a[2];
@@ -611,7 +620,9 @@ var ForceLayout = /** @class */ (function () {
611
620
  var id = calcNode.id;
612
621
  var vx = (velMap[id].x + accMap[id].x * interval) * damping || 0.01;
613
622
  var vy = (velMap[id].y + accMap[id].y * interval) * damping || 0.01;
614
- var vz = dimensions === 3 ? ((velMap[id].z + accMap[id].z * interval) * damping || 0.01) : 0.0;
623
+ var vz = dimensions === 3
624
+ ? (velMap[id].z + accMap[id].z * interval) * damping || 0.01
625
+ : 0.0;
615
626
  var vLength = Math.sqrt(vx * vx + vy * vy + vz * vz);
616
627
  if (vLength > maxSpeed) {
617
628
  var param2 = maxSpeed / vLength;
@@ -622,7 +633,7 @@ var ForceLayout = /** @class */ (function () {
622
633
  velMap[id] = {
623
634
  x: vx,
624
635
  y: vy,
625
- z: vz
636
+ z: vz,
626
637
  };
627
638
  });
628
639
  };
@@ -643,9 +654,9 @@ var ForceLayout = /** @class */ (function () {
643
654
  return;
644
655
  }
645
656
  var sum = 0;
646
- if (distanceThresholdMode === "max")
657
+ if (distanceThresholdMode === 'max')
647
658
  this.judgingDistance = -Infinity;
648
- else if (distanceThresholdMode === "min")
659
+ else if (distanceThresholdMode === 'min')
649
660
  this.judgingDistance = Infinity;
650
661
  calcNodes.forEach(function (calcNode) {
651
662
  var id = calcNode.id;
@@ -668,12 +679,12 @@ var ForceLayout = /** @class */ (function () {
668
679
  });
669
680
  var distanceMagnitude = Math.sqrt(distX * distX + distY * distY + distZ * distZ);
670
681
  switch (distanceThresholdMode) {
671
- case "max":
682
+ case 'max':
672
683
  if (_this.judgingDistance < distanceMagnitude) {
673
684
  _this.judgingDistance = distanceMagnitude;
674
685
  }
675
686
  break;
676
- case "min":
687
+ case 'min':
677
688
  if (_this.judgingDistance > distanceMagnitude) {
678
689
  _this.judgingDistance = distanceMagnitude;
679
690
  }
@@ -683,7 +694,7 @@ var ForceLayout = /** @class */ (function () {
683
694
  break;
684
695
  }
685
696
  });
686
- if (!distanceThresholdMode || distanceThresholdMode === "mean") {
697
+ if (!distanceThresholdMode || distanceThresholdMode === 'mean') {
687
698
  this.judgingDistance = sum / calcNodes.length;
688
699
  }
689
700
  };
@@ -702,9 +713,9 @@ var getSameTypeLeafMap = function (calcGraph, nodeClusterBy) {
702
713
  return {};
703
714
  var sameTypeLeafMap = {};
704
715
  calcNodes.forEach(function (node, i) {
705
- var degree = calcGraph.getDegree(node.id, "both");
716
+ var degree = calcGraph.getDegree(node.id, 'both');
706
717
  if (degree === 1) {
707
- sameTypeLeafMap[node.id] = getCoreNodeAndSiblingLeaves(calcGraph, "leaf", node, nodeClusterBy);
718
+ sameTypeLeafMap[node.id] = getCoreNodeAndSiblingLeaves(calcGraph, 'leaf', node, nodeClusterBy);
708
719
  }
709
720
  });
710
721
  return sameTypeLeafMap;
@@ -718,8 +729,8 @@ var getSameTypeLeafMap = function (calcGraph, nodeClusterBy) {
718
729
  * @returns coreNode, sibling leaf nodes, and grouped sibling leaf nodes
719
730
  */
720
731
  var getCoreNodeAndSiblingLeaves = function (calcGraph, type, node, nodeClusterBy) {
721
- var inDegree = calcGraph.getDegree(node.id, "in");
722
- var outDegree = calcGraph.getDegree(node.id, "out");
732
+ var inDegree = calcGraph.getDegree(node.id, 'in');
733
+ var outDegree = calcGraph.getDegree(node.id, 'out');
723
734
  // node is not a leaf, coreNode is itself, siblingLeaves is empty
724
735
  var coreNode = node;
725
736
  var siblingLeaves = [];
@@ -735,8 +746,8 @@ var getCoreNodeAndSiblingLeaves = function (calcGraph, type, node, nodeClusterBy
735
746
  }
736
747
  // siblingLeaves are leaf nodes
737
748
  siblingLeaves = siblingLeaves.filter(function (node) {
738
- return calcGraph.getDegree(node.id, "in") === 0 ||
739
- calcGraph.getDegree(node.id, "out") === 0;
749
+ return calcGraph.getDegree(node.id, 'in') === 0 ||
750
+ calcGraph.getDegree(node.id, 'out') === 0;
740
751
  });
741
752
  var sameTypeLeaves = getSameTypeNodes(calcGraph, type, nodeClusterBy, node, siblingLeaves);
742
753
  return { coreNode: coreNode, siblingLeaves: siblingLeaves, sameTypeLeaves: sameTypeLeaves };
@@ -751,13 +762,13 @@ var getCoreNodeAndSiblingLeaves = function (calcGraph, type, node, nodeClusterBy
751
762
  * @returns related nodes that meet the filtering conditions
752
763
  */
753
764
  var getSameTypeNodes = function (calcGraph, type, nodeClusterBy, node, relativeNodes) {
754
- var typeName = node.data[nodeClusterBy] || "";
765
+ var typeName = node.data[nodeClusterBy] || '';
755
766
  var sameTypeNodes = (relativeNodes === null || relativeNodes === void 0 ? void 0 : relativeNodes.filter(function (item) { return item.data[nodeClusterBy] === typeName; })) ||
756
767
  [];
757
- if (type === "leaf") {
768
+ if (type === 'leaf') {
758
769
  sameTypeNodes = sameTypeNodes.filter(function (item) {
759
- return calcGraph.getDegree(item.id, "in") === 0 ||
760
- calcGraph.getDegree(item.id, "out") === 0;
770
+ return calcGraph.getDegree(item.id, 'in') === 0 ||
771
+ calcGraph.getDegree(item.id, 'out') === 0;
761
772
  });
762
773
  }
763
774
  return sameTypeNodes;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/force/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAWhD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU1C,IAAM,uBAAuB,GAAgC;IAC3D,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,WAAW,EAAE,GAAG;IAChB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,GAAG;IACjB,mBAAmB,EAAE,EAAE;IACvB,cAAc,EAAE,IAAI;IACpB,qBAAqB,EAAE,MAAM;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH;IAuBE,qBAAmB,OAAsD;QAAtD,wBAAA,EAAA,UAA8B,EAAwB;QAAtD,YAAO,GAAP,OAAO,CAA+C;QAtBzE,OAAE,GAAG,OAAO,CAAC;QACb;;WAEG;QACK,iBAAY,GAAW,CAAC,CAAC;QACjC;;WAEG;QACK,oBAAe,GAAW,CAAC,CAAC;QAE5B,YAAO,GAAY,KAAK,CAAC;QAa/B,IAAI,CAAC,OAAO,yBACP,uBAAuB,GACvB,OAAO,CACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACG,6BAAO,GAAb,UAAc,KAAY,EAAE,OAA4B;;;gBACtD,sBAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAC;;;KACvD;IACD;;OAEG;IACG,4BAAM,GAAZ,UAAa,KAAY,EAAE,OAA4B;;;gBACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;;;;KAC/C;IAED;;OAEG;IACH,0BAAI,GAAJ;QACE,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACtD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,0BAAI,GAAJ,UAAK,UAA2C;QAAhD,iBA0CC;QA1CI,2BAAA,EAAA,aAAa,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC;QAC9C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;QAED,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,CAAC,GAAG,UAAU,EACd,CAAC,EAAE,EACH;YACA,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,CAAC,EACD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CAAC;YACF,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CAAC;SACH;QAED,IAAM,MAAM,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,KAAK,EAAE,IAAI,CAAC,eAAe;SAC5B,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;gBACxB,OAAA,KAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE;oBACpC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC3D,CAAC;YAJF,CAIE,CACH,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAYa,wCAAkB,GAAhC,UACE,MAAe,EACf,KAAY,EACZ,OAA4B;;;;;gBAEtB,aAAa,yBAAQ,IAAI,CAAC,OAAO,GAAK,OAAO,CAAE,CAAC;gBAEhD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5B,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAE5B,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBAEhE,UAAU,GAQR,gBAAgB,WARR,EACV,KAAK,GAOH,gBAAgB,MAPb,EACL,MAAM,GAMJ,gBAAgB,OANZ,EACN,QAAQ,GAKN,gBAAgB,SALV,EACR,OAAO,GAIL,gBAAgB,QAJX,EACP,YAAY,GAGV,gBAAgB,aAHN,EACZ,YAAY,GAEV,gBAAgB,aAFN,EACZ,YAAY,GACV,gBAAgB,aADN,CACO;gBAGf,WAAW,GAAe,KAAK,CAAC,GAAG,CACvC,UAAC,IAAI,EAAE,CAAC;oBACN,OAAA,CAAC,sBACI,IAAI,KACP,IAAI,wBACC,IAAI,CAAC,IAAI;4BACZ,kDAAkD;4BAClD,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAC9D,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAC/D,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,EAClF,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EACnB,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,MAEtB,CAAA;gBAZd,CAYc,CACjB,CAAC;gBACI,WAAW,GAAe,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,uBAC/C,IAAI,KACP,IAAI,wBACC,IAAI,CAAC,IAAI,KACZ,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,EAChC,YAAY,EAAE,YAAY,CACxB,IAAI,EACJ,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAC3B,OAEH,EAXkD,CAWlD,CAAC,CAAC;gBAEJ,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,EAAE;oBAClB,IAAI,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC;oBACvC,sBAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,OAAA,EAAE,EAAC;iBAC7B;gBAEK,MAAM,GAA4B,EAAE,CAAC;gBAC3C,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;wBAChB,CAAC,EAAE,CAAC;wBACJ,CAAC,EAAE,CAAC;wBACJ,CAAC,EAAE,CAAC;qBACL,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEG,SAAS,GAAG,IAAI,MAAM,CAA6B;oBACvD,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,WAAW;iBACnB,CAAC,CAAC;gBAEH,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;gBAE5C,YAAY,GAA0B,gBAAgB,aAA1C,EAAE,WAAW,GAAa,gBAAgB,YAA7B,EAAE,MAAM,GAAK,gBAAgB,OAArB,CAAsB;gBAE/D,4BAA4B;gBAC5B,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;gBACnC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;gBACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBAEzB,IAAI,OAAO,MAAM,KAAK,WAAW;oBAAE,sBAAO;gBACtC,IAAI,GAAG,CAAC,CAAC;gBAEb,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO;wBACzB,sDAAsD;wBACtD,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;4BACrC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAI,CAAC,OAAO,EAAE;gCAC3B,OAAO,CAAC;oCACN,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;oCACzC,KAAK,OAAA;iCACN,CAAC,CAAC;6BACJ;4BACD,KAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;4BAClE,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;4BAChE,IAAI,MAAM,EAAE;gCACV,WAAW,CAAC,OAAO,CAAC,UAAC,IAAI;oCACvB,OAAA,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE;wCAC3B,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wCACd,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wCACd,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;qCAC9C,CAAC;gCAJF,CAIE,CACH,CAAC;6BACH;4BACD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG;gCACP,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;gCACzC,KAAK,OAAA;6BACN,CAAC,CAAC;4BACH,IAAI,EAAE,CAAC;4BACP,IAAI,IAAI,IAAI,YAAY,IAAI,KAAI,CAAC,eAAe,GAAG,WAAW,EAAE;gCAC9D,MAAM,CAAC,aAAa,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gCAExC,OAAO,CAAC;oCACN,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;oCACzC,KAAK,OAAA;iCACN,CAAC,CAAC;6BACJ;wBACH,CAAC,EAAE,CAAC,CAAC,CAAC;wBACN,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACtB,CAAC,CAAC,EAAC;;;KACJ;IAED;;;;;OAKG;IACK,mCAAa,GAArB,UACE,OAA2B,EAC3B,KAAY;QAEZ,IAAM,gBAAgB,GAAG,OAA0B,CAAC;QAC5C,IAAO,UAAU,GAAmC,OAAO,MAA1C,EAAU,WAAW,GAAc,OAAO,OAArB,EAAE,OAAO,GAAK,OAAO,QAAZ,CAAa;QAEpE,gDAAgD;QAChD,gBAAgB,CAAC,KAAK;YACpB,CAAC,UAAU,IAAI,OAAO,MAAM,KAAK,WAAW;gBAC1C,CAAC,CAAC,MAAM,CAAC,UAAU;gBACnB,CAAC,CAAE,UAAqB,CAAC;QAC7B,gBAAgB,CAAC,MAAM;YACrB,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW;gBAC3C,CAAC,CAAC,MAAM,CAAC,WAAW;gBACpB,CAAC,CAAE,WAAsB,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,gBAAgB,CAAC,MAAM,GAAG;gBACxB,gBAAgB,CAAC,KAAK,GAAG,CAAC;gBAC1B,gBAAgB,CAAC,MAAM,GAAG,CAAC;aAC5B,CAAC;SACH;QAED,gCAAgC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,gBAAgB,CAAC,OAAO,GAAG,UAAC,CAAQ;gBAClC,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,QAAQ,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC;oBAAE,UAAU,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,CAAC,IAAc,CAAC;gBAChE,IAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC9C,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC;YACtE,CAAC,CAAC;SACH;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAM,iBAAe,GAAG,cAAc,CAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACrB,gBAAgB,CAAC,QAAQ,GAAG,UAAC,CAAQ;oBAC3B,IAAA,IAAI,GAAK,CAAA,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,KAAI,EAAE,CAAA,KAAlB,CAAmB;oBAC/B,IAAI,IAAI,EAAE;wBACR,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;4BACjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;yBACxD;wBACD,IAAI,QAAQ,CAAoC,IAAI,CAAC,EAAE;4BACrD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;yBAC/D;wBACD,OAAQ,IAAe,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;qBAC9C;oBACD,OAAO,EAAE,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC,CAAC;aACH;iBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACpC,gBAAgB,CAAC,QAAQ,GAAG,UAAC,CAAQ;oBACnC,IAAM,QAAQ,GAAG,OAAO,CAAC,QAA4B,CAAC;oBACtD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC;aACH;iBAAM;gBACL,gBAAgB,CAAC,QAAQ,GAAG,UAAC,CAAQ;oBACnC,OAAC,OAAO,CAAC,QAAmB,GAAG,iBAAe,CAAC,CAAC,CAAC;gBAAjD,CAAiD,CAAC;aACrD;SACF;QAED,4CAA4C;QAC5C,gBAAgB,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;YAClD,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;YACzC,CAAC,CAAC,UAAC,IAAW;gBACV,OAAA,CAAC;oBACD,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC;oBACtD,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC;YAFtD,CAEsD,CAAC;QAC7D,gBAAgB,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACxE,gBAAgB,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAExE,OAAO,OAA0B,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,uCAAiB,GAAzB,UAA0B,OAAwB,EAAE,SAAoB;QAEpE,IAAA,UAAU,GAOR,OAAO,WAPC,EACV,kBAAkB,GAMhB,OAAO,mBANS,EAClB,MAAM,GAKJ,OAAO,OALH,EACN,mBAAmB,GAIjB,OAAO,oBAJU,EACnB,WAAW,GAGT,OAAO,YAHE,EACX,UAAU,GAER,OAAO,WAFC,EACV,aAAa,GACX,OAAO,cADI,CACH;QACZ,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,yCAAyC;QACzC,IAAM,gBAAgB,GAAG,kBAAkB,IAAI;YAC7C,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,2BAA2B;YAC3B,MAAM,EAAE,UAAC,CAAM;gBACb,OAAO;oBACL,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;oBACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;oBACZ,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC5C,CAAC;YACJ,CAAC;SACF,CAAC;QACF,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;YAC7C,OAAO,CAAC,mBAAmB,GAAG,UAAC,IAAW;gBACxC,OAAA,mBAA6B;YAA7B,CAA6B,CAAC;SACjC;QACD,IAAI,eAAoB,CAAC;QACzB,IAAI,QAAQ,GAAa,EAAE,CAAC;QAC5B,IAAI,WAAW,IAAI,aAAa,EAAE;YAChC,eAAe,GAAG,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAC/D,QAAQ;gBACN,KAAK,CAAC,IAAI,CACR,IAAI,GAAG,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAW,EAAlC,CAAkC,CAAC,CAAC,CACtE,IAAI,EAAE,CAAC;YACV,aAAa;YACb,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC3D,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,UAAC,IAAU;oBACf,mCAAmC;oBAC7B,IAAA,KACJ,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EADxB,aAAa,mBAAA,EAAE,cAAc,oBACL,CAAC;oBACjC,8BAA8B;oBAC9B,IACE,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,OAAK,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA;wBAChD,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,MAAK,CAAC,EACtB;wBACA,OAAO,CAAC,CAAC;qBACV;oBACD,OAAO,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,UAAC,IAAU;oBACjB,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACpD,gBAAgB;oBAChB,IAAI,CAAC,MAAM,EAAE;wBACX,OAAO;4BACL,CAAC,EAAE,GAAG;4BACN,CAAC,EAAE,GAAG;4BACN,CAAC,EAAE,CAAC;yBACL,CAAC;qBACH;oBACD,IAAI,SAA4B,CAAC;oBACjC,IAAI,MAAM,KAAK,CAAC,EAAE;wBAChB,UAAU;wBACV,gCAAgC;wBACxB,IAAA,KAAwB,CAAA,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA,eAAnC,EAAnB,cAAc,mBAAG,EAAE,KAAA,CAAoC;wBAC/D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC/B,gCAAgC;4BAChC,SAAS,GAAG,SAAS,CAAC;yBACvB;6BAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;4BACpC,kBAAkB;4BAClB,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;yBAChD;qBACF;yBAAM;wBACL,SAAS,GAAG,SAAS,CAAC;qBACvB;oBACD,OAAO;wBACL,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;wBAChB,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;wBAChB,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;qBACjB,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;SACJ;QACD,IAAI,UAAU,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,eAAe,EAAE;gBACpB,eAAe,GAAG,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAChE;YACD,IAAI,CAAC,QAAQ,EAAE;gBACb,QAAQ,GAAG,KAAK,CAAC,IAAI,CACnB,IAAI,GAAG,CACL,SAAS,CAAC,GAAG,CAAC,UAAC,IAAU,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAW,EAAlC,CAAkC,CAAC,CAClE,CACF,CAAC;aACH;YACD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,SAAS,EAAlB,CAAkB,CAAC,CAAC;YAEzD,IAAM,YAAU,GAA6B,EAAE,CAAC;YAChD,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;gBACvB,IAAM,aAAa,GAAG,SAAS;qBAC5B,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,OAAO,EAApC,CAAoC,CAAC;qBACtD,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAA1B,CAA0B,CAAC,CAAC;gBAC7C,8BAA8B;gBAC9B,YAAU,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC3D,MAAM,EAAE,UAAC,IAAU,IAAK,OAAA,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAjC,CAAiC;gBACzD,IAAI,EAAE,UAAC,IAAU,IAAK,OAAA,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAjC,CAAiC;gBACvD,MAAM,EAAE,UAAC,IAAU,IAAK,OAAA,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAjC,CAAiC;gBACzD,MAAM,EAAE,UAAC,IAAU;oBACjB,8BAA8B;oBAC9B,IAAM,SAAS,GAAG,YAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAW,CAAC,CAAC;oBACjE,OAAO;wBACL,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;wBAChB,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;wBAChB,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;qBACjB,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;SACJ;QACK,IAAA,KAA2B,OAAO,CAAC,kBAAkB,IAAI,EAAE,EAAzD,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAqC,CAAC;QAClE,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YACtC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;SAC9C;QACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YAC1C,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAM,OAAA,MAAM,EAAN,CAAM,CAAC;SAClD;QACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YAC1C,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAM,OAAA,MAAM,EAAN,CAAM,CAAC;SAClD;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,gCAAU,GAAlB,UACE,SAAoB,EACpB,KAAY,EACZ,IAAY,EACZ,MAA+B,EAC/B,OAAwB;QAExB,IAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;YAAE,OAAO;QACvB,IAAA,OAAO,GAAK,OAAO,QAAZ,CAAa;QAC5B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,SAAS;YAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAExD,sBAAsB;QACtB,IAAI,OAAO,EAAE;YACX,IAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACtD,OAAO,CAAC;gBACN,MAAM,QAAA;gBACN,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;gBAC1B,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;gBAC1B,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;;OAKG;IACK,oCAAc,GAAtB,UAAuB,MAA+B,EAAE,KAAiB;QAAzE,iBAcC;QAbC,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;YAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,MAAM,GAAG,GAAG,CAAC;QAEjB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YACpB,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAM,EAAE,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,IAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACnC,IAAA,KAAa,IAAI,CAAC,IAAI,KAAd,EAAR,IAAI,mBAAG,CAAC,KAAA,CAAe;YAC/B,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,iBAAiB;QAClD,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACI,kCAAY,GAAnB,UACE,SAAoB,EACpB,MAA+B,EAC/B,OAAwB;QAEhB,IAAA,UAAU,GAA8B,OAAO,WAArC,EAAE,MAAM,GAAsB,OAAO,OAA7B,EAAE,eAAe,GAAK,OAAO,gBAAZ,CAAa;QACxD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACvF,CAAC;IAED;;;;OAIG;IACI,mCAAa,GAApB,UAAqB,SAAoB,EAAE,MAA+B,EAAE,OAAwB;QAC1F,IAAA,UAAU,GAAK,OAAO,WAAZ,CAAa;QAC/B,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YAC9B,IAAA,MAAM,GAAa,IAAI,OAAjB,EAAE,MAAM,GAAK,IAAI,OAAT,CAAU;YAChC,IAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;gBAAE,OAAO;YACvC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,IAAI,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;gBAClB,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;gBAC5B,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;gBAE5B,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;oBAC7B,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;iBAC7B;aACF;YACD,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;YACrE,IAAM,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;YAC/B,IAAM,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;YAC/B,IAAM,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;YACzB,IAAA,KAA6C,IAAI,CAAC,IAAI,IAAI,EAAE,EAA1D,oBAAkB,EAAlB,YAAY,mBAAG,GAAG,KAAA,EAAE,oBAAkB,EAAlB,YAAY,mBAAG,GAAG,KAAoB,CAAC;YACnE,IAAM,IAAI,GAAG,YAAY,GAAG,SAAS,CAAC;YACtC,IAAM,KAAK,GAAG,IAAI,GAAG,YAAY,CAAC;YAClC,IAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YAC7C,IAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YAC7C,oBAAoB;YACpB,IAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;YACvC,IAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;YACvC,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,gCAAU,GAAjB,UACE,SAAoB,EACpB,KAAY,EACZ,MAA+B,EAC/B,OAAwB;QAEhB,IAAA,SAAS,GAAK,OAAO,UAAZ,CAAa;QAC9B,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,IAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEhC,IAAA,KAAK,GAKH,OAAO,MALJ,EACL,MAAM,GAIJ,OAAO,OAJH,EACN,MAAM,GAGJ,OAAO,OAHH,EACG,cAAc,GAErB,OAAO,QAFc,EACvB,kBAAkB,GAChB,OAAO,mBADS,CACR;QACZ,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;YACjB,IAAA,EAAE,GAAW,QAAQ,GAAnB,EAAE,IAAI,GAAK,QAAQ,KAAb,CAAc;YACtB,IAAA,IAAI,GAAc,IAAI,KAAlB,EAAE,CAAC,GAAW,IAAI,EAAf,EAAE,CAAC,GAAQ,IAAI,EAAZ,EAAE,CAAC,GAAK,IAAI,EAAT,CAAU;YAC/B,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,OAAO,GAAG,cAAc,CAAC;YAC7B,IAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACjD,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAM,WAAW,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,WAAW,EAAE;gBACT,IAAA,KAAA,OAA+B,WAAW,IAAA,EAAzC,OAAO,QAAA,EAAE,OAAO,QAAA,EAAE,QAAQ,QAAe,CAAC;gBACjD,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC;gBACnB,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC;gBACnB,OAAO,GAAG,QAAQ,CAAC;aACpB;iBAAM;gBACL,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aACtB;YAED,IAAI,OAAO,EAAE;gBACX,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBACxC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBACxC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;aACzC;YAED,IAAI,kBAAkB,EAAE;gBAEpB,IAAA,IAAI,GAIF,kBAAkB,KAJhB,EACJ,MAAM,GAGJ,kBAAkB,OAHd,EACN,MAAM,GAEJ,kBAAkB,OAFd,EACE,YAAY,GAClB,kBAAkB,OADA,CACC;gBACjB,IAAA,KAKF,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAI;oBACvD,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,cAAc,EAAE,CAAC;iBAClB,EATI,OAAO,OAAA,EACP,OAAO,OAAA,EACP,OAAO,OAAA,EACV,cAAc,oBAMf,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,OAAO;gBACrD,IAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;gBAChC,IAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;gBAChC,IAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;gBAChC,IAAI,cAAc,EAAE;oBAClB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;iBACrC;gBAED,KAAK;gBACL,IAAI,MAAM,KAAK,CAAC,EAAE;oBAChB,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,cAAc;wBAAE,OAAO;oBAC5B,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,OAAO;iBACR;gBAED,qBAAqB;gBACrB,IAAI,QAAQ,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;oBACrC,IAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,YAAY;wBAAE,OAAO;oBAC1B,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;oBAClC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;oBAClC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;oBAClC,OAAO;iBACR;gBAED,aAAa;gBACb,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAC5B,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;gBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;gBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,oCAAc,GAArB,UACE,SAAoB,EACpB,MAA+B,EAC/B,MAA+B,EAC/B,OAAwB;QAEhB,IAAA,OAAO,GAAqC,OAAO,QAA5C,EAAE,QAAQ,GAA2B,OAAO,SAAlC,EAAE,QAAQ,GAAiB,OAAO,SAAxB,EAAE,UAAU,GAAK,OAAO,WAAZ,CAAa;QAC5D,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;YAAE,OAAO;QAC/B,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;YACjB,IAAA,EAAE,GAAK,QAAQ,GAAb,CAAc;YACxB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC;YACpE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC;YACpE,IAAI,EAAE,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/F,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACvD,IAAI,OAAO,GAAG,QAAQ,EAAE;gBACtB,IAAM,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;gBAClC,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;aAClB;YACD,MAAM,CAAC,EAAE,CAAC,GAAG;gBACX,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;aACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,oCAAc,GAArB,UACE,KAAY,EACZ,SAAoB,EACpB,MAA+B,EAC/B,OAAwB;QAJ1B,iBAwDC;QAlDS,IAAA,qBAAqB,GAA2B,OAAO,sBAAlC,EAAE,QAAQ,GAAiB,OAAO,SAAxB,EAAE,UAAU,GAAK,OAAO,WAAZ,CAAa;QAChE,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,EAAE;YACtB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,OAAO;SACR;QACD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,qBAAqB,KAAK,KAAK;YAAE,IAAI,CAAC,eAAe,GAAG,CAAC,QAAQ,CAAC;aACjE,IAAI,qBAAqB,KAAK,KAAK;YAAE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAE1E,SAAS,CAAC,OAAO,CAAC,UAAC,QAAkB;YAC3B,IAAA,EAAE,GAAK,QAAQ,GAAb,CAAc;YACxB,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACpD,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE;oBAC1B,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBACf,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBACf,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAY,CAAC,CAAC,CAAC,SAAS;iBACzD,CAAC,CAAC;gBACH,OAAO;aACR;YACD,IAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YACtC,IAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YACtC,IAAM,KAAK,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/D,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE;gBAC1B,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;gBAC1B,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;gBAC1B,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;aAC3B,CAAC,CAAC;YAEH,IAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;YACnF,QAAQ,qBAAqB,EAAE;gBAC7B,KAAK,KAAK;oBACR,IAAI,KAAI,CAAC,eAAe,GAAG,iBAAiB,EAAE;wBAC5C,KAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;qBAC1C;oBACD,MAAM;gBACR,KAAK,KAAK;oBACR,IAAI,KAAI,CAAC,eAAe,GAAG,iBAAiB,EAAE;wBAC5C,KAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;qBAC1C;oBACD,MAAM;gBACR;oBACE,GAAG,GAAG,GAAG,GAAG,iBAAiB,CAAC;oBAC9B,MAAM;aACT;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,KAAK,MAAM,EAAE;YAC9D,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;SAC/C;IACH,CAAC;IACH,kBAAC;AAAD,CAAC,AAxxBD,IAwxBC;;AAUD;;;;;GAKG;AACH,IAAM,kBAAkB,GAAG,UACzB,SAAoB,EACpB,aAAqB;IAErB,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;QAAE,OAAO,EAAE,CAAC;IAClC,IAAM,eAAe,GAAoB,EAAE,CAAC;IAC5C,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;QACxB,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CACpD,SAAS,EACT,MAAM,EACN,IAAI,EACJ,aAAa,CACd,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,IAAM,2BAA2B,GAAG,UAClC,SAAoB,EACpB,IAAoB,EACpB,IAAU,EACV,aAAqB;IAMrB,IAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtD,iEAAiE;IACjE,IAAI,QAAQ,GAAS,IAAI,CAAC;IAC1B,IAAI,aAAa,GAAW,EAAE,CAAC;IAC/B,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,qIAAqI;QACrI,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACrD;SAAM,IAAI,SAAS,KAAK,CAAC,EAAE;QAC1B,sIAAsI;QACtI,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACrD;IACD,+BAA+B;IAC/B,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,UAAC,IAAI;QACH,OAAA,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;YACxC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;IADzC,CACyC,CAC5C,CAAC;IACF,IAAM,cAAc,GAAG,gBAAgB,CACrC,SAAS,EACT,IAAI,EACJ,aAAa,EACb,IAAI,EACJ,aAAa,CACd,CAAC;IACF,OAAO,EAAE,QAAQ,UAAA,EAAE,aAAa,eAAA,EAAE,cAAc,gBAAA,EAAE,CAAC;AACrD,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,IAAM,gBAAgB,GAAG,UACvB,SAAoB,EACpB,IAAoB,EACpB,aAAqB,EACrB,IAAU,EACV,aAAqB;IAErB,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,aAAa,GACf,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,QAAQ,EAArC,CAAqC,CAAC;QACtE,EAAE,CAAC;IACL,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,UAAC,IAAI;YACH,OAAA,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;gBACxC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;QADzC,CACyC,CAC5C,CAAC;KACH;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF;;;;GAIG;AACH,IAAM,kBAAkB,GAAG,UAAC,KAAiB;IAC3C,IAAM,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;QACX,IAAA,KAAW,IAAI,CAAC,IAAI,EAAlB,CAAC,OAAA,EAAE,CAAC,OAAc,CAAC;QAC3B,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,SAAS;IACT,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,OAAO;QACL,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,MAAM;QACxB,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,MAAM;KACzB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,IAAM,cAAc,GAAG,UAAC,KAAY,EAAE,WAAuB;IAC3D,OAAA,WAAW,CAAC,GAAG,CAAC,UAAC,QAAQ;QACf,IAAA,EAAE,GAAW,QAAQ,GAAnB,EAAE,IAAI,GAAK,QAAQ,KAAb,CAAc;QAC9B,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,sBACF,IAAI,KACP,IAAI,wBACC,IAAI,CAAC,IAAI,KACZ,CAAC,EAAE,IAAI,CAAC,CAAC,EACT,CAAC,EAAE,IAAI,CAAC,CAAC,EACT,CAAC,EAAE,IAAI,CAAC,CAAC,MAED,CAAC;IACf,CAAC,CAAC;AAZF,CAYE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/force/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAW5D,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU1C,IAAM,uBAAuB,GAAgC;IAC3D,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,WAAW,EAAE,GAAG;IAChB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,GAAG;IACjB,mBAAmB,EAAE,EAAE;IACvB,cAAc,EAAE,IAAI;IACpB,qBAAqB,EAAE,MAAM;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH;IAuBE,qBAAmB,OAAsD;QAAtD,wBAAA,EAAA,UAA8B,EAAwB;QAAtD,YAAO,GAAP,OAAO,CAA+C;QAtBzE,OAAE,GAAG,OAAO,CAAC;QACb;;WAEG;QACK,iBAAY,GAAW,CAAC,CAAC;QACjC;;WAEG;QACK,oBAAe,GAAW,CAAC,CAAC;QAE5B,YAAO,GAAY,KAAK,CAAC;QAa/B,IAAI,CAAC,OAAO,yBACP,uBAAuB,GACvB,OAAO,CACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACG,6BAAO,GAAb,UAAc,KAAY,EAAE,OAA4B;;;gBACtD,sBAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAC;;;KACvD;IACD;;OAEG;IACG,4BAAM,GAAZ,UAAa,KAAY,EAAE,OAA4B;;;gBACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;;;;KAC/C;IAED;;OAEG;IACH,0BAAI,GAAJ;QACE,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACtD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,0BAAI,GAAJ,UAAK,UAA2C;QAAhD,iBA0CC;QA1CI,2BAAA,EAAA,aAAa,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC;QAC9C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;QAED,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,CAAC,GAAG,UAAU,EACd,CAAC,EAAE,EACH;YACA,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,CAAC,EACD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CAAC;YACF,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CAAC;SACH;QAED,IAAM,MAAM,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,KAAK,EAAE,IAAI,CAAC,eAAe;SAC5B,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;gBACxB,OAAA,KAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE;oBACpC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC3D,CAAC;YAJF,CAIE,CACH,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAYa,wCAAkB,GAAhC,UACE,MAAe,EACf,KAAY,EACZ,OAA4B;;;;;gBAEtB,aAAa,yBAAQ,IAAI,CAAC,OAAO,GAAK,OAAO,CAAE,CAAC;gBAEhD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5B,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAE5B,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBAEhE,UAAU,GAQR,gBAAgB,WARR,EACV,KAAK,GAOH,gBAAgB,MAPb,EACL,MAAM,GAMJ,gBAAgB,OANZ,EACN,QAAQ,GAKN,gBAAgB,SALV,EACR,OAAO,GAIL,gBAAgB,QAJX,EACP,YAAY,GAGV,gBAAgB,aAHN,EACZ,YAAY,GAEV,gBAAgB,aAFN,EACZ,YAAY,GACV,gBAAgB,aADN,CACO;gBAGf,WAAW,GAAe,KAAK,CAAC,GAAG,CACvC,UAAC,IAAI,EAAE,CAAC;oBACN,OAAA,CAAC,sBACI,IAAI,KACP,IAAI,wBACC,IAAI,CAAC,IAAI;4BACZ,kDAAkD;4BAClD,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAC9D,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAC/D,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gCACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCACb,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,EAC7C,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EACnB,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,MAEtB,CAAA;gBAdd,CAcc,CACjB,CAAC;gBACI,WAAW,GAAe,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,uBAC/C,IAAI,KACP,IAAI,wBACC,IAAI,CAAC,IAAI,KACZ,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,EAChC,YAAY,EAAE,YAAY,CACxB,IAAI,EACJ,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAC3B,OAEH,EAXkD,CAWlD,CAAC,CAAC;gBAEJ,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,EAAE;oBAClB,IAAI,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC;oBACvC,sBAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,OAAA,EAAE,EAAC;iBAC7B;gBAEK,MAAM,GAA4B,EAAE,CAAC;gBAC3C,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;wBAChB,CAAC,EAAE,CAAC;wBACJ,CAAC,EAAE,CAAC;wBACJ,CAAC,EAAE,CAAC;qBACL,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEG,SAAS,GAAG,IAAI,MAAM,CAA6B;oBACvD,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,WAAW;iBACnB,CAAC,CAAC;gBAEH,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;gBAE5C,YAAY,GAA0B,gBAAgB,aAA1C,EAAE,WAAW,GAAa,gBAAgB,YAA7B,EAAE,MAAM,GAAK,gBAAgB,OAArB,CAAsB;gBAE/D,4BAA4B;gBAC5B,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;gBACnC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;gBACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBAEzB,IAAI,OAAO,MAAM,KAAK,WAAW;oBAAE,sBAAO;gBACtC,IAAI,GAAG,CAAC,CAAC;gBAEb,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO;wBACzB,sDAAsD;wBACtD,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;4BACrC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAI,CAAC,OAAO,EAAE;gCAC3B,OAAO,CAAC;oCACN,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;oCACzC,KAAK,OAAA;iCACN,CAAC,CAAC;6BACJ;4BACD,KAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;4BAClE,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;4BAChE,IAAI,MAAM,EAAE;gCACV,WAAW,CAAC,OAAO,CAAC,UAAC,IAAI;oCACvB,OAAA,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE;wCAC3B,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wCACd,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wCACd,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;qCAC9C,CAAC;gCAJF,CAIE,CACH,CAAC;6BACH;4BACD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG;gCACP,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;gCACzC,KAAK,OAAA;6BACN,CAAC,CAAC;4BACH,IAAI,EAAE,CAAC;4BACP,IAAI,IAAI,IAAI,YAAY,IAAI,KAAI,CAAC,eAAe,GAAG,WAAW,EAAE;gCAC9D,MAAM,CAAC,aAAa,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gCAExC,OAAO,CAAC;oCACN,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;oCACzC,KAAK,OAAA;iCACN,CAAC,CAAC;6BACJ;wBACH,CAAC,EAAE,CAAC,CAAC,CAAC;wBACN,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACtB,CAAC,CAAC,EAAC;;;KACJ;IAED;;;;;OAKG;IACK,mCAAa,GAArB,UACE,OAA2B,EAC3B,KAAY;QAEZ,IAAM,gBAAgB,GAAG,OAA0B,CAAC;QAElD,IAAO,UAAU,GAIf,OAAO,MAJQ,EACT,WAAW,GAGjB,OAAO,OAHU,EACnB,OAAO,GAEL,OAAO,QAFF,EACP,QAAQ,GACN,OAAO,SADD,CACE;QAEZ,gDAAgD;QAChD,gBAAgB,CAAC,KAAK;YACpB,CAAC,UAAU,IAAI,OAAO,MAAM,KAAK,WAAW;gBAC1C,CAAC,CAAC,MAAM,CAAC,UAAU;gBACnB,CAAC,CAAE,UAAqB,CAAC;QAC7B,gBAAgB,CAAC,MAAM;YACrB,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW;gBAC3C,CAAC,CAAC,MAAM,CAAC,WAAW;gBACpB,CAAC,CAAE,WAAsB,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,gBAAgB,CAAC,MAAM,GAAG;gBACxB,gBAAgB,CAAC,KAAK,GAAG,CAAC;gBAC1B,gBAAgB,CAAC,MAAM,GAAG,CAAC;aAC5B,CAAC;SACH;QAED,gCAAgC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,gBAAgB,CAAC,OAAO,GAAG,UAAC,CAAQ;gBAClC,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,QAAQ,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC;oBAAE,UAAU,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,CAAC,IAAc,CAAC;gBAChE,IAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC9C,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC;YACtE,CAAC,CAAC;SACH;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAM,iBAAe,GAAG,cAAc,CAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,EAAE;gBACb,gBAAgB,CAAC,QAAQ,GAAG,UAAC,CAAQ;oBAC3B,IAAA,IAAI,GAAK,CAAA,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,KAAI,EAAE,CAAA,KAAlB,CAAmB;oBAC/B,IAAI,IAAI,EAAE;wBACR,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;4BACjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;yBACxD;wBACD,IAAI,QAAQ,CAAoC,IAAI,CAAC,EAAE;4BACrD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;yBAC/D;wBACD,OAAQ,IAAe,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;qBAC9C;oBACD,OAAO,EAAE,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC,CAAC;aACH;iBAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC/B,gBAAgB,CAAC,QAAQ,GAAG,UAAC,CAAQ;oBACnC,OAAC,QAAqB,CAAC,CAAC,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC;gBAA9C,CAA8C,CAAC;aAClD;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC5B,gBAAgB,CAAC,QAAQ,GAAG,UAAC,CAAQ;oBACnC,IAAM,WAAW,GAAG,QAA4B,CAAC;oBACjD,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAe,CAAC,CAAC,CAAC,CAAC;gBACvE,CAAC,CAAC;aACH;iBAAM;gBACL,gBAAgB,CAAC,QAAQ,GAAG,UAAC,CAAQ;oBACnC,OAAC,QAAmB,GAAG,iBAAe,CAAC,CAAC,CAAC;gBAAzC,CAAyC,CAAC;aAC7C;SACF;QAED,4CAA4C;QAC5C,gBAAgB,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;YAClD,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;YACzC,CAAC,CAAC,UAAC,IAAW;gBACV,OAAA,CAAC;oBACD,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC;oBACtD,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC;YAFtD,CAEsD,CAAC;QAC7D,gBAAgB,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACxE,gBAAgB,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAExE,OAAO,OAA0B,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,uCAAiB,GAAzB,UAA0B,OAAwB,EAAE,SAAoB;QAEpE,IAAA,UAAU,GAOR,OAAO,WAPC,EACV,kBAAkB,GAMhB,OAAO,mBANS,EAClB,MAAM,GAKJ,OAAO,OALH,EACN,mBAAmB,GAIjB,OAAO,oBAJU,EACnB,WAAW,GAGT,OAAO,YAHE,EACX,UAAU,GAER,OAAO,WAFC,EACV,aAAa,GACX,OAAO,cADI,CACH;QACZ,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,yCAAyC;QACzC,IAAM,gBAAgB,GAAG,kBAAkB,IAAI;YAC7C,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,2BAA2B;YAC3B,MAAM,EAAE,UAAC,CAAM;gBACb,OAAO;oBACL,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;oBACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;oBACZ,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC5C,CAAC;YACJ,CAAC;SACF,CAAC;QACF,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;YAC7C,OAAO,CAAC,mBAAmB,GAAG,UAAC,IAAW;gBACxC,OAAA,mBAA6B;YAA7B,CAA6B,CAAC;SACjC;QACD,IAAI,eAAoB,CAAC;QACzB,IAAI,QAAQ,GAAa,EAAE,CAAC;QAC5B,IAAI,WAAW,IAAI,aAAa,EAAE;YAChC,eAAe,GAAG,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAC/D,QAAQ;gBACN,KAAK,CAAC,IAAI,CACR,IAAI,GAAG,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAW,EAAlC,CAAkC,CAAC,CAAC,CACtE,IAAI,EAAE,CAAC;YACV,aAAa;YACb,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC3D,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,UAAC,IAAU;oBACf,mCAAmC;oBAC7B,IAAA,KACJ,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EADxB,aAAa,mBAAA,EAAE,cAAc,oBACL,CAAC;oBACjC,8BAA8B;oBAC9B,IACE,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,OAAK,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA;wBAChD,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,MAAK,CAAC,EACtB;wBACA,OAAO,CAAC,CAAC;qBACV;oBACD,OAAO,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,UAAC,IAAU;oBACjB,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACpD,gBAAgB;oBAChB,IAAI,CAAC,MAAM,EAAE;wBACX,OAAO;4BACL,CAAC,EAAE,GAAG;4BACN,CAAC,EAAE,GAAG;4BACN,CAAC,EAAE,CAAC;yBACL,CAAC;qBACH;oBACD,IAAI,SAA4B,CAAC;oBACjC,IAAI,MAAM,KAAK,CAAC,EAAE;wBAChB,UAAU;wBACV,gCAAgC;wBACxB,IAAA,KAAwB,CAAA,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA,eAAnC,EAAnB,cAAc,mBAAG,EAAE,KAAA,CAAoC;wBAC/D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC/B,gCAAgC;4BAChC,SAAS,GAAG,SAAS,CAAC;yBACvB;6BAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;4BACpC,kBAAkB;4BAClB,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;yBAChD;qBACF;yBAAM;wBACL,SAAS,GAAG,SAAS,CAAC;qBACvB;oBACD,OAAO;wBACL,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;wBAChB,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;wBAChB,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;qBACjB,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;SACJ;QACD,IAAI,UAAU,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,eAAe,EAAE;gBACpB,eAAe,GAAG,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAChE;YACD,IAAI,CAAC,QAAQ,EAAE;gBACb,QAAQ,GAAG,KAAK,CAAC,IAAI,CACnB,IAAI,GAAG,CACL,SAAS,CAAC,GAAG,CAAC,UAAC,IAAU,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAW,EAAlC,CAAkC,CAAC,CAClE,CACF,CAAC;aACH;YACD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,SAAS,EAAlB,CAAkB,CAAC,CAAC;YAEzD,IAAM,YAAU,GAA6B,EAAE,CAAC;YAChD,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;gBACvB,IAAM,aAAa,GAAG,SAAS;qBAC5B,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,OAAO,EAApC,CAAoC,CAAC;qBACtD,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAA1B,CAA0B,CAAC,CAAC;gBAC7C,8BAA8B;gBAC9B,YAAU,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC3D,MAAM,EAAE,UAAC,IAAU,IAAK,OAAA,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAjC,CAAiC;gBACzD,IAAI,EAAE,UAAC,IAAU,IAAK,OAAA,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAjC,CAAiC;gBACvD,MAAM,EAAE,UAAC,IAAU,IAAK,OAAA,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAjC,CAAiC;gBACzD,MAAM,EAAE,UAAC,IAAU;oBACjB,8BAA8B;oBAC9B,IAAM,SAAS,GAAG,YAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAW,CAAC,CAAC;oBACjE,OAAO;wBACL,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;wBAChB,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;wBAChB,CAAC,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAE;qBACjB,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;SACJ;QACK,IAAA,KAA2B,OAAO,CAAC,kBAAkB,IAAI,EAAE,EAAzD,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAqC,CAAC;QAClE,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YACtC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;SAC9C;QACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YAC1C,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAM,OAAA,MAAM,EAAN,CAAM,CAAC;SAClD;QACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YAC1C,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAM,OAAA,MAAM,EAAN,CAAM,CAAC;SAClD;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,gCAAU,GAAlB,UACE,SAAoB,EACpB,KAAY,EACZ,IAAY,EACZ,MAA+B,EAC/B,OAAwB;QAExB,IAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;YAAE,OAAO;QACvB,IAAA,OAAO,GAAK,OAAO,QAAZ,CAAa;QAC5B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,SAAS;YAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAExD,sBAAsB;QACtB,IAAI,OAAO,EAAE;YACX,IAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACtD,OAAO,CAAC;gBACN,MAAM,QAAA;gBACN,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;gBAC1B,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;gBAC1B,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;;OAKG;IACK,oCAAc,GAAtB,UAAuB,MAA+B,EAAE,KAAiB;QAAzE,iBAcC;QAbC,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;YAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,MAAM,GAAG,GAAG,CAAC;QAEjB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YACpB,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAM,EAAE,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,IAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACnC,IAAA,KAAa,IAAI,CAAC,IAAI,KAAd,EAAR,IAAI,mBAAG,CAAC,KAAA,CAAe;YAC/B,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,iBAAiB;QAClD,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACI,kCAAY,GAAnB,UACE,SAAoB,EACpB,MAA+B,EAC/B,OAAwB;QAEhB,IAAA,UAAU,GAA8B,OAAO,WAArC,EAAE,MAAM,GAAsB,OAAO,OAA7B,EAAE,eAAe,GAAK,OAAO,gBAAZ,CAAa;QACxD,UAAU,CACR,SAAS,EACT,MAAM,EACN,eAAe,GAAG,eAAe,EACjC,MAAM,EACN,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,mCAAa,GAApB,UACE,SAAoB,EACpB,MAA+B,EAC/B,OAAwB;QAEhB,IAAA,UAAU,GAAe,OAAO,WAAtB,EAAE,QAAQ,GAAK,OAAO,SAAZ,CAAa;QACzC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YAC9B,IAAA,MAAM,GAAa,IAAI,OAAjB,EAAE,MAAM,GAAK,IAAI,OAAT,CAAU;YAChC,IAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;gBAAE,OAAO;YACvC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,IAAI,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;gBAClB,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;gBAC5B,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;gBAE5B,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;oBAC7B,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;iBAC7B;aACF;YACD,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;YACrE,IAAI,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO;YACpE,IAAM,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;YAC/B,IAAM,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;YAC/B,IAAM,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;YACzB,IAAA,KAA6C,IAAI,CAAC,IAAI,IAAI,EAAE,EAA1D,oBAAkB,EAAlB,YAAY,mBAAG,GAAG,KAAA,EAAE,oBAAkB,EAAlB,YAAY,mBAAG,GAAG,KAAoB,CAAC;YACnE,IAAM,IAAI,GAAG,YAAY,GAAG,SAAS,CAAC;YACtC,IAAM,KAAK,GAAG,IAAI,GAAG,YAAY,CAAC;YAClC,IAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YAC7C,IAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YAC7C,oBAAoB;YACpB,IAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;YACvC,IAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;YACvC,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,gCAAU,GAAjB,UACE,SAAoB,EACpB,KAAY,EACZ,MAA+B,EAC/B,OAAwB;QAEhB,IAAA,SAAS,GAAK,OAAO,UAAZ,CAAa;QAC9B,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,IAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEhC,IAAA,KAAK,GAKH,OAAO,MALJ,EACL,MAAM,GAIJ,OAAO,OAJH,EACN,MAAM,GAGJ,OAAO,OAHH,EACG,cAAc,GAErB,OAAO,QAFc,EACvB,kBAAkB,GAChB,OAAO,mBADS,CACR;QACZ,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;YACjB,IAAA,EAAE,GAAW,QAAQ,GAAnB,EAAE,IAAI,GAAK,QAAQ,KAAb,CAAc;YACtB,IAAA,IAAI,GAAc,IAAI,KAAlB,EAAE,CAAC,GAAW,IAAI,EAAf,EAAE,CAAC,GAAQ,IAAI,EAAZ,EAAE,CAAC,GAAK,IAAI,EAAT,CAAU;YAC/B,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,OAAO,GAAG,cAAc,CAAC;YAC7B,IAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACjD,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAM,WAAW,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,WAAW,EAAE;gBACT,IAAA,KAAA,OAA+B,WAAW,IAAA,EAAzC,OAAO,QAAA,EAAE,OAAO,QAAA,EAAE,QAAQ,QAAe,CAAC;gBACjD,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC;gBACnB,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC;gBACnB,OAAO,GAAG,QAAQ,CAAC;aACpB;iBAAM;gBACL,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aACtB;YAED,IAAI,OAAO,EAAE;gBACX,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBACxC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBACxC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;aACzC;YAED,IAAI,kBAAkB,EAAE;gBAEpB,IAAA,IAAI,GAIF,kBAAkB,KAJhB,EACJ,MAAM,GAGJ,kBAAkB,OAHd,EACN,MAAM,GAEJ,kBAAkB,OAFd,EACE,YAAY,GAClB,kBAAkB,OADA,CACC;gBACjB,IAAA,KAKF,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAI;oBACvD,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,cAAc,EAAE,CAAC;iBAClB,EATI,OAAO,OAAA,EACP,OAAO,OAAA,EACP,OAAO,OAAA,EACV,cAAc,oBAMf,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,OAAO;gBACrD,IAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;gBAChC,IAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;gBAChC,IAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;gBAChC,IAAI,cAAc,EAAE;oBAClB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;iBACrC;gBAED,KAAK;gBACL,IAAI,MAAM,KAAK,CAAC,EAAE;oBAChB,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,cAAc;wBAAE,OAAO;oBAC5B,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACpC,OAAO;iBACR;gBAED,qBAAqB;gBACrB,IAAI,QAAQ,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;oBACrC,IAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,YAAY;wBAAE,OAAO;oBAC1B,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;oBAClC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;oBAClC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;oBAClC,OAAO;iBACR;gBAED,aAAa;gBACb,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAC5B,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;gBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;gBACpC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,oCAAc,GAArB,UACE,SAAoB,EACpB,MAA+B,EAC/B,MAA+B,EAC/B,OAAwB;QAEhB,IAAA,OAAO,GAAqC,OAAO,QAA5C,EAAE,QAAQ,GAA2B,OAAO,SAAlC,EAAE,QAAQ,GAAiB,OAAO,SAAxB,EAAE,UAAU,GAAK,OAAO,WAAZ,CAAa;QAC5D,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;YAAE,OAAO;QAC/B,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;YACjB,IAAA,EAAE,GAAK,QAAQ,GAAb,CAAc;YACxB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC;YACpE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC;YACpE,IAAI,EAAE,GACJ,UAAU,KAAK,CAAC;gBACd,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,IAAI,IAAI;gBAC5D,CAAC,CAAC,GAAG,CAAC;YACV,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACvD,IAAI,OAAO,GAAG,QAAQ,EAAE;gBACtB,IAAM,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;gBAClC,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;aAClB;YACD,MAAM,CAAC,EAAE,CAAC,GAAG;gBACX,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;aACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,oCAAc,GAArB,UACE,KAAY,EACZ,SAAoB,EACpB,MAA+B,EAC/B,OAAwB;QAJ1B,iBA0DC;QApDS,IAAA,qBAAqB,GAA2B,OAAO,sBAAlC,EAAE,QAAQ,GAAiB,OAAO,SAAxB,EAAE,UAAU,GAAK,OAAO,WAAZ,CAAa;QAChE,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,EAAE;YACtB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,OAAO;SACR;QACD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,qBAAqB,KAAK,KAAK;YAAE,IAAI,CAAC,eAAe,GAAG,CAAC,QAAQ,CAAC;aACjE,IAAI,qBAAqB,KAAK,KAAK;YAAE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAE1E,SAAS,CAAC,OAAO,CAAC,UAAC,QAAkB;YAC3B,IAAA,EAAE,GAAK,QAAQ,GAAb,CAAc;YACxB,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACpD,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE;oBAC1B,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBACf,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBACf,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,EAAa,CAAC,CAAC,CAAC,SAAS;iBAC3D,CAAC,CAAC;gBACH,OAAO;aACR;YACD,IAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YACtC,IAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YACtC,IAAM,KAAK,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/D,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE;gBAC1B,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;gBAC1B,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;gBAC1B,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;aAC3B,CAAC,CAAC;YAEH,IAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAC9C,CAAC;YACF,QAAQ,qBAAqB,EAAE;gBAC7B,KAAK,KAAK;oBACR,IAAI,KAAI,CAAC,eAAe,GAAG,iBAAiB,EAAE;wBAC5C,KAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;qBAC1C;oBACD,MAAM;gBACR,KAAK,KAAK;oBACR,IAAI,KAAI,CAAC,eAAe,GAAG,iBAAiB,EAAE;wBAC5C,KAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;qBAC1C;oBACD,MAAM;gBACR;oBACE,GAAG,GAAG,GAAG,GAAG,iBAAiB,CAAC;oBAC9B,MAAM;aACT;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,KAAK,MAAM,EAAE;YAC9D,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;SAC/C;IACH,CAAC;IACH,kBAAC;AAAD,CAAC,AAlzBD,IAkzBC;;AAUD;;;;;GAKG;AACH,IAAM,kBAAkB,GAAG,UACzB,SAAoB,EACpB,aAAqB;IAErB,IAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;QAAE,OAAO,EAAE,CAAC;IAClC,IAAM,eAAe,GAAoB,EAAE,CAAC;IAC5C,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;QACxB,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CACpD,SAAS,EACT,MAAM,EACN,IAAI,EACJ,aAAa,CACd,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,IAAM,2BAA2B,GAAG,UAClC,SAAoB,EACpB,IAAoB,EACpB,IAAU,EACV,aAAqB;IAMrB,IAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtD,iEAAiE;IACjE,IAAI,QAAQ,GAAS,IAAI,CAAC;IAC1B,IAAI,aAAa,GAAW,EAAE,CAAC;IAC/B,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,qIAAqI;QACrI,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACrD;SAAM,IAAI,SAAS,KAAK,CAAC,EAAE;QAC1B,sIAAsI;QACtI,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACrD;IACD,+BAA+B;IAC/B,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,UAAC,IAAI;QACH,OAAA,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;YACxC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;IADzC,CACyC,CAC5C,CAAC;IACF,IAAM,cAAc,GAAG,gBAAgB,CACrC,SAAS,EACT,IAAI,EACJ,aAAa,EACb,IAAI,EACJ,aAAa,CACd,CAAC;IACF,OAAO,EAAE,QAAQ,UAAA,EAAE,aAAa,eAAA,EAAE,cAAc,gBAAA,EAAE,CAAC;AACrD,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,IAAM,gBAAgB,GAAG,UACvB,SAAoB,EACpB,IAAoB,EACpB,aAAqB,EACrB,IAAU,EACV,aAAqB;IAErB,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,aAAa,GACf,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,QAAQ,EAArC,CAAqC,CAAC;QACtE,EAAE,CAAC;IACL,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,UAAC,IAAI;YACH,OAAA,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;gBACxC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;QADzC,CACyC,CAC5C,CAAC;KACH;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF;;;;GAIG;AACH,IAAM,kBAAkB,GAAG,UAAC,KAAiB;IAC3C,IAAM,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;QACX,IAAA,KAAW,IAAI,CAAC,IAAI,EAAlB,CAAC,OAAA,EAAE,CAAC,OAAc,CAAC;QAC3B,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,SAAS;IACT,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,OAAO;QACL,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,MAAM;QACxB,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,MAAM;KACzB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,IAAM,cAAc,GAAG,UAAC,KAAY,EAAE,WAAuB;IAC3D,OAAA,WAAW,CAAC,GAAG,CAAC,UAAC,QAAQ;QACf,IAAA,EAAE,GAAW,QAAQ,GAAnB,EAAE,IAAI,GAAK,QAAQ,KAAb,CAAc;QAC9B,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,sBACF,IAAI,KACP,IAAI,wBACC,IAAI,CAAC,IAAI,KACZ,CAAC,EAAE,IAAI,CAAC,CAAC,EACT,CAAC,EAAE,IAAI,CAAC,CAAC,EACT,CAAC,EAAE,IAAI,CAAC,CAAC,MAED,CAAC;IACf,CAAC,CAAC;AAZF,CAYE,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,15 +1,16 @@
1
- export * from "./circular";
2
- export * from "./supervisor";
3
- export * from "./registry";
4
- export * from "./grid";
5
- export * from "./random";
6
- export * from "./mds";
7
- export * from "./concentric";
8
- export * from "./radial";
9
- export * from "./fruchterman";
10
- export * from "./d3Force";
11
- export * from "./force";
12
- export * from "./forceAtlas2";
13
- export * from "./dagre";
14
- export * from "./types";
15
- export * from "./util";
1
+ export * from './circular';
2
+ export * from './supervisor';
3
+ export * from './registry';
4
+ export * from './grid';
5
+ export * from './random';
6
+ export * from './mds';
7
+ export * from './concentric';
8
+ export * from './radial';
9
+ export * from './fruchterman';
10
+ export * from './d3Force';
11
+ export * from './force';
12
+ export * from './forceAtlas2';
13
+ export * from './dagre';
14
+ export * from './comboCombined';
15
+ export * from './types';
16
+ export * from './util';
package/lib/index.js CHANGED
@@ -1,16 +1,17 @@
1
- export * from "./circular";
2
- export * from "./supervisor";
3
- export * from "./registry";
4
- export * from "./grid";
5
- export * from "./random";
6
- export * from "./mds";
7
- export * from "./concentric";
8
- export * from "./radial";
9
- export * from "./fruchterman";
10
- export * from "./d3Force";
11
- export * from "./force";
12
- export * from "./forceAtlas2";
13
- export * from "./dagre";
14
- export * from "./types";
15
- export * from "./util";
1
+ export * from './circular';
2
+ export * from './supervisor';
3
+ export * from './registry';
4
+ export * from './grid';
5
+ export * from './random';
6
+ export * from './mds';
7
+ export * from './concentric';
8
+ export * from './radial';
9
+ export * from './fruchterman';
10
+ export * from './d3Force';
11
+ export * from './force';
12
+ export * from './forceAtlas2';
13
+ export * from './dagre';
14
+ export * from './comboCombined';
15
+ export * from './types';
16
+ export * from './util';
16
17
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
package/lib/registry.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import type { LayoutConstructor } from "./types";
1
+ import type { LayoutConstructor } from './types';
2
2
  export declare const registry: Record<string, LayoutConstructor<any>>;
package/lib/registry.js CHANGED
@@ -1,14 +1,15 @@
1
- import { CircularLayout } from "./circular";
2
- import { ConcentricLayout } from "./concentric";
3
- import { D3ForceLayout } from "./d3Force";
4
- import { DagreLayout } from "./dagre";
5
- import { ForceLayout } from "./force";
6
- import { ForceAtlas2Layout } from "./forceAtlas2";
7
- import { FruchtermanLayout } from "./fruchterman";
8
- import { GridLayout } from "./grid";
9
- import { MDSLayout } from "./mds";
10
- import { RadialLayout } from "./radial";
11
- import { RandomLayout } from "./random";
1
+ import { CircularLayout } from './circular';
2
+ import { ComboCombinedLayout } from './comboCombined';
3
+ import { ConcentricLayout } from './concentric';
4
+ import { D3ForceLayout } from './d3Force';
5
+ import { DagreLayout } from './dagre';
6
+ import { ForceLayout } from './force';
7
+ import { ForceAtlas2Layout } from './forceAtlas2';
8
+ import { FruchtermanLayout } from './fruchterman';
9
+ import { GridLayout } from './grid';
10
+ import { MDSLayout } from './mds';
11
+ import { RadialLayout } from './radial';
12
+ import { RandomLayout } from './random';
12
13
  export var registry = {
13
14
  circular: CircularLayout,
14
15
  concentric: ConcentricLayout,
@@ -21,5 +22,6 @@ export var registry = {
21
22
  fruchterman: FruchtermanLayout,
22
23
  forceAtlas2: ForceAtlas2Layout,
23
24
  dagre: DagreLayout,
25
+ comboCombined: ComboCombinedLayout,
24
26
  };
25
27
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,CAAC,IAAM,QAAQ,GAA2C;IAC9D,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;IAC5B,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,WAAW;CACnB,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,CAAC,IAAM,QAAQ,GAA2C;IAC9D,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;IAC5B,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,WAAW;IAClB,aAAa,EAAE,mBAAmB;CACnC,CAAC"}
@@ -36,7 +36,7 @@ export declare class Supervisor extends EventEmitter implements LayoutSupervisor
36
36
  /**
37
37
  * Internal worker.
38
38
  */
39
- private worker;
39
+ private proxy;
40
40
  /**
41
41
  * Flag of running state.
42
42
  */
package/lib/supervisor.js CHANGED
@@ -23,10 +23,7 @@ var Supervisor = /** @class */ (function (_super) {
23
23
  return _this;
24
24
  }
25
25
  Supervisor.prototype.spawnWorker = function () {
26
- if (this.worker) {
27
- this.worker.terminate();
28
- }
29
- this.worker = Comlink.wrap(
26
+ this.proxy = Comlink.wrap(
30
27
  // @ts-ignore
31
28
  new Worker(new URL("./worker.js", import.meta.url), { type: 'module' }));
32
29
  if (this.running) {
@@ -55,7 +52,7 @@ var Supervisor = /** @class */ (function (_super) {
55
52
  edges: this.graph.getAllEdges(),
56
53
  };
57
54
  arraybufferWithNodesEdges = new Float32Array([0]);
58
- return [4 /*yield*/, this.worker.calculateLayout(payload, [
55
+ return [4 /*yield*/, this.proxy.calculateLayout(payload, [
59
56
  arraybufferWithNodesEdges,
60
57
  ])];
61
58
  case 1:
@@ -68,13 +65,13 @@ var Supervisor = /** @class */ (function (_super) {
68
65
  Supervisor.prototype.stop = function () {
69
66
  this.running = false;
70
67
  // trigger `layout.stop()` if needed
71
- this.worker.stopLayout();
68
+ this.proxy.stopLayout();
72
69
  return this;
73
70
  };
74
71
  Supervisor.prototype.kill = function () {
75
- // if (this.worker) {
76
- // this.worker.terminate();
77
- // }
72
+ // allow the GC to collect wrapper port
73
+ // @see https://github.com/GoogleChromeLabs/comlink#comlinkreleaseproxy
74
+ this.proxy[Comlink.releaseProxy]();
78
75
  // TODO: unbind listeners on graph.
79
76
  // TODO: release attached memory
80
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":";AAAA,aAAa;AACb,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAE/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAuBnC;;;;;;;;;GASG;AACH;IAAgC,8BAAY;IAW1C,oBACU,KAAsB,EACtB,MAAmB,EACnB,OAAoC;QAH9C,YAKE,iBAAO,SAGR;QAPS,WAAK,GAAL,KAAK,CAAiB;QACtB,YAAM,GAAN,MAAM,CAAa;QACnB,aAAO,GAAP,OAAO,CAA6B;QAI5C,KAAI,CAAC,WAAW,EAAE,CAAC;;IACrB,CAAC;IAED,gCAAW,GAAX;QACE,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI;QACxB,aAAa;QACb,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CACxE,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;IAEK,4BAAO,GAAb;;;;;;;wBACE,IAAI,IAAI,CAAC,OAAO;4BAAE,sBAAO,IAAI,EAAC;wBAE9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBAGd,KAAsB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAvC,MAAM,YAAA,EAAK,IAAI,cAAjB,UAAmB,CAAF,CAAyB;wBAC1C,OAAO,GAAG;4BACd,MAAM,EAAE;gCACN,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;gCAClB,OAAO,EAAE,IAAI;gCACb,UAAU,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU;6BACrC;4BACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;4BAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;yBAChC,CAAC;wBAOI,yBAAyB,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAWpC,qBAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE;gCAC7D,yBAAyB;6BAC1B,CAAC,EAAA;;wBAFI,KAAA,sBAAc,SAElB,KAAA,EAFK,SAAS,QAAA;wBAIhB,sBAAO,SAAS,EAAC;;;;KAClB;IAED,yBAAI,GAAJ;QACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,oCAAoC;QACpC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAI,GAAJ;QACE,qBAAqB;QACrB,6BAA6B;QAC7B,IAAI;QAEJ,mCAAmC;QAEnC,gCAAgC;IAClC,CAAC;IAED,8BAAS,GAAT;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACH,iBAAC;AAAD,CAAC,AAnGD,CAAgC,YAAY,GAmG3C"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":";AAAA,aAAa;AACb,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAE/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAuBnC;;;;;;;;;GASG;AACH;IAAgC,8BAAY;IAW1C,oBACU,KAAsB,EACtB,MAAmB,EACnB,OAAoC;QAH9C,YAKE,iBAAO,SAGR;QAPS,WAAK,GAAL,KAAK,CAAiB;QACtB,YAAM,GAAN,MAAM,CAAa;QACnB,aAAO,GAAP,OAAO,CAA6B;QAI5C,KAAI,CAAC,WAAW,EAAE,CAAC;;IACrB,CAAC;IAED,gCAAW,GAAX;QACE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI;QACvB,aAAa;QACb,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CACxE,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;IAEK,4BAAO,GAAb;;;;;;;wBACE,IAAI,IAAI,CAAC,OAAO;4BAAE,sBAAO,IAAI,EAAC;wBAE9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBAGd,KAAsB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAvC,MAAM,YAAA,EAAK,IAAI,cAAjB,UAAmB,CAAF,CAAyB;wBAC1C,OAAO,GAAG;4BACd,MAAM,EAAE;gCACN,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;gCAClB,OAAO,EAAE,IAAI;gCACb,UAAU,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU;6BACrC;4BACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;4BAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;yBAChC,CAAC;wBAOI,yBAAyB,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAWpC,qBAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE;gCAC5D,yBAAyB;6BAC1B,CAAC,EAAA;;wBAFI,KAAA,sBAAc,SAElB,KAAA,EAFK,SAAS,QAAA;wBAIhB,sBAAO,SAAS,EAAC;;;;KAClB;IAED,yBAAI,GAAJ;QACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,oCAAoC;QACpC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAI,GAAJ;QACE,uCAAuC;QACvC,uEAAuE;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAEnC,mCAAmC;QAEnC,gCAAgC;IAClC,CAAC;IAED,8BAAS,GAAT;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACH,iBAAC;AAAD,CAAC,AA/FD,CAAgC,YAAY,GA+F3C"}