oc2token 0.1.28 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -168,6 +168,8 @@ Settings persist under the cache directory (`~/Library/Caches/oc2token` on macOS
168
168
 
169
169
  **Top cards.** Four or six cards are shown; the Settings panel chooses how many (`Cards shown`) and which windows occupy the slots (`hour`, `day`, `week`, `month` by default, plus dashboard-only `15m`, `30m`, `2h`, `5h`). The same card may occupy two slots. Six-card mode is fixed duration-ascending (`30m`, `hour`, `2h`, `5h`, day, Month); switching back to four restores your remembered four. Hour trends use 30-second buckets, week trends 3-hour buckets, and month trends 3-hour buckets, so the 15-minute graph shows 30 bars, the week graph 56, and the month graph 240. The 2-hour card uses dedicated 75-second range buckets (96 bars) collected alongside the day window, falling back to sliced day buckets on old caches; the 5-hour card slices sixty 5-minute day buckets. The short ranges are derived from already-collected data and never change collection totals, JSON, table, or CLI output: a card with no evidence in range shows `n/a`. Short-range model/provider splits combine per-bucket stats evidence with record evidence; project splits combine per-project stats calls for that exact range with records.
170
170
 
171
+ **Live TPS.** A large aggregate TPS (tokens per second) readout sits directly under the top cards. One subscription to the local service's global event stream covers every active OpenCode2 session — all open OpenCode2 windows, not just this one. The number is an estimate from streamed text and reasoning deltas, recalibrated as each step ends, because exact provider token counts only arrive at step end. Toggle it from Settings → Display → Live TPS; no plugin or extra setup is needed.
172
+
171
173
  **Theme.** Purple carries structure, orange carries activity and focus, cyan carries inputs. Respects `NO_COLOR` and `--no-color`.
172
174
 
173
175
  **Help.** `?` opens a keymap panel above the footer (collapse, card slots, mouse actions, settings) instead of echoing the footer. `?` again or `Esc` closes it.
package/dist/src/cli.js CHANGED
@@ -7,7 +7,7 @@ import { ANSI, CARD_KIND_ORDER, createStableRedraw, footerClickAction, footerTok
7
7
  import { createApplicationSource, emptyCollectionResult, newCollectionRequest, readCachedSnapshot, } from "./application.js";
8
8
  import { RefreshCoordinator } from "./dashboard/state/index.js";
9
9
  import { createUsageWindows, isProviderKind, } from "./domain/index.js";
10
- import { runOpenCodeDoctor } from "./opencode/index.js";
10
+ import { createLiveTpsMeter, runOpenCodeDoctor } from "./opencode/index.js";
11
11
  import { runCodexDoctor } from "./codex/doctor.js";
12
12
  import { runAntigravityDoctor } from "./antigravity/doctor.js";
13
13
  import { runPiDoctor } from "./pi/doctor.js";
@@ -397,6 +397,7 @@ async function runDashboard(options, io) {
397
397
  monotonicNow: () => Number(process.hrtime.bigint()) / 1_000_000,
398
398
  };
399
399
  const fallback = emptyCollectionResult(clock.wallNow(), options.timezone);
400
+ const liveTps = createLiveTpsMeter();
400
401
  const coordinator = new RefreshCoordinator({
401
402
  source: adapterSource.source,
402
403
  clock,
@@ -425,6 +426,7 @@ async function runDashboard(options, io) {
425
426
  refreshIntervalSeconds: initialSettingsInterval,
426
427
  showProvidersTable: persisted?.showProvidersTable !== false,
427
428
  showProjectsTable: persisted?.showProjectsTable !== false,
429
+ showLiveTps: persisted?.showLiveTps !== false,
428
430
  visibleCards: normalizeVisibleCards(persisted?.visibleCards),
429
431
  inactiveCards: normalizeVisibleCards(persisted?.inactiveCards, normalizeVisibleCards(persisted?.visibleCards).length > 4 ? 4 : 6),
430
432
  focusedIndex: 0,
@@ -436,12 +438,15 @@ async function runDashboard(options, io) {
436
438
  : settingsState.visibleCards[0];
437
439
  let appliedEnabled = new Set(settingsState.enabledProviders);
438
440
  let appliedInterval = initialSchedulerInterval;
441
+ if (settingsState.showLiveTps)
442
+ liveTps.start();
439
443
  const persistCurrentSettings = () => {
440
444
  void saveDashboardSettings({
441
445
  enabledProviders: [...settingsState.enabledProviders],
442
446
  refreshIntervalSeconds: clampRefreshIntervalSeconds(settingsState.refreshIntervalSeconds),
443
447
  showProvidersTable: settingsState.showProvidersTable,
444
448
  showProjectsTable: settingsState.showProjectsTable,
449
+ showLiveTps: settingsState.showLiveTps,
445
450
  visibleCards: [...settingsState.visibleCards],
446
451
  inactiveCards: [...settingsState.inactiveCards],
447
452
  }, options.cacheDirectory);
@@ -487,6 +492,16 @@ async function runDashboard(options, io) {
487
492
  persistCurrentSettings();
488
493
  draw();
489
494
  };
495
+ /** Toggle the live TPS banner and its event subscription. */
496
+ const toggleLiveTps = () => {
497
+ settingsState.showLiveTps = !settingsState.showLiveTps;
498
+ if (settingsState.showLiveTps)
499
+ liveTps.start();
500
+ else
501
+ liveTps.stop();
502
+ persistCurrentSettings();
503
+ draw();
504
+ };
490
505
  const applySettings = () => {
491
506
  // Providers
492
507
  const enabledArray = [...settingsState.enabledProviders].sort();
@@ -544,6 +559,7 @@ async function runDashboard(options, io) {
544
559
  selectedWindow: selectedCard,
545
560
  help,
546
561
  appVersion: VERSION,
562
+ liveTps: liveTps.snapshot(),
547
563
  // Always pass table visibility so hidden tables stay hidden when the
548
564
  // panel is closed; the panel itself only renders when visible.
549
565
  settings: {
@@ -552,6 +568,7 @@ async function runDashboard(options, io) {
552
568
  refreshIntervalSeconds: settingsState.refreshIntervalSeconds,
553
569
  showProvidersTable: settingsState.showProvidersTable,
554
570
  showProjectsTable: settingsState.showProjectsTable,
571
+ showLiveTps: settingsState.showLiveTps,
555
572
  visibleCards: [...settingsState.visibleCards],
556
573
  inactiveCards: [...settingsState.inactiveCards],
557
574
  focusedIndex: settingsState.focusedIndex,
@@ -568,6 +585,7 @@ async function runDashboard(options, io) {
568
585
  if (!running)
569
586
  return;
570
587
  running = false;
588
+ liveTps.stop();
571
589
  await coordinator.quit();
572
590
  if (io.stdin.isTTY)
573
591
  io.stdin.setRawMode?.(false);
@@ -652,6 +670,11 @@ async function runDashboard(options, io) {
652
670
  draw();
653
671
  return;
654
672
  }
673
+ if (hasBox && line.includes("Live TPS")) {
674
+ settingsState.focusedIndex = SETTINGS_ROWS.tables + 2;
675
+ toggleLiveTps();
676
+ return;
677
+ }
655
678
  const cardSlot = line.match(/Card ([1-6]):/);
656
679
  if (cardSlot !== null) {
657
680
  const slot = Number(cardSlot[1]) - 1;
@@ -1072,6 +1095,9 @@ async function runDashboard(options, io) {
1072
1095
  persistCurrentSettings();
1073
1096
  draw();
1074
1097
  }
1098
+ else if (settingsState.focusedIndex === SETTINGS_ROWS.tables + 2) {
1099
+ toggleLiveTps();
1100
+ }
1075
1101
  else if (settingsState.focusedIndex >= SETTINGS_ROWS.cards &&
1076
1102
  settingsState.focusedIndex < SETTINGS_ROWS.cards + 6) {
1077
1103
  cycleCardSlot(settingsState.focusedIndex - SETTINGS_ROWS.cards);
@@ -1180,6 +1206,9 @@ async function runDashboard(options, io) {
1180
1206
  persistCurrentSettings();
1181
1207
  draw();
1182
1208
  }
1209
+ else if (settingsState.focusedIndex === SETTINGS_ROWS.tables + 2) {
1210
+ toggleLiveTps();
1211
+ }
1183
1212
  i += 1;
1184
1213
  continue;
1185
1214
  }
@@ -1251,21 +1280,26 @@ async function runDashboard(options, io) {
1251
1280
  }
1252
1281
  };
1253
1282
  io.stdin.on("data", onInput);
1254
- // Heartbeat is gated, not a blind 1s redraw: it fires only on clock
1255
- // rollover (countdown text changes each second) or while a refresh is in
1256
- // flight (spinner/progress). Idle dashboards skip redraw to save CPU.
1283
+ // Heartbeat is gated, not a blind redraw: it fires on clock rollover
1284
+ // (countdown text changes each second), while a refresh is in flight
1285
+ // (spinner/progress), or when the live TPS reading changes. Idle dashboards
1286
+ // skip redraw to save CPU.
1257
1287
  let lastHeartbeatSecond = Math.floor(Number(process.hrtime.bigint()) / 1_000_000_000);
1288
+ let lastTpsKey = "";
1258
1289
  const heartbeat = setInterval(() => {
1259
1290
  if (!running)
1260
1291
  return;
1261
1292
  const state = coordinator.getState();
1262
1293
  const second = Math.floor(clock.monotonicNow() / 1000);
1294
+ const live = liveTps.snapshot();
1295
+ const tpsKey = `${live.available}:${live.activeSessions}:${live.tps.toFixed(1)}`;
1263
1296
  const active = state.status === "refreshing";
1264
- if (active || second !== lastHeartbeatSecond) {
1297
+ if (active || second !== lastHeartbeatSecond || tpsKey !== lastTpsKey) {
1265
1298
  lastHeartbeatSecond = second;
1299
+ lastTpsKey = tpsKey;
1266
1300
  draw();
1267
1301
  }
1268
- }, 1_000);
1302
+ }, 250);
1269
1303
  if (typeof heartbeat === "object" && heartbeat !== null && "unref" in heartbeat) {
1270
1304
  heartbeat.unref();
1271
1305
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EACL,IAAI,EACJ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,UAAU,EACV,WAAW,EACX,SAAS,GAGV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,aAAa,EACb,6BAA6B,EAC7B,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,+BAA+B,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3G,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3F,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,GAAG,WAAW,CAAC;AAC5B;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,CAAU,CAAC;AACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC;AAwBnF,SAAS,KAAK;IACZ,OAAO,YAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuB3B,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,SAAS,CAAC,4DAA4D,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,IAAuB;IACxC,IAAI,MAAM,GAAoB,KAAK,CAAC;IACpC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,MAAM,GAAyB,MAAM,CAAC;IAC1C,IAAI,sBAAsB,GAAG,GAAG,CAAC;IACjC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,QAAQ,GAAG,gBAAgB,CAAC;IAChC,IAAI,OAA2B,CAAC;IAChC,IAAI,cAAkC,CAAC;IACvC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,OAA8B,CAAC;IACnC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgB,CAAC;IAEhD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QACpD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,WAAW;YAAE,OAAO,SAAS,CAAC;QAC1D,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC;YAAC,SAAS;QAAC,CAAC;QAChD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC;YAAC,MAAM,GAAG,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9E,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAAC,KAAK,GAAG,KAAK,CAAC;YAAC,SAAS;QAAC,CAAC;QACtD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,cAAc,GAAG,IAAI,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC;YAC1F,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,eAAe,CAAC,KAAK,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,mBAAmB,KAAK,gEAAgE,CAAC,CAAC;YACtG,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,KAAqB,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACtH,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;YACxF,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;gBAAC,sBAAsB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,eAAe,GAAG,IAAI,CAAC;YAAC,CAAC;iBAC7F,IAAI,GAAG,KAAK,YAAY;gBAAE,QAAQ,GAAG,KAAK,CAAC;iBAC3C,IAAI,GAAG,KAAK,WAAW;gBAAE,OAAO,GAAG,KAAK,CAAC;iBACzC,IAAI,GAAG,KAAK,aAAa;gBAAE,cAAc,GAAG,KAAK,CAAC;iBAClD,CAAC;gBACJ,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBACvF,SAAS,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS,CAAC,kCAAkC,CAAC,CAAC;YACzE,OAAO,GAAG,QAAQ,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACzE,IAAI,UAAU;gBAAE,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,CAAC;YACb,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,UAAU,IAAI,MAAM,KAAK,WAAW;YAAE,SAAS,CAAC,6DAA6D,CAAC,CAAC;QACnH,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,KAAK,MAAM;QAAE,IAAI,GAAG,IAAI,CAAC;IACnC,IAAI,eAAe,IAAI,sBAAsB,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,4BAA4B,IAAI,sBAAsB,GAAG,4BAA4B,CAAC,EAAE,CAAC;QACxK,SAAS,CAAC,2CAA2C,4BAA4B,QAAQ,4BAA4B,kCAAkC,CAAC,CAAC;IAC3J,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACrK,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED,SAAS,cAAc,CACrB,KAAiD,EACjD,QAAkD,EAClD,OAAa,EACb,YAAoB;IAEpB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,gBAAgB,IAAI,QAAQ,CAAC;IACpE,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9D,cAAc,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAC7F,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,KAAK,SAAS;QACrD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;IACrE,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU;QACnD,aAAa;QACb,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAS,EAAE,KAAc,EAAE,IAAa;IAC1D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,IAAI,IAAI,EAAE,CAAC;QACT,uEAAuE;QACvE,wEAAwE;QACxE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7H,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,OAAO,IAAI,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,SAAS,CAAC,EAAS,EAAE,OAAe,EAAE,KAAc;IAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI;QAAE,OAAO;IACzG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAmB,EAAE,EAAS;IACrD,MAAM,WAAW,GAAG,CAAC,QAAsB,EAAW,EAAE,CACtD,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE9E,MAAM,MAAM,GAA2F,EAAE,CAAC;IAC1G,IAAI,QAA4B,CAAC;IACjC,IAAI,OAA2B,CAAC;IAChC,IAAI,WAA+B,CAAC;IAEpC,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,CAAC,KAK1B,EAAQ,EAAE;QACT,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,eAAe;YAC/B,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;SACzE,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;gBACrC,MAAM,EAAE,KAAK;gBACb,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;aACvE,CAAC,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC;YAC5I,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/C,IAAI,MAAM,CAAC,QAAQ;gBAAE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChD,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7C,IAAI,MAAM,CAAC,WAAW;gBAAE,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YACzD,kEAAkE;QACpE,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,CAAC;IAED,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,KAAK,GAAG,MAAM,oBAAoB,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YACrB,iBAAiB,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,CAAC;IAED,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YACrB,iBAAiB,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEzB,kEAAkE;IAClE,MAAM,KAAK,GAAiC;QAC1C,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,CAAC;QACd,EAAE,EAAE,CAAC;QACL,QAAQ,EAAE,CAAC;KACZ,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAErD,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzE,MAAM,MAAM,GAAG;QACb,EAAE;QACF,MAAM;QACN,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9C,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAChH,IAAI,MAAM,CAAC,QAAQ;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,OAAO;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAmB,EAAE,EAAS;IACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,kBAAkB,GAAuB;QAC7C,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3F,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;KAC5F,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC1D,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACvE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5F,IAAI,MAAM,KAAK,MAAM;QAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SACpE,IAAI,MAAM,KAAK,OAAO;QAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;QACpE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,8BAA8B,CACrC,eAAmC,EACnC,SAAwC,EACxC,eAAuB;IAEvB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,iBAAiB,EAAE,CAAC;gBACpB,gBAAgB,EAAE,SAAS,KAAK,SAAS;oBACvC,CAAC,CAAC,2BAA2B,CAAC,SAAS,CAAC,sBAAsB,CAAC;oBAC/D,CAAC,CAAC,gCAAgC;aACrC,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,2BAA2B,CAAC,eAAe,CAAC,CAAC;QAC7D,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC9E,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,CAAC;IACtF,CAAC;IACD,MAAM,OAAO,GAAG,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAC7D,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAmB,EAAE,EAAS;IACxD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAEhE,8EAA8E;IAC9E,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtE,MAAM,SAAS,GAA4B,kBAAkB,CAAC;IAE9D,IAAI,sBAAsC,CAAC;IAC3C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9G,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,sBAAsB,GAAG,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAmB,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9G,CAAC;IAED,+DAA+D;IAC/D,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAiB,CAAC,CAAC,CAAC;IACxH,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC;QAAE,sBAAsB,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAEjF,MAAM,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,GAC9F,8BAA8B,CAC5B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,EACpE,SAAS,EACT,OAAO,CAAC,sBAAsB,CAC/B,CAAC;IAEJ,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QAC/E,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEpC,MAAM,aAAa,GAAG,uBAAuB,CAAC;QAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC;KAC7F,CAAC,CAAC;IACH,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QACzB,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS;KAChE,CAAC;IACF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC;QACzC,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtE,sBAAsB,EAAE,wBAAwB;QAChD,aAAa,EAAE,OAAO,CAAC,MAAM;QAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;KAC/E,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,6EAA6E;IAC7E,yCAAyC;IACzC,MAAM,eAAe,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1E,4EAA4E;IAC5E,IAAI,YAAY,GAAwC,QAAQ,CAAC;IAEjE,qEAAqE;IACrE,0EAA0E;IAC1E,IAAI,UAAU,GAAa,EAAE,CAAC;IAE9B,oBAAoB;IACpB,MAAM,aAAa,GAUf;QACF,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,IAAI,GAAG,CAAC,sBAAsB,CAAC;QACjD,sBAAsB,EAAE,uBAAuB;QAC/C,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,KAAK,KAAK;QAC3D,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,KAAK,KAAK;QACzD,YAAY,EAAE,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC;QAC5D,aAAa,EAAE,qBAAqB,CAClC,SAAS,EAAE,aAAa,EACxB,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClE;QACD,YAAY,EAAE,CAAC;KAChB,CAAC;IACF,0EAA0E;IAC1E,8DAA8D;IAC9D,IAAI,YAAY,GAAsB,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9E,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC;IACnC,IAAI,cAAc,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC7D,IAAI,eAAe,GAAG,wBAAwB,CAAC;IAE/C,MAAM,sBAAsB,GAAG,GAAS,EAAE;QACxC,KAAK,qBAAqB,CAAC;YACzB,gBAAgB,EAAE,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAmB;YACvE,sBAAsB,EAAE,2BAA2B,CAAC,aAAa,CAAC,sBAAsB,CAAC;YACzF,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;YACpD,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;YAClD,YAAY,EAAE,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC;YAC7C,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;SAChD,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,uEAAuE;IACvE,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAQ,EAAE;QACnD,YAAY,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7E,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,6EAA6E;IAC7E,MAAM,aAAa,GAAG,CAAC,IAAY,EAAQ,EAAE;QAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC;QAC3C,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QACrE,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAE,CAAC;QACpE,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACrB,aAAa,CAAC,YAAY,GAAG,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,YAAY,GAAG,IAAI,CAAC;QACzD,sBAAsB,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,+EAA+E;IAC/E,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC;QAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,aAAa,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7D,aAAa,CAAC,aAAa,GAAG,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7D,aAAa,CAAC,aAAa,GAAG,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAChE,sBAAsB,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,YAAY;QACZ,MAAM,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3H,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;gBACxE,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAC5C,6DAA6D;YAC7D,IAAI,CAAC;gBACH,aAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,EAAE,EAAE,2CAA2C,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC;gBACH,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,EAAE,EAAE,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;YACD,cAAc,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACzD,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;YACjC,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QAED,WAAW;QACX,MAAM,OAAO,GAAG,2BAA2B,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAClF,IAAI,OAAO,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;YACrD,aAAa,CAAC,sBAAsB,GAAG,OAAO,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,EAAE,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;YACD,eAAe,GAAG,OAAO,CAAC;YAC1B,sBAAsB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE;YACnC,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;YAC7C,yEAAyE;YACzE,2DAA2D;YAC3D,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI;YACtB,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE;YACpB,cAAc,EAAE,YAAY;YAC5B,IAAI;YACJ,UAAU,EAAE,OAAO;YACnB,qEAAqE;YACrE,+DAA+D;YAC/D,QAAQ,EAAE;gBACR,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,gBAAgB,EAAE,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE;gBAC5D,sBAAsB,EAAE,aAAa,CAAC,sBAAsB;gBAC5D,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;gBACpD,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;gBAClD,YAAY,EAAE,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC;gBAC7C,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;gBAC/C,YAAY,EAAE,aAAa,CAAC,YAAY;aACzC;YACD,YAAY,EAAE,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC;YAC7C,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE;YACvC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YAClD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;QACH,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK;YAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACjD,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,iDAAiD;QACjD,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE;QACzB,qDAAqD;QACrD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7B,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAClB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK;QAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,EAAE,CAAC;IACP,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEhD,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,gBAA2D,CAAC;IAChE,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC/B,gBAAgB,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IACF,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC1C,wEAAwE;QACxE,iEAAiE;QACjE,gBAAgB,GAAG,SAAS,CAAC;QAC7B,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO;QAClE,WAAW,GAAG,EAAE,CAAC;QACjB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;YAC9B,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,eAAe,GAAG,KAAK,CAAC;YACxB,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,IAAI,IAAI,EAAE,CAAC;YAChB,IAAI,GAAG,KAAK,CAAC;YACb,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,GAAS,EAAE;QACrC,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,GAAG,UAAU,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACpG,gBAAiD,CAAC,KAAK,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC;IACF;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,MAAM,GAAG,CAAC,EAAQ,EAAE;QAC/D,2DAA2D;QAC3D,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACxD,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC/C,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC;oBAClD,aAAa,CAAC,kBAAkB,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC;oBACrE,sBAAsB,EAAE,CAAC;oBACzB,IAAI,EAAE,CAAC;oBACP,OAAO;gBACT,CAAC;gBACD,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC9C,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;oBACtD,aAAa,CAAC,iBAAiB,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC;oBACnE,sBAAsB,EAAE,CAAC;oBACzB,IAAI,EAAE,CAAC;oBACP,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC7C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;wBAC7C,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC;wBACxD,aAAa,CAAC,IAAI,CAAC,CAAC;oBACtB,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC;oBACrD,eAAe,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBACD,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;gBACjC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5E,CAAC;gBACF,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBACf,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,SAAS,GAAG,GAAG,CAAC;oBAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAE,CAAC;oBAC7B,IAAI,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7C,IAAI,aAAa,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;4BAC5C,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACzC,aAAa,EAAE,CAAC;wBAChB,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBACrE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;oBACjF,IAAI,MAAM,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;wBACpD,aAAa,CAAC,sBAAsB,GAAG,MAAM,CAAC;wBAC9C,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC;wBACnD,aAAa,EAAE,CAAC;wBAChB,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,uCAAuC;QACvC,MAAM,WAAW,GAAG,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC1G,cAAc,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,6EAA6E;QAC7E,8EAA8E;QAC9E,uCAAuC;QACvC,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9G,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACxE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAyC,CAAC;gBAC9F,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC7C,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,0EAA0E;YAC1E,iEAAiE;YACjE,IAAI,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACzF,KAAK,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBACnC,IAAI,UAAU,KAAK,SAAS;wBAAE,MAAM;oBACpC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACxE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;wBACzB,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAyC,CAAC;wBAC/F,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC7C,IAAI,EAAE,CAAC;wBACP,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,IACE,UAAU,KAAK,SAAS;YACxB,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC5B,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtD,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtD,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAClC,CAAC;YACD,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;oBACrB,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACrD,IAAI,IAAI,KAAK,SAAS;wBAAE,UAAU,CAAC,IAAI,CAAC,CAAC;oBACzC,OAAO;gBACT,CAAC;gBACD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,IAAI,eAAe;oBAAE,eAAe,GAAG,KAAK,CAAC;qBACxC,CAAC;oBACJ,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,GAAG,KAAK,CAAC;oBACb,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;gBAChC,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,IAAI,aAAa,CAAC,OAAO;oBAAE,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;qBACpD,CAAC;oBACJ,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC7B,IAAI,GAAG,KAAK,CAAC;oBACb,eAAe,GAAG,KAAK,CAAC;gBAC1B,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC1B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;gBACT,CAAC;qBAAM,IAAI,eAAe,EAAE,CAAC;oBAC3B,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,EAAE,CAAC;gBACT,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,EAAE,CAAC;gBACd,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC3B,IAAI,eAAe;wBAAE,eAAe,GAAG,KAAK,CAAC;oBAC7C,IAAI,GAAG,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,iDAAiD;QACpF,CAAC;QACD,qEAAqE;QACrE,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;YACjE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;oBACzD,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAE,EAAE;QACzC,gBAAgB,EAAE,CAAC;QACnB,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,WAAW,CAAC;QAC1B,WAAW,GAAG,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,GAAsB,EAAE;YACvC,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC;YACzC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAE,CAAC;QAC1C,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,GAAsB,EAAE;YACvC,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC;YACzC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAE,CAAC;QACzD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,8DAA8D;YAC9D,oEAAoE;YACpE,2DAA2D;YAC3D,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,mBAAmB,EAAE,CAAC;gBACtB,MAAM;YACR,CAAC;YACD,yDAAyD;YACzD,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5C,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;gBACb,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;oBAC5D,GAAG,GAAG,KAAK,CAAC;oBACZ,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;qBAAM,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC5B,GAAG,GAAG,SAAS,CAAC;oBAChB,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,gDAAgD;oBAChD,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;oBAClC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;wBAChG,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBACD,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;oBACpC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,aAAa,CAAC,YAAY;4BACxB,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;wBAC/E,IAAI,EAAE,CAAC;oBACT,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACzB,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,qEAAqE;gBACrE,wEAAwE;gBACxE,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC1B,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7B,mBAAmB,EAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;gBACD,CAAC;oBACC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1B,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjB,aAAa,CAAC,YAAY;gCACxB,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;4BAC/E,IAAI,EAAE,CAAC;4BACP,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjB,aAAa,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;4BACpF,IAAI,EAAE,CAAC;4BACP,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjB,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gCACzD,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;gCACpF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;oCAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;oCAC5C,aAAa,EAAE,CAAC;oCAChB,IAAI,EAAE,CAAC;gCACT,CAAC;4BACH,CAAC;4BACD,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjB,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gCACzD,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;gCACrF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;oCAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;oCAC5C,aAAa,EAAE,CAAC;oCAChB,IAAI,EAAE,CAAC;gCACT,CAAC;4BACH,CAAC;4BACD,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;4BACvB,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;4BACvB,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACtB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACnD,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,eAAe,GAAG,KAAK,CAAC;oBACxB,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC7B,IAAI,GAAG,KAAK,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;oBACjC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,GAAG,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC3F,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzD,IAAI,IAAI,KAAK,SAAS;wBAAE,UAAU,CAAC,IAAI,CAAC,CAAC;oBACzC,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvB,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACpC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,GAAG,KAAK,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;oBACjC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,iEAAiE;oBACjE,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,IACE,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,SAAS;4BACrD,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,EACjD,CAAC;4BACD,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,SAAS,CAAE,CAAC;4BAC9E,IAAI,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC7C,IAAI,aAAa,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oCAC5C,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oCAC5C,aAAa,EAAE,CAAC;oCAChB,IAAI,EAAE,CAAC;gCACT,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gCACzC,aAAa,EAAE,CAAC;gCAChB,IAAI,EAAE,CAAC;4BACT,CAAC;wBACH,CAAC;6BAAM,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;4BAC/D,aAAa,CAAC,kBAAkB,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC;4BACrE,sBAAsB,EAAE,CAAC;4BACzB,IAAI,EAAE,CAAC;wBACT,CAAC;6BAAM,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACnE,aAAa,CAAC,iBAAiB,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC;4BACnE,sBAAsB,EAAE,CAAC;4BACzB,IAAI,EAAE,CAAC;wBACT,CAAC;6BAAM,IACL,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,KAAK;4BACjD,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,EACpD,CAAC;4BACD,aAAa,CAAC,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;wBAClE,CAAC;6BAAM,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,EAAE,CAAC;4BAClE,eAAe,EAAE,CAAC;wBACpB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,qEAAqE;wBACrE,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;wBAC/D,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,aAAa,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;oBACtF,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,GAA+C,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;wBAC9F,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBACxC,YAAY,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAE,CAAC;oBAClD,CAAC;oBACD,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC9C,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;wBACzD,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;wBACrF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;4BAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;wBACzD,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;wBACpF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;4BAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;wBACzD,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;wBACpF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;4BAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;wBACzD,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;wBACrF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;4BAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjC,IACE,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,SAAS;wBACrD,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,EACjD,CAAC;wBACD,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,SAAS,CAAE,CAAC;wBAC9E,IAAI,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC7C,IAAI,aAAa,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gCAC5C,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAC5C,aAAa,EAAE,CAAC;gCAChB,IAAI,EAAE,CAAC;4BACT,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACzC,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;yBAAM,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;wBAC/D,aAAa,CAAC,kBAAkB,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC;wBACrE,sBAAsB,EAAE,CAAC;wBACzB,IAAI,EAAE,CAAC;oBACT,CAAC;yBAAM,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnE,aAAa,CAAC,iBAAiB,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC;wBACnE,sBAAsB,EAAE,CAAC;wBACzB,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrB,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,KAAK,IAAI,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;oBACjC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,IAAI,GAAG,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvB,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC3F,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzD,IAAI,IAAI,KAAK,SAAS;wBAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,GAAG,KAAK,CAAC;oBACb,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC7B,IAAI,GAAG,KAAK,CAAC;oBACb,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrB,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,GAAG,KAAK,CAAC;wBACb,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,IAAI,eAAe,EAAE,CAAC;wBACpB,eAAe,GAAG,KAAK,CAAC;wBACxB,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,oEAAoE;IACpE,yEAAyE;IACzE,sEAAsE;IACtE,IAAI,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC;QAC7C,IAAI,MAAM,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAC7C,mBAAmB,GAAG,MAAM,CAAC;YAC7B,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;IACV,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QAC/E,SAA0C,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IACD,qEAAqE;IACrE,IAAI,WAAsD,CAAC;IAC3D,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,WAAW,KAAK,SAAS;YAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QACzD,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,WAAW,GAAG,SAAS,CAAC;YACxB,IAAI,OAAO;gBAAE,IAAI,EAAE,CAAC;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC;IACF,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAChE,KAAK,EAAE,CAAC;IACV,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,IAAI,WAAW,KAAK,SAAS;QAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACzD,gBAAgB,EAAE,CAAC;IACnB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAY;IACnE,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM;CACvB;IACC,IAAI,OAAoD,CAAC;IACzD,IAAI,CAAC;QACH,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAC/D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QACzE,4DAA4D;QAC5D,kBAAkB,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,WAAW,KAAK,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAClG,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { normalizeDashboardSnapshot, type DashboardCardKind, type DashboardRenderOptions, type DashboardSnapshotInput, type DashboardWindow } from "./types.js";
1
+ import { normalizeDashboardSnapshot, type DashboardCardKind, type DashboardRenderOptions, type DashboardSnapshotInput, type DashboardWindow, type LiveTpsView } from "./types.js";
2
2
  export declare const APP_PADDING = 2;
3
3
  export declare const GITHUB_URL = "https://github.com/kaanyaren/OC2Token";
4
4
  /** Short footer/CLI label for a card kind. */
@@ -16,6 +16,12 @@ export declare function getCardHitRegions(width: number, kinds?: ReadonlyArray<D
16
16
  * the snapshot, derived sub-windows from the normalized derivation.
17
17
  */
18
18
  export declare function cardWindow(snapshot: ReturnType<typeof normalizeDashboardSnapshot>, kind: DashboardCardKind): DashboardWindow;
19
+ /**
20
+ * Aggregate live TPS banner shown between the cards and the trend panel.
21
+ * Falls back to one line when the block digits do not comfortably fit or the
22
+ * terminal is too short for a five-row banner.
23
+ */
24
+ export declare function renderLiveTps(live: LiveTpsView, color: boolean, width: number, height?: number): string[];
19
25
  /** Rows shown before a breakdown table collapses. Fixed by design. */
20
26
  export declare const COLLAPSE_THRESHOLD = 3;
21
27
  /** Refresh interval presets (seconds). Shared by the settings panel and mouse clicks. */
@@ -303,6 +303,55 @@ function renderStatusBox(snapshot, color, width) {
303
303
  export function cardWindow(snapshot, kind) {
304
304
  return isDerivedCardKind(kind) ? snapshot.derived[kind] : snapshot.windows[kind];
305
305
  }
306
+ // 3-wide, 5-row block glyphs for the live TPS banner.
307
+ const LIVE_TPS_GLYPHS = {
308
+ "0": ["███", "█ █", "█ █", "█ █", "███"],
309
+ "1": [" █ ", "██ ", " █ ", " █ ", "███"],
310
+ "2": ["███", " █", "███", "█ ", "███"],
311
+ "3": ["███", " █", "███", " █", "███"],
312
+ "4": ["█ █", "█ █", "███", " █", " █"],
313
+ "5": ["███", "█ ", "███", " █", "███"],
314
+ "6": ["███", "█ ", "███", "█ █", "███"],
315
+ "7": ["███", " █", " █", " █", " █"],
316
+ "8": ["███", "█ █", "███", "█ █", "███"],
317
+ "9": ["███", "█ █", "███", " █", "███"],
318
+ ".": [" ", " ", " ", " ", " █ "],
319
+ "+": [" ", " █ ", "███", " █ ", " "],
320
+ };
321
+ function centerText(value, width) {
322
+ const visible = lineWidth(value);
323
+ if (visible >= width)
324
+ return truncateVisible(value, width);
325
+ return " ".repeat(Math.floor((width - visible) / 2)) + value;
326
+ }
327
+ /**
328
+ * Aggregate live TPS banner shown between the cards and the trend panel.
329
+ * Falls back to one line when the block digits do not comfortably fit or the
330
+ * terminal is too short for a five-row banner.
331
+ */
332
+ export function renderLiveTps(live, color, width, height) {
333
+ const safeWidth = Math.max(1, width);
334
+ if (live.available === false) {
335
+ return [centerText(paint("EST. LIVE TPS · n/a", ANSI.dim, color), safeWidth)];
336
+ }
337
+ const tps = Number.isFinite(live.tps) ? Math.max(0, live.tps) : 0;
338
+ if (tps <= 0) {
339
+ return [centerText(paint("EST. LIVE TPS · idle", ANSI.dim, color), safeWidth)];
340
+ }
341
+ const value = tps >= 1000 ? "999+" : tps.toFixed(1);
342
+ const rateColor = tps > 50 ? ANSI.green : tps >= 10 ? ANSI.orange : ANSI.red;
343
+ const rate = (text) => paint(text, rateColor, color);
344
+ const caption = `EST. LIVE TPS · ${live.activeSessions} ACTIVE`;
345
+ const blockWidth = value.length * 4 - 1;
346
+ // 40 columns is the minimum that reads well; narrower terminals get the
347
+ // compact line so the banner never crowds the dashboard.
348
+ if (blockWidth > safeWidth || safeWidth < 40 || (height !== undefined && height < 30)) {
349
+ return [centerText(rate(`EST. LIVE TPS ${value} · ${live.activeSessions} ACTIVE`), safeWidth)];
350
+ }
351
+ const rows = Array.from({ length: 5 }, (_, row) => centerText(rate([...value].map((character) => LIVE_TPS_GLYPHS[character]?.[row] ?? " ").join(" ")), safeWidth));
352
+ rows.push(centerText(themePurple(caption, color), safeWidth));
353
+ return rows;
354
+ }
306
355
  function renderTrend(snapshot, selected, color, width) {
307
356
  const trend = cardWindow(snapshot, selected).trends;
308
357
  const title = `Trend · ${cardTitle(selected).toLowerCase()}`;
@@ -578,12 +627,13 @@ function renderSettingsPanel(settings, width, color) {
578
627
  lines.push(padPrefix + `│${pad(full, inner)}│`);
579
628
  }
580
629
  lines.push(padPrefix + `│${" ".repeat(inner)}│`);
581
- // Breakdown tables heading
582
- const tablesHeading = truncate("Tables — space to toggle", inner);
630
+ // Display toggles: breakdown tables plus the live TPS banner.
631
+ const tablesHeading = truncate("Display — space to toggle", inner);
583
632
  lines.push(padPrefix + `│${pad(themePurple(tablesHeading, color, true), inner)}│`);
584
633
  const tableRows = [
585
634
  { label: "Providers table", shown: settings.showProvidersTable !== false, index: SETTINGS_ROWS.tables },
586
635
  { label: "Projects table", shown: settings.showProjectsTable !== false, index: SETTINGS_ROWS.tables + 1 },
636
+ { label: "Live TPS", shown: settings.showLiveTps !== false, index: SETTINGS_ROWS.tables + 2 },
587
637
  ];
588
638
  for (const row of tableRows) {
589
639
  const focused = settings.focusedIndex === row.index;
@@ -892,7 +942,7 @@ function renderFooter(help, color, width, visible = [...DEFAULT_VISIBLE_CARDS])
892
942
  ` ${key("r/R")} Refresh now ${key(slotRange)} Select visible card ${key("Tab/Arrows")} Navigate cards`,
893
943
  ` ${key("Space")} Expand/collapse breakdown table ${key("p")} Projects panel ${key("s")} Settings`,
894
944
  ` Click: cards select · table headers/hints collapse · footer acts · ${key("q")} Quit ${key("?")} Close help`,
895
- ` Settings: providers · tables · card slots (${periodWide}) · refresh slider`,
945
+ ` Settings: providers · display · card slots (${periodWide}) · refresh slider`,
896
946
  ];
897
947
  }
898
948
  if (width < 50) {
@@ -1008,6 +1058,9 @@ export function renderDashboard(input, options = {}) {
1008
1058
  for (const card of cards)
1009
1059
  lines.push(...card);
1010
1060
  }
1061
+ if (options.liveTps !== undefined && options.settings?.showLiveTps !== false) {
1062
+ lines.push(...renderLiveTps(options.liveTps, color, width, options.height));
1063
+ }
1011
1064
  lines.push("");
1012
1065
  lines.push(...renderTrend(snapshot, selected, color, width));
1013
1066
  lines.push("");