signalk-container 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -7,10 +7,17 @@ const path_1 = __importDefault(require("path"));
7
7
  const resources_1 = require("./resources");
8
8
  const runtime_1 = require("./runtime");
9
9
  const containers_1 = require("./containers");
10
+ const log_stream_broker_1 = require("./log-stream-broker");
10
11
  const jobs_1 = require("./jobs");
11
12
  const service_1 = require("./updates/service");
12
13
  const cache_1 = require("./updates/cache");
13
14
  const routes_1 = require("./updates/routes");
15
+ /**
16
+ * SSE comment-frame heartbeat interval. 30s is comfortably below
17
+ * common reverse-proxy idle-read timeouts (nginx default 60s) but
18
+ * not so frequent that quiet streams pay a noticeable cost.
19
+ */
20
+ const SSE_HEARTBEAT_MS = 30_000;
14
21
  module.exports = (app) => {
15
22
  let runtimeInfo = null;
16
23
  let pruneTimer = null;
@@ -48,6 +55,16 @@ module.exports = (app) => {
48
55
  */
49
56
  const lastConfigs = new Map();
50
57
  const lastVolumeIssues = new Map();
58
+ // Per-container log-stream broker. Lazily created on first subscribe
59
+ // (either from `onContainerLog` or the SSE route), torn down when
60
+ // the last subscriber unsubscribes OR when the container is
61
+ // removed. See src/log-stream-broker.ts for the fan-out model.
62
+ const logStreamBrokers = new Map();
63
+ // Tracks the latest `onContainerLog` unsubscribe fn per container
64
+ // so auto-recreate (and re-calls of ensureRunning with a different
65
+ // callback) can cancel the prior subscription before installing
66
+ // the new one.
67
+ const perCallOnContainerLogUnsub = new Map();
51
68
  let currentOverrides = {};
52
69
  // Cached result of resolveSignalkDataSource() — resolved once on first
53
70
  // ensureRunning() call that uses signalkDataMount, then reused.
@@ -281,6 +298,33 @@ module.exports = (app) => {
281
298
  delete currentOverrides[name];
282
299
  persistOverridesToDisk(`clearOverride(${name})`);
283
300
  }
301
+ /**
302
+ * Return the log-stream broker for `name`, lazily creating it on
303
+ * the first subscribe. Subscribers (an `onContainerLog` callback
304
+ * or an SSE handler) share a single underlying `podman logs -f`
305
+ * child. Throws if the runtime isn't initialised yet.
306
+ *
307
+ * Also accepts an optional `startTail` to seed the broker on
308
+ * first creation only — once a broker is alive, subsequent
309
+ * `getOrCreateBroker` calls return the existing instance and
310
+ * `startTail` is ignored. This matches the documented limit
311
+ * on `EnsureRunningOptions.onContainerLogStartTail`.
312
+ */
313
+ function getOrCreateBroker(name, startTail) {
314
+ let broker = logStreamBrokers.get(name);
315
+ if (broker && !broker.isClosed())
316
+ return broker;
317
+ if (!runtimeInfo)
318
+ throw new Error("No container runtime available");
319
+ broker = (0, log_stream_broker_1.createLogStreamBroker)(runtimeInfo, name, {
320
+ startTail,
321
+ spawnTail: containers_1.tailContainerLogs,
322
+ onTailError: (msg) => app.error(`logs(${name}): tail error: ${msg}`),
323
+ onSubscriberError: (err) => app.error(`logs(${name}): subscriber threw: ${err instanceof Error ? err.message : String(err)}`),
324
+ });
325
+ logStreamBrokers.set(name, broker);
326
+ return broker;
327
+ }
284
328
  const api = {
285
329
  getRuntime() {
286
330
  return runtimeInfo;
@@ -688,6 +732,34 @@ module.exports = (app) => {
688
732
  reason: `Host path ${r.source} is now present; volume applied`,
689
733
  });
690
734
  }
735
+ // onContainerLog: subscribe the plugin callback (if any) to the
736
+ // per-container broker. Re-entry from auto-recreate (or a
737
+ // fresh consumer-plugin call) cancels the prior subscription
738
+ // before re-subscribing — without this, two callbacks would
739
+ // accumulate per recreate and the old one would be unreachable
740
+ // (still inside the broker's subscriber set).
741
+ if (options?.onContainerLog) {
742
+ perCallOnContainerLogUnsub.get(name)?.();
743
+ const userOnContainerLog = options.onContainerLog;
744
+ const broker = getOrCreateBroker(name, options.onContainerLogStartTail);
745
+ const unsub = broker.subscribe({
746
+ onLine: (line) => (0, containers_1.safeInvokeContainerLog)(userOnContainerLog, line, (err) => app.error(`ensureRunning(${name}): onContainerLog handler threw: ${err instanceof Error ? err.message : String(err)}`)),
747
+ });
748
+ perCallOnContainerLogUnsub.set(name, unsub);
749
+ }
750
+ else {
751
+ // Caller explicitly removed onContainerLog this call —
752
+ // drop any prior subscription so we don't keep feeding a
753
+ // detached callback. If that drains the broker, evict it
754
+ // from the Map so a fresh subscriber later spawns a clean
755
+ // tail (mirrors the SSE-disconnect cleanup below).
756
+ perCallOnContainerLogUnsub.get(name)?.();
757
+ perCallOnContainerLogUnsub.delete(name);
758
+ const broker = logStreamBrokers.get(name);
759
+ if (broker && !broker.isClosed() && broker.subscriberCount() === 0) {
760
+ logStreamBrokers.delete(name);
761
+ }
762
+ }
691
763
  if (options?.healthCheck) {
692
764
  const existing = healthTimers.get(name);
693
765
  if (existing)
@@ -751,6 +823,15 @@ module.exports = (app) => {
751
823
  throw new Error("No container runtime available");
752
824
  await (0, containers_1.removeContainer)(runtimeInfo, name);
753
825
  evictContainerAddresses(name);
826
+ // Tear down the log-stream broker — notifies any SSE clients
827
+ // with `event: end` and stops the underlying `podman logs -f`.
828
+ // Plugin `onContainerLog` callbacks just stop receiving lines.
829
+ const broker = logStreamBrokers.get(name);
830
+ if (broker) {
831
+ broker.close("container-removed");
832
+ logStreamBrokers.delete(name);
833
+ }
834
+ perCallOnContainerLogUnsub.delete(name);
754
835
  },
755
836
  async getState(name) {
756
837
  if (!runtimeInfo)
@@ -762,6 +843,11 @@ module.exports = (app) => {
762
843
  throw new Error("No container runtime available");
763
844
  return (0, jobs_1.runJob)(runtimeInfo, config);
764
845
  },
846
+ async getLogs(name, options) {
847
+ if (!runtimeInfo)
848
+ throw new Error("No container runtime available");
849
+ return (0, containers_1.getContainerLogs)(runtimeInfo, name, options);
850
+ },
765
851
  async cleanupOrphanedJobs(filter) {
766
852
  if (!runtimeInfo) {
767
853
  return { reaped: [] };
@@ -1240,6 +1326,14 @@ module.exports = (app) => {
1240
1326
  }
1241
1327
  lastConfigs.clear();
1242
1328
  lastVolumeIssues.clear();
1329
+ // Force-close every broker; SSE clients still attached receive
1330
+ // `event: end` and disconnect. `podman logs -f` children get
1331
+ // SIGTERM via the broker's stop-tail path.
1332
+ for (const broker of logStreamBrokers.values()) {
1333
+ broker.close("plugin-stopped");
1334
+ }
1335
+ logStreamBrokers.clear();
1336
+ perCallOnContainerLogUnsub.clear();
1243
1337
  effectiveResources.clear();
1244
1338
  pluginDefaults.clear();
1245
1339
  currentOverrides = {};
@@ -1429,6 +1523,189 @@ module.exports = (app) => {
1429
1523
  });
1430
1524
  }
1431
1525
  });
1526
+ // One-shot log fetch (no streaming). Defaults `tail=200`,
1527
+ // max 10000 (enforced inside getContainerLogs). `since` is
1528
+ // unix-epoch seconds. Used by the UI Logs modal to paint
1529
+ // initial history before opening the SSE stream.
1530
+ router.get("/api/containers/:name/logs", async (req, res) => {
1531
+ if (!runtimeInfo) {
1532
+ res.status(503).json({ error: "No container runtime available" });
1533
+ return;
1534
+ }
1535
+ // Validate query params at the boundary. Reject non-integer
1536
+ // and negative values with 400 — `getContainerLogs` clamps
1537
+ // server-side but that's a fallback, not a substitute for
1538
+ // input validation at the public surface. See
1539
+ // `parsePositiveIntQuery` in containers.ts (exported so it
1540
+ // can be tested in isolation).
1541
+ const tailParse = (0, containers_1.parsePositiveIntQuery)(req.query.tail, "tail");
1542
+ if (tailParse.error) {
1543
+ res.status(400).json({ error: tailParse.error });
1544
+ return;
1545
+ }
1546
+ const sinceParse = (0, containers_1.parsePositiveIntQuery)(req.query.since, "since");
1547
+ if (sinceParse.error) {
1548
+ res.status(400).json({ error: sinceParse.error });
1549
+ return;
1550
+ }
1551
+ const tail = tailParse.value;
1552
+ const since = sinceParse.value;
1553
+ const name = req.params.name;
1554
+ // Deterministic 404 detection — match the stream route. Don't
1555
+ // regex stderr (locale + runtime-specific phrasing); ask the
1556
+ // runtime directly whether the container exists.
1557
+ try {
1558
+ const state = await (0, containers_1.getContainerState)(runtimeInfo, name);
1559
+ if (state === "missing") {
1560
+ res.status(404).json({ error: `No such container: ${name}` });
1561
+ return;
1562
+ }
1563
+ }
1564
+ catch (err) {
1565
+ res.status(503).json({
1566
+ error: `Failed to inspect container runtime: ${err instanceof Error ? err.message : String(err)}`,
1567
+ });
1568
+ return;
1569
+ }
1570
+ try {
1571
+ const lines = await api.getLogs(name, { tail, since });
1572
+ res.json({ name, lines });
1573
+ }
1574
+ catch (err) {
1575
+ res.status(500).json({
1576
+ error: err instanceof Error ? err.message : String(err),
1577
+ });
1578
+ }
1579
+ });
1580
+ // SSE stream of live log lines. Subscriber to the per-container
1581
+ // broker; auto-disconnects when the client goes away. Closes
1582
+ // with `event: end` when the container is removed or the plugin
1583
+ // is stopped. See `LogStreamBroker` for fan-out semantics.
1584
+ router.get("/api/containers/:name/logs/stream", async (req, res) => {
1585
+ if (!runtimeInfo) {
1586
+ res.status(503).json({ error: "No container runtime available" });
1587
+ return;
1588
+ }
1589
+ const { name } = req.params;
1590
+ // Preflight: don't open the SSE stream against a container
1591
+ // that doesn't exist. Otherwise the client connects, gets
1592
+ // 200, and immediately receives `event: end` from the
1593
+ // broker's `onTailError` — visually confusing and wastes a
1594
+ // round-trip on an obvious 404. Wrap the inspect call —
1595
+ // `getContainerState` can throw if the runtime is busy or
1596
+ // exec itself fails, and we still want a clean JSON error.
1597
+ try {
1598
+ const state = await (0, containers_1.getContainerState)(runtimeInfo, name);
1599
+ if (state === "missing") {
1600
+ res.status(404).json({ error: `No such container: ${name}` });
1601
+ return;
1602
+ }
1603
+ }
1604
+ catch (err) {
1605
+ res.status(503).json({
1606
+ error: `Failed to inspect container runtime: ${err instanceof Error ? err.message : String(err)}`,
1607
+ });
1608
+ return;
1609
+ }
1610
+ // Use setHeader (not writeHead's headers object) so the
1611
+ // headers are locked onto the response object before any
1612
+ // upstream compression middleware sees the first chunk.
1613
+ // `compression` (which Signal K applies globally) respects
1614
+ // `Cache-Control: no-transform` and skips compressing —
1615
+ // without this directive, observed in the wild:
1616
+ //
1617
+ // Content-Encoding: gzip
1618
+ //
1619
+ // overriding our `identity` header. Gzip buffers bytes
1620
+ // until it has a full block to emit, so the `hello` frame
1621
+ // sits unsent and the modal stays at "Backfilled — opening
1622
+ // live stream…" forever.
1623
+ res.setHeader("Content-Type", "text/event-stream");
1624
+ res.setHeader("Cache-Control", "no-cache, no-transform");
1625
+ res.setHeader("Connection", "keep-alive");
1626
+ res.setHeader("X-Accel-Buffering", "no");
1627
+ res.setHeader("Content-Encoding", "identity");
1628
+ res.statusCode = 200;
1629
+ // Force the headers (and any queued body) onto the wire
1630
+ // now — without this, Express keeps the response in a
1631
+ // "wait for more" state until `res.end()` or a sufficient
1632
+ // body chunk arrives. For SSE that means the `hello`
1633
+ // frame below would sit in the kernel send buffer.
1634
+ res.flushHeaders();
1635
+ res.write("event: hello\ndata: connected\n\n");
1636
+ let broker;
1637
+ try {
1638
+ broker = getOrCreateBroker(name);
1639
+ }
1640
+ catch (err) {
1641
+ // Defensive — runtimeInfo was non-null above but could in
1642
+ // theory become null between the check and getOrCreateBroker.
1643
+ res.write(`event: end\ndata: ${err instanceof Error ? err.message : String(err)}\n\n`);
1644
+ res.end();
1645
+ return;
1646
+ }
1647
+ const unsub = broker.subscribe({
1648
+ onLine: (line) => {
1649
+ // Replace any embedded newlines with spaces — SSE `data:`
1650
+ // frames are line-oriented and our upstream splitter
1651
+ // already emits one line at a time, so this is defensive.
1652
+ const safeLine = line.replace(/[\r\n]+/g, " ");
1653
+ // Guard the write: a client disconnect can fire between
1654
+ // the broker emitting a line and node delivering it to
1655
+ // this callback, and `res.write` on an ended/destroyed
1656
+ // response throws ERR_STREAM_WRITE_AFTER_END. Without
1657
+ // this guard the throw would propagate up through the
1658
+ // broker fan-out and noisily route via `onTailError`.
1659
+ if (res.writableEnded || res.destroyed)
1660
+ return;
1661
+ try {
1662
+ res.write(`data: ${safeLine}\n\n`);
1663
+ }
1664
+ catch {
1665
+ /* connection already gone; req.close handler will fire */
1666
+ }
1667
+ },
1668
+ onClose: (reason) => {
1669
+ // Same race as onLine: client may have disconnected
1670
+ // before this fires. res.write/res.end on an ended
1671
+ // response throws ERR_STREAM_WRITE_AFTER_END.
1672
+ if (res.writableEnded || res.destroyed)
1673
+ return;
1674
+ try {
1675
+ res.write(`event: end\ndata: ${reason}\n\n`);
1676
+ res.end();
1677
+ }
1678
+ catch {
1679
+ /* connection already gone */
1680
+ }
1681
+ },
1682
+ });
1683
+ // Heartbeat keeps reverse-proxy idle timeouts at bay during
1684
+ // quiet container periods. Sent as an SSE comment frame
1685
+ // (single `:` line) — clients ignore it. `unref()` so the
1686
+ // timer doesn't hold the event loop open during shutdown;
1687
+ // req.on("close") clears it on normal disconnect.
1688
+ const heartbeat = setInterval(() => {
1689
+ try {
1690
+ res.write(": heartbeat\n\n");
1691
+ }
1692
+ catch {
1693
+ /* connection already gone; req.close handler will fire */
1694
+ }
1695
+ }, SSE_HEARTBEAT_MS);
1696
+ heartbeat.unref();
1697
+ req.on("close", () => {
1698
+ clearInterval(heartbeat);
1699
+ unsub();
1700
+ const live = logStreamBrokers.get(name);
1701
+ if (live && !live.isClosed() && live.subscriberCount() === 0) {
1702
+ // Last subscriber went away — the broker stopped its
1703
+ // tail in `unsub()`; drop the Map entry so a fresh
1704
+ // subscribe later spawns a new broker.
1705
+ logStreamBrokers.delete(name);
1706
+ }
1707
+ });
1708
+ });
1432
1709
  router.post("/api/prune", async (_req, res) => {
1433
1710
  try {
1434
1711
  const result = await api.prune();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AACA,gDAAwB;AAiBxB,2CAOqB;AACrB,uCAA2D;AAC3D,6CA4BsB;AACtB,iCAAqD;AACrD,+CAAkD;AAClD,2CAAkD;AAClD,6CAAwD;AAkCxD,MAAM,CAAC,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC5B,IAAI,WAAW,GAAgC,IAAI,CAAC;IACpD,IAAI,UAAU,GAA0B,IAAI,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAC;IACvD,IAAI,aAAa,GAAyB,IAAI,CAAC;IAE/C,oEAAoE;IACpE,mEAAmE;IACnE,mEAAmE;IACnE,sEAAsE;IACtE,0DAA0D;IAC1D,qEAAqE;IACrE,qEAAqE;IACrE,+DAA+D;IAC/D,6DAA6D;IAC7D,oBAAoB;IACpB,IAAI,YAAY,GAAG,IAAI,OAAO,CAAO,GAAG,EAAE;QACxC,kEAAkE;QAClE,sDAAsD;IACxD,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;OAeG;IACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAM7B,CAAC;IACJ,IAAI,gBAAgB,GAA4C,EAAE,CAAC;IACnE,uEAAuE;IACvE,gEAAgE;IAChE,yEAAyE;IACzE,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,iBAAiB,GAA2B,IAAI,CAAC;IACrD,mEAAmE;IACnE,gEAAgE;IAChE,4CAA4C;IAC5C,IAAI,sBAAsB,GAAkB,IAAI,CAAC;IACjD,IAAI,uBAAuB,GAA2B,IAAI,CAAC;IAC3D,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,oEAAoE;IACpE,IAAI,qBAAqB,GAAgC,SAAS,CAAC;IACnE,IAAI,eAAe,GAAoC,IAAI,CAAC;IAC5D,KAAK,UAAU,2BAA2B;QACxC,IAAI,qBAAqB,KAAK,SAAS;YAAE,OAAO,qBAAqB,CAAC;QACtE,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAC5C,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAA,mCAAsB,EAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAChE,eAAe,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAChC,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACjC,qBAAqB,GAAG,QAAQ,CAAC;YACnC,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,eAAe,KAAK,QAAQ;gBAAE,eAAe,GAAG,IAAI,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,mEAAmE;IACnE,0EAA0E;IAC1E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,0EAA0E;IAC1E,oEAAoE;IACpE,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,UAAU,sBAAsB;QACnC,IAAI,gBAAgB;YAAE,OAAO,gBAAgB,CAAC;QAC9C,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAC;QAChD,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAA,qCAAwB,EAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3E,iBAAiB,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;YACzC,kEAAkE;YAClE,kEAAkE;YAClE,2DAA2D;YAC3D,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBACnC,gBAAgB,GAAG,QAAQ,CAAC;gBAC5B,GAAG,CAAC,KAAK,CAAC,8BAA8B,gBAAgB,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,iBAAiB,KAAK,QAAQ;gBAAE,iBAAiB,GAAG,IAAI,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,KAAK,UAAU,4BAA4B;QACzC,IAAI,sBAAsB;YAAE,OAAO,sBAAsB,CAAC;QAC1D,IAAI,uBAAuB;YAAE,OAAO,uBAAuB,CAAC;QAC5D,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,qCAAwB,EACvC,UAAU,EACV,WAAW,EACX,GAAG,CAAC,KAAK,CACV,CAAC;QACF,uBAAuB,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;YAC/C,IAAI,uBAAuB,KAAK,QAAQ,EAAE,CAAC;gBACzC,sBAAsB,GAAG,QAAQ,CAAC;gBAClC,GAAG,CAAC,KAAK,CAAC,oCAAoC,sBAAsB,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,uBAAuB,KAAK,QAAQ;gBAAE,uBAAuB,GAAG,IAAI,CAAC;QAC3E,CAAC;IACH,CAAC;IACD;;;;;;;;;OASG;IACH,SAAS,uBAAuB,CAAC,IAAY;QAC3C,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAClC,IAAA,gCAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;gBAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAmC,CAAC;IACtE,sEAAsE;IACtE,kEAAkE;IAClE,sEAAsE;IACtE,sEAAsE;IACtE,0DAA0D;IAC1D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmC,CAAC;IAClE,sEAAsE;IACtE,wEAAwE;IACxE,mEAAmE;IACnE,IAAI,aAAa,GAAwB,IAAI,CAAC;IAE9C;;;;;;;;;;;;;OAaG;IACH,SAAS,sBAAsB,CAAC,YAAoB;QAClD,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,CACP,0BAA0B,YAAY,6BAA6B,aAAa,KAAK,IAAI,uBAAuB,CAAC,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAC3I,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG;YACb,GAAG,aAAa;YAChB,kBAAkB,EAAE,EAAE,GAAG,gBAAgB,EAAE;SAC5C,CAAC;QACF,iEAAiE;QACjE,0BAA0B;QAC1B,aAAa,GAAG,MAAM,CAAC;QACvB,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YACpC,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,KAAK,CACP,iDAAiD,YAAY,MAAM,GAAG,CAAC,OAAO,IAAI;oBAChF,+EAA+E,CAClF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,KAAK,CACP,0BAA0B,YAAY,gCAAgC,CACvE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,SAAS,cAAc,CAAC,IAAY,EAAE,MAA+B;QACnE,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,aAAa;YAC7B,CAAC,CAAC,IAAA,4BAAgB,EAAC,MAAM,EAAE,aAAa,CAAC;YACzC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,sBAAsB,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,SAAS,aAAa,CAAC,IAAY;QACjC,IAAI,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC;YAAE,OAAO;QACxC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9B,sBAAsB,CAAC,iBAAiB,IAAI,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,GAAG,GAAwB;QAC/B,UAAU;YACR,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,SAAS;YACP,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,UAAkC;YAC/D,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,sBAAS,EACb,WAAW,EACX,IAAA,yBAAsB,EAAC,KAAK,EAAE,WAAW,CAAC,EAC1C,UAAU,CACX,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,KAAa;YAC7B,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC/B,OAAO,IAAA,wBAAW,EAChB,WAAW,EACX,IAAA,yBAAsB,EAAC,KAAK,EAAE,WAAW,CAAC,CAC3C,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,gBAAwB;YAC3C,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC9B,OAAO,IAAA,2BAAc,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,MAAuB,EACvB,OAA8B;YAE9B,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAEpE,uEAAuE;YACvE,qEAAqE;YACrE,qDAAqD;YACrD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;gBAC9C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC;gBAClD,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACpC,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,wBAAwB,gBAAgB,uCAAuC,QAAQ,2BAA2B,MAAM,GAAG,CACjJ,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG;oBACP,GAAG,IAAI;oBACP,OAAO,EAAE;wBACP,GAAG,IAAI,CAAC,OAAO;wBACf,CAAC,gBAAgB,CAAC,EAAE,MAAM;qBAC3B;iBACF,CAAC;YACJ,CAAC;YAED,qEAAqE;YACrE,wEAAwE;YACxE,uEAAuE;YACvE,qEAAqE;YACrE,gBAAgB;YAChB,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,MAAM,4BAA4B,EAAE,CAAC;gBACpD,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;gBACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,sBAAsB,CAAC,CAAC;gBACxD,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACpC,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,8BAA8B,sBAAsB,uCAAuC,QAAQ,2BAA2B,MAAM,GAAG,CAC7J,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG;oBACP,GAAG,IAAI;oBACP,OAAO,EAAE;wBACP,GAAG,IAAI,CAAC,OAAO;wBACf,CAAC,sBAAsB,CAAC,EAAE,MAAM;qBACjC;iBACF,CAAC;YACJ,CAAC;YAED,+DAA+D;YAC/D,iEAAiE;YACjE,iEAAiE;YACjE,EAAE;YACF,qEAAqE;YACrE,oEAAoE;YACpE,yEAAyE;YACzE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;YAEjD,qEAAqE;YACrE,oEAAoE;YACpE,wEAAwE;YACxE,8BAA8B;YAC9B,MAAM,qBAAqB,GACzB,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC;YAEtC,IAAI,MAAM,CAAC,sBAAsB,EAAE,MAAM,EAAE,CAAC;gBAC1C,qEAAqE;gBACrE,gEAAgE;gBAChE,MAAM,EACJ,sBAAsB,EACtB,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,YAAY,EACnB,GAAG,SAAS,EACb,GAAG,MAAM,CAAC;gBAEX,iEAAiE;gBACjE,kEAAkE;gBAClE,+DAA+D;gBAC/D,IAAI,kBAAkB,EAAE,CAAC;oBACvB,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,2DAA2D;wBAC9E,IAAI,kBAAkB,uBAAuB;wBAC7C,kEAAkE,CACrE,CAAC;gBACJ,CAAC;gBACD,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzD,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,qDAAqD;wBACxE,+FAA+F;wBAC/F,4DAA4D,CAC/D,CAAC;gBACJ,CAAC;gBAED,iEAAiE;gBACjE,yDAAyD;gBACzD,KAAK,MAAM,aAAa,IAAI,sBAAsB,EAAE,CAAC;oBACnD,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC,CAAC;gBAClD,CAAC;gBAED,sEAAsE;gBACtE,qEAAqE;gBACrE,mEAAmE;gBACnE,qEAAqE;gBACrE,mEAAmE;gBACnE,MAAM,QAAQ,GAAG,IAAA,yBAAe,GAAE;oBAChC,CAAC,CAAC,MAAM,2BAA2B,EAAE;oBACrC,CAAC,CAAC,IAAI,CAAC;gBACT,MAAM,aAAa,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBAE5C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,iEAAiE;oBACjE,gEAAgE;oBAChE,kCAAkC;oBAClC,MAAM,YAAY,GAA2B,EAAE,CAAC;oBAChD,KAAK,MAAM,aAAa,IAAI,sBAAsB,EAAE,CAAC;wBACnD,iEAAiE;wBACjE,2DAA2D;wBAC3D,gEAAgE;wBAChE,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;wBAC5C,IAAI,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAiB,EAAC,aAAa,CAAC,CAAC;4BACxD,OAAO,GAAG,aAAa,QAAQ,EAAE,CAAC;4BAClC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;4BACtC,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;gCAC/B,GAAG,CAAC,KAAK,CACP,0BAA0B,IAAI,WAAW,aAAa,yBAAyB,QAAQ,EAAE,CAC1F,CAAC;4BACJ,CAAC;wBACH,CAAC;wBACD,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,QAAQ,EAAE,CAAC;oBAChE,CAAC;oBACD,kEAAkE;oBAClE,4DAA4D;oBAC5D,uDAAuD;oBACvD,MAAM,GAAG;wBACP,GAAG,SAAS;wBACZ,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,EAAE;qBACzB,CAAC;gBACvB,CAAC;qBAAM,IAAI,aAAa,EAAE,CAAC;oBACzB,iEAAiE;oBACjE,6DAA6D;oBAC7D,8DAA8D;oBAC9D,uCAAuC;oBACvC,IAAI,kBAAkB,IAAI,kBAAkB,KAAK,aAAa,EAAE,CAAC;wBAC/D,GAAG,CAAC,KAAK,CACP,0BAA0B,IAAI,uCAAuC,kBAAkB,2BAA2B,aAAa,GAAG,CACnI,CAAC;oBACJ,CAAC;oBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;oBAC9D,KAAK,MAAM,aAAa,IAAI,sBAAsB,EAAE,CAAC;wBACnD,cAAc,CAAC,GAAG,CAChB,GAAG,IAAI,IAAI,aAAa,EAAE,EAC1B,GAAG,QAAQ,IAAI,aAAa,EAAE,CAC/B,CAAC;oBACJ,CAAC;oBACD,kEAAkE;oBAClE,+BAA+B;oBAC/B,MAAM,GAAG;wBACP,GAAG,SAAS;wBACZ,WAAW,EAAE,aAAa;qBACR,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,gEAAgE;oBAChE,oEAAoE;oBACpE,EAAE;oBACF,4DAA4D;oBAC5D,mEAAmE;oBACnE,4DAA4D;oBAC5D,kEAAkE;oBAClE,kEAAkE;oBAClE,oEAAoE;oBACpE,gEAAgE;oBAChE,+DAA+D;oBAC/D,+DAA+D;oBAC/D,qEAAqE;oBACrE,8DAA8D;oBAC9D,2DAA2D;oBAC3D,6DAA6D;oBAC7D,eAAe;oBACf,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAmB,EAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBACjE,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,iDAAiD;4BAC7E,kFAAkF;4BAClF,iEAAiE,CACpE,CAAC;oBACJ,CAAC;oBACD,GAAG,CAAC,KAAK,CACP,0BAA0B,IAAI,2DAA2D,MAAM,EAAE,CAClG,CAAC;oBACF,KAAK,MAAM,aAAa,IAAI,sBAAsB,EAAE,CAAC;wBACnD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;wBAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAClC,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAiB,EAAC,aAAa,CAAC,CAAC;4BACtD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gCAC7B,sDAAsD;gCACtD,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC;gCAC5B,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,WAAW,aAAa,qBAAqB;oCACzE,8CAA8C,MAAM,KAAK;oCACzD,wCAAwC,CAC3C,CAAC;4BACJ,CAAC;4BACD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,aAAa,EAAE,CAAC,CAAC;wBAC7D,CAAC;oBACH,CAAC;oBACD,mEAAmE;oBACnE,gDAAgD;oBAChD,MAAM,GAAG;wBACP,GAAG,SAAS;wBACZ,WAAW,EAAE,aAAa,MAAM,EAAE;qBAChB,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,gEAAgE;YAChE,kEAAkE;YAClE,yDAAyD;YACzD,kDAAkD;YAClD,+DAA+D;YAC/D,uCAAuC;YACvC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAE1D,gEAAgE;YAChE,iEAAiE;YACjE,6DAA6D;YAC7D,MAAM,MAAM,GAAG,IAAA,+BAAmB,EAChC,MAAM,CAAC,SAAS,EAChB,gBAAgB,CAAC,IAAI,CAAC,CACvB,CAAC;YACF,gEAAgE;YAChE,2DAA2D;YAC3D,8DAA8D;YAC9D,gEAAgE;YAChE,oCAAoC;YACpC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,IAAA,mCAAuB,EACnE,MAAM,EACN,WAAW,CACZ,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,wBAAwB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,CACpE,CAAC;YACJ,CAAC;YACD,MAAM,wBAAwB,GAAoB;gBAChD,GAAG,MAAM;gBACT,SAAS,EAAE,cAAc;aAC1B,CAAC;YAEF,gEAAgE;YAChE,2DAA2D;YAC3D,6DAA6D;YAC7D,iCAAiC;YACjC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAqB,EACtD,wBAAwB,CAAC,OAAO,CACjC,CAAC;YAEF,MAAM,eAAe,GAAG,CAAC,KAAkB,EAAE,EAAE,CAC7C,IAAA,kCAAqB,EAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAC3D,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,qCAAqC;gBACxD,GAAG,KAAK,CAAC,aAAa,OAAO,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,KAAK;gBAC/D,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxD,CACF,CAAC;YAEJ,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,sBAAsB,CAAC,CAAC,aAAa,OAAO,CAAC,CAAC,MAAM,sBAAsB,CAChG,CAAC;gBACF,eAAe,CAAC;oBACd,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,aAAa,CAAC,CAAC,MAAM,iCAAiC;iBAC/D,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,eAAe,CAAC;oBACd,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,sBAAsB,CAAC,CAAC,MAAM,iBAAiB;iBACxD,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,OAAO;qBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;qBAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,iEAAiE;gBACjE,gCAAgC;gBAChC,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,0DAA0D,IAAI,EAAE,CACtF,CAAC;gBACF,2DAA2D;gBAC3D,uDAAuD;gBACvD,2DAA2D;gBAC3D,+DAA+D;gBAC/D,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACjD,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,+CAA+C,IAAI,EAAE,CAC3E,CAAC;YACJ,CAAC;YAED,MAAM,eAAe,GAAoB;gBACvC,GAAG,wBAAwB;gBAC3B,OAAO,EAAE,IAAI;aACd,CAAC;YAEF,+DAA+D;YAC/D,6DAA6D;YAC7D,6DAA6D;YAC7D,6CAA6C;YAC7C,MAAM,SAAS,GAAG,IAAA,oCAAuB,EACvC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAC1B,OAAO,EACP,OAAO,EACP,IAAI,CACL,CAAC;YAEF,iEAAiE;YACjE,kEAAkE;YAClE,sEAAsE;YACtE,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,kEAAkE;YAClE,qEAAqE;YACrE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACvC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC7C,sEAAsE;YACtE,kDAAkD;YAClD,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEjD,IAAI,CAAC;gBACH,MAAM,IAAA,0BAAa,EACjB,WAAW,EACX,IAAI,EACJ,eAAe,EACf,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EACvB,OAAO,EACP,SAAS,EACT,WAAW,CACZ,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kEAAkE;gBAClE,oEAAoE;gBACpE,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAClC,IAAA,gCAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,iEAAiE;YACjE,+DAA+D;YAC/D,6DAA6D;YAC7D,sEAAsE;YACtE,gEAAgE;YAChE,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;gBACzC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAClC,IAAA,gCAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,uEAAuE;YACvE,qEAAqE;YACrE,kEAAkE;YAClE,uDAAuD;YACvD,EAAE;YACF,oEAAoE;YACpE,sEAAsE;YACtE,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,IAAA,kCAAqB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBACpE,KAAK,MAAM,aAAa,IAAI,qBAAqB,EAAE,CAAC;wBAClD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;wBAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;4BAAE,SAAS;wBAC1D,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAC7C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;4BAAE,SAAS;wBACzC,+DAA+D;wBAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;wBAC5D,MAAM,MAAM,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,CAAC,MAAM;4BAAE,SAAS;wBACtB,MAAM,KAAK,GAAG,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC7C,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;4BACrB,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,oCAAoC,aAAa,KAAK;gCACzE,WAAW,MAAM,cAAc,KAAK,4BAA4B,CACnE,CAAC;4BACF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gCAChC,IAAA,gCAAmB,EAAC,UAAU,CAAC,CAAC;4BAClC,CAAC;4BACD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,qDACnB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,gEAAgE;YAChE,+DAA+D;YAC/D,8DAA8D;YAC9D,2DAA2D;YAC3D,EAAE;YACF,oEAAoE;YACpE,0DAA0D;YAC1D,8DAA8D;YAC9D,sDAAsD;YACtD,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAgB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAA,+BAAmB,EAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;gBAE9D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,6DAA6D;gBAC7D,wDAAwD;gBACxD,6DAA6D;gBAC7D,mDAAmD;gBACnD,MAAM,WAAW,GAAG,IAAA,2CAA+B,EACjD,UAAU,EACV,cAAc,CACf,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,+BAA+B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC;wBACzG,sFAAsF;wBACtF,sDAAsD,IAAI,iCAAiC,CAC9F,CAAC;oBACF,kEAAkE;gBACpE,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAa,EAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACxE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACb,yDAAyD;oBACzD,wDAAwD;oBACxD,wDAAwD;oBACxD,qDAAqD;oBACrD,sDAAsD;oBACtD,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,mCAAmC,IAAI,CAAC,MAAM,IAAI,gBAAgB,IAAI;wBACzF,6CAA6C;wBAC7C,4BAA4B,IAAI,iCAAiC,CACpE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,+CAA+C,CACrE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,8DAA8D;YAC9D,gEAAgE;YAChE,qDAAqD;YACrD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,eAAe,CAAC;oBACd,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,aAAa,CAAC,CAAC,MAAM,iCAAiC;iBAC/D,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,QAAQ;oBAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAEtC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;oBACnC,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,WAAY,EAAE,CAAC;wBACxC,IAAI,CAAC,EAAE,EAAE,CAAC;4BACR,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;wBAC7D,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,WAAW,EAAE,CACnB,IAAI,EACJ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;oBACJ,CAAC;gBACH,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,uBAAuB,CAC3B,aAAqB,EACrB,aAAqB;YAErB,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC9B,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACpC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,2BAA2B,aAAa,KAAK,aAAa,KAAK;oBAC7D,qFAAqF;oBACrF,wDAAwD,CAC3D,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,uBAAuB;YAC3B,4DAA4D;YAC5D,6DAA6D;YAC7D,4DAA4D;YAC5D,8DAA8D;YAC9D,6BAA6B;YAC7B,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,cAAc;gBAAE,OAAO,IAAI,CAAC;YACrD,OAAO,sBAAsB,EAAE,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,OAAe;YACnC,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC9B,OAAO,IAAA,4BAAe,EAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,IAAY;YACtB,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,2BAAc,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAY;YACrB,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,IAAY;YACvB,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,4BAAe,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACzC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,IAAY;YACzB,IAAI,CAAC,WAAW;gBAAE,OAAO,YAAY,CAAC;YACtC,OAAO,IAAA,8BAAiB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,MAA0B;YACrC,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,OAAO,IAAA,aAAM,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,MAEzB;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACxB,CAAC;YACD,OAAO,IAAA,0BAAmB,EAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,OAAO,IAAA,wBAAW,EAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,cAAc;YAClB,IAAI,CAAC,WAAW;gBAAE,OAAO,EAAE,CAAC;YAC5B,OAAO,IAAA,2BAAc,EAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,OAAiB;YACnD,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,OAAO,IAAA,4BAAe,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,IAAY;YAC9B,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,IAAY;YAC9B,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,WAAmB;YAC/D,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,6BAAgB,EAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,CAAC,qBAAqB,CAAC,aAAqB,EAAE,WAAmB;YACpE,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpE,MAAM,IAAA,kCAAqB,EAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,CAAC,eAAe,CACnB,IAAY,EACZ,MAA+B;YAE/B,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAEpE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,+DAA+D;YAC/D,kEAAkE;YAClE,6DAA6D;YAC7D,2DAA2D;YAC3D,iEAAiE;YACjE,8DAA8D;YAC9D,6DAA6D;YAC7D,wDAAwD;YACxD,EAAE;YACF,8DAA8D;YAC9D,6DAA6D;YAC7D,2DAA2D;YAC3D,iDAAiD;YACjD,4DAA4D;YAC5D,qDAAqD;YACrD,EAAE;YACF,oDAAoD;YACpD,mEAAmE;YACnE,+DAA+D;YAC/D,4DAA4D;YAC5D,WAAW;YACX,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,YAAY,GAAG,IAAA,+BAAmB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAEhE,+DAA+D;YAC/D,uDAAuD;YACvD,8DAA8D;YAC9D,2DAA2D;YAC3D,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,IAAA,mCAAuB,EACnE,YAAY,EACZ,WAAW,CACZ,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,4DAA4D;YAC5D,iEAAiE;YACjE,yDAAyD;YACzD,qCAAqC;YACrC,6DAA6D;YAC7D,+DAA+D;YAC/D,4DAA4D;YAC5D,iEAAiE;YACjE,gCAAgC;YAChC,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAgB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAE7D,6DAA6D;YAC7D,mEAAmE;YACnE,iEAAiE;YACjE,6DAA6D;YAC7D,kCAAkC;YAClC,IAAI,IAAA,+BAAmB,EAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,MAAM,IAAA,8BAAiB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACzD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,iBAAiB,CACxD,CAAC;gBACJ,CAAC;gBACD,uDAAuD;gBACvD,2DAA2D;gBAC3D,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;gBACpD,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7B,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBACjD,CAAC;YACJ,CAAC;YAED,kEAAkE;YAClE,gEAAgE;YAChE,+DAA+D;YAC/D,gEAAgE;YAChE,kDAAkD;YAClD,MAAM,oBAAoB,GAAG,IAAA,2CAA+B,EAC1D,UAAU,EACV,cAAc,CACf,CAAC;YACF,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;YACtD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,CAAC,GAAG,yDAAyD,SAAS,EAAE,CAAC;gBAC/E,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,4DAA4D;YAC5D,4DAA4D;YAC5D,iEAAiE;YACjE,MAAM,IAAI,GAAG,aAAa;gBACxB,CAAC,CAAC;oBACE,EAAE,EAAE,KAAc;oBAClB,MAAM,EAAE,0DAA0D;iBACnE;gBACH,CAAC,CAAC,MAAM,IAAA,yBAAa,EAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;gBACpD,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7B,yDAAyD;gBACzD,yDAAyD;gBACzD,gBAAgB;gBAChB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,MAAM,EAAE,CAAC;oBACX,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE;wBACpB,GAAG,MAAM;wBACT,SAAS,EAAE,EAAE,GAAG,cAAc,EAAE;qBACjC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBACjD,CAAC;YACJ,CAAC;YAED,qEAAqE;YACrE,kEAAkE;YAClE,mCAAmC;YACnC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,gCAAgC;oBACtE,uBAAuB,IAAI,CAAC,MAAM,IAAI,gBAAgB,IAAI;oBAC1D,sDAAsD,CACzD,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,SAAS,GAAoB;gBACjC,GAAG,YAAY;gBACf,SAAS,EAAE,EAAE,GAAG,cAAc,EAAE;aACjC,CAAC;YAEF,wDAAwD;YACxD,6DAA6D;YAC7D,6DAA6D;YAC7D,6CAA6C;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAA,4BAAe,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CACX,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9E,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACxD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,CAAC;YACJ,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,6DAA6D;gBAC7D,0DAA0D;gBAC1D,wDAAwD;gBACxD,MAAM,WAAW,GACf,WAAW,YAAY,KAAK;oBAC1B,CAAC,CAAC,WAAW,CAAC,OAAO;oBACrB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC1B,GAAG,CAAC,KAAK,CACP,mBAAmB,IAAI,4DAA4D,WAAW,EAAE,CACjG,CAAC;gBAEF,IAAI,CAAC;oBACH,qDAAqD;oBACrD,MAAM,IAAA,4BAAe,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACzD,MAAM,IAAA,0BAAa,EAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAC3D,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,CAAC;oBACF,4DAA4D;oBAC5D,8DAA8D;oBAC9D,2DAA2D;oBAC3D,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,KAAK,WAAW,IAAI;wBAC3D,4EAA4E,EAC9E,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;gBACJ,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,wDAAwD;oBACxD,8DAA8D;oBAC9D,0DAA0D;oBAC1D,MAAM,WAAW,GACf,WAAW,YAAY,KAAK;wBAC1B,CAAC,CAAC,WAAW,CAAC,OAAO;wBACrB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC1B,4DAA4D;oBAC5D,6DAA6D;oBAC7D,SAAS;oBACT,IAAI,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;wBAC/D,6DAA6D;wBAC7D,MAAM,WAAW,CAAC;oBACpB,CAAC;oBACD,IAAI,WAAW,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC;wBAC5D,2DAA2D;wBAC3D,MAAM,WAAW,CAAC;oBACpB,CAAC;oBACD,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACzB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAChC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC9B,GAAG,CAAC,cAAc,CAChB,aAAa,IAAI,iCAAiC;wBAChD,oBAAoB,WAAW,0BAA0B,WAAW,KAAK;wBACzE,+BAA+B,CAClC,CAAC;oBACF,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,KAAK,WAAW,IAAI;wBAC3D,4BAA4B,WAAW,KAAK;wBAC5C,uEAAuE,EACzE,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACjC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;YACpD,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAC3C,CAAC;QAED,YAAY,CAAC,IAAY;YACvB,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACrD,CAAC;QAED,+DAA+D;QAC/D,+DAA+D;QAC/D,IAAI,OAAO;YACT,OAAO,aAAa,IAAI,iBAAiB,CAAC;QAC5C,CAAC;KACF,CAAC;IAEF;;;;OAIG;IACH,MAAM,iBAAiB,GAAG;QACxB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;QACpB,QAAQ,EAAE,KAAK,IAAI,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;QACxB,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;QACzB,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAE;QAC3B,OAAO,EAAE;YACP,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrB,KAAK,CAAC,KAAK;oBACT,OAAO;wBACL,IAAI,EAAE,OAAgB;wBACtB,KAAK,EAAE,mCAAmC;qBAC3C,CAAC;gBACJ,CAAC;aACF,CAAC;YACF,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpB,KAAK,CAAC,KAAK;oBACT,OAAO;wBACL,IAAI,EAAE,OAAgB;wBACtB,KAAK,EAAE,mCAAmC;qBAC3C,CAAC;gBACJ,CAAC;aACF,CAAC;SACH;KAC0B,CAAC;IAE9B,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QAEzB,MAAM,EAAE;YACN,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBAClC,OAAO,EAAE,MAAM;oBACf,KAAK,EAAE,mBAAmB;oBAC1B,WAAW,EACT,6DAA6D;iBAChE;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;oBAClC,OAAO,EAAE,QAAQ;oBACjB,KAAK,EAAE,4BAA4B;iBACpC;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,KAAK,EAAE,8BAA8B;oBACrC,WAAW,EAAE,yCAAyC;iBACvD;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,uBAAuB;oBAC9B,WAAW,EACT,6EAA6E;iBAChF;gBACD,sBAAsB,EAAE;oBACtB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,0BAA0B;oBACjC,WAAW,EACT,gJAAgJ;iBACnJ;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAiB;oBACvB,KAAK,EAAE,kCAAkC;oBACzC,WAAW,EACT,sWAAsW;oBACxW,oBAAoB,EAAE;wBACpB,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE;4BACjE,SAAS,EAAE;gCACT,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,gCAAgC;6BACxC;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,4CAA4C;6BACpD;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,oCAAoC;6BAC5C;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,uDAAuD;6BAC/D;4BACD,iBAAiB,EAAE;gCACjB,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,mBAAmB;6BAC3B;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,oBAAoB;6BAC5B;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACxB,KAAK,EAAE,oCAAoC;6BAC5C;yBACF;qBACF;oBACD,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;QAED,KAAK,CAAC,MAAoB;YACxB,2DAA2D;YAC3D,gEAAgE;YAChE,8DAA8D;YAC9D,gEAAgE;YAChE,gEAAgE;YAChE,8DAA8D;YAC9D,YAAY;YACZ,IAAI,iBAAiB,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;YAC7C,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE;gBACrC,iBAAiB,GAAG,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,kEAAkE;YAClE,gEAAgE;YAChE,8CAA8C;YAC9C,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YAC9B,8DAA8D;YAC9D,yDAAyD;YACzD,6DAA6D;YAC7D,+DAA+D;YAC/D,8DAA8D;YAC9D,uDAAuD;YACvD,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAEnD,2DAA2D;YAC3D,2DAA2D;YAC3D,wDAAwD;YACxD,yDAAyD;YACzD,uDAAuD;YACvD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc;gBAChC,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE;gBACtB,CAAC,CAAC,wBAAwB,CAAC;YAC7B,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,sBAAsB,CACvC,MAAM,CAAC,mBAAmB,EAC1B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACpB,CAAC;YACF,aAAa,GAAG,IAAI,uBAAa,CAAC;gBAChC,GAAG,EAAE;oBACH,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;oBAChD,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;oBAChD,aAAa,EAAE,GAAG,CAAC,aAAa;wBAC9B,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,aAAc,CAAC,EAAE,EAAE,KAAK,CAAC;wBAC9C,CAAC,CAAC,SAAS;iBACd;gBACD,UAAU,EAAE;oBACV,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW;oBAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CACjB,WAAW;wBACT,CAAC,CAAC,IAAA,8BAAiB,EAAC,WAAW,EAAE,IAAI,CAAC;wBACtC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAA8B,CAAC;oBACrD,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;wBACzB,IAAI,CAAC,WAAW;4BAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBACpE,MAAM,IAAA,sBAAS,EACb,WAAW,EACX,IAAA,yBAAsB,EAAC,KAAK,EAAE,WAAW,CAAC,CAC3C,CAAC;oBACJ,CAAC;oBACD,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;wBACzC,IAAI,CAAC,WAAW;4BAAE,OAAO,IAAI,CAAC;wBAC9B,OAAO,IAAA,2BAAc,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;oBACvD,CAAC;iBACF;gBACD,KAAK,EAAE;oBACL,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC;oBAClD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAwB,CAAC;iBAC/D;gBACD,KAAK,EAAE,IAAI,uBAAe,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9D,sBAAsB,EAAE,UAAU;gBAClC,gBAAgB,EAAE,MAAM,CAAC,sBAAsB,KAAK,KAAK;aAC1D,CAAC,CAAC;YAEH,qDAAqD;YACrD,8DAA8D;YAC9D,iEAAiE;YAChE,UAAkB,CAAC,0BAA0B,GAAG,GAAG,CAAC;YAErD,6CAA6C;YAC7C,CAAC,KAAK,IAAI,EAAE;gBACV,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;gBAC5C,MAAM,aAAa,GAAG,IAAA,yBAAe,GAAE,CAAC;gBACxC,IAAI,aAAa,EAAE,CAAC;oBAClB,GAAG,CAAC,KAAK,CACP,4DAA4D;wBAC1D,iEAAiE,CACpE,CAAC;gBACJ,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;gBAC1D,WAAW,GAAG,MAAM,IAAA,uBAAa,EAAC,UAAU,CAAC,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;gBAEnD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,GAAG,GAAG,aAAa;wBACvB,CAAC,CAAC,2EAA2E;4BAC3E,iEAAiE;wBACnE,CAAC,CAAC,qEAAqE,CAAC;oBAC1E,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBACxB,iBAAiB,EAAE,CAAC;oBACpB,OAAO;gBACT,CAAC;gBAED,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,eAAe,CACjB,GAAG,YAAY,GAAG,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CACxH,CAAC;gBAEF,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;oBAC3D,MAAM,UAAU,GACd,MAAM,CAAC,aAAa,KAAK,QAAQ;wBAC/B,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;wBACzB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;oBAC/B,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;wBAClC,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAW,EAAC,WAAY,CAAC,CAAC;4BAC/C,GAAG,CAAC,KAAK,CACP,UAAU,MAAM,CAAC,aAAa,sBAAsB,MAAM,CAAC,cAAc,EAAE,CAC5E,CAAC;wBACJ,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;wBACvC,CAAC;oBACH,CAAC,EAAE,UAAU,CAAC,CAAC;gBACjB,CAAC;gBAED,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACvC,iBAAiB,EAAE,CAAC;YACtB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,GAAG,CAAC,cAAc,CAChB,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtE,CAAC;gBACF,iBAAiB,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI;YACF,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1C,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YACD,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,CAAC,IAAI,EAAE,CAAC;gBACrB,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,gBAAgB,GAAG,EAAE,CAAC;YACtB,aAAa,GAAG,IAAI,CAAC;YACrB,gBAAgB,GAAG,IAAI,CAAC;YACxB,iBAAiB,GAAG,IAAI,CAAC;YACzB,sBAAsB,GAAG,IAAI,CAAC;YAC9B,uBAAuB,GAAG,IAAI,CAAC;YAC/B,qBAAqB,GAAG,SAAS,CAAC;YAClC,eAAe,GAAG,IAAI,CAAC;YACvB,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,OAAQ,UAAkB,CAAC,0BAA0B,CAAC;QACxD,CAAC;QAED,kBAAkB,CAAC,MAAe;YAChC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACvC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAChD,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC3D,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,yDAAyD;gBACzD,6DAA6D;gBAC7D,iDAAiD;gBACjD,IAAI,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACvC,iEAAiE;gBACjE,gEAAgE;gBAChE,gEAAgE;gBAChE,4DAA4D;gBAC5D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,2DAA2D;gBAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC;wBACH,SAAS,GAAG,MAAM,IAAA,6BAAgB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBACxD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,qDAAqD;wBACrD,uDAAuD;wBACvD,qDAAqD;wBACrD,mDAAmD;wBACnD,sDAAsD;wBACtD,GAAG,CAAC,KAAK,CACP,gBAAgB,IAAI,kCAAkC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,MAC9F,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI;oBACJ,SAAS;oBACT,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI;iBACzC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAChE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;gBAC3D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACvD,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI;wBACJ,GAAG,MAAM;wBACT,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;wBACjC,yDAAyD;wBACzD,qDAAqD;wBACrD,8CAA8C;wBAC9C,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI;qBACzC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH;;;;;;;;;;;;eAYG;YACH,MAAM,CAAC,MAAM,CAAC,iCAAiC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAClE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EACH,kCAAkC,IAAI,wBAAwB;4BAC9D,+DAA+D;4BAC/D,qBAAqB;qBACxB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC;oBACH,gEAAgE;oBAChE,4DAA4D;oBAC5D,4DAA4D;oBAC5D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,wBAAwB;oBACxB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;oBAC9D,aAAa,CAAC,IAAI,CAAC,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI;wBACJ,OAAO,EAAE,IAAI;wBACb,GAAG,MAAM;wBACT,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;wBACjC,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC3D,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAChC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC5D,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACjC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC7D,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAClC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC5C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;oBACjC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,yDAAyD;YACzD,wCAAwC;YACxC,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAA,6BAAoB,EAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,SAAS,sBAAsB,CAC7B,KAAyB,EACzB,QAAgB;IAEhB,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI;YACP,OAAO,CAAC,CAAC;QACX,KAAK,GAAG;YACN,OAAO,CAAC,GAAG,IAAI,CAAC;QAClB,KAAK,GAAG;YACN,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACvB,KAAK,GAAG;YACN,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC5B,KAAK,GAAG;YACN,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACjC;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import { tailContainerLogs } from "./containers";
2
+ import { ContainerRuntimeInfo } from "./types";
3
+ /**
4
+ * Why this exists / when the user is at risk
5
+ *
6
+ * Every place that wants to consume a managed container's log stream
7
+ * — the plugin's `onContainerLog` callback, an SSE client, a future
8
+ * health-watcher — would otherwise spawn its own `podman logs -f`
9
+ * child. Two end-users opening the Logs modal on the same container
10
+ * doubles the number of `logs -f` processes the runtime daemon has
11
+ * to serve; combined with `onContainerLog` it triples.
12
+ *
13
+ * The broker fans out a single underlying tail across N subscribers.
14
+ * First subscribe spawns the child; last unsubscribe stops it.
15
+ * Subscribers add themselves with a per-line callback and an
16
+ * optional `onClose` (used by SSE handlers to flush a final
17
+ * `event: end` frame before closing the response).
18
+ *
19
+ * Lifecycle interaction with the wrapper
20
+ *
21
+ * Auto-recreate inside `ensureRunning` removes the live
22
+ * container and recursively re-enters. The broker's underlying
23
+ * tail child sees its target disappear and exits naturally. If
24
+ * subscribers are still attached, the broker auto-respawns after
25
+ * a 1s delay so SSE-only consumers (no plugin re-subscribe event
26
+ * to ride on) recover transparently. Subscribers see a brief
27
+ * gap; no zombie children.
28
+ *
29
+ * `containers.remove(name)` closes the broker explicitly
30
+ * (`close('container-removed')`), notifying every subscriber.
31
+ *
32
+ * `plugin.stop()` closes every broker (`'plugin-stopped'`).
33
+ *
34
+ * Closed brokers refuse further subscriptions (return a no-op
35
+ * unsubscribe); callers must allocate a fresh broker via the
36
+ * wrapper's `getOrCreateBroker` after delete-from-Map. This
37
+ * matches the "broker is throw-away after close" model.
38
+ */
39
+ export interface LogSubscriber {
40
+ /** Per-line callback. Errors caught by the broker; never crash
41
+ * the fan-out for other subscribers. */
42
+ onLine: (line: string) => void;
43
+ /** Called once when the broker is force-closed. SSE handlers
44
+ * flush their `event: end` frame and `end()` the response. */
45
+ onClose?: (reason: "container-removed" | "plugin-stopped") => void;
46
+ }
47
+ export interface LogStreamBroker {
48
+ /** Returns an unsubscribe function. First subscribe lazily
49
+ * spawns the underlying tail; the unsubscribe that drops the
50
+ * count to zero stops it. After a `close()`, returns a no-op
51
+ * unsubscribe (caller should allocate a fresh broker). */
52
+ subscribe(sub: LogSubscriber): () => void;
53
+ /** Current subscriber count. Used by the wrapper to decide
54
+ * whether to delete the broker from its Map after an SSE
55
+ * client disconnects. */
56
+ subscriberCount(): number;
57
+ /** Force-close: stops the tail, notifies every subscriber via
58
+ * `onClose`, drops the subscriber set. Idempotent. */
59
+ close(reason: "container-removed" | "plugin-stopped"): void;
60
+ isClosed(): boolean;
61
+ }
62
+ /**
63
+ * Factory for a per-container `LogStreamBroker`. `runtime` and
64
+ * `name` are captured for the eventual `tailContainerLogs` call.
65
+ * `spawnTail` is injectable for tests.
66
+ *
67
+ * `onSubscriberError` is invoked when a subscriber's `onLine`
68
+ * throws — kept out of the fan-out so one buggy subscriber can't
69
+ * silence the others. Defaults to swallowing the error (the
70
+ * broker has no logger; the wrapper provides one).
71
+ */
72
+ export declare function createLogStreamBroker(runtime: ContainerRuntimeInfo, name: string, options?: {
73
+ startTail?: number;
74
+ /** Test injection: defaults to `tailContainerLogs`. */
75
+ spawnTail?: typeof tailContainerLogs;
76
+ /** Surfaces `podman logs` stderr and process-spawn failures. */
77
+ onTailError?: (msg: string) => void;
78
+ /** Surfaces per-subscriber `onLine` throws. */
79
+ onSubscriberError?: (err: unknown, subscriberIndex: number) => void;
80
+ /** Test injection: shorter delay before auto-respawning the tail
81
+ * after onExit. Defaults to `RESPAWN_DELAY_MS` (1s) in prod. */
82
+ respawnDelayMs?: number;
83
+ }): LogStreamBroker;
84
+ //# sourceMappingURL=log-stream-broker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-stream-broker.d.ts","sourceRoot":"","sources":["../src/log-stream-broker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAiB/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,aAAa;IAC5B;6CACyC;IACzC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;mEAC+D;IAC/D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,eAAe;IAC9B;;;+DAG2D;IAC3D,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,IAAI,CAAC;IAC1C;;8BAE0B;IAC1B,eAAe,IAAI,MAAM,CAAC;IAC1B;4DACwD;IACxD,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAC5D,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACrC,gEAAgE;IAChE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE;sEACkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,eAAe,CAoJjB"}