timeline-chart 0.3.0-next.4c1edfd.0 → 0.3.0-next.4e49452.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,9 +17,9 @@ export declare class TimeGraphStateComponent extends TimeGraphComponent<Timeline
17
17
  static fontController: FontController;
18
18
  protected _options: TimeGraphStyledRect;
19
19
  private textLabelObject;
20
- private textWidth;
21
20
  constructor(id: string, model: TimelineChart.TimeGraphState, xStart: number, xEnd: number, _row: TimeGraphRow, _style: TimeGraphStateStyle, displayWidth: number, displayObject?: PIXI.Graphics);
22
21
  renderLabel(): void;
22
+ private removeLabel;
23
23
  get height(): number;
24
24
  get width(): number;
25
25
  get position(): TimeGraphElementPosition;
@@ -19,6 +19,26 @@ exports.TimeGraphStateComponent = void 0;
19
19
  var time_graph_component_1 = require("./time-graph-component");
20
20
  var time_graph_font_controller_1 = require("../time-graph-font-controller");
21
21
  var PIXI = require("pixi.js-legacy");
22
+ /**
23
+ * Using BitMapText.getLocalBounds() to measure the full label width is expensive, because
24
+ * we need to create a BitMapText object to use it. This means that we need to create a BitMapText
25
+ * for every state, even if we don't use it. When we remove the states, these objects need to
26
+ * be removed as well. In the case where we have a lot states, this cause multiple garbage collection
27
+ * and hogs the performance of the timeline chart.
28
+ *
29
+ * An alternative to measure the width of the label is to use PIXI.TextMetrics.measureText().
30
+ * However, this method applies only for Text objects, and not BitMapText; therefore there is a
31
+ * slight difference between the values returned by the two methods. PIXI.TextMetrics returns a
32
+ * slightly smaller value. Currently, PIXI does not support measureText() for BitMapText.
33
+ *
34
+ * Through some trials, it looks like the ratio between the text width returned by the two methods is
35
+ * consistent. Hence, we can use PIXI.TextMetrics.measureText() to get a good estimation of the text width,
36
+ * then multiply with the SCALING_FACTOR to determine the actual width of the label when rendered
37
+ * with BitMapText.
38
+ *
39
+ * SCALING_FACTOR = BitMapText.getLocalBounds() / PIXI.TextMetrics.measureText()
40
+ */
41
+ var SCALING_FACTOR = 1.04;
22
42
  var TimeGraphStateComponent = /** @class */ (function (_super) {
23
43
  __extends(TimeGraphStateComponent, _super);
24
44
  function TimeGraphStateComponent(id, model, xStart, xEnd, _row, _style, displayWidth, displayObject) {
@@ -52,8 +72,8 @@ var TimeGraphStateComponent = /** @class */ (function (_super) {
52
72
  if (!this.model.label) {
53
73
  return;
54
74
  }
55
- var fontName = TimeGraphStateComponent.fontController.getFontName(this._options.color ? this._options.color : 0, this._options.height - 2) ||
56
- TimeGraphStateComponent.fontController.getDefaultFontName();
75
+ var _b = TimeGraphStateComponent.fontController.getFont(this._options.color ? this._options.color : 0, this._options.height - 2) ||
76
+ TimeGraphStateComponent.fontController.getDefaultFont(), fontName = _b.fontName, fontStyle = _b.fontStyle;
57
77
  var position = {
58
78
  x: this._options.position.x + this._options.width < 0 ? this._options.position.x : Math.max(0, this._options.position.x),
59
79
  y: this._options.position.y
@@ -62,41 +82,48 @@ var TimeGraphStateComponent = /** @class */ (function (_super) {
62
82
  var labelText = this.model.label;
63
83
  var textPadding = 0.5;
64
84
  if (displayWidth < 3) {
65
- if (this.textLabelObject) {
66
- this.textLabelObject.text = "";
67
- }
85
+ this.removeLabel();
68
86
  return;
69
87
  }
70
- var addLabel = false;
71
- if (!this.textLabelObject) {
72
- this.textLabelObject = new PIXI.BitmapText(this.model.label, { fontName: fontName });
73
- this.textWidth = this.textLabelObject.getLocalBounds().width;
74
- addLabel = true;
75
- }
76
- var textObjX = position.x + textPadding;
77
- var textObjY = position.y + textPadding;
78
- var displayLabel = "";
79
- if (displayWidth > this.textWidth) {
80
- textObjX = position.x + (displayWidth - this.textWidth) / 2;
81
- displayLabel = labelText;
82
- }
83
- else {
84
- var textScaler = displayWidth / this.textWidth;
85
- var index = Math.min(Math.floor(textScaler * labelText.length), labelText.length - 1);
86
- var partialLabel = labelText.substr(0, Math.max(index - 3, 0));
87
- if (partialLabel.length > 0) {
88
- displayLabel = partialLabel.concat("...");
88
+ if (fontStyle) {
89
+ var metrics = PIXI.TextMetrics.measureText(this.model.label, fontStyle);
90
+ // Round the text width up just to be sure that it will fit in the state
91
+ var textWidth = Math.ceil(metrics.width * SCALING_FACTOR);
92
+ var textObjX = position.x + textPadding;
93
+ var textObjY = position.y + textPadding;
94
+ var displayLabel = "";
95
+ if (displayWidth > textWidth) {
96
+ textObjX = position.x + (displayWidth - textWidth) / 2;
97
+ displayLabel = labelText;
89
98
  }
99
+ else {
100
+ var textScaler = displayWidth / textWidth;
101
+ var index = Math.min(Math.floor(textScaler * labelText.length), labelText.length - 1);
102
+ var partialLabel = labelText.substr(0, Math.max(index - 1, 0));
103
+ if (partialLabel.length > 0) {
104
+ displayLabel = partialLabel.concat("…");
105
+ }
106
+ }
107
+ if (displayLabel === "") {
108
+ this.removeLabel();
109
+ return;
110
+ }
111
+ if (!this.textLabelObject) {
112
+ this.textLabelObject = new PIXI.BitmapText(displayLabel, { fontName: fontName });
113
+ this.displayObject.addChild(this.textLabelObject);
114
+ }
115
+ else {
116
+ this.textLabelObject.text = displayLabel;
117
+ }
118
+ this.textLabelObject.alpha = (_a = this._options.opacity) !== null && _a !== void 0 ? _a : 1;
119
+ this.textLabelObject.x = textObjX;
120
+ this.textLabelObject.y = textObjY;
90
121
  }
91
- this.textLabelObject.text = displayLabel;
92
- if (displayLabel === "") {
93
- return;
94
- }
95
- this.textLabelObject.alpha = (_a = this._options.opacity) !== null && _a !== void 0 ? _a : 1;
96
- this.textLabelObject.x = textObjX;
97
- this.textLabelObject.y = textObjY;
98
- if (addLabel) {
99
- this.displayObject.addChild(this.textLabelObject);
122
+ };
123
+ TimeGraphStateComponent.prototype.removeLabel = function () {
124
+ if (this.textLabelObject) {
125
+ this.textLabelObject.destroy();
126
+ this.textLabelObject = undefined;
100
127
  }
101
128
  };
102
129
  Object.defineProperty(TimeGraphStateComponent.prototype, "height", {
@@ -1 +1 @@
1
- {"version":3,"file":"time-graph-state.js","sourceRoot":"","sources":["../../src/components/time-graph-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time-graph-state.js","sourceRoot":"","sources":["../../src/components/time-graph-state.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,9 @@ export declare class TimeGraphChartCursors extends TimeGraphChartLayer {
16
16
  private _stageMouseUpHandler;
17
17
  private _updateHandler;
18
18
  private _mouseDownHandler;
19
- private _keyDownHandler;
20
- private _keyUpHandler;
19
+ private _cursorKeyDownHandler;
20
+ private _cursorKeyUpHandler;
21
+ protected _keyboardShortcutKeyDownHandler: (event: KeyboardEvent) => void;
21
22
  constructor(id: string, chartLayer: TimeGraphChart, rowController: TimeGraphRowController, style?: {
22
23
  color?: number;
23
24
  });
@@ -16,7 +16,6 @@ var __extends = (this && this.__extends) || (function () {
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TimeGraphChartCursors = void 0;
19
- var keyboardKey = require("keyboard-key");
20
19
  var time_graph_cursor_1 = require("../components/time-graph-cursor");
21
20
  var time_graph_chart_layer_1 = require("./time-graph-chart-layer");
22
21
  var bigint_utils_1 = require("../bigint-utils");
@@ -40,7 +39,7 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
40
39
  this.shiftKeyDown = false;
41
40
  this.stage.interactive = true;
42
41
  this._updateHandler = function () { return _this.update(); };
43
- this._keyDownHandler = function (event) {
42
+ this._cursorKeyDownHandler = function (event) {
44
43
  if (event.key === 'Shift' && _this.mouseButtons === 0 && !event.ctrlKey && !event.altKey) {
45
44
  _this.stage.cursor = 'crosshair';
46
45
  }
@@ -49,22 +48,28 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
49
48
  _this.stage.cursor = 'default';
50
49
  }
51
50
  _this.shiftKeyDown = event.shiftKey;
52
- // TODO: keyCode is deprecated. We should change these.
53
- if (event.keyCode === keyboardKey.ArrowLeft) {
54
- _this.navigateOrSelectLeft();
55
- }
56
- else if (event.keyCode === keyboardKey.ArrowRight) {
57
- _this.navigateOrSelectRight();
58
- }
59
51
  };
60
- this._keyUpHandler = function (event) {
52
+ this._cursorKeyUpHandler = function (event) {
61
53
  _this.shiftKeyDown = event.shiftKey;
62
54
  if (_this.stage.cursor === 'crosshair' && !_this.mouseSelecting && event.key === 'Shift') {
63
55
  _this.stage.cursor = 'default';
64
56
  }
65
57
  };
66
- this.onCanvasEvent('keydown', this._keyDownHandler);
67
- this.onCanvasEvent('keyup', this._keyUpHandler);
58
+ this._keyboardShortcutKeyDownHandler = function (event) {
59
+ switch (event.key) {
60
+ case "ArrowLeft":
61
+ _this.navigateOrSelectLeft();
62
+ break;
63
+ case "ArrowRight":
64
+ _this.navigateOrSelectRight();
65
+ break;
66
+ default:
67
+ break;
68
+ }
69
+ };
70
+ this.onCanvasEvent('keydown', this._cursorKeyDownHandler);
71
+ this.onCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler);
72
+ this.onCanvasEvent('keyup', this._cursorKeyUpHandler);
68
73
  this._stageMouseDownHandler = function (event) {
69
74
  _this.mouseButtons = event.data.buttons;
70
75
  // if only left button is pressed with or without Shift key
@@ -270,11 +275,14 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
270
275
  if (this._mouseDownHandler) {
271
276
  this.removeOnCanvasEvent('mousedown', this._mouseDownHandler);
272
277
  }
273
- if (this._keyDownHandler) {
274
- this.removeOnCanvasEvent('keydown', this._keyDownHandler);
278
+ if (this._cursorKeyDownHandler) {
279
+ this.removeOnCanvasEvent('keydown', this._cursorKeyDownHandler);
280
+ }
281
+ if (this._keyboardShortcutKeyDownHandler) {
282
+ this.removeOnCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler);
275
283
  }
276
- if (this._keyUpHandler) {
277
- this.removeOnCanvasEvent('mousedown', this._keyUpHandler);
284
+ if (this._cursorKeyUpHandler) {
285
+ this.removeOnCanvasEvent('mousedown', this._cursorKeyUpHandler);
278
286
  }
279
287
  if (this.stage) {
280
288
  this.stage.off('mousedown', this._stageMouseDownHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"time-graph-chart-cursors.js","sourceRoot":"","sources":["../../src/layer/time-graph-chart-cursors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time-graph-chart-cursors.js","sourceRoot":"","sources":["../../src/layer/time-graph-chart-cursors.ts"],"names":[],"mappings":"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"}
@@ -387,6 +387,7 @@ var TimeGraphChart = /** @class */ (function (_super) {
387
387
  };
388
388
  TimeGraphChart.prototype.update = function () {
389
389
  this.updateScaleAndPosition();
390
+ this.ensureRowLinesFitViewWidth();
390
391
  this._debouncedMaybeFetchNewData();
391
392
  };
392
393
  TimeGraphChart.prototype.updateZoomingSelection = function () {
@@ -506,7 +507,7 @@ var TimeGraphChart = /** @class */ (function (_super) {
506
507
  });
507
508
  if (!(rowIds.length > 0)) return [3 /*break*/, 5];
508
509
  allRowsUpdated = rowIds.length === visibleRowIds.length;
509
- worldRange = (!fine && allRowsUpdated) ? this.unitController.updateWorldRangeFromViewRange() : this.unitController.worldRange;
510
+ worldRange = allRowsUpdated ? this.unitController.updateWorldRangeFromViewRange() : this.unitController.worldRange;
510
511
  request = { worldRange: worldRange, resolution: resolution, rowIds: rowIds };
511
512
  if ((0, lodash_1.isEqual)(request, this.ongoingRequest)) {
512
513
  // request ignored because equal to ongoing request
@@ -1 +1 @@
1
- {"version":3,"file":"time-graph-chart.js","sourceRoot":"","sources":["../../src/layer/time-graph-chart.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6EAAkJ;AAElJ,2EAAwE;AACxE,+DAA+E;AAC/E,mEAA8F;AAG9F,mEAA+D;AAC/D,gDAAyC;AACzC,iCAAqE;AAkBxD,QAAA,YAAY,GAAkC;IACvD,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACpB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACrB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACrB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;CACzB,CAAA;AAID,IAAM,kBAAkB,GAAG,CAAC,CAAC,CAAC,sDAAsD;AACpF,IAAM,sBAAsB,GAAG,CAAC,CAAC,CAAC,6DAA6D;AAE/F;IAAoC,kCAAmB;IA2CnD,wBAAY,EAAU,EACR,SAAkC,EAClC,aAAqC,EACvC,uBAAgD;QAAhD,wCAAA,EAAA,gDAAgD;QAH5D,YAII,kBAAM,EAAE,EAAE,aAAa,CAAC,SAE3B;QALa,eAAS,GAAT,SAAS,CAAyB;QAClC,mBAAa,GAAb,aAAa,CAAwB;QACvC,6BAAuB,GAAvB,uBAAuB,CAAyB;QA5ClD,mBAAa,GAA8B,IAAI,GAAG,EAAE,CAAC,CAAC,gCAAgC;QAGtF,iCAA2B,GAA+D,EAAE,CAAC;QAK7F,kBAAY,GAAY,KAAK,CAAC;QAC9B,kBAAY,GAAY,KAAK,CAAC;QAC9B,kBAAY,GAAW,CAAC,CAAC;QAqB3B,iCAA2B,GAAG,IAAA,iBAAQ,EAAC,cAAM,OAAA,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAA7B,CAA6B,EAAE,GAAG,CAAC,CAAC;QACjF,qCAA+B,GAAG,IAAA,iBAAQ,EAAC,cAAM,OAAA,KAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAnC,CAAmC,EAAE,GAAG,CAAC,CAAC;QAEnG,iDAAiD;QACjD,qFAAqF;QAC7E,4BAAsB,GAAsB,IAAI,CAAC;QACjD,qBAAe,GAAW,GAAG,CAAC;QAC9B,kBAAY,GAAG,CAAC,CAAC;QA24BzB;;;WAGG;QACO,gCAA0B,GAAG;YACnC,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,YAAY;gBACnC,YAAY,CAAC,MAAM,CAAC;oBAChB,MAAM,EAAE,KAAI,CAAC,aAAa,CAAC,SAAS;oBACpC,QAAQ,EAAE;wBACN,CAAC,EAAE,CAAC,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;wBACzC,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;qBAC7B;oBACD,KAAK,EAAE,KAAI,CAAC,eAAe,CAAC,kBAAkB;iBACjD,CAAC,CAAC;YACP,CAAC,CAAC,CAAA;QAEN,CAAC,CAAA;QAn5BG,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;;IAC9B,CAAC;IAED,mCAAU,GAAV,UAAW,YAAgC,EAAE,WAAoB;QAC7D,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,IAAI,CAAC,EAAE;YAC1C,OAAO;SACV;QACD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,IAAM,OAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5H,IAAM,KAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACnJ,YAAY,GAAG,CAAC,OAAK,GAAG,KAAG,CAAC,GAAG,CAAC,CAAC;SACpC;QACD,IAAM,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QAChE,IAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,IAAM,kBAAkB,GAAG,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,aAAa,EAC/F,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAClD,IAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,GAAG,qBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAM,KAAK,GAAG,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAC3H,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,kBAAkB,CAAC,CAAC;QACvE,IAAM,GAAG,GAAG,KAAK,GAAG,kBAAkB,CAAC;QACvC,IAAI,KAAK,KAAK,GAAG,EAAE;YACf,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG;gBAC5B,KAAK,OAAA;gBACL,GAAG,KAAA;aACN,CAAC;SACL;IACL,CAAC;IAES,4CAAmB,GAA7B;QAAA,iBAwPC;QAvPG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAM,eAAe,GAAG,CAAC,CAAC;QAC1B,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAM,gBAAgB,GAAG,UAAC,SAAiB;YACvC,IAAI,SAAS,KAAK,CAAC,EAAE;gBACjB,OAAO;aACV;YACD,kCAAkC;YAClC,IAAM,SAAS,GAAG,qBAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;YACvF,IAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,IAAM,KAAK,GAAG,qBAAM,CAAC,KAAK,CAAC,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,EACvE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAI,CAAC,cAAc,CAAC,aAAa,GAAG,KAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACxF,IAAM,GAAG,GAAG,KAAK,GAAG,KAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YACxD,KAAI,CAAC,cAAc,CAAC,SAAS,GAAG;gBAC5B,KAAK,OAAA;gBACL,GAAG,KAAA;aACN,CAAA;QACL,CAAC,CAAA;QAED,IAAM,eAAe,GAAG,UAAC,SAAiB;YACtC,IAAM,UAAU,GAAG,qBAAM,CAAC,KAAK,CAAC,SAAS,GAAG,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAC7E,IAAM,KAAK,GAAG,qBAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,GAAG,UAAU,EAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,KAAI,CAAC,cAAc,CAAC,aAAa,GAAG,KAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACxF,IAAM,GAAG,GAAG,KAAK,GAAG,KAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YACxD,KAAI,CAAC,cAAc,CAAC,SAAS,GAAG;gBAC5B,KAAK,OAAA;gBACL,GAAG,KAAA;aACN,CAAA;QACL,CAAC,CAAA;QAED,IAAM,cAAc,GAAG,UAAC,SAAiB;YACrC,IAAI,KAAI,CAAC,aAAa,CAAC,WAAW,IAAI,KAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE;gBAC5E,OAAO;aACV;YACD,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI,CAAC,aAAa,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;YAChF,IAAI,KAAI,CAAC,aAAa,CAAC,WAAW,GAAG,cAAc,IAAI,KAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE;gBAC7F,cAAc,GAAG,KAAI,CAAC,aAAa,CAAC,WAAW,GAAG,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;aAC9F;YACD,KAAI,CAAC,aAAa,CAAC,cAAc,GAAG,cAAc,CAAC;QACvD,CAAC,CAAA;QAED,IAAI,CAAC,iBAAiB,GAAG,UAAC,KAAiB;YACvC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;QACnC,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,UAAC,KAAoB;YACxC,IAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC;YAC7B,IAAI,eAAe,EAAE;gBACjB,IAAI,UAAU,KAAK,SAAS,IAAI,KAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACzF,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;iBAClC;qBAAM,IAAI,KAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,KAAI,CAAC,YAAY;oBAC7D,CAAC,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE;oBAClD,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;iBACjC;gBACD,IAAI,oBAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBACjD,KAAI,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACzC;qBAAM,IAAI,oBAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBACzD,KAAI,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;iBAC1C;qBAAM,IAAI,oBAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBACzD,gBAAgB,CAAC,CAAC,eAAe,CAAC,CAAC;iBACtC;qBAAM,IAAI,oBAAY,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBAC1D,gBAAgB,CAAC,eAAe,CAAC,CAAC;iBACrC;qBAAM,IAAI,UAAU,KAAK,SAAS,EAAE;oBACjC,KAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;qBAAM,IAAI,UAAU,KAAK,WAAW,EAAE;oBACnC,KAAI,CAAC,YAAY,EAAE,CAAC;iBACvB;gBACD,KAAK,CAAC,cAAc,EAAE,CAAC;aAC1B;YACD,IAAI,UAAU,KAAK,QAAQ,IAAI,KAAI,CAAC,YAAY,EAAE;gBAC9C,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC9B,KAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC;QACL,CAAC,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,UAAC,KAAoB;YACtC,IAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC;YAC7B,IAAI,eAAe,EAAE;gBACjB,IAAI,KAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,KAAI,CAAC,YAAY,IAAI,UAAU,KAAK,SAAS,EAAE;oBACpF,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;iBACjC;aACJ;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,UAAC,KAAiB;YAClD,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,UAAC,KAAiB;YACjD,eAAe,GAAG,KAAK,CAAC;YACxB,IAAI,KAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE;gBACxD,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;aACjC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sBAAsB,GAAG,UAAC,KAA4B;YACvD,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACvC,4DAA4D;YAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC;gBACrD,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC;oBAChD,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO;oBACjC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ;oBACjC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;oBAC/B,KAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE;gBACvC,OAAO;aACV;YACD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;YAC7D,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;QACnC,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAExD,IAAI,CAAC,sBAAsB,GAAG,UAAC,KAA4B;YACvD,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACvC,IAAI,KAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,KAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC5D,CAAC,KAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC9D,qCAAqC;oBACrC,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;oBACtC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;wBAC/C,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;qBACjC;oBACD,OAAO;iBACV;gBACD,IAAM,iBAAe,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC;gBAC/D,eAAe,CAAC,iBAAe,CAAC,CAAC;aACpC;YACD,IAAI,KAAI,CAAC,YAAY,EAAE;gBACnB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrC,KAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC;QACL,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAExD,IAAI,CAAC,oBAAoB,GAAG,UAAC,KAA4B;YACrD,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACvC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,KAAI,CAAC,eAAe,IAAI,KAAI,CAAC,YAAY,EAAE;gBACjE,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;oBAC/C,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;iBACjC;aACJ;QACL,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAE3D,IAAI,CAAC,kBAAkB,GAAG,UAAC,EAAc;YACrC,IAAI,EAAE,CAAC,OAAO,EAAE;gBACZ,IAAM,WAAW,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClC,KAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;aAE5C;iBAAM,IAAI,EAAE,CAAC,QAAQ,EAAE;gBACpB,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;aAC/B;iBAAM;gBACH,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;oBAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;iBAC7B;qBAAM;oBACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;iBAC/B;aACJ;YACD,EAAE,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,UAAC,CAAa;YACrC,CAAC,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,UAAC,CAAa;YACnC,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;YAC9B,kCAAkC;YAClC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;gBACtE,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,KAAI,CAAC,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;gBAChC,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;gBAC7B,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC;gBAC3B,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,GAAG,qBAAM,CAAC,KAAK,CAAC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBAChI,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;gBACjC,iEAAiE;gBACjE,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACtD,KAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC;QACL,CAAC,CAAC;QACF,IAAM,eAAe,GAAG,UAAC,CAAa;YAClC,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,CAAC,MAAM,KAAK,KAAI,CAAC,eAAe,IAAI,KAAI,CAAC,YAAY,EAAE;gBACxD,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAM,KAAK,GAAG,KAAI,CAAC,iBAAiB,CAAC;gBACrC,IAAM,GAAG,GAAG,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,GAAG,qBAAM,CAAC,KAAK,CAAC,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBACjH,IAAI,qBAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAI,CAAC,cAAc,CAAC,eAAe,GAAG,CAAC,EAAE;oBACxE,IAAI,YAAY,GAAG,qBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACjF,IAAI,UAAU,GAAG,qBAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC7E,KAAI,CAAC,cAAc,CAAC,SAAS,GAAG;wBAC5B,KAAK,EAAE,YAAY;wBACnB,GAAG,EAAE,UAAU;qBAClB,CAAA;iBACJ;gBACD,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC9B,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACzD,KAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC;QACL,CAAC,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE5D,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC,UAAA,cAAc;YAC5D,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;YACxC,KAAI,CAAC,2BAA2B,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wBAAwB,GAAG;YAC5B,KAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,KAAI,CAAC,0BAA0B,EAAE,CAAC;QACtC,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAEzE;;;;;;;;;;WAUG;QACH,IAAI,CAAC,wBAAwB,GAAG,UAAC,UAAU;YACvC,KAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,KAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,KAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;QAC/C,CAAC,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE;YAChF,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;IACL,CAAC;IAED,oCAAW,GAAX;QACI,IAAM,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE;YAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAClC;IACL,CAAC;IAED,+BAAM,GAAN;QACI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACvC,CAAC;IAED,+CAAsB,GAAtB;QACI,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,gBAAgB,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE;YAE1B,IAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrD,IAAM,OAAO,GAAG;gBACZ,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE;oBACN,CAAC,GAAA;oBACD,CAAC,EAAE,CAAC;iBACP;gBACD,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC1F,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW;aAC3C,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACxB,yCAAyC;gBACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,yCAAkB,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aACxC;iBAAM;gBACH,gCAAgC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACzC;SACJ;IACL,CAAC;IAES,uCAAc,GAAxB;QACI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,iBAAM,cAAc,WAAE,CAAC;IAC3B,CAAC;IAED,gCAAO,GAAP;QACI,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACpF,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACpF;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACjE;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACjE;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAC7D;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACzD;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAChE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC9D;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACrE;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,iBAAM,OAAO,WAAE,CAAC;IACpB,CAAC;IAEe,0CAAiB,GAAjC,UAAkC,MAAgB,EAAE,IAAc;;;;;;;wBAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;wBAClD,IAAI,MAAM,EAAE;4BACR,2DAA2D;4BAC3D,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,YAAY,EAAE,KAAK;gCAC3C,IAAM,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCACzC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;oCACb,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oCACjC,KAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iCAClC;qCAAM;oCACH,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;oCAC/D,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;iCAC1C;4BACL,CAAC,CAAC,CAAC;4BACH,sBAAsB;4BACtB,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;gCAChC,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gCAC7F,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,KAAK,CAAC,CAAC,EAAE;oCAC5C,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,SAAS,CAAC;iCAC9C;6BACJ;4BACD,0BAA0B;4BAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;gCACtB,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oCAChC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iCACtB;4BACL,CAAC,CAAC,CAAC;yBACN;wBACK,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;wBACxD,SAAS,GAAK,IAAI,CAAC,cAAc,UAAxB,CAAyB;wBACpC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;wBAChF,UAAU,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;wBAGxH,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,UAAA,KAAK;4BACrC,IAAM,YAAY,GAAG,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACnD,OAAO,CACH,MAAM;gCACN,CAAC,YAAY;gCACb,CAAC,YAAY,CAAC,aAAa;gCAC3B,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,uEAAuE;gCACnI,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,uEAAuE;gCAC/H,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,UAAU,CACrD,CAAC;wBACN,CAAC,CAAC,CAAC;6BACC,CAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,EAAjB,wBAAiB;wBAIX,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC;wBACxD,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;wBAC9H,OAAO,GAAG,EAAE,UAAU,YAAA,EAAE,UAAU,YAAA,EAAE,MAAM,QAAA,EAAE,CAAC;wBACnD,IAAI,IAAA,gBAAO,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE;4BACvC,mDAAmD;4BACnD,sBAAO;yBACV;wBACD,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,CAAC;;;;wBAE1C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;wBACd,qBAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAA;;wBAA3E,OAAO,GAAG,SAAiE;wBACjF,IAAI,CAAC,IAAA,gBAAO,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE;4BACxC,0DAA0D;4BAC1D,sBAAO;yBACV;wBACD,IAAI,OAAO,EAAE;4BACT,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;4BAC9B,IAAI,IAAI,CAAC,YAAY,EAAE;gCACnB,IAAI,CAAC,uBAAuB,EAAE,CAAC;6BAClC;4BACD,IAAI,IAAI,CAAC,YAAY,EAAE;gCACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE;oCACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;iCAC3C;gCAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;gCAC7B,IAAI,CAAC,sBAAsB,EAAE,CAAC;6BACjC;yBACJ;;;wBAED,IAAI,IAAA,gBAAO,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE;4BACvC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;yBACnC;wBACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,uBAAuB,KAAK,sBAAsB,EAAE;4BAClE,IAAI,CAAC,+BAA+B,EAAE,CAAC;yBAC1C;;;wBAEL,uEAAuE;wBACvE,4FAA4F;wBAC5F,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;;;wBACxC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,uBAAuB,KAAK,sBAAsB,EAAE;4BACzE,8DAA8D;4BAC9D,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;yBACxC;;;;;;KACJ;IAES,+CAAsB,GAAhC;QAAA,iBA2DC;QA1DG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,YAAY;YACpC,IAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC;YAC/B,IAAI,YAAY,EAAE;gBACd,IAAM,IAAI,GAAkB;oBACxB,MAAM,EAAE,KAAI,CAAC,aAAa,CAAC,SAAS;oBACpC,QAAQ,EAAE;wBACN,CAAC,EAAE,CAAC;wBACJ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;qBAC7B;oBACD,KAAK,EAAE,KAAI,CAAC,eAAe,CAAC,kBAAkB;iBACjD,CAAA;gBACD,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC7B;YACD,IAAI,KAAyB,CAAC;YAC9B,IAAI,QAA4B,CAAC;YACjC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAC,OAAO,CAAC,UAAC,KAAmC,EAAE,YAAoB;;gBAC1E,IAAM,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/C,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;gBAChC,IAAM,MAAM,GAAG,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/C,IAAI,EAAE,EAAE;oBACJ,IAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;oBAC5B,IAAM,IAAI,GAAG,KAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;oBACzC,IAAM,IAAI,GAAwB;wBAC9B,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,QAAQ,EAAE;4BACN,CAAC,EAAE,MAAM;4BACT,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;yBACnB;wBACD,KAAK,OAAA;wBACL,YAAY,EAAE,KAAK;qBACtB,CAAC;oBACF,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACnB;gBACD,IAAI,YAAY,IAAI,GAAG,CAAC,QAAQ,EAAE;oBAC9B,KAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;iBACzF;gBACD,2DAA2D;gBAC3D,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC3B,SAAS,GAAG,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,MAAK,SAAS,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YACH,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,OAAO,CAAC,UAAC,UAA6C,EAAE,YAAoB;gBACzF,IAAM,EAAE,GAAG,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACzD,IAAI,EAAE,EAAE;oBACJ,4BAA4B;oBAC5B,IAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;oBACrC,IAAM,IAAI,GAAwC;wBAC9C,QAAQ,EAAE;4BACN,CAAC,EAAE,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC;4BAC5B,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;yBACxB;qBACJ,CAAA;oBACD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACnB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAES,kDAAyB,GAAnC;QAAA,iBAEC;QADG,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,KAAI,CAAC,kBAAkB,CAAC,EAAhC,CAAgC,CAAC,CAAC;IAC5F,CAAC;IAES,wCAAe,GAAzB,UAA0B,OAA6G;QAAvI,iBAYC;QAXG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,MAAM,4DAA4D,CAAC;SACtE;QACD,IAAM,aAAa,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAA,GAAG;YACpB,IAAM,YAAY,GAAG,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,YAAY,EAAE;gBACd,KAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;aAClC;YACD,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IAES,+BAAM,GAAhB,UAAiB,KAAa,EAAE,GAAqC,EAAE,aAA2E;QAAlJ,iBAwBC;QAvBG,IAAM,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC;QAC1B,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,IAAM,YAAY,GAAG,IAAI,6BAAY,CAAC,EAAE,EAAE;YACtC,QAAQ,EAAE;gBACN,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ;aAC7C;YACD,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS;SACvC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5B,YAAY,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9C,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,UAAC,CAAwB;YAC7D,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,IAAI,QAAQ,EAAE;YACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACvB;QACD,IAAI,GAAG,IAAI,aAAa,EAAE;YACtB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;SACpD;IACL,CAAC;IAES,kCAAS,GAAnB,UAAoB,YAA0B,EAAE,GAAoC,EAAE,aAA0E;QAAhK,iBAkCC;QAjCG,IAAI,KAAyB,CAAC;QAC9B,IAAI,QAA4B,CAAC;QACjC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,UAAwC;;YACxD,IAAM,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,MAAA,UAAU,CAAC,IAAI,0CAAE,KAAK,EAAE;gBACxB,IAAM,EAAE,GAAG,KAAI,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBACzD,IAAI,EAAE,EAAE;oBACJ,KAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;oBAChC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBAC7B;aACJ;YACD,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACd,KAAI,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;aACzF;YACD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;YAChC,SAAS,GAAG,CAAC,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,KAAK,MAAK,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;YACtH,IAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAA,KAAK;gBAC/B,OAAO,KAAI,CAAC,cAAc,CAAC,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC;YAC7K,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,UAAC,UAA6C;YAClE,IAAM,EAAE,GAAG,KAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC9D,IAAI,EAAE,EAAE;gBACJ,KAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBAChC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aAClC;QACL,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;IAC/C,CAAC;IAES,kCAAS,GAAnB,UAAoB,KAAmC,EAAE,YAA0B,EAAE,QAAa,EAAE,CAAS,EAAE,KAAc,EAAE,QAAiB,EAAE,SAAmB;;QACjK,yGAAyG;QACzG,IAAI,KAAK,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAA,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE;YACvG,IAAM,GAAG,GAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,GAAG,CAAC;YAC5B,IAAI,GAAG,EAAE;gBACL,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;gBACrC,IAAM,IAAI,GAAwB;oBAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,QAAQ,EAAE;wBACN,CAAC,EAAE,KAAK;wBACR,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;qBACpB;oBACD,KAAK,EAAE,KAAK;oBACZ,YAAY,EAAE,KAAK;iBACtB,CAAA;gBACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACpB;iBAAM;gBACH,IAAM,UAAU,GAAG;oBACf,EAAE,EAAE,YAAY,CAAC,EAAE,GAAG,MAAM;oBAC5B,KAAK,EAAE;wBACH,KAAK,EAAE,QAAQ;wBACf,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;qBACzB;oBACD,IAAI,EAAE;wBACF,KAAK,EAAE,QAAQ;qBAClB;iBACJ,CAAC;gBACF,IAAM,KAAG,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC1D,IAAI,KAAG,EAAE;oBACL,YAAY,CAAC,QAAQ,CAAC,KAAG,CAAC,CAAC;oBAC3B,IAAI,KAAK,CAAC,IAAI,EAAE;wBACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAG,CAAC;qBAC3B;oBACD,IAAI,CAAC,sBAAsB,CAAC,KAAG,CAAC,CAAC;iBACpC;aACJ;SACJ;aAAM;YACH,IAAI,KAAK,CAAC,IAAI,KAAI,MAAA,KAAK,CAAC,IAAI,0CAAE,GAAG,CAAA,EAAE;gBAC/B,YAAY,CAAC,WAAW,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;aAC9B;SACJ;IACL,CAAC;IAES,4CAAmB,GAA7B,UAA8B,UAA6C,EAAE,YAA0B;QACnG,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,EAA4C,CAAC;QACjD,IAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnI,EAAE,GAAG,IAAI,oDAA4B,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACnL,OAAO,EAAE,CAAC;IACd,CAAC;IAES,uCAAc,GAAxB,UAAyB,UAAwC,EAAE,YAA0B;QACzF,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChE,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,EAAuC,CAAC;QAC5C,IAAM,YAAY,GAAG,IAAI,GAAG,MAAM,CAAC;QACnC,IAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnH,EAAE,GAAG,IAAI,0CAAuB,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACpH,OAAO,EAAE,CAAC;IACd,CAAC;IAES,+CAAsB,GAAhC,UAAiC,EAA2B;QAA5D,iBAuDC;QAtDG,EAAE,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;QAEpC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,gBAAgB,GAAG,IAAA,iBAAQ,EAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACvC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzB,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,UAAC,CAAwB;YACnD,IAAI,EAAE,YAAY,0CAAuB,IAAI,CAAC,KAAI,CAAC,YAAY,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE;gBACnF,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;aAC9B;YAED,wGAAwG;YACxG,IAAI,KAAI,CAAC,sBAAsB,IAAI,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAClF,KAAI,CAAC,YAAY,EAAE,CAAC;aACvB;iBAAM;gBACH,gFAAgF;gBAChF,2BAA2B;gBAC3B,KAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC/B,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBAEtB,2CAA2C;gBAC3C,KAAI,CAAC,sBAAsB,GAAG,IAAA,kBAAS,EAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC1D;YAED,uFAAuF;YACvF,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,wFAAwF;YACxF,IAAI,KAAI,CAAC,iBAAiB,IAAI,KAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;gBACxD,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;aAC1D;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACf,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,UAAC,CAAwB;YACvD,IAAI,KAAI,CAAC,iBAAiB,IAAI,KAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBAC5D,KAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAC3C;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACf,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAC,CAAwB;YACtD,IAAI,KAAI,CAAC,iBAAiB,IAAI,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE;gBAC3D,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAC1C;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACf,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,UAAC,CAAwB;YACvD,IAAI,KAAI,CAAC,iBAAiB,IAAI,KAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBAC5D,KAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAC3C;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACf,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,UAAC,CAAwB;YACrD,IAAI,KAAI,CAAC,iBAAiB,IAAI,KAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;gBAC1D,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACzC;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnB,CAAC;IAES,yCAAgB,GAA1B,UAA2B,KAAmC;QAC1D,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5F,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,SAAS,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACpD,CAAC;IAES,uCAAc,GAAxB,UAAyB,KAAsC;QAC3D,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxF,IAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,SAAS,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,kDAAyB,GAAzB,UAA0B,YAAwC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;IAC1C,CAAC;IAED,+CAAsB,GAAtB,UAAuB,OAA+D;QAClF,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,oCAAW,GAAX,UAAY,KAAa;;QACrB,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC7B,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,0CAAE,KAAK,CAAC;IAC7D,CAAC;IAED,qCAAY,GAAZ,UAAa,EAAU;;QACnB,IAAI,KAAK,GAAG,SAAS,CAAC;;YACtB,KAA2B,IAAA,KAAA,SAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE;gBAAnD,IAAM,YAAY,WAAA;gBACnB,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACtC,IAAI,KAAK,EAAE;oBACP,MAAM;iBACT;aACJ;;;;;;;;;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kCAAS,GAAT,UAAU,GAAgD;QACtD,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;YAChC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,GAAG,CAAC;QACrC,IAAI,GAAG,EAAE;YACL,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAC5B;IACL,CAAC;IAED,yCAAgB,GAAhB;QACI,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,oCAAW,GAAX,UAAY,KAA+C;QACvD,IAAI,IAAI,CAAC,kBAAkB,KAAK,KAAK,EAAE;YACnC,OAAO;SACV;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAClD;QACD,IAAI,KAAK,EAAE;YACP,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,KAAK,EAAE;gBACP,IAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;gBACtB,IAAI,GAAG,EAAE;oBACL,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC7B;aACJ;SACJ;QACD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED,0CAAiB,GAAjB,UAAkB,IAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,wCAAe,GAAf,UAAgB,QAAgB;QAC5B,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAChD,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACjC;IACL,CAAC;IAES,gDAAuB,GAAjC;QACI,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QAC3C,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;YAC3C,IAAM,gBAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC;YAC9D,IAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,UAAwC,IAAK,OAAA,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,gBAAc,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,gBAAc,EAApF,CAAoF,CAAC,CAAC;YAClK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAES,qCAAY,GAAtB;QACI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;SACtD;IACL,CAAC;IAES,mCAAU,GAApB;QACI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;SACtD;IACL,CAAC;IAES,iCAAQ,GAAlB,UAAmB,QAAgB,EAAE,MAAgB;QAArD,iBAeC;QAdG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5B,OAAO;SACV;QACD,IAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAM,KAAK,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC,IAAI,CAAC,UAAA,KAAK;YACxC,OAAO,KAAI,CAAC,cAAc,CAAC,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC;QAC7K,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,yCAAgB,GAAxB,UAAyB,MAAc;QACnC,IAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;QAC/C,uFAAuF;QACvF,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;QACpE,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK;YAC7B,IAAM,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,GAAG,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;gBACpC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC7B;QACL,CAAC,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,sCAAa,GAAvB,UAAwB,QAAgB,EAAE,MAAgB;QACtD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO;SACV;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;YAC7E,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;SACnH;aAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE;YACrI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;SACpK;IACL,CAAC;IAES,kCAAS,GAAnB,UAAoB,QAAgB;QAEhC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO;SACV;QAEO,IAAA,SAAS,GAAK,IAAI,CAAC,aAAa,UAAvB,CAAwB;QACjC,IAAA,mBAAmB,GAAK,IAAI,CAAC,eAAe,oBAAzB,CAA0B;QAErD,IAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;QACxE,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;QACxD,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAE7C,IAAI,QAAQ,GAAG,WAAW,EAAE;YACxB,2BAA2B;YAC3B,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,CAAC,CAAC;SACzC;aAAM,IAAI,QAAQ,GAAG,CAAC,YAAY,GAAG,WAAW,GAAG,CAAC,CAAC,EAAE;YACpD,4BAA4B;YAC5B,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,CAAC,YAAY,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAAC;SACxF;aAAM;YACH,mBAAmB;YACnB,IAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,kBAAkB,GAAG,SAAS,CAAC;SACtE;IAEL,CAAC;IAoBD,sBAAI,oCAAQ;aAAZ;YACI,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QAC1F,CAAC;;;OAAA;IACL,qBAAC;AAAD,CAAC,AAx8BD,CAAoC,4CAAmB,GAw8BtD;AAx8BY,wCAAc"}
1
+ {"version":3,"file":"time-graph-chart.js","sourceRoot":"","sources":["../../src/layer/time-graph-chart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { TimeGraphChartCursors } from "./time-graph-chart-cursors";
2
+ export declare class TimeGraphMarkersChartCursors extends TimeGraphChartCursors {
3
+ protected afterAddToContainer(): void;
4
+ protected selectClosestStateAndMakeSelectionRange: (direction: 'next' | 'prev') => void;
5
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TimeGraphMarkersChartCursors = void 0;
19
+ var time_graph_chart_cursors_1 = require("./time-graph-chart-cursors");
20
+ var TimeGraphMarkersChartCursors = /** @class */ (function (_super) {
21
+ __extends(TimeGraphMarkersChartCursors, _super);
22
+ function TimeGraphMarkersChartCursors() {
23
+ var _this = _super !== null && _super.apply(this, arguments) || this;
24
+ _this.selectClosestStateAndMakeSelectionRange = function (direction) {
25
+ var next = direction === 'next';
26
+ var selectedRow = _this.rowController.selectedRow;
27
+ if (_this.unitController.selectionRange && selectedRow) {
28
+ var _a = _this.unitController.selectionRange, start = _a.start, end = _a.end;
29
+ var point1_1 = next ? end : start;
30
+ var closestState_1;
31
+ var closestDiff_1 = Number.POSITIVE_INFINITY;
32
+ var isValid_1 = false;
33
+ selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.states.forEach(function (marker, key) {
34
+ var _a, _b;
35
+ var _c = marker.range, start = _c.start, end = _c.end;
36
+ if (start === ((_a = _this.unitController.selectionRange) === null || _a === void 0 ? void 0 : _a.start) && end === ((_b = _this.unitController.selectionRange) === null || _b === void 0 ? void 0 : _b.end)) {
37
+ return;
38
+ }
39
+ var point2 = next ? start : end;
40
+ var innerIsValid = next ? (point1_1 <= point2) : (point1_1 >= point2);
41
+ var diff = Math.abs(Number(point1_1 - point2));
42
+ if (diff < closestDiff_1 && innerIsValid) {
43
+ closestDiff_1 = diff;
44
+ closestState_1 = marker;
45
+ isValid_1 = innerIsValid;
46
+ }
47
+ });
48
+ if (isValid_1 && closestState_1) {
49
+ _this.unitController.selectionRange = closestState_1.range;
50
+ _this.maybeCenterCursor();
51
+ _this.update();
52
+ }
53
+ }
54
+ };
55
+ return _this;
56
+ }
57
+ TimeGraphMarkersChartCursors.prototype.afterAddToContainer = function () {
58
+ var _this = this;
59
+ _super.prototype.afterAddToContainer.call(this);
60
+ this.removeOnCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler);
61
+ this._keyboardShortcutKeyDownHandler = function (event) {
62
+ switch (event.key) {
63
+ case ",":
64
+ _this.selectClosestStateAndMakeSelectionRange('prev');
65
+ break;
66
+ case ".":
67
+ _this.selectClosestStateAndMakeSelectionRange('next');
68
+ break;
69
+ default:
70
+ return;
71
+ }
72
+ };
73
+ this.onCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler);
74
+ };
75
+ return TimeGraphMarkersChartCursors;
76
+ }(time_graph_chart_cursors_1.TimeGraphChartCursors));
77
+ exports.TimeGraphMarkersChartCursors = TimeGraphMarkersChartCursors;
78
+ //# sourceMappingURL=time-graph-markers-chart-cursors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-graph-markers-chart-cursors.js","sourceRoot":"","sources":["../../src/layer/time-graph-markers-chart-cursors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,uEAAmE;AAEnE;IAAkD,gDAAqB;IAAvE;QAAA,qEA6DC;QAzCa,6CAAuC,GAAG,UAAC,SAA0B;YAE3E,IAAM,IAAI,GAAG,SAAS,KAAK,MAAM,CAAC;YAClC,IAAM,WAAW,GAAG,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YAEnD,IAAI,KAAI,CAAC,cAAc,CAAC,cAAc,IAAI,WAAW,EAAE;gBAE7C,IAAA,KAAiB,KAAI,CAAC,cAAc,CAAC,cAAc,EAAjD,KAAK,WAAA,EAAE,GAAG,SAAuC,CAAC;gBAC1D,IAAI,QAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;gBAChC,IAAI,cAAsD,CAAC;gBAC3D,IAAI,aAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC;gBAC3C,IAAI,SAAO,GAAG,KAAK,CAAC;gBAEpB,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,GAAG;;oBAE9B,IAAA,KAAiB,MAAM,CAAC,KAAK,EAA3B,KAAK,WAAA,EAAE,GAAG,SAAiB,CAAC;oBAEpC,IAAI,KAAK,MAAK,MAAA,KAAI,CAAC,cAAc,CAAC,cAAc,0CAAE,KAAK,CAAA,IAAI,GAAG,MAAK,MAAA,KAAI,CAAC,cAAc,CAAC,cAAc,0CAAE,GAAG,CAAA,EAAE;wBACxG,OAAO;qBACV;oBAED,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBAChC,IAAI,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAM,IAAI,MAAM,CAAC,CAAC;oBAClE,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAM,GAAG,MAAM,CAAC,CAAC,CAAC;oBAE7C,IAAI,IAAI,GAAG,aAAW,IAAI,YAAY,EAAE;wBACpC,aAAW,GAAG,IAAI,CAAC;wBACnB,cAAY,GAAG,MAAM,CAAC;wBACtB,SAAO,GAAG,YAAY,CAAC;qBAC1B;gBAEL,CAAC,CAAC,CAAC;gBAEH,IAAI,SAAO,IAAI,cAAY,EAAE;oBACzB,KAAI,CAAC,cAAc,CAAC,cAAc,GAAG,cAAY,CAAC,KAAK,CAAC;oBACxD,KAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,KAAI,CAAC,MAAM,EAAE,CAAC;iBACjB;aAEJ;QACL,CAAC,CAAA;;IACL,CAAC;IA3Da,0DAAmB,GAA7B;QAAA,iBAgBC;QAfG,iBAAM,mBAAmB,WAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC1E,IAAI,CAAC,+BAA+B,GAAG,UAAC,KAAoB;YACxD,QAAO,KAAK,CAAC,GAAG,EAAE;gBACd,KAAK,GAAG;oBACJ,KAAI,CAAC,uCAAuC,CAAC,MAAM,CAAC,CAAC;oBACrD,MAAM;gBACV,KAAK,GAAG;oBACJ,KAAI,CAAC,uCAAuC,CAAC,MAAM,CAAC,CAAC;oBACrD,MAAM;gBACV;oBACI,OAAO;aACd;QACL,CAAC,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACxE,CAAC;IA2CL,mCAAC;AAAD,CAAC,AA7DD,CAAkD,gDAAqB,GA6DtE;AA7DY,oEAA4B"}
@@ -1,11 +1,22 @@
1
+ import * as PIXI from "pixi.js-legacy";
1
2
  export declare class FontController {
2
3
  private fontFamily;
4
+ private fontStyleMap;
3
5
  private fontNameMap;
4
6
  private fontColorMap;
5
- private defaultFontName;
6
7
  constructor(fontFamily?: string);
7
- getDefaultFontName(): string;
8
- createFontName(fontColor: string, fontSize: number): string;
9
- updateFontNameMap(size: number): void;
10
- getFontName(color: number, size: number): string;
8
+ getDefaultFont(): {
9
+ fontName: string;
10
+ fontStyle: PIXI.TextStyle;
11
+ };
12
+ createFont(fontColor: string, fontSize: number): {
13
+ fontName: string;
14
+ fontStyle: PIXI.TextStyle;
15
+ };
16
+ updateFontNameMapAndFontStyleMap(size: number): void;
17
+ getFont(color: number, size: number): {
18
+ fontName: string;
19
+ fontStyle: PIXI.TextStyle | undefined;
20
+ };
21
+ private getCharacterSet;
11
22
  }
@@ -2,20 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FontController = void 0;
4
4
  var PIXI = require("pixi.js-legacy");
5
+ var DEFAULT_FONT_SIZE = 8;
6
+ var DEFAULT_FONT_NAME = "LabelFont8White";
7
+ var DEFAULT_FONT_STYLE = {
8
+ fontFamily: "monospace",
9
+ fontSize: 8,
10
+ fill: "white",
11
+ fontWeight: "bold"
12
+ };
5
13
  var FontController = /** @class */ (function () {
6
14
  function FontController(fontFamily) {
7
15
  if (fontFamily === void 0) { fontFamily = "monospace"; }
8
- this.defaultFontName = "LabelFont8White";
9
16
  this.fontFamily = fontFamily;
17
+ this.fontStyleMap = new Map();
10
18
  this.fontNameMap = new Map();
11
19
  this.fontColorMap = new Map();
12
- var defaultFontSize = 8;
13
- this.updateFontNameMap(defaultFontSize);
20
+ this.updateFontNameMapAndFontStyleMap(DEFAULT_FONT_SIZE);
14
21
  }
15
- FontController.prototype.getDefaultFontName = function () {
16
- return this.defaultFontName;
22
+ FontController.prototype.getDefaultFont = function () {
23
+ return {
24
+ fontName: DEFAULT_FONT_NAME,
25
+ fontStyle: new PIXI.TextStyle(DEFAULT_FONT_STYLE)
26
+ };
17
27
  };
18
- FontController.prototype.createFontName = function (fontColor, fontSize) {
28
+ FontController.prototype.createFont = function (fontColor, fontSize) {
19
29
  var fontName = "LabelFont" + fontSize.toString() + fontColor;
20
30
  var fontStyle = {
21
31
  fontFamily: this.fontFamily,
@@ -23,16 +33,25 @@ var FontController = /** @class */ (function () {
23
33
  fill: fontColor === "White" ? "white" : "black",
24
34
  fontWeight: "bold"
25
35
  };
26
- PIXI.BitmapFont.from(fontName, fontStyle, { chars: PIXI.BitmapFont.ASCII });
27
- return fontName;
36
+ PIXI.BitmapFont.from(fontName, fontStyle, { chars: this.getCharacterSet() });
37
+ return {
38
+ fontName: fontName,
39
+ fontStyle: new PIXI.TextStyle(fontStyle)
40
+ };
28
41
  };
29
- FontController.prototype.updateFontNameMap = function (size) {
42
+ FontController.prototype.updateFontNameMapAndFontStyleMap = function (size) {
30
43
  var color2FontMap = new Map();
31
- color2FontMap.set("black", this.createFontName("Black", size));
32
- color2FontMap.set("white", this.createFontName("White", size));
44
+ var style2FontMap = new Map();
45
+ var blackFont = this.createFont("Black", size);
46
+ color2FontMap.set("black", blackFont.fontName);
47
+ style2FontMap.set("black", blackFont.fontStyle);
48
+ var whiteFont = this.createFont("White", size);
49
+ color2FontMap.set("white", whiteFont.fontName);
50
+ style2FontMap.set("white", blackFont.fontStyle);
33
51
  this.fontNameMap.set(size, color2FontMap);
52
+ this.fontStyleMap.set(size, style2FontMap);
34
53
  };
35
- FontController.prototype.getFontName = function (color, size) {
54
+ FontController.prototype.getFont = function (color, size) {
36
55
  var fontColor = this.fontColorMap.get(color);
37
56
  if (!fontColor) {
38
57
  var colorInHex = color.toString(16);
@@ -53,16 +72,29 @@ var FontController = /** @class */ (function () {
53
72
  this.fontColorMap.set(color, fontColor);
54
73
  }
55
74
  var fontName;
75
+ var fontStyle;
56
76
  if (size) {
57
77
  var MIN_FONT_SIZE = 6;
58
78
  size = Math.max(size, MIN_FONT_SIZE);
59
79
  if (!this.fontNameMap.has(size)) {
60
- this.updateFontNameMap(size);
80
+ this.updateFontNameMapAndFontStyleMap(size);
61
81
  }
62
82
  var size2FontMap = this.fontNameMap.get(size);
63
83
  fontName = size2FontMap ? size2FontMap.get(fontColor) : undefined;
84
+ var size2StyleMap = this.fontStyleMap.get(size);
85
+ fontStyle = size2StyleMap ? size2StyleMap.get(fontColor) : undefined;
64
86
  }
65
- return fontName ? fontName : "";
87
+ return {
88
+ fontName: fontName ? fontName : "",
89
+ fontStyle: fontStyle
90
+ };
91
+ };
92
+ FontController.prototype.getCharacterSet = function () {
93
+ var letters = [];
94
+ letters.push(PIXI.BitmapFont.ASCII[0]);
95
+ letters.push(['★', '★']);
96
+ letters.push(['…', '…']);
97
+ return letters;
66
98
  };
67
99
  return FontController;
68
100
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"time-graph-font-controller.js","sourceRoot":"","sources":["../src/time-graph-font-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time-graph-font-controller.js","sourceRoot":"","sources":["../src/time-graph-font-controller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "timeline-chart",
3
- "version": "0.3.0-next.4c1edfd.0+4c1edfd",
3
+ "version": "0.3.0-next.4e49452.0+4e49452",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "build": "tsc",
@@ -27,5 +27,5 @@
27
27
  "jest-canvas-mock": "^2.3.1",
28
28
  "ts-jest": "^27.0.7"
29
29
  },
30
- "gitHead": "4c1edfd6da4a9feecad159ee9189a049d761f769"
30
+ "gitHead": "4e49452ffc59b9fe804a476d9b9ffbbebf0a5595"
31
31
  }
@@ -12,13 +12,33 @@ export interface TimeGraphStateStyle {
12
12
  borderColor?: number
13
13
  }
14
14
 
15
+ /**
16
+ * Using BitMapText.getLocalBounds() to measure the full label width is expensive, because
17
+ * we need to create a BitMapText object to use it. This means that we need to create a BitMapText
18
+ * for every state, even if we don't use it. When we remove the states, these objects need to
19
+ * be removed as well. In the case where we have a lot states, this cause multiple garbage collection
20
+ * and hogs the performance of the timeline chart.
21
+ *
22
+ * An alternative to measure the width of the label is to use PIXI.TextMetrics.measureText().
23
+ * However, this method applies only for Text objects, and not BitMapText; therefore there is a
24
+ * slight difference between the values returned by the two methods. PIXI.TextMetrics returns a
25
+ * slightly smaller value. Currently, PIXI does not support measureText() for BitMapText.
26
+ *
27
+ * Through some trials, it looks like the ratio between the text width returned by the two methods is
28
+ * consistent. Hence, we can use PIXI.TextMetrics.measureText() to get a good estimation of the text width,
29
+ * then multiply with the SCALING_FACTOR to determine the actual width of the label when rendered
30
+ * with BitMapText.
31
+ *
32
+ * SCALING_FACTOR = BitMapText.getLocalBounds() / PIXI.TextMetrics.measureText()
33
+ */
34
+ const SCALING_FACTOR = 1.04;
35
+
15
36
  export class TimeGraphStateComponent extends TimeGraphComponent<TimelineChart.TimeGraphState> {
16
37
 
17
38
  static fontController: FontController = new FontController();
18
39
 
19
40
  protected _options: TimeGraphStyledRect;
20
41
  private textLabelObject: PIXI.BitmapText | undefined;
21
- private textWidth: number;
22
42
 
23
43
  constructor(
24
44
  id: string,
@@ -55,8 +75,8 @@ export class TimeGraphStateComponent extends TimeGraphComponent<TimelineChart.Ti
55
75
  if (!this.model.label) {
56
76
  return;
57
77
  }
58
- const fontName = TimeGraphStateComponent.fontController.getFontName(this._options.color ? this._options.color : 0, this._options.height - 2) ||
59
- TimeGraphStateComponent.fontController.getDefaultFontName();
78
+ const { fontName, fontStyle } = TimeGraphStateComponent.fontController.getFont(this._options.color ? this._options.color : 0, this._options.height - 2) ||
79
+ TimeGraphStateComponent.fontController.getDefaultFont();
60
80
  const position = {
61
81
  x: this._options.position.x + this._options.width < 0 ? this._options.position.x : Math.max(0, this._options.position.x),
62
82
  y: this._options.position.y
@@ -65,48 +85,54 @@ export class TimeGraphStateComponent extends TimeGraphComponent<TimelineChart.Ti
65
85
  const labelText = this.model.label;
66
86
  const textPadding = 0.5;
67
87
  if (displayWidth < 3) {
68
- if (this.textLabelObject) {
69
- this.textLabelObject.text = "";
70
- }
88
+ this.removeLabel();
71
89
  return;
72
90
  }
73
91
 
74
- let addLabel = false;
75
- if (!this.textLabelObject) {
76
- this.textLabelObject = new PIXI.BitmapText(this.model.label, { fontName: fontName });
77
- this.textWidth = this.textLabelObject.getLocalBounds().width;
78
- addLabel = true;
79
- }
92
+ if (fontStyle) {
93
+ const metrics = PIXI.TextMetrics.measureText(this.model.label, fontStyle);
94
+ // Round the text width up just to be sure that it will fit in the state
95
+ const textWidth = Math.ceil(metrics.width * SCALING_FACTOR);
80
96
 
81
- let textObjX = position.x + textPadding;
82
- const textObjY = position.y + textPadding;
83
- let displayLabel = "";
97
+ let textObjX = position.x + textPadding;
98
+ const textObjY = position.y + textPadding;
99
+ let displayLabel = "";
84
100
 
85
- if (displayWidth > this.textWidth) {
86
- textObjX = position.x + (displayWidth - this.textWidth) / 2;
87
- displayLabel = labelText;
88
- }
89
- else {
90
- const textScaler = displayWidth / this.textWidth;
91
- const index = Math.min(Math.floor(textScaler * labelText.length), labelText.length - 1)
92
- const partialLabel = labelText.substr(0, Math.max(index - 3, 0));
93
- if (partialLabel.length > 0) {
94
- displayLabel = partialLabel.concat("...");
101
+ if (displayWidth > textWidth) {
102
+ textObjX = position.x + (displayWidth - textWidth) / 2;
103
+ displayLabel = labelText;
104
+ }
105
+ else {
106
+ const textScaler = displayWidth / textWidth;
107
+ const index = Math.min(Math.floor(textScaler * labelText.length), labelText.length - 1);
108
+ const partialLabel = labelText.substr(0, Math.max(index - 1, 0));
109
+ if (partialLabel.length > 0) {
110
+ displayLabel = partialLabel.concat("…");
111
+ }
95
112
  }
96
- }
97
113
 
98
- this.textLabelObject.text = displayLabel;
114
+ if (displayLabel === "") {
115
+ this.removeLabel();
116
+ return;
117
+ }
99
118
 
100
- if (displayLabel === "") {
101
- return;
102
- }
119
+ if (!this.textLabelObject) {
120
+ this.textLabelObject = new PIXI.BitmapText(displayLabel, { fontName: fontName });
121
+ this.displayObject.addChild(this.textLabelObject);
122
+ } else {
123
+ this.textLabelObject.text = displayLabel;
124
+ }
103
125
 
104
- this.textLabelObject.alpha = this._options.opacity ?? 1;
105
- this.textLabelObject.x = textObjX;
106
- this.textLabelObject.y = textObjY;
126
+ this.textLabelObject.alpha = this._options.opacity ?? 1;
127
+ this.textLabelObject.x = textObjX;
128
+ this.textLabelObject.y = textObjY;
129
+ }
130
+ }
107
131
 
108
- if (addLabel) {
109
- this.displayObject.addChild(this.textLabelObject);
132
+ private removeLabel() {
133
+ if (this.textLabelObject) {
134
+ this.textLabelObject.destroy();
135
+ this.textLabelObject = undefined;
110
136
  }
111
137
  }
112
138
 
@@ -1,5 +1,4 @@
1
1
  import * as PIXI from "pixi.js-legacy"
2
- import * as keyboardKey from "keyboard-key"
3
2
 
4
3
  import { TimeGraphCursor } from "../components/time-graph-cursor";
5
4
  import { TimelineChart } from "../time-graph-model";
@@ -22,8 +21,9 @@ export class TimeGraphChartCursors extends TimeGraphChartLayer {
22
21
 
23
22
  private _updateHandler: { (): void; (viewRange: TimelineChart.TimeGraphRange): void; (selectionRange: TimelineChart.TimeGraphRange): void; (viewRange: TimelineChart.TimeGraphRange): void; (selectionRange: TimelineChart.TimeGraphRange): void; };
24
23
  private _mouseDownHandler: { (event: MouseEvent): void; (event: Event): void; };
25
- private _keyDownHandler: (event: KeyboardEvent) => void;
26
- private _keyUpHandler: (event: KeyboardEvent) => void;
24
+ private _cursorKeyDownHandler: (event: KeyboardEvent) => void;
25
+ private _cursorKeyUpHandler: (event: KeyboardEvent) => void;
26
+ protected _keyboardShortcutKeyDownHandler: (event: KeyboardEvent) => void;
27
27
 
28
28
  constructor(id: string, protected chartLayer: TimeGraphChart, protected rowController: TimeGraphRowController, style?: { color?: number }) {
29
29
  super(id, rowController);
@@ -39,7 +39,7 @@ export class TimeGraphChartCursors extends TimeGraphChartLayer {
39
39
 
40
40
  this._updateHandler = (): void => this.update();
41
41
 
42
- this._keyDownHandler = (event: KeyboardEvent) => {
42
+ this._cursorKeyDownHandler = (event: KeyboardEvent) => {
43
43
  if (event.key === 'Shift' && this.mouseButtons === 0 && !event.ctrlKey && !event.altKey) {
44
44
  this.stage.cursor = 'crosshair';
45
45
  } else if (this.stage.cursor === 'crosshair' && !this.mouseSelecting &&
@@ -47,23 +47,31 @@ export class TimeGraphChartCursors extends TimeGraphChartLayer {
47
47
  this.stage.cursor = 'default';
48
48
  }
49
49
  this.shiftKeyDown = event.shiftKey;
50
- // TODO: keyCode is deprecated. We should change these.
51
- if (event.keyCode === keyboardKey.ArrowLeft) {
52
- this.navigateOrSelectLeft();
53
- } else if (event.keyCode === keyboardKey.ArrowRight) {
54
- this.navigateOrSelectRight();
55
- }
56
- };
50
+ }
57
51
 
58
- this._keyUpHandler = (event: KeyboardEvent) => {
52
+ this._cursorKeyUpHandler = (event: KeyboardEvent) => {
59
53
  this.shiftKeyDown = event.shiftKey;
60
54
  if (this.stage.cursor === 'crosshair' && !this.mouseSelecting && event.key === 'Shift' ) {
61
55
  this.stage.cursor = 'default';
62
56
  }
57
+ }
58
+
59
+ this._keyboardShortcutKeyDownHandler = (event: KeyboardEvent) => {
60
+ switch(event.key) {
61
+ case "ArrowLeft":
62
+ this.navigateOrSelectLeft();
63
+ break;
64
+ case "ArrowRight":
65
+ this.navigateOrSelectRight();
66
+ break;
67
+ default:
68
+ break;
69
+ }
63
70
  };
64
71
 
65
- this.onCanvasEvent('keydown', this._keyDownHandler);
66
- this.onCanvasEvent('keyup', this._keyUpHandler);
72
+ this.onCanvasEvent('keydown', this._cursorKeyDownHandler);
73
+ this.onCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler)
74
+ this.onCanvasEvent('keyup', this._cursorKeyUpHandler);
67
75
 
68
76
  this._stageMouseDownHandler = (event: PIXI.InteractionEvent) => {
69
77
  this.mouseButtons = event.data.buttons;
@@ -274,11 +282,14 @@ export class TimeGraphChartCursors extends TimeGraphChartLayer {
274
282
  if (this._mouseDownHandler) {
275
283
  this.removeOnCanvasEvent('mousedown', this._mouseDownHandler);
276
284
  }
277
- if (this._keyDownHandler) {
278
- this.removeOnCanvasEvent('keydown', this._keyDownHandler);
285
+ if (this._cursorKeyDownHandler) {
286
+ this.removeOnCanvasEvent('keydown', this._cursorKeyDownHandler);
287
+ }
288
+ if (this._keyboardShortcutKeyDownHandler) {
289
+ this.removeOnCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler);
279
290
  }
280
- if (this._keyUpHandler) {
281
- this.removeOnCanvasEvent('mousedown', this._keyUpHandler);
291
+ if (this._cursorKeyUpHandler) {
292
+ this.removeOnCanvasEvent('mousedown', this._cursorKeyUpHandler);
282
293
  }
283
294
  if (this.stage) {
284
295
  this.stage.off('mousedown', this._stageMouseDownHandler);
@@ -373,6 +373,7 @@ export class TimeGraphChart extends TimeGraphChartLayer {
373
373
 
374
374
  update() {
375
375
  this.updateScaleAndPosition();
376
+ this.ensureRowLinesFitViewWidth();
376
377
  this._debouncedMaybeFetchNewData();
377
378
  }
378
379
 
@@ -496,7 +497,7 @@ export class TimeGraphChart extends TimeGraphChartLayer {
496
497
  // Only on coarse renders
497
498
  // Only if we are updating all rows and not increasing vertical height. See: https://github.com/eclipse-cdt-cloud/theia-trace-extension/pull/832#issuecomment-1259902534.
498
499
  const allRowsUpdated = rowIds.length === visibleRowIds.length;
499
- const worldRange = (!fine && allRowsUpdated) ? this.unitController.updateWorldRangeFromViewRange() : this.unitController.worldRange;
500
+ const worldRange = allRowsUpdated ? this.unitController.updateWorldRangeFromViewRange() : this.unitController.worldRange;
500
501
  const request = { worldRange, resolution, rowIds };
501
502
  if (isEqual(request, this.ongoingRequest)) {
502
503
  // request ignored because equal to ongoing request
@@ -0,0 +1,66 @@
1
+
2
+ import { TimelineChart } from "../time-graph-model";
3
+ import { TimeGraphChartCursors } from "./time-graph-chart-cursors";
4
+
5
+ export class TimeGraphMarkersChartCursors extends TimeGraphChartCursors {
6
+
7
+ protected afterAddToContainer() {
8
+ super.afterAddToContainer();
9
+ this.removeOnCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler);
10
+ this._keyboardShortcutKeyDownHandler = (event: KeyboardEvent) => {
11
+ switch(event.key) {
12
+ case ",":
13
+ this.selectClosestStateAndMakeSelectionRange('prev');
14
+ break;
15
+ case ".":
16
+ this.selectClosestStateAndMakeSelectionRange('next');
17
+ break;
18
+ default:
19
+ return;
20
+ }
21
+ };
22
+ this.onCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler);
23
+ }
24
+
25
+ protected selectClosestStateAndMakeSelectionRange = (direction: 'next' | 'prev') => {
26
+
27
+ const next = direction === 'next';
28
+ const selectedRow = this.rowController.selectedRow;
29
+
30
+ if (this.unitController.selectionRange && selectedRow) {
31
+
32
+ const { start, end } = this.unitController.selectionRange;
33
+ let point1 = next ? end : start;
34
+ let closestState: TimelineChart.TimeGraphState | undefined;
35
+ let closestDiff = Number.POSITIVE_INFINITY;
36
+ let isValid = false;
37
+
38
+ selectedRow?.states.forEach((marker, key) => {
39
+
40
+ const { start, end } = marker.range;
41
+
42
+ if (start === this.unitController.selectionRange?.start && end === this.unitController.selectionRange?.end) {
43
+ return;
44
+ }
45
+
46
+ let point2 = next ? start : end;
47
+ let innerIsValid = next ? (point1 <= point2) : (point1 >= point2);
48
+ let diff = Math.abs(Number(point1 - point2));
49
+
50
+ if (diff < closestDiff && innerIsValid) {
51
+ closestDiff = diff;
52
+ closestState = marker;
53
+ isValid = innerIsValid;
54
+ }
55
+
56
+ });
57
+
58
+ if (isValid && closestState) {
59
+ this.unitController.selectionRange = closestState.range;
60
+ this.maybeCenterCursor();
61
+ this.update();
62
+ }
63
+
64
+ }
65
+ }
66
+ }
@@ -1,25 +1,37 @@
1
1
  import * as PIXI from "pixi.js-legacy";
2
2
 
3
+ const DEFAULT_FONT_SIZE = 8;
4
+ const DEFAULT_FONT_NAME = "LabelFont8White";
5
+ const DEFAULT_FONT_STYLE = {
6
+ fontFamily: "monospace",
7
+ fontSize: 8,
8
+ fill: "white",
9
+ fontWeight: "bold"
10
+ };
11
+
3
12
  export class FontController {
4
13
  private fontFamily: string;
14
+ private fontStyleMap: Map<number, Map<string, PIXI.TextStyle>>;
5
15
  private fontNameMap: Map<number, Map<string, string>>;
6
16
  private fontColorMap: Map<number, string>;
7
- private defaultFontName: string = "LabelFont8White";
8
17
 
9
18
  constructor(fontFamily: string = "monospace") {
10
19
  this.fontFamily = fontFamily;
20
+ this.fontStyleMap = new Map<number, Map<string, PIXI.TextStyle>>();
11
21
  this.fontNameMap = new Map<number, Map<string, string>>();
12
22
  this.fontColorMap = new Map<number, string>();
13
23
 
14
- const defaultFontSize = 8;
15
- this.updateFontNameMap(defaultFontSize);
24
+ this.updateFontNameMapAndFontStyleMap(DEFAULT_FONT_SIZE);
16
25
  }
17
26
 
18
- getDefaultFontName(): string {
19
- return this.defaultFontName;
27
+ getDefaultFont(): { fontName: string, fontStyle: PIXI.TextStyle} {
28
+ return {
29
+ fontName: DEFAULT_FONT_NAME,
30
+ fontStyle: new PIXI.TextStyle(DEFAULT_FONT_STYLE)
31
+ }
20
32
  }
21
33
 
22
- createFontName(fontColor: string, fontSize: number): string {
34
+ createFont(fontColor: string, fontSize: number): { fontName: string, fontStyle: PIXI.TextStyle } {
23
35
  const fontName = "LabelFont" + fontSize.toString() + fontColor;
24
36
  const fontStyle = {
25
37
  fontFamily: this.fontFamily,
@@ -27,18 +39,31 @@ export class FontController {
27
39
  fill: fontColor === "White" ? "white" : "black",
28
40
  fontWeight: "bold"
29
41
  };
30
- PIXI.BitmapFont.from(fontName, fontStyle, { chars: PIXI.BitmapFont.ASCII });
31
- return fontName;
42
+ PIXI.BitmapFont.from(fontName, fontStyle, { chars: this.getCharacterSet() });
43
+
44
+ return {
45
+ fontName: fontName,
46
+ fontStyle: new PIXI.TextStyle(fontStyle)
47
+ }
32
48
  }
33
49
 
34
- updateFontNameMap(size: number) {
50
+ updateFontNameMapAndFontStyleMap(size: number) {
35
51
  let color2FontMap = new Map<string, string>();
36
- color2FontMap.set("black", this.createFontName("Black", size));
37
- color2FontMap.set("white", this.createFontName("White", size));
52
+ let style2FontMap = new Map<string, PIXI.TextStyle>();
53
+
54
+ const blackFont = this.createFont("Black", size);
55
+ color2FontMap.set("black", blackFont.fontName);
56
+ style2FontMap.set("black", blackFont.fontStyle);
57
+
58
+ const whiteFont = this.createFont("White", size);
59
+ color2FontMap.set("white", whiteFont.fontName);
60
+ style2FontMap.set("white", blackFont.fontStyle);
61
+
38
62
  this.fontNameMap.set(size, color2FontMap);
63
+ this.fontStyleMap.set(size, style2FontMap);
39
64
  }
40
65
 
41
- getFontName(color: number, size: number): string {
66
+ getFont(color: number, size: number): { fontName: string, fontStyle: PIXI.TextStyle | undefined} {
42
67
  let fontColor = this.fontColorMap.get(color);
43
68
  if (!fontColor) {
44
69
  let colorInHex = color.toString(16);
@@ -61,15 +86,31 @@ export class FontController {
61
86
  }
62
87
 
63
88
  let fontName: string | undefined;
89
+ let fontStyle: PIXI.TextStyle | undefined;
64
90
  if (size) {
65
91
  const MIN_FONT_SIZE = 6;
66
92
  size = Math.max(size, MIN_FONT_SIZE);
67
93
  if (!this.fontNameMap.has(size)) {
68
- this.updateFontNameMap(size);
94
+ this.updateFontNameMapAndFontStyleMap(size);
69
95
  }
70
96
  const size2FontMap = this.fontNameMap.get(size);
71
97
  fontName = size2FontMap ? size2FontMap.get(fontColor) : undefined;
98
+
99
+ const size2StyleMap = this.fontStyleMap.get(size);
100
+ fontStyle = size2StyleMap ? size2StyleMap.get(fontColor) : undefined;
101
+ }
102
+ return {
103
+ fontName: fontName ? fontName : "",
104
+ fontStyle: fontStyle
72
105
  }
73
- return fontName ? fontName : "";
106
+ }
107
+
108
+ private getCharacterSet(): string[][] {
109
+ let letters: string[][]= [];
110
+ letters.push(PIXI.BitmapFont.ASCII[0]);
111
+ letters.push(['★','★']);
112
+ letters.push(['…','…']);
113
+
114
+ return letters;
74
115
  }
75
116
  }