@thegraid/hexlib 1.2.0 → 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 (49) hide show
  1. package/dist/game-play.d.ts +21 -17
  2. package/dist/game-play.d.ts.map +1 -1
  3. package/dist/game-play.js +34 -36
  4. package/dist/game-play.js.map +1 -1
  5. package/dist/game-setup.d.ts +1 -0
  6. package/dist/game-setup.d.ts.map +1 -1
  7. package/dist/game-setup.js +4 -3
  8. package/dist/game-setup.js.map +1 -1
  9. package/dist/game-state.d.ts +18 -6
  10. package/dist/game-state.d.ts.map +1 -1
  11. package/dist/game-state.js +38 -36
  12. package/dist/game-state.js.map +1 -1
  13. package/dist/hex.d.ts +11 -3
  14. package/dist/hex.d.ts.map +1 -1
  15. package/dist/hex.js +15 -5
  16. package/dist/hex.js.map +1 -1
  17. package/dist/image-loader.d.ts.map +1 -1
  18. package/dist/image-loader.js.map +1 -1
  19. package/dist/meeple.d.ts +5 -7
  20. package/dist/meeple.d.ts.map +1 -1
  21. package/dist/meeple.js +6 -12
  22. package/dist/meeple.js.map +1 -1
  23. package/dist/player-panel.d.ts +3 -7
  24. package/dist/player-panel.d.ts.map +1 -1
  25. package/dist/player-panel.js +50 -38
  26. package/dist/player-panel.js.map +1 -1
  27. package/dist/player.d.ts +2 -1
  28. package/dist/player.d.ts.map +1 -1
  29. package/dist/player.js +4 -2
  30. package/dist/player.js.map +1 -1
  31. package/dist/shapes.d.ts +96 -33
  32. package/dist/shapes.d.ts.map +1 -1
  33. package/dist/shapes.js +151 -92
  34. package/dist/shapes.js.map +1 -1
  35. package/dist/table-params.d.ts +3 -3
  36. package/dist/table-params.d.ts.map +1 -1
  37. package/dist/table-params.js +2 -2
  38. package/dist/table-params.js.map +1 -1
  39. package/dist/table.d.ts +38 -11
  40. package/dist/table.d.ts.map +1 -1
  41. package/dist/table.js +79 -51
  42. package/dist/table.js.map +1 -1
  43. package/dist/text-log.js +1 -1
  44. package/dist/text-log.js.map +1 -1
  45. package/dist/tile.d.ts +17 -20
  46. package/dist/tile.d.ts.map +1 -1
  47. package/dist/tile.js +30 -30
  48. package/dist/tile.js.map +1 -1
  49. package/package.json +3 -2
package/dist/table.js CHANGED
@@ -1,9 +1,8 @@
1
- import { afterUpdate, AT, C, CenterText, Dragger, F, KeyBinder, ParamGUI, S, ScaleableContainer, stime } from "@thegraid/easeljs-lib";
1
+ import { afterUpdate, AT, C, CenterText, Dragger, F, KeyBinder, NamedContainer, ParamGUI, S, ScaleableContainer, stime } from "@thegraid/easeljs-lib";
2
2
  import { Container, EventDispatcher, Graphics, Shape, Text } from "@thegraid/easeljs-module";
3
3
  import { EBC, PidChoice } from "./choosers";
4
- import { NamedContainer, TileEvent } from "./game-play";
4
+ import { TileEvent } from "./game-play";
5
5
  import { RecycleHex } from "./hex";
6
- import { Player } from "./player";
7
6
  import { PlayerPanel } from "./player-panel";
8
7
  import { CircleShape, HexShape, RectShape, UtilButton } from "./shapes";
9
8
  import { playerColor0, playerColor1, TP } from "./table-params";
@@ -15,7 +14,7 @@ class TablePlanner {
15
14
  class TextLog extends NamedContainer {
16
15
  size;
17
16
  lead;
18
- constructor(Aname, nlines = 6, size = 30, lead = 3) {
17
+ constructor(Aname, nlines = 6, size = TP.hexRad / 2, lead = 3) {
19
18
  super(Aname);
20
19
  this.size = size;
21
20
  this.lead = lead;
@@ -27,8 +26,8 @@ class TextLog extends NamedContainer {
27
26
  lines;
28
27
  lastLine = '';
29
28
  nReps = 0;
30
- height(n = this.lines.length) {
31
- return (this.size + this.lead) * n;
29
+ height(nLines = this.lines.length) {
30
+ return (this.size + this.lead) * nLines;
32
31
  }
33
32
  clear() {
34
33
  this.lines.forEach(tline => tline.text = '');
@@ -43,8 +42,9 @@ class TextLog extends NamedContainer {
43
42
  spaceLines(cy = 0, lead = this.lead) {
44
43
  this.lines.forEach(tline => (tline.y = cy, cy += tline.getMeasuredLineHeight() + lead));
45
44
  }
45
+ /** convert line to single-line; inc count if same line; insert & scroll up */
46
46
  log(line, from = '', toConsole = true) {
47
- line = line.replace('/\n/g', '-');
47
+ line = line.replace(/\n/g, '-');
48
48
  toConsole && console.log(stime(`${from}:`), line);
49
49
  if (line === this.lastLine) {
50
50
  this.lines[this.lines.length - 1].text = `[${++this.nReps}] ${line}`;
@@ -111,20 +111,28 @@ export class Table {
111
111
  this.bindKeys();
112
112
  }
113
113
  }
114
- /** shows the last 2 start of turn lines */
115
- turnLog = new TextLog('turnLog', 2);
114
+ /** shows the last TP.numPlayers start of turn lines */
115
+ turnLog = new TextLog('turnLog', TP.numPlayers);
116
116
  /** show [13] other interesting log strings */
117
117
  textLog = new TextLog('textLog', TP.textLogLines);
118
- logTurn(line) {
119
- this.turnLog.log(line, 'table.logTurn'); // in top two lines
120
- }
121
- logText(line, from = '') {
122
- const text = this.textLog.log(`${this.gamePlay.turnNumber}: ${line}`, from || '***'); // scrolling lines below
118
+ /** write '// ${turn}: ${line}' comment line to TextLog (& console) & logWriter */
119
+ logText(line, from = '', toConsole = true) {
120
+ const text = this.textLog.log(`${this.gamePlay.turnNumber}: ${line}`, from || '***', toConsole); // scrolling lines below
123
121
  this.gamePlay.logWriter.writeLine(`// ${text}`);
124
122
  // JSON string, instead of JSON5 comment:
125
123
  // const text = this.textLog.log(`${this.gamePlay.turnNumber}: ${line}`, from); // scrolling lines below
126
124
  // this.gamePlay.logWriter.writeLine(`"${line}",`);
127
125
  }
126
+ logCurPlayer(plyr) {
127
+ const tn = this.gamePlay.turnNumber;
128
+ const robo = plyr.useRobo ? AT.ansiText(['red', 'bold'], "robo") : "----";
129
+ const info = { turn: tn, gamePlay: this.gamePlay, curPlayer: plyr, plyr: plyr.Aname };
130
+ console.log(stime(this, `.logCurPlayer --${robo}--`), info);
131
+ this.logTurnPlayer(`//${tn}: ${plyr.Aname}`);
132
+ }
133
+ logTurnPlayer(line) {
134
+ this.turnLog.log(line, 'table.logTurn', false); // in top two lines
135
+ }
128
136
  setupUndoButtons(xOffs, bSize, skipRad, bgr, row = 8, col = -7) {
129
137
  const undoC = this.undoCont; // holds the undo buttons.
130
138
  this.setToRowCol(undoC, row, col);
@@ -338,7 +346,7 @@ export class Table {
338
346
  const parent = this.scaleCont;
339
347
  this.setToRowCol(this.turnLog, rowy, colx);
340
348
  this.setToRowCol(this.textLog, rowy, colx);
341
- this.textLog.y += this.turnLog.height(Player.allPlayers.length + 1); // allow room for 1 line per player
349
+ this.textLog.y += this.turnLog.height(TP.numPlayers + 1); // allow room for 1 line per player
342
350
  parent.addChild(this.turnLog, this.textLog);
343
351
  parent.stage.update();
344
352
  }
@@ -386,20 +394,19 @@ export class Table {
386
394
  */
387
395
  makeGUIs(scale = TP.hexRad / 60, cx = -200, cy = 250, dy = 20) {
388
396
  const scaleCont = this.scaleCont;
389
- let lmax = 0, ymax = 0;
390
- const align = (gui) => {
397
+ let wmax = 0, ymax = 0;
398
+ const guiWYmax = (gui) => {
391
399
  ymax += (gui.ymax + dy);
392
- lmax = Math.max(lmax, gui.children[0].getBounds().width);
400
+ wmax = Math.max(wmax, gui.children[0].getBounds().width);
401
+ return gui;
393
402
  };
394
403
  const guis = [this.makeNetworkGUI, this.makeParamGUI, this.makeParamGUI2].map(mgf => {
395
- const gui = this.gpanel(mgf, cx, cy + ymax, scale);
396
- align(gui);
397
- return gui;
404
+ return guiWYmax(this.gpanel(mgf, cx, cy + ymax, scale));
398
405
  });
406
+ guis.forEach(gui => gui.x -= wmax);
399
407
  scaleCont.addChild(...guis.reverse()); // lower y values ABOVE to dropdown is not obscured
400
- guis.forEach(gui => gui.x -= lmax);
401
408
  // TODO: dropdown to use given 'top' container!
402
- guis[0].stage.update();
409
+ scaleCont.stage.update();
403
410
  }
404
411
  get panelHeight() { return (2 * TP.nHexes - 1) / 3 - .2; }
405
412
  get panelOffset() { return TP.nHexes + 2; }
@@ -407,8 +414,12 @@ export class Table {
407
414
  * six panel locations [row, col, dir][].
408
415
  *
409
416
  * col==0 is on left edge of hexMap; The *center* hex is col == (nHexes-1)
417
+ * @example
418
+ * P0 --- P3
419
+ * P1 --C-- P4
420
+ * P2 --- P5
410
421
  */
411
- setPanelLocs() {
422
+ getPanelLocs() {
412
423
  const r0 = this.hexMap.centerHex.row, dr = this.panelHeight + .2;
413
424
  const cc = this.hexMap.centerHex.col, coff = this.panelOffset;
414
425
  const c0 = cc - coff, c1 = cc + coff;
@@ -418,18 +429,32 @@ export class Table {
418
429
  ];
419
430
  return locs;
420
431
  }
421
- /** select from setPanelLoc, based on pIndex from total np */
422
- panelLoc(pIndex, np = Math.min(Player.allPlayers.length, 6), locs = this.setPanelLocs()) {
423
- const seq = [[], [0], [0, 3], [0, 3, 1], [0, 3, 4, 1], [0, 3, 4, 2, 1], [0, 3, 4, 5, 2, 1]];
424
- const seqn = seq[np], ndx = seqn[Math.min(pIndex, np - 1)];
425
- return locs[ndx];
432
+ /**
433
+ * Which PanelLocs to use for a given number of Players
434
+ * @param np number of Players
435
+ * @returns array of indices into PanelLocs (one for each Player)
436
+ */
437
+ panelLocsForNp(np) {
438
+ return [[], [0], [0, 3], [0, 3, 1], [0, 3, 4, 1], [0, 3, 4, 2, 1], [0, 3, 4, 5, 2, 1]][np];
439
+ }
440
+ /** Panel location for the nth of nPlayers.
441
+ *
442
+ * @param pIndex Player index (0 .. nPlayers-1)
443
+ * @param nPlayers [allPlayers.length] total number of Players
444
+ * @param panelLocs [getPanelLocs] potential panel locations
445
+ * @return panelLocs[panelLocsForNp(nPlayers)][pIndex]
446
+ */
447
+ panelLoc(pIndex, nPlayers = Math.min(TP.numPlayers, 6), panelLocs = this.getPanelLocs()) {
448
+ const seqn = this.panelLocsForNp(nPlayers);
449
+ const ndx = seqn[Math.min(pIndex, nPlayers - 1)];
450
+ return panelLocs[ndx];
426
451
  }
427
452
  allPlayerPanels = [];
428
453
  /** make player panels, placed at panelLoc... */
429
454
  makePerPlayer() {
430
455
  this.allPlayerPanels.length = 0; // TODO: maybe deconstruct
431
456
  const high = this.panelHeight, wide = 4.5;
432
- const np = Math.min(Player.allPlayers.length, 6), locs = this.setPanelLocs();
457
+ const np = Math.min(TP.numPlayers, 6), locs = this.getPanelLocs();
433
458
  this.gamePlay.forEachPlayer((player, pIndex) => {
434
459
  const [row, col, dir] = this.panelLoc(pIndex, np, locs);
435
460
  this.allPlayerPanels[pIndex] = player.panel = new PlayerPanel(this, player, high, wide, row - high / 2, col - wide / 2, dir);
@@ -458,7 +483,7 @@ export class Table {
458
483
  hex.legalMark.setOnHex(hex);
459
484
  hex.cont.visible = false;
460
485
  }
461
- makeCircleButton(color = C.WHITE, rad = 20, c, fs = 30) {
486
+ makeCircleButton(color = C.WHITE, rad = TP.hexRad / 3, c, fs = rad * 3 / 2) {
462
487
  const button = new Container();
463
488
  button.name = 'circle';
464
489
  const shape = new CircleShape(color, rad, '');
@@ -472,7 +497,7 @@ export class Table {
472
497
  button.mouseEnabled = false;
473
498
  return button;
474
499
  }
475
- makeSquareButton(color = C.WHITE, xywh, c, fs = 30) {
500
+ makeSquareButton(color = C.WHITE, xywh, c, fs = TP.hexRad / 2) {
476
501
  const button = new Container();
477
502
  button.name = 'square';
478
503
  const shape = new RectShape(xywh, color, '');
@@ -579,24 +604,33 @@ export class Table {
579
604
  this.doneButton.visible = false;
580
605
  this.gamePlay.phaseDone(); // <--- main doneButton does not supply 'panel'
581
606
  };
582
- addDoneButton(actionCont, rh) {
583
- const w = 90, h = 56;
584
- const doneButton = this.doneButton = new UtilButton('lightgreen', 'Done', 36, C.black);
607
+ /**
608
+ * May be contained or placed with ActionSelection buttons.
609
+ * @param cont [scaleCont] a Container to hold the DoneButton
610
+ * @param cx [0] offset in Container (to 'center', 'left', 'right' per align)
611
+ * @param cy [0] offset in Container (to top of text box)
612
+ * @param align ['center'] left or right
613
+ * @returns actionCont
614
+ */
615
+ addDoneButton(cont = this.scaleCont, cx = 0, cy = 0, align = 'center') {
616
+ const doneButton = this.doneButton = new UtilButton('Done', 'lightgreen');
617
+ doneButton.disp.textAlign = align; // Note: baseline is still 'middle'
618
+ const { x, y, width: w, height: h } = doneButton.getBounds();
585
619
  doneButton.name = 'doneButton';
586
- doneButton.x = -(w);
587
- doneButton.y = 3 * rh;
588
- doneButton.label.textAlign = 'right';
620
+ doneButton.x = cx - 0; // XY is the top-right corner, align extends to left
621
+ doneButton.y = cy - y; // XY is the top-right corner, align extends to left
589
622
  doneButton.on(S.click, this.doneClicked, this);
590
- actionCont.addChild(doneButton);
591
- // prefix advice: set text color
623
+ cont.addChild(doneButton);
624
+ // prefix advice: set text color to contrast with RectShape color
625
+ // TODO: add as option to UtilButton
592
626
  const o_cgf = doneButton.rectShape.cgf;
593
627
  const cgf = (color) => {
594
- const tcolor = (C.dist(color, C.WHITE) < C.dist(color, C.black)) ? C.black : C.white;
595
- doneButton.label.color = tcolor;
596
- return o_cgf(color);
628
+ const tcolor = (C.dist(color, C.WHITE) < C.dist(color, C.BLACK)) ? C.black : C.white;
629
+ doneButton.disp.color = tcolor;
630
+ return o_cgf.call(doneButton.rectShape, color);
597
631
  };
598
632
  doneButton.rectShape.cgf = cgf; // invokes shape.paint(cgf) !!
599
- return actionCont;
633
+ return cont;
600
634
  }
601
635
  /** show player player score on table */
602
636
  setPlayerScore(plyr, score, rank) {
@@ -782,17 +816,11 @@ export class Table {
782
816
  startDragging(dragObj, xy = { x: 0, y: 0 }) {
783
817
  this.dragger.dragTarget(dragObj, xy);
784
818
  }
785
- logCurPlayer(plyr) {
786
- const tn = this.gamePlay.turnNumber;
787
- const robo = plyr.useRobo ? AT.ansiText(['red', 'bold'], "robo") : "----";
788
- const info = { turn: tn, plyr: plyr.Aname, gamePlay: this.gamePlay, curPlayer: plyr };
789
- console.log(stime(this, `.logCurPlayer --${robo}--`), info);
790
- this.logTurn(`//${tn}: ${plyr.Aname}`);
791
- }
792
819
  showRedoUndoCount() {
793
820
  this.undoText.text = `${this.gamePlay.undoRecs.length}`;
794
821
  this.redoText.text = `${this.gamePlay.redoMoves.length}`;
795
822
  }
823
+ /** log --> comment line to [console], TextLog, logWriter; showRedoUndoCount() */
796
824
  showNextPlayer(log = true) {
797
825
  let curPlayer = this.gamePlay.curPlayer; // after gamePlay.setNextPlayer()
798
826
  if (log)
package/dist/table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAe,OAAO,EAA2B,CAAC,EAAE,SAAS,EAAE,cAAc,EAAe,QAAQ,EAAa,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAM,MAAM,uBAAuB,CAAC;AACxN,OAAO,EAAE,SAAS,EAAiB,eAAe,EAAE,QAAQ,EAAc,KAAK,EAAS,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC/H,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAmC,UAAU,EAAE,MAAM,OAAO,CAAC;AAGpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAS9B,qBAAqB;AACrB,MAAM,YAAY;IAChB,YAAY,QAAkB,IAAI,CAAC;CACpC;AAkBD,MAAM,OAAQ,SAAQ,cAAc;IACY;IAAqC;IAAnF,YAAY,KAAa,EAAE,MAAM,GAAG,CAAC,EAAS,OAAe,EAAE,CAAC,MAAM,GAAG,CAAC,EAAS,OAAO,CAAC;QACzF,KAAK,CAAC,KAAK,CAAC,CAAC;QAD+B,SAAI,GAAJ,IAAI,CAAwB;QAAS,SAAI,GAAJ,IAAI,CAAI;QAEzF,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAO,MAAM,CAAC,CAAC;QACrC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAS;IACd,QAAQ,GAAG,EAAE,CAAC;IACd,KAAK,GAAG,CAAC,CAAC;IAEV,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;QAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC1C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IAEO,OAAO,CAAC,IAAI,GAAG,EAAE;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IACzF,CAAC;IAED,8EAA8E;IAC9E,GAAG,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI;QAC3C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;SACtE;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAU,CAAC,CAAC,CAAC,0BAA0B;YACxE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,KAAK;IAChB,MAAM,CAAC,KAAK,CAAO;IACnB,MAAM,CAAC,UAAU,CAAC,GAAkB;QAClC,OAAQ,GAAG,CAAC,KAAoB,CAAC,KAAK,CAAA;IACxC,CAAC;IAED,IAAI,GAAoB,IAA8B,CAAC;IACvD,OAAO,CAAC,KAAa,EAAE,IAAY,EAAE,QAAoC,EAAE,KAAc,EAAE,IAAc,EAAE,IAAU,EAAE,UAAU,GAAG,KAAK;QACvI,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAgB,CAAC;QACzF,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,QAAQ,CAAW;IACnB,KAAK,CAAQ;IACb,MAAM,CAAO;IACb,MAAM,CAAc,CAAC,uBAAuB;IAE5C,SAAS,CAAa;IACtB,MAAM,CAAW,CAAC,eAAe;IACjC,wCAAwC;IACxC,UAAU,GAAG,KAAK,CAAC;IAEnB,QAAQ,GAAc,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IACrD,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;IAC/B,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;IAC/B,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;IAC/B,QAAQ,GAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,uBAAuB;IACvE,QAAQ,GAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,0BAA0B;IAC1E,OAAO,GAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,GAAU,IAAI,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAEvG,OAAO,CAAS;IAChB;;;yEAGqE;IACrE,IAAI,CAAqB;IAEhB,WAAW,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;IACrD,YAAY,KAAY;QACtB,WAAW;QACX,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,6DAA6D;QAC7D,KAAK,CAAC,KAAK,GAAI,KAAoB,CAAC,KAAK,GAAG,IAAI,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA,CAAC,yBAAyB;QAC/D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,yCAAyC;QACpF,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;IACD,uDAAuD;IACvD,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAChD,8CAA8C;IAC9C,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAElD,kFAAkF;IAClF,OAAO,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,wBAAwB;QACzH,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAChD,yCAAyC;QACzC,wGAAwG;QACxG,mDAAmD;IACrD,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAA;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1E,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;QACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB;IACrE,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe,EAAE,GAAS,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,0BAA0B;QACvD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa;QAC5E,MAAM,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC;YAAE,OAAM;QAE7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzD,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAA;QACxD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAA;QACrD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAA;QAC/D,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAA;QAC9E,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACzB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,8BAA8B;QACtE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;QACnD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,WAAW,CAAC,GAAY,EAAE,KAAK,GAAG,OAAO;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,IAAI,2CAA2C,CAAA;QACtE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IACD,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ;QAC9C,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAE,2BAA2B;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI;QACpC,YAAY;QACZ,CAAC,MAAqB,EAAE,GAAc,EAAE,EAAE,GAAG,CAAC;QAC9C,YAAY;QACZ,CAAC,MAAqB,EAAE,GAAc,EAAE,EAAE;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE,sBAAsB;YACpE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,6BAA6B;YAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,0CAA0C;YAC5D,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QACJ,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAG,KAAK,CAAC;IAClB,mDAAmD;IACnD,UAAU,CAAC,MAAe,CAAC,IAAI,CAAC,SAAS;QACvC,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAAC,OAAM;SAAE,CAAC,yCAAyC;QAChG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA,CAAe,mCAAmC;QACtE,OAAO;IACT,CAAC;IAED,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IAC3B;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE,UAAmB;QAChE,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,sCAAsC;QAC1G,EAAE,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,+BAA+B,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;YACvB,IAAI,CAAC,SAAS,CAAC,IAAqB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAC9C,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;gBAC1G,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAG,KAAK,EAAE,MAAM,CAAC,CAAA;aACrC;iBAAM;gBACL,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;gBAC1G,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAG,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAA;aAChD;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE;QAC9C,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,mBAAmB;QACnB,IAAI,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,IAAY,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE;YAC1F,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;YACnD,IAAI,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YACrD,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YAC7C,GAAG,CAAC,CAAC,GAAG,CAAE,GAAG,GAAG,CAAC,CAAA;YACjB,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAA;YACxB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAA;YACxB,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;YACX,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAClB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YACnE,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QACD,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrD,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QACxE,IAAI,EAAE,GAAG,sBAAsB,CAAA;QAC/B,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC1C,IAAI,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACzC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACzD,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;QAC9D,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;QAC9D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,+CAA+C;IAC/C,QAAQ,GAAY,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAY,EAAE,OAA2B,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;QAClF,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,IAAkC,EAAE,IAAyB;QAClF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,qFAAqF;QACrF,uCAAuC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,kBAAkB;QAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEjC,+BAA+B;QAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,oBAAoB;QACnE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;QAClG,2EAA2E;QAC3E,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,mCAAmC;QACnC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,QAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAuB,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAA0B,CAAC;QAEnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAc,iDAAiD;QAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB;QAC1E,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,iCAAiC;QAErE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,uCAAuC;QAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA,CAAC,yBAAyB;QAEjE,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtF,CAAC;IAED,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAmC;QAE7F,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,sCAAsC;IACtC,IAAI,CAAC,MAAc,EAAE,IAAY,EAAE,GAAW;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,OAA8D,EAAE,EAAU,EAAE,EAAU,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC7G,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,+EAA+E;QAC/E,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAE,0EAA0E;QAC5G,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;QAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAClH,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACxB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAe,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAA;YACvE,OAAO,GAAG,CAAC;QACb,CAAC,CAAA;QACD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;QAClC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,mDAAmD;QAC1F,+CAA+C;QAC/C,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,KAAK,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3C;;;;;;;;OAQG;IACH,YAAY;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACjE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9D,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,IAAI,GAAG;YACX,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IACH,cAAc,CAAC,EAAU;QACvB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,MAAc,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE;QAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAEQ,eAAe,GAAkB,EAAE,CAAC;IAC7C,gDAAgD;IAChD,aAAa;QACX,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,GAAG,CAAC;QAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7H,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,WAAW,CAAC,IAAe,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QAClF,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAuC;QACxF,wCAAwC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE;YAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,WAAW,CAAC,MAAwB,EAAE,GAAU;QAC9C,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;QACzD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAU,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACjF,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE;YACL,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,IAAU,EAAE,CAAU,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE;YACL,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU;QAC9D,MAAM,IAAI,GAAG,SAAS,CAAA;QACtB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;QAC7E,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAc,8BAA8B;QAExD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,IAAI,GAAI,GAAmB,CAAC,KAAK,GAAG,UAAU,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1C,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC;QAChF,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC;QAC/F,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAChG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAC5F,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAE5F,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,+BAA+B;IAC/B,aAAa,CAAC,MAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;QACrD,GAAG,CAAC,IAAI,GAAI,GAAmB,CAAC,KAAK,GAAG,OAAO,CAAC;QAChD,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,GAAG,CAAA;QAClF,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,OAAO,CAAA;QACzF,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,UAAU,CAAA;QAC1F,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,SAAS,EAAE,CAAA;QACf,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,QAAQ,GAAW,uBAAuB,CAAA;IAC1C,QAAQ,GAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACjD,iDAAiD;IACjD,cAAc,CAAC,MAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzD,GAAG,CAAC,IAAI,GAAI,GAAmB,CAAC,KAAK,GAAG,QAAQ,CAAC;QACjD,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5F,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QACrG,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,YAAY,CAAA;QAEvJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE;YACjD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC/C,MAAM,KAAK,GAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAe,CAAC,OAAO,CAAC,SAAS,CAAA;gBAC7E,+BAA+B;gBAC/B,gDAAgD;aACjD;YACD,gFAAgF;QAClF,CAAC,CAAA;QACA,IAAI,CAAC,KAAK,CAAC,MAA4B,EAAE,aAAa,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YACxF,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YAAE,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,GAAG,CAAC,SAAS,EAAE,CAAA;QACf,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,gBAAgB,CAAC,UAAU,GAAG,EAAE,CAAC,YAAY;QAC1C,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAsB,CAAC,SAAS,GAAG,UAAU,CAAC;QACnF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;QAC3E,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAa;IACvB,WAAW,GAAG,CAAC,GAAS,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAG,+CAA+C;IAC9E,CAAC,CAAA;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,OAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1E,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,mCAAmC;QACtE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;QAC5D,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;QAC/B,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAK,oDAAoD;QAC/E,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAK,oDAAoD;QAC/E,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE1B,iEAAiE;QACjE,oCAAoC;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;QACvC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrF,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAA;QACD,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,8BAA8B;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAwC;IACxC,cAAc,CAAC,IAAY,EAAE,KAAa,EAAE,IAAa;IACzD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,QAAkB;QAC1B,0EAA0E;QAC1E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,YAAY,CAAC,IAAmB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,2BAA2B;IAC9D,CAAC;IAED,WAAW,CAAC,OAAsB,EAAE,SAAS,GAAG,IAAI;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,CAAc;IACzB,yFAAyF;IACzF,QAAQ,CAAC,IAAmB,EAAE,IAAe;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,2CAA2C;QAC/E,IAAI,CAAC,SAAS,CAAC,IAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,IAAU,EAAE,IAAe,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACjE,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,IAAI,IAAI,EAAE,KAAK,EAAE;YACf,IAAI,GAAG,EAAE,IAAI,EAAE;gBACb,+CAA+C;gBAC/C,6DAA6D;gBAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,0CAA0C,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC1E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB;gBACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAU,qDAAqD;gBACvF,OAAO;aACR;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAY,CAAC,CAAE,+CAA+C;YAClF,iDAAiD;YACjD,GAAG,GAAG;gBACJ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,SAAS,EAAE,KAAK,EAAE,QAAQ;gBAC1B,QAAQ,EAAE,KAAK,EAAE,OAAO;gBACxB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,CAAC;aACV,CAAA;YACD,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,8CAA8C;gBAC/E,OAAO;aACR;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAK,kDAAkD;YACjF,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,OAAO,CAAS,6BAA6B;SAC7D;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAQ,2BAA2B;IAC9D,CAAC;IAED,uDAAuD;IACvD,UAAU,CAAC,GAAsB,EAAE,GAAgB;QACjD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAA;QAC/C,GAAG,CAAC,QAAQ,GAAG,WAAW,EAAE,OAAO,CAAC;QACpC,qEAAqE;QACrE,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,CAAC;QACvC,IAAI,QAAQ,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE;YAChE,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;YACzB,oCAAoC;YACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,gCAAgC;SAC1E;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,IAAU,EAAE,GAAgB;QACpC,iEAAiE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,MAAM,KAAK,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;YAChF,yDAAyD;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM;YACL,+DAA+D;YAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;YAEjD,MAAM,eAAe,GAAG,CAAC,GAAU,EAAE,EAAE;gBACrC,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;oBACpD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;iBACjB;YACH,CAAC,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAW,0CAA0C;YAChG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,gEAAgE;YACxF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACzB;SACF;IACH,CAAC;IAED,wEAAwE;IACxE,SAAS,CAAC,IAAsB,EAAE,QAA6B,EAAE,GAAgB;QAC/E,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,kEAAkE;IAClE,QAAQ,CAAC,IAAmB,EAAE,IAAe,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACzE,MAAM,IAAI,GAAG,IAAY,CAAC;QAC1B,+EAA+E;QAC/E,IAAI,CAAC,SAAS,CAAC,GAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,kCAAkC;QAClF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B;QACpD,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,oBAAoB;IACzD,CAAC;IAED,wEAAwE;IACxE,gBAAgB,CAAC,IAAU,EAAE,KAAU;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,oCAAoC;QACvD,MAAM,MAAM,GAAG,KAAc,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAc,CAAC,CAAC,mBAAmB;QACtF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAY,CAAC,CAAC,CAAC,sEAAsE;QACrH,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAM,wBAAwB;QACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAa,mDAAmD;IACpG,CAAC;IAED,2CAA2C;IAC3C,IAAc,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E;;;;OAIG;IACH,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO;QACtD,0EAA0E;QAC1E,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,SAAS;gBAAE,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,6CAA6C;SACvE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,IAAI;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAuB,EAAE,KAAS,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QACjF,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,+CAA+C;YAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA,CAAC,qBAAqB;SACpE;aAAM,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACjC;IACH,CAAC;IAED,aAAa,CAAC,OAAsB,EAAE,KAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC3D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA;IAC1D,CAAC;IACD,iFAAiF;IACjF,cAAc,CAAC,MAAe,IAAI;QAChC,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAA,CAAC,iCAAiC;QACzE,IAAI,GAAG;YAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED,aAAa,CAAc;IAC3B,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa;YACvB,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1D,CAAC;IACD;;;;;;OAMG;IACH,WAAW,CAAC,IAAW;IACvB,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAU,EAAE,IAAW;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,uCAAuC;IAClG,CAAC;IAED,+BAA+B;IAC/B,OAAO,GAAW,GAAG,CAAC;IACtB,8CAA8C;IAC9C,OAAO,CAAC,IAAe,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,WAAW,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAE5E,SAAS,CAAqB;IACvC;;OAEG;IACH,aAAa;QACX,uCAAuC;QACvC,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YACzB,4DAA4D;YAC5D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,mCAAmC;YAC1G,4EAA4E;SAC7E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,QAAQ;QACN,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/D,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAEzD,wBAAwB;QACxB,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;QACrE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3E,CAAC;IAED,+DAA+D;IAC/D,aAAa,CAAC,MAAiB,EAAE,MAAY,EAAE,OAAO,GAAG,EAAE,CAAC,OAAO;QACjE,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAA4B,CAAC;QAC7E,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,GAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAC,CAAA;IAClD,KAAK,GAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnE;;;;;;;;;;OAUG;IACH,eAAe,CAAC,MAA0B,EAAE,GAAG,KAAa;QAC1D,qCAAqC;QACrC,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;YACjB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QACnB,CAAC,CAAA;QACD,sDAAsD;QACtD,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACrB,CAAC,CAAA;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,GAAG;gBACV,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAA;QACF,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEhE,CAAC;IACD,kEAAkE;IAClE,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,KAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClD,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,+BAA+B;QACjD,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,+BAA+B;QACjD,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mEAAmE;IACnE,IAAI,CAAC,CAAC,GAAG,GAAG;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/E,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,EAAM;QACR,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IACD;;;;;;OAMG;IACH,aAAa;QACX,4BAA4B;QAC5B,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9D,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACpE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1E,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3E,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3E,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACvE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;CACF"}
package/dist/text-log.js CHANGED
@@ -35,7 +35,7 @@ export class TextLog extends Container {
35
35
  this.lines.forEach(tline => (tline.y = cy, cy += tline.getMeasuredLineHeight() + lead));
36
36
  }
37
37
  log(line, from = '', toConsole = true) {
38
- line = line.replace('/\n/g', '-');
38
+ line = line.replace(/\n/g, '-');
39
39
  toConsole && console.log(stime(`${from}:`), line);
40
40
  if (line === this.lastLine) {
41
41
  this.lines[this.lines.length - 1].text = `[${++this.nReps}] ${line}`;
@@ -1 +1 @@
1
- {"version":3,"file":"text-log.js","sourceRoot":"","sources":["../src/text-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAC;AAEzC,MAAM,OAAO,OAAQ,SAAQ,SAAS;IACjB;IAAkC;IAA0B;IAA/E,YAAmB,KAAa,EAAE,MAAM,GAAG,CAAC,EAAS,OAAe,EAAE,EAAS,OAAO,CAAC;QACrF,KAAK,EAAE,CAAC;QADS,UAAK,GAAL,KAAK,CAAQ;QAAqB,SAAI,GAAJ,IAAI,CAAa;QAAS,SAAI,GAAJ,IAAI,CAAI;QAErF,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAO,MAAM,CAAC,CAAC;QACrC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAS;IACd,QAAQ,GAAG,EAAE,CAAC;IACd,KAAK,GAAG,CAAC,CAAC;IAEV,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;QAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IAEO,OAAO,CAAC,IAAI,GAAG,EAAE;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI;QAC3C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAClC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;SACtE;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"text-log.js","sourceRoot":"","sources":["../src/text-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAC;AAEzC,MAAM,OAAO,OAAQ,SAAQ,SAAS;IACjB;IAAkC;IAA0B;IAA/E,YAAmB,KAAa,EAAE,MAAM,GAAG,CAAC,EAAS,OAAe,EAAE,EAAS,OAAO,CAAC;QACrF,KAAK,EAAE,CAAC;QADS,UAAK,GAAL,KAAK,CAAQ;QAAqB,SAAI,GAAJ,IAAI,CAAa;QAAS,SAAI,GAAJ,IAAI,CAAI;QAErF,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAO,MAAM,CAAC,CAAC;QACrC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAS;IACd,QAAQ,GAAG,EAAE,CAAC;IACd,KAAK,GAAG,CAAC,CAAC;IAEV,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;QAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IAEO,OAAO,CAAC,IAAI,GAAG,EAAE;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI;QAC3C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;SACtE;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
package/dist/tile.d.ts CHANGED
@@ -1,21 +1,26 @@
1
1
  /// <reference types="easeljs" />
2
2
  /// <reference types="@thegraid/easeljs-lib/dist/createjs-functions" />
3
3
  import { Constructor } from "@thegraid/common-lib";
4
- import { CenterText } from "@thegraid/easeljs-lib";
5
- import { Container, MouseEvent, Rectangle, Text } from "@thegraid/easeljs-module";
6
- import type { GamePlay } from "./game-play";
4
+ import { CenterText, NamedContainer } from "@thegraid/easeljs-lib";
5
+ import { DisplayObject, MouseEvent, Rectangle, Text } from "@thegraid/easeljs-module";
6
+ import { type GamePlay } from "./game-play";
7
7
  import { Hex1, IHex2 } from "./hex";
8
8
  import type { Player } from "./player";
9
- import { HexShape, PaintableShape } from "./shapes";
9
+ import { HexShape, Paintable, PaintableShape } from "./shapes";
10
10
  import type { DragContext, Dragable, Table } from "./table";
11
11
  import { TileSource } from "./tile-source";
12
+ export declare function rightClickable(dobj: DisplayObject, onRightClick: (evt: MouseEvent) => void): void;
12
13
  /** Someday refactor: all the cardboard bits (Tiles, Meeples & Coins) */
13
- declare class Tile0 extends Container {
14
+ declare class Tile0 extends NamedContainer {
15
+ /** Easy access to single/current GamePlay. */
14
16
  static gamePlay: GamePlay;
17
+ constructor(Aname: string);
15
18
  gamePlay: GamePlay;
16
19
  player?: Player;
17
20
  get pColor(): string | undefined;
18
21
  get recycleVerb(): string;
22
+ get radius(): number;
23
+ baseShape: Paintable;
19
24
  /**
20
25
  * this.addChildAt(new Bitmap(loader.getImage(name)), at);
21
26
  *
@@ -27,13 +32,11 @@ declare class Tile0 extends Container {
27
32
  * @return new Bitmap() containing the named image (no image if name was not loaded)
28
33
  */
29
34
  addImageBitmap(name: string, at?: number, size?: number): import("@thegraid/easeljs-module").Bitmap;
30
- get radius(): number;
31
- baseShape: PaintableShape;
32
35
  /** Default is TileShape; a HexShape with translucent disk.
33
36
  * add more graphics with paint(colorn)
34
37
  * also: addImageBitmap() to add child image from AliasLoader
35
38
  */
36
- makeShape(): PaintableShape;
39
+ makeShape(): Paintable;
37
40
  /** paint with PlayerColor; updateCache()
38
41
  * @param colorn [pColor ?? grey] color for this Tile
39
42
  */
@@ -51,8 +54,6 @@ declare class Tile0 extends Container {
51
54
  * Two subspecies: MapTile are 'stationary' on the HexMap, Meeple are 'mobile'.
52
55
  */
53
56
  export declare class Tile extends Tile0 implements Dragable {
54
- /** typically: className-serial; may be supplied as 'name' or undefined */
55
- readonly Aname?: string | undefined;
56
57
  static allTiles: Tile[];
57
58
  static textSize: number;
58
59
  static makeSource0<T extends Tile, TS extends TileSource<T>>(unitSource: new (type: Constructor<Tile>, p: Player, hex: IHex2) => TS, type: Constructor<T> & {
@@ -62,7 +63,7 @@ export declare class Tile extends Tile0 implements Dragable {
62
63
  source: TileSource<Tile>;
63
64
  constructor(
64
65
  /** typically: className-serial; may be supplied as 'name' or undefined */
65
- Aname?: string | undefined,
66
+ Aname: string,
66
67
  /** the owning Player. */
67
68
  player?: Player);
68
69
  nameText: Text;
@@ -86,18 +87,14 @@ export declare class Tile extends Tile0 implements Dragable {
86
87
  * @param at = 2; above HexShape
87
88
  */
88
89
  addImageBitmap(name: string, at?: number): import("@thegraid/easeljs-module").Bitmap;
89
- addTextChild(y0?: number, text?: string | undefined, size?: number, vis?: boolean): CenterText;
90
+ addTextChild(y0?: number, text?: string, size?: number, vis?: boolean): CenterText;
90
91
  textVis(vis?: boolean): void;
91
- /** Install onRightClick(evt) handler.
92
- * @example
93
- * when (button === 2) {
94
- * this.onRightClick(evt)
95
- * evt.nativeEvent.preventDefault()
96
- * evt.nativeEvent.stopImmediatePropagation()
97
- * }
92
+ /**
93
+ * Install onRightClick(evt) handler on this Tile.
94
+ * @param onRightClick [(evt)=this.onRightClick(evt)]
98
95
  */
99
96
  rightClickable(onRightClick?: (evt: MouseEvent) => void): void;
100
- /** rightClick handler for this Tile. */
97
+ /** default rightClick handler for this Tile. */
101
98
  onRightClick(evt: MouseEvent): void;
102
99
  overSet(tile: Tile): void;
103
100
  /** Post-condition: tile.hex == hex; low-level, physical move.
@@ -1 +1 @@
1
- {"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"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"}