instar 1.3.732 → 1.3.734
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +127 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/core/ConversationRegistry.d.ts +95 -0
- package/dist/core/ConversationRegistry.d.ts.map +1 -1
- package/dist/core/ConversationRegistry.js +292 -5
- package/dist/core/ConversationRegistry.js.map +1 -1
- package/dist/core/SessionManager.d.ts +15 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +28 -0
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/conversationBindToken.d.ts +36 -0
- package/dist/core/conversationBindToken.d.ts.map +1 -0
- package/dist/core/conversationBindToken.js +144 -0
- package/dist/core/conversationBindToken.js.map +1 -0
- package/dist/core/conversationIdentity.d.ts +14 -0
- package/dist/core/conversationIdentity.d.ts.map +1 -1
- package/dist/core/conversationIdentity.js +19 -0
- package/dist/core/conversationIdentity.js.map +1 -1
- package/dist/core/deliverToConversation.d.ts +68 -25
- package/dist/core/deliverToConversation.d.ts.map +1 -1
- package/dist/core/deliverToConversation.js +300 -11
- package/dist/core/deliverToConversation.js.map +1 -1
- package/dist/core/slackRefreshBinding.d.ts +8 -10
- package/dist/core/slackRefreshBinding.d.ts.map +1 -1
- package/dist/core/slackRefreshBinding.js +8 -16
- package/dist/core/slackRefreshBinding.js.map +1 -1
- package/dist/core/types.d.ts +9 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/CommitmentTracker.d.ts +64 -0
- package/dist/monitoring/CommitmentTracker.d.ts.map +1 -1
- package/dist/monitoring/CommitmentTracker.js +58 -0
- package/dist/monitoring/CommitmentTracker.js.map +1 -1
- package/dist/monitoring/PromiseBeacon.d.ts +70 -0
- package/dist/monitoring/PromiseBeacon.d.ts.map +1 -1
- package/dist/monitoring/PromiseBeacon.js +221 -24
- package/dist/monitoring/PromiseBeacon.js.map +1 -1
- package/dist/server/AgentServer.d.ts +9 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +8 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +12 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +128 -10
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +48 -48
- package/upgrades/1.3.733.md +108 -0
- package/upgrades/1.3.734.md +30 -0
- package/upgrades/side-effects/durable-conversation-identity-increment2.md +88 -0
- package/upgrades/side-effects/three-constitutional-standards.md +129 -0
|
@@ -183,6 +183,10 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
183
183
|
doubleSpawnCount = 0;
|
|
184
184
|
/** AttemptIds already counted as a double-spawn (dedupe per episode, §6). */
|
|
185
185
|
doubleSpawnCountedAttempts = new Set();
|
|
186
|
+
/** §5 R3-M16 STAND-DOWN set: commitments whose delivery hit a by-design
|
|
187
|
+
* non-owning refusal — no re-fire scheduling; re-evaluated on the bounded
|
|
188
|
+
* ownership recheck riding the external-block sweep (no new timer). */
|
|
189
|
+
stoodDown = new Set();
|
|
186
190
|
constructor(config) {
|
|
187
191
|
super();
|
|
188
192
|
this.config = config;
|
|
@@ -286,6 +290,16 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
286
290
|
// feature is off; cheap O(active) scan otherwise.
|
|
287
291
|
const sweepMs = this.config.externalBlockSweepMs ?? 60 * 60_000;
|
|
288
292
|
this.externalBlockSweepTimer = setInterval(() => {
|
|
293
|
+
// §5 R3-M16: the stand-down ownership recheck rides THIS sweep
|
|
294
|
+
// (R4-minor-4 — one O(active-stood-down) pass, no new timer). It is
|
|
295
|
+
// machine-LOCAL (ownership of a conversation, not pool state), so it
|
|
296
|
+
// runs before the lease gate.
|
|
297
|
+
try {
|
|
298
|
+
this.recheckStandDowns();
|
|
299
|
+
}
|
|
300
|
+
catch (err) {
|
|
301
|
+
console.warn('[PromiseBeacon] stand-down recheck error:', err.message);
|
|
302
|
+
}
|
|
289
303
|
// Lease-gated (§4.5): only the lease-holder runs the mutating sweep.
|
|
290
304
|
if (this.config.holdsLease && !this.config.holdsLease())
|
|
291
305
|
return;
|
|
@@ -326,11 +340,19 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
326
340
|
return;
|
|
327
341
|
if (c.status !== 'pending' || c.beaconSuppressed || c.beaconPaused)
|
|
328
342
|
return;
|
|
343
|
+
if (this.stoodDown.has(c.id))
|
|
344
|
+
return; // §5 R3-M16: no re-fire while stood down
|
|
329
345
|
// atRisk doubles cadence (spec Round 3 #1) — softer-toned + less frequent.
|
|
330
346
|
const baseCadence = c.cadenceMs ?? 20 * 60_000;
|
|
331
347
|
const effective = c.atRisk ? baseCadence * 2 : baseCadence;
|
|
332
348
|
const cadence = this.clampCadence(effective) * this.timerMult;
|
|
333
349
|
const hot = this.loadHotState(c.id);
|
|
350
|
+
if (hot.standDownAt) {
|
|
351
|
+
// Restart-safe stand-down restoration: the marker persisted; the
|
|
352
|
+
// ownership recheck (riding the external-block sweep) is what clears it.
|
|
353
|
+
this.stoodDown.add(c.id);
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
334
356
|
const last = hot.lastHeartbeatAt ? new Date(hot.lastHeartbeatAt).getTime() : new Date(c.createdAt).getTime();
|
|
335
357
|
const dueAt = last + cadence;
|
|
336
358
|
const delay = Math.max(1_000, dueAt - this.now());
|
|
@@ -424,6 +446,7 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
424
446
|
this.schedule(c);
|
|
425
447
|
return;
|
|
426
448
|
}
|
|
449
|
+
let reArm = true;
|
|
427
450
|
try {
|
|
428
451
|
// ── Capture (raw frame for turn-state, sanitized for hashing) ──
|
|
429
452
|
const rawFrame = sessionName ? (this.config.captureSessionOutput(sessionName, 200) ?? '') : '';
|
|
@@ -456,8 +479,9 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
456
479
|
if (hot.consecutiveTurnFinished >= closeoutAt) {
|
|
457
480
|
hot.lastSnapshotHash = hash;
|
|
458
481
|
this.saveHotState(c.id, hot);
|
|
482
|
+
reArm = false; // closed out + paused — do NOT re-arm
|
|
459
483
|
await this.closeOutTurnFinished(c, excerpt);
|
|
460
|
-
return;
|
|
484
|
+
return;
|
|
461
485
|
}
|
|
462
486
|
}
|
|
463
487
|
else {
|
|
@@ -543,23 +567,41 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
543
567
|
}
|
|
544
568
|
// ── Send (only if there is something true to say — B1) ──
|
|
545
569
|
const sent = text != null;
|
|
570
|
+
let sendResult = 'skipped';
|
|
546
571
|
if (sent) {
|
|
547
|
-
await this.emitUserSend(c, text, 'heartbeat');
|
|
572
|
+
sendResult = await this.emitUserSend(c, text, 'heartbeat');
|
|
548
573
|
if (livenessFired)
|
|
549
574
|
hot.lastLivenessAt = nowIso;
|
|
550
|
-
|
|
575
|
+
if (sendResult === 'sent')
|
|
576
|
+
hot.heartbeatCount += 1;
|
|
577
|
+
}
|
|
578
|
+
// §5 stand-down / §5.1 permanent dead-letter already persisted their
|
|
579
|
+
// markers + stopped the timer inside applyDeliveryOutcome.
|
|
580
|
+
if (sendResult === 'failed-standdown' || sendResult === 'failed-permanent') {
|
|
581
|
+
reArm = false;
|
|
551
582
|
}
|
|
552
583
|
// ── Persist hot state (cadence advances every check, sent or not, so a
|
|
553
|
-
// suppressed tick can't tight-loop on a stale lastHeartbeatAt).
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
584
|
+
// suppressed tick can't tight-loop on a stale lastHeartbeatAt).
|
|
585
|
+
// MERGE via updateHotState — the delivery path may have advanced
|
|
586
|
+
// sendSeq / failure counters on disk during emitUserSend, and this
|
|
587
|
+
// write must never clobber them (R4-minor-1). ──
|
|
588
|
+
this.updateHotState(c.id, (h) => {
|
|
589
|
+
h.lastHeartbeatAt = nowIso;
|
|
590
|
+
h.lastSnapshotHash = hash;
|
|
591
|
+
h.consecutiveUnchanged = hot.consecutiveUnchanged;
|
|
592
|
+
h.templatedVariantCursor = hot.templatedVariantCursor;
|
|
593
|
+
h.consecutiveTurnFinished = hot.consecutiveTurnFinished;
|
|
594
|
+
h.heartbeatCount = hot.heartbeatCount;
|
|
595
|
+
if (livenessFired)
|
|
596
|
+
h.lastLivenessAt = nowIso;
|
|
597
|
+
});
|
|
557
598
|
await this.config.commitmentTracker.mutate(c.id, prev => ({
|
|
558
599
|
...prev,
|
|
559
600
|
lastHeartbeatAt: nowIso,
|
|
560
601
|
// heartbeatCount counts messages actually SENT (B1: a suppressed,
|
|
561
|
-
// unchanged-snapshot check is not a heartbeat the user saw
|
|
562
|
-
|
|
602
|
+
// unchanged-snapshot check is not a heartbeat the user saw; a typed
|
|
603
|
+
// funnel non-delivery is not one either).
|
|
604
|
+
heartbeatCount: (prev.heartbeatCount ?? 0) + (sendResult === 'sent' ? 1 : 0),
|
|
563
605
|
lastSnapshotHash: hash,
|
|
564
606
|
// atRisk is a signal-driven, non-terminal flag. Setting it does NOT
|
|
565
607
|
// change status; it only nudges tone and doubles cadence below.
|
|
@@ -570,7 +612,7 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
570
612
|
topicId: c.topicId,
|
|
571
613
|
templated: !snapshot || unchanged,
|
|
572
614
|
atRisk: atRiskSignal,
|
|
573
|
-
sent,
|
|
615
|
+
sent: sendResult === 'sent',
|
|
574
616
|
});
|
|
575
617
|
// ── Auto-pause gate ───────────────────────────────────────────
|
|
576
618
|
// After enough consecutive unchanged-snapshot heartbeats, emit one
|
|
@@ -580,17 +622,24 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
580
622
|
const threshold = c.beaconAutoPauseAfterUnchanged ?? this.defaultAutoPauseAfterUnchanged;
|
|
581
623
|
const isUnchangedThisCycle = !snapshot || unchanged;
|
|
582
624
|
if (threshold > 0 && isUnchangedThisCycle && hot.consecutiveUnchanged >= threshold) {
|
|
625
|
+
reArm = false; // do NOT re-arm
|
|
583
626
|
await this.autoPause(c, excerpt);
|
|
584
|
-
return;
|
|
627
|
+
return;
|
|
585
628
|
}
|
|
586
629
|
}
|
|
587
630
|
finally {
|
|
588
631
|
this.config.proxyCoordinator.release(c.topicId, 'promise-beacon');
|
|
632
|
+
// §5.1 (lessons-F4/adversarial-A1): fire() re-arms in FINALLY — a thrown
|
|
633
|
+
// send/LLM error can never silently kill the beacon timer (the
|
|
634
|
+
// flagship-consumer safety; the pre-increment fire() skipped re-arm on
|
|
635
|
+
// throw). Deliberate stops (auto-pause, close-out, stand-down,
|
|
636
|
+
// permanent dead-letter) opt out via reArm=false.
|
|
637
|
+
if (reArm && !this.stoodDown.has(c.id)) {
|
|
638
|
+
const next = this.config.commitmentTracker.getAll().find(x => x.id === id);
|
|
639
|
+
if (next)
|
|
640
|
+
this.schedule(next);
|
|
641
|
+
}
|
|
589
642
|
}
|
|
590
|
-
// Re-arm.
|
|
591
|
-
const next = this.config.commitmentTracker.getAll().find(x => x.id === id);
|
|
592
|
-
if (next)
|
|
593
|
-
this.schedule(next);
|
|
594
643
|
}
|
|
595
644
|
/**
|
|
596
645
|
* Auto-pause a beacon after a run of unchanged heartbeats. Emits one final
|
|
@@ -977,7 +1026,7 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
977
1026
|
async emitUserSend(c, text, kind) {
|
|
978
1027
|
const sendNormally = async () => {
|
|
979
1028
|
if (c.topicId == null)
|
|
980
|
-
return;
|
|
1029
|
+
return 'skipped';
|
|
981
1030
|
// Beacon-local B-IDLEAK pass (C1+C2 §4.3): beacon sends are isProxy:true and
|
|
982
1031
|
// bypass MessagingToneGate, so B20 can't run on them. Signal-only
|
|
983
1032
|
// observability — emit when beacon text leaks internal plumbing (never
|
|
@@ -988,25 +1037,40 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
988
1037
|
this.emit('aoft.beacon-id-leak', { id: c.id, terms: leak.terms });
|
|
989
1038
|
}
|
|
990
1039
|
catch { /* non-fatal */ }
|
|
1040
|
+
// ── durable-conversation-identity §6.1 step 2: the funnel swap ──
|
|
1041
|
+
// When deliverToConversation is wired, EVERY beacon send rides it (the
|
|
1042
|
+
// id>0 arm is today's Telegram path unchanged; the id<0 arm delivers
|
|
1043
|
+
// into the exact Slack thread with the E1 guard + §5.1 typed outcomes).
|
|
1044
|
+
if (this.config.deliverMessage) {
|
|
1045
|
+
const seq = this.loadHotState(c.id).sendSeq ?? 0;
|
|
1046
|
+
const logicalSendId = `${c.id}:${seq}`; // the §3.4 pinned encoding
|
|
1047
|
+
const outcome = await this.config.deliverMessage(c.topicId, text, {
|
|
1048
|
+
source: 'promise-beacon',
|
|
1049
|
+
isProxy: true,
|
|
1050
|
+
tier: 1,
|
|
1051
|
+
logicalSendId,
|
|
1052
|
+
...(c.boundTuple ? { boundTuple: c.boundTuple } : {}),
|
|
1053
|
+
});
|
|
1054
|
+
return await this.applyDeliveryOutcome(c, outcome, seq, logicalSendId);
|
|
1055
|
+
}
|
|
991
1056
|
await this.config.sendMessage(c.topicId, text, {
|
|
992
1057
|
source: 'promise-beacon',
|
|
993
1058
|
isProxy: true,
|
|
994
1059
|
tier: 1,
|
|
995
1060
|
});
|
|
1061
|
+
return 'sent';
|
|
996
1062
|
};
|
|
997
1063
|
const state = this.config.agentOwnedFollowthrough?.() ?? { enabled: false, dryRun: true };
|
|
998
1064
|
// Feature off, or not an agent-owned commitment → unchanged behavior.
|
|
999
1065
|
if (!state.enabled || c.owner !== 'agent') {
|
|
1000
|
-
await sendNormally();
|
|
1001
|
-
return;
|
|
1066
|
+
return await sendNormally();
|
|
1002
1067
|
}
|
|
1003
1068
|
if (kind === 'terminal') {
|
|
1004
1069
|
// Terminal failure: reroute to the Attention dead-letter (never status,
|
|
1005
1070
|
// never swallowed). In dryRun, log the intent but preserve current behavior.
|
|
1006
1071
|
if (state.dryRun) {
|
|
1007
1072
|
this.emit('aoft.would-reroute-terminal', { id: c.id, topicId: c.topicId, kind });
|
|
1008
|
-
await sendNormally();
|
|
1009
|
-
return;
|
|
1073
|
+
return await sendNormally();
|
|
1010
1074
|
}
|
|
1011
1075
|
const detail = text.replace(/^⚠️\s*\[?promise-beacon\]?\s*/i, '').trim() || text;
|
|
1012
1076
|
try {
|
|
@@ -1014,15 +1078,134 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
1014
1078
|
}
|
|
1015
1079
|
catch { /* non-fatal */ }
|
|
1016
1080
|
this.emit('aoft.terminal-rerouted', { id: c.id, topicId: c.topicId, kind });
|
|
1017
|
-
return;
|
|
1081
|
+
return 'rerouted-terminal';
|
|
1018
1082
|
}
|
|
1019
1083
|
// Status kind under owner:'agent'.
|
|
1020
1084
|
if (state.dryRun) {
|
|
1021
1085
|
this.emit('aoft.would-suppress', { id: c.id, topicId: c.topicId, kind });
|
|
1022
|
-
await sendNormally();
|
|
1023
|
-
return;
|
|
1086
|
+
return await sendNormally();
|
|
1024
1087
|
}
|
|
1025
1088
|
this.emit('aoft.suppressed', { id: c.id, topicId: c.topicId, kind });
|
|
1089
|
+
return 'suppressed-aoft';
|
|
1090
|
+
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Apply one typed funnel outcome (§5.1/§5.0(a)) to the beacon's durable
|
|
1093
|
+
* sequencing + failure state:
|
|
1094
|
+
* - delivered OR delivered-equivalent (`already-delivered-recently`, R7-M1):
|
|
1095
|
+
* advance+persist `sendSeq` FIRST (atomic tmp→rename), THEN journal
|
|
1096
|
+
* `send-retire` — the R5-M3 pinned inter-store order. A crash between the
|
|
1097
|
+
* two leaves an unretired entry beside an advanced seq: a harmless
|
|
1098
|
+
* TTL-bounded leak, never a double-post, never a suppression.
|
|
1099
|
+
* - `not-delivered` + standDown: §5 non-owning STAND-DOWN — no re-fire
|
|
1100
|
+
* scheduling, NEVER the dead-letter counter (I1 scoping); re-evaluated on
|
|
1101
|
+
* the ownership recheck riding the external-block sweep (R3-M16).
|
|
1102
|
+
* - `not-delivered` + permanent (§5.1): TERMINAL — one raiseAttention
|
|
1103
|
+
* dead-letter (mass aggregation happens at the funnel emitter), the
|
|
1104
|
+
* beacon suppresses (non-terminal commitment state; a reachability
|
|
1105
|
+
* auto-clear + operator resume can revive it).
|
|
1106
|
+
* - `not-delivered` transient: `sendSeq` held constant (so the re-fire of
|
|
1107
|
+
* the SAME logical send matches the E1 guard), consecutive failures
|
|
1108
|
+
* counted; at `deadLetterAfterConsecutiveFailures` (=3, R3-M15) ONE
|
|
1109
|
+
* deduped raiseAttention — the beacon keeps re-arming (retry engages).
|
|
1110
|
+
*/
|
|
1111
|
+
async applyDeliveryOutcome(c, outcome, seq, logicalSendId) {
|
|
1112
|
+
if (outcome.delivered || outcome.outcome === 'already-delivered-recently') {
|
|
1113
|
+
// Seq persist BEFORE send-retire (R5-M3 — the reverse order re-opens the
|
|
1114
|
+
// exact double-post E1 exists to prevent).
|
|
1115
|
+
this.updateHotState(c.id, (h) => {
|
|
1116
|
+
h.sendSeq = seq + 1;
|
|
1117
|
+
h.consecutiveDeliveryFailures = 0;
|
|
1118
|
+
delete h.deliveryDeadLetteredAt;
|
|
1119
|
+
});
|
|
1120
|
+
if (typeof c.topicId === 'number' && c.topicId < 0) {
|
|
1121
|
+
try {
|
|
1122
|
+
this.config.retireSend?.(c.topicId, logicalSendId);
|
|
1123
|
+
}
|
|
1124
|
+
catch { /* retire is guard bookkeeping — never fails the send */ }
|
|
1125
|
+
}
|
|
1126
|
+
return outcome.delivered ? 'sent' : 'suppressed-delivered-equivalent';
|
|
1127
|
+
}
|
|
1128
|
+
if (outcome.standDown) {
|
|
1129
|
+
this.updateHotState(c.id, (h) => {
|
|
1130
|
+
h.standDownAt = new Date(this.now()).toISOString();
|
|
1131
|
+
});
|
|
1132
|
+
this.stoodDown.add(c.id);
|
|
1133
|
+
this.stopFor(c.id);
|
|
1134
|
+
this.emit('delivery.stand-down', { id: c.id, topicId: c.topicId, reason: outcome.reason });
|
|
1135
|
+
return 'failed-standdown';
|
|
1136
|
+
}
|
|
1137
|
+
if (outcome.permanent) {
|
|
1138
|
+
this.updateHotState(c.id, (h) => {
|
|
1139
|
+
if (!h.deliveryDeadLetteredAt)
|
|
1140
|
+
h.deliveryDeadLetteredAt = new Date(this.now()).toISOString();
|
|
1141
|
+
});
|
|
1142
|
+
try {
|
|
1143
|
+
this.config.raiseAttention?.(c.id, `Delivery for "${(c.agentResponse || c.userRequest).slice(0, 80)}" is permanently failing (${outcome.detail ?? outcome.reason}) — conversation unreachable; beacon dead-lettered. Reachability auto-clears on the next successful delivery or authenticated inbound.`);
|
|
1144
|
+
}
|
|
1145
|
+
catch { /* non-fatal */ }
|
|
1146
|
+
await this.config.commitmentTracker.mutate(c.id, prev => ({
|
|
1147
|
+
...prev,
|
|
1148
|
+
beaconSuppressed: true,
|
|
1149
|
+
beaconSuppressionReason: 'conversation-unreachable',
|
|
1150
|
+
}));
|
|
1151
|
+
this.stopFor(c.id);
|
|
1152
|
+
this.emit('delivery.dead-letter', { id: c.id, topicId: c.topicId, permanent: true });
|
|
1153
|
+
return 'failed-permanent';
|
|
1154
|
+
}
|
|
1155
|
+
// Transient (§5.1): hold the seq constant; count + (once) dead-letter.
|
|
1156
|
+
const threshold = this.config.deadLetterAfterConsecutiveFailures ?? 3;
|
|
1157
|
+
let deadLetterNow = false;
|
|
1158
|
+
const hot = this.updateHotState(c.id, (h) => {
|
|
1159
|
+
h.consecutiveDeliveryFailures = (h.consecutiveDeliveryFailures ?? 0) + 1;
|
|
1160
|
+
if ((h.consecutiveDeliveryFailures ?? 0) >= threshold && !h.deliveryDeadLetteredAt) {
|
|
1161
|
+
h.deliveryDeadLetteredAt = new Date(this.now()).toISOString();
|
|
1162
|
+
deadLetterNow = true;
|
|
1163
|
+
}
|
|
1164
|
+
});
|
|
1165
|
+
if (deadLetterNow) {
|
|
1166
|
+
try {
|
|
1167
|
+
this.config.raiseAttention?.(c.id, `${hot.consecutiveDeliveryFailures} consecutive delivery failures for "${(c.agentResponse || c.userRequest).slice(0, 80)}" (last: ${outcome.reason}${outcome.detail ? ` — ${outcome.detail}` : ''}). The beacon keeps retrying.`);
|
|
1168
|
+
}
|
|
1169
|
+
catch { /* non-fatal */ }
|
|
1170
|
+
this.emit('delivery.dead-letter', { id: c.id, topicId: c.topicId, permanent: false });
|
|
1171
|
+
}
|
|
1172
|
+
return 'failed-transient';
|
|
1173
|
+
}
|
|
1174
|
+
/**
|
|
1175
|
+
* §5 R3-M16 stand-down recheck — one O(active-stood-down) pass riding the
|
|
1176
|
+
* EXISTING external-block sweep (R4-minor-4: no new timer; default ≤ 1h). A
|
|
1177
|
+
* machine that BECOMES a stood-down conversation's owner (adoption on first
|
|
1178
|
+
* authenticated inbound) picks the beacon back up here. Public for tests.
|
|
1179
|
+
*/
|
|
1180
|
+
recheckStandDowns() {
|
|
1181
|
+
if (this.stoodDown.size === 0)
|
|
1182
|
+
return;
|
|
1183
|
+
const owns = this.config.ownsConversation;
|
|
1184
|
+
for (const id of [...this.stoodDown]) {
|
|
1185
|
+
const c = this.config.commitmentTracker.get(id);
|
|
1186
|
+
if (!c || c.status !== 'pending' || typeof c.topicId !== 'number') {
|
|
1187
|
+
this.stoodDown.delete(id);
|
|
1188
|
+
continue;
|
|
1189
|
+
}
|
|
1190
|
+
if (!owns)
|
|
1191
|
+
continue; // no ownership oracle wired — stay stood down
|
|
1192
|
+
let owned = false;
|
|
1193
|
+
try {
|
|
1194
|
+
owned = owns(c.topicId);
|
|
1195
|
+
}
|
|
1196
|
+
catch {
|
|
1197
|
+
owned = false; // fail toward staying stood down (never a spurious re-fire)
|
|
1198
|
+
}
|
|
1199
|
+
if (owned) {
|
|
1200
|
+
this.stoodDown.delete(id);
|
|
1201
|
+
this.updateHotState(id, (h) => {
|
|
1202
|
+
delete h.standDownAt;
|
|
1203
|
+
h.consecutiveDeliveryFailures = 0;
|
|
1204
|
+
});
|
|
1205
|
+
this.schedule(c);
|
|
1206
|
+
this.emit('delivery.stand-down-cleared', { id, topicId: c.topicId });
|
|
1207
|
+
}
|
|
1208
|
+
}
|
|
1026
1209
|
}
|
|
1027
1210
|
/**
|
|
1028
1211
|
* C1+C2 §4.4 — the external-block staleness governor. A slow global sweep over
|
|
@@ -1153,12 +1336,26 @@ export class PromiseBeacon extends EventEmitter {
|
|
|
1153
1336
|
saveHotState(id, hot) {
|
|
1154
1337
|
const p = path.join(this.stateDir, `${id}.json`);
|
|
1155
1338
|
try {
|
|
1156
|
-
|
|
1339
|
+
// R4-minor-1: ATOMIC tmp→rename (the house pattern) — the seq-bearing
|
|
1340
|
+
// file must never tear: a crash mid-write that yielded a parseable file
|
|
1341
|
+
// with a reset seq would re-collide against the now-DURABLE E1 entry and
|
|
1342
|
+
// silently suppress a legitimate post-restart heartbeat.
|
|
1343
|
+
const tmp = `${p}.tmp`;
|
|
1344
|
+
fs.writeFileSync(tmp, JSON.stringify(hot, null, 2));
|
|
1345
|
+
fs.renameSync(tmp, p);
|
|
1157
1346
|
}
|
|
1158
1347
|
catch (err) {
|
|
1159
1348
|
console.error(`[PromiseBeacon] persist failed for ${id}:`, err.message);
|
|
1160
1349
|
}
|
|
1161
1350
|
}
|
|
1351
|
+
/** Read-modify-write over the on-disk hot state — the delivery path and the
|
|
1352
|
+
* heartbeat path both write it, and neither may clobber the other's fields. */
|
|
1353
|
+
updateHotState(id, fn) {
|
|
1354
|
+
const hot = this.loadHotState(id);
|
|
1355
|
+
fn(hot);
|
|
1356
|
+
this.saveHotState(id, hot);
|
|
1357
|
+
return hot;
|
|
1358
|
+
}
|
|
1162
1359
|
/** Test accessor. */
|
|
1163
1360
|
getScheduledIds() {
|
|
1164
1361
|
return [...this.timers.keys()];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromiseBeacon.js","sourceRoot":"","sources":["../../src/monitoring/PromiseBeacon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AA6NnE,gDAAgD;AAChD,MAAM,kBAAkB,GAAG;IACzB,8CAA8C;IAC9C,oDAAoD;IACpD,mDAAmD;IACnD,gDAAgD;IAChD,yDAAyD;CAC1D,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,2DAA2D;IAC3D,iDAAiD;IACjD,yCAAyC;CAC1C,CAAC;AAEF,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,kBAAkB;IAClB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;IAC9C,8BAA8B;IAC9B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACvD,0BAA0B;IAC1B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,iEAAiE,EAAE,GAAG,CAAC,CAAC;IACtF,qBAAqB;IACrB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,sDAAsD,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB;IACrB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC7C,8CAA8C;IAC9C,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACtE,uCAAuC;QACvC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAC,CAAoD;IAC1E,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjF,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,IAAI,OAAe,CAAC;IACpB,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACtB,OAAO,GAAG,GAAG,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;IACzC,CAAC;IACD,yEAAyE;IACzE,8EAA8E;IAC9E,8EAA8E;IAC9E,6DAA6D;IAC7D,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AAC5C,CAAC;AAED,6EAA6E;AAC7E,SAAS,UAAU,CAAC,EAAU;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,MAAM,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACtB,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,oKAAoK,CAAC;IACpL,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,KAA0B,EAAE,OAAe;IAC/D,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACnE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW;YACd,OAAO,aAAa,EAAE,8CAA8C,CAAC;QACvE,KAAK,YAAY;YACf,OAAO,gBAAgB,EAAE,8FAA8F,CAAC;QAC1H,KAAK,eAAe;YAClB,OAAO,gBAAgB,EAAE,oEAAoE,CAAC;QAChG,KAAK,iBAAiB;YACpB,OAAO,4BAA4B,EAAE,mDAAmD,CAAC;QAC3F,KAAK,UAAU,CAAC;QAChB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,gCAAgC;AAChC,SAAS,SAAS,CAAC,GAAW,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,GAAG,GAAG;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QAC9C,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAE/E,MAAM,OAAO,aAAc,SAAQ,YAAY;IACrC,MAAM,CAAsB;IAC5B,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,CAAS;IACjB,MAAM,GAA+C,IAAI,GAAG,EAAE,CAAC;IACvE,+EAA+E;IACvE,uBAAuB,CAAkC;IACzD,MAAM,CAAS;IACf,YAAY,CAAS;IACrB,YAAY,CAAS;IACrB,SAAS,CAAS;IAClB,GAAG,CAAe;IAClB,gBAAgB,CAAS;IACzB,8BAA8B,CAAS;IAC/C,gEAAgE;IACxD,GAAG,CAAwG;IACnH,oDAAoD;IAC5C,iBAAiB,GAAG,CAAC,CAAC;IAC9B,iFAAiF;IACzE,iBAAiB,GAAG,CAAC,CAAC;IACtB,eAAe,GAAG,CAAC,CAAC;IAC5B,8EAA8E;IACtE,gBAAgB,GAAG,CAAC,CAAC;IAC7B,6EAA6E;IACrE,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvD,YAAY,MAA2B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACtD,IAAI,CAAC,8BAA8B,GAAG,MAAM,CAAC,8BAA8B,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACtE,IAAI,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE5E,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;YACxB,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,IAAI,CAAC;YACnD,uBAAuB,EAAE,CAAC,CAAC,uBAAuB,IAAI,OAAO;YAC7D,wBAAwB,EAAE,CAAC,CAAC,wBAAwB,IAAI,CAAC;YACzD,0BAA0B,EAAE,CAAC,CAAC,0BAA0B,IAAI,CAAC;YAC7D,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,MAAM;YAC1C,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,MAAM;YAChD,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,IAAI,CAAC;YACnD,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,IAAI,SAAS;YACrD,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,IAAI,OAAO;YACrD,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,SAAS;SACpD,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,gGAAgG;IAChG,iBAAiB;QAGf,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO;YAC5B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM;YAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB;YAChC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,0DAA0D;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB;aACzC,SAAS,EAAE;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAEjF,0CAA0C;QAC1C,sEAAsE;QACtE,0EAA0E;QAC1E,8DAA8D;QAC9D,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe;QACjC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,CAAC,MAAM,kCAAkC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC7H,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,4DAA4D;gBAC5D,IAAI,CAAC,MAAM,CAAC,iBAAiB;qBAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrB,GAAG,IAAI;oBACP,gBAAgB,EAAE,IAAI;oBACtB,uBAAuB,EAAE,mBAAmB;iBAC7C,CAAC,CAAC;qBACF,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,+DAA+D;QAC/D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAa,EAAE,EAAE;YAC7D,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAa,EAAE,EAAE;YAC9D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAa,EAAE,EAAE;YAC9D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,oEAAoE;QACpE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAa,EAAE,EAAE;YAC5D,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC3D,+DAA+D;gBAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpC,GAAG,CAAC,oBAAoB,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,wEAAwE;QACxE,sEAAsE;QACtE,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,EAAE,GAAG,MAAM,CAAC;QAChE,IAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9C,qEAAqE;YACrE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBAAE,OAAO;YAChE,IAAI,CAAC,mBAAmB,EAAE;iBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBAC1C,KAAK,CAAC,GAAG,CAAC,EAAE,CACX,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAG,GAAa,CAAC,OAAO,CAAC,CACpF,CAAC;QACN,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,KAAK,UAAU;YAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACnG,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC5C,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,6EAA6E;IAC7E,OAAO,CAAC,EAAU;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC;YACN,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,QAAQ,CAAC,CAAa;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO;QACvB,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,YAAY;YAAE,OAAO;QAE3E,2EAA2E;QAC3E,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,GAAG,MAAM,CAAC;QAC/C,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7G,MAAM,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,QAAQ;YAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC1B,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,YAAY;YAAE,OAAO;QAC3E,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO;QAEvB,uBAAuB;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjE,sEAAsE;YACtE,qEAAqE;YACrE,wEAAwE;YACxE,kEAAkE;YAClE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;YACxF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO;YACT,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjH,mEAAmE;YACnE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,oBAAoB;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,wEAAwE;QACxE,oEAAoE;QACpE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;YACtB,8EAA8E;YAC9E,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;gBACtE,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,oFAAoF;oBACpF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACjB,OAAO;gBACT,CAAC;gBACD,4EAA4E;YAC9E,CAAC;iBAAM,CAAC;gBACN,2EAA2E;gBAC3E,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAClC,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;gBAClF,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,WAAW,CAAC;gBAC3C,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;oBAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACvB,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,IAAI,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC9G,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC1E,4CAA4C;YAC5C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,kEAAkE;YAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/F,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACrE,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,KAAK,GAAG,CAAC,gBAAgB,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAElD,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAElD,uEAAuE;YACvE,4EAA4E;YAC5E,4EAA4E;YAC5E,2EAA2E;YAC3E,0EAA0E;YAC1E,IAAI,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC3G,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACpE,CAAC;gBAAC,MAAM,CAAC;oBACP,oEAAoE;oBACpE,oEAAoE;oBACpE,mEAAmE;oBACnE,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,GAAG,CAAC,uBAAuB,GAAG,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,0BAA0B,IAAI,CAAC,CAAC;oBAC/D,IAAI,GAAG,CAAC,uBAAuB,IAAI,UAAU,EAAE,CAAC;wBAC9C,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;wBAC7B,MAAM,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC5C,OAAO,CAAC,sCAAsC;oBAChD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,uBAAuB,GAAG,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,IAAI,IAAI,GAAkB,IAAI,CAAC;YAC/B,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,+DAA+D;gBAC/D,GAAG,CAAC,oBAAoB,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAC7C,YAAY,EACZ,CAAC,MAAM,EAAE,EAAE;wBACT,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;4BACnC,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC5F,CAAC;wBACD,kCAAkC;wBAClC,OAAO,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;oBACnE,CAAC;oBACD,4CAA4C;oBAC5C,CAAC,CACF,CAAC;oBACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;oBAEnD,wCAAwC;oBACxC,iEAAiE;oBACjE,mEAAmE;oBACnE,4DAA4D;oBAC5D,kEAAkE;oBAClE,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBACjC,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAChD,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAiB,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,EACnF,CAAC,CACF,CAAC;4BACF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gCAC1B,YAAY,GAAG,IAAI,CAAC;gCACpB,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,sBAAsB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gCAC1F,QAAQ,GAAG,UAAU,CAAC;4BACxB,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,qEAAqE;wBACvE,CAAC;oBACH,CAAC;oBAED,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;gBAC/C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,eAAe,IAAK,GAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAK,GAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBACpI,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,mCAAmC,MAAM,EAAE,CAAC;oBACnE,CAAC;yBAAM,CAAC;wBACN,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,uCAAuC,MAAM,EAAE,CAAC;oBACvE,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mCAAmC;gBACnC,GAAG,CAAC,oBAAoB,IAAI,CAAC,CAAC;gBAC9B,MAAM,iBAAiB,GAAG,GAAG,CAAC,oBAAoB,IAAI,CAAC,CAAC;gBACxD,IAAI,iBAAiB;oBAAE,YAAY,GAAG,IAAI,CAAC;gBAC3C,sEAAsE;gBACtE,oEAAoE;gBACpE,yEAAyE;gBACzE,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,2BAA2B,KAAK,KAAK,EAAE,CAAC;oBACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,sBAAsB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACtE,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;oBAC3C,GAAG,CAAC,sBAAsB,IAAI,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;oBAC1D,IAAI,YAAY,EAAE,CAAC;wBACjB,IAAI,GAAG,YAAY,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;wBACzE,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,GAAG,YAAY,CAAC;4BACpB,aAAa,GAAG,IAAI,CAAC;wBACvB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC;YAC1B,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAK,EAAE,WAAW,CAAC,CAAC;gBAC/C,IAAI,aAAa;oBAAE,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC;gBAC/C,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC;YAC1B,CAAC;YAED,wEAAwE;YACxE,sEAAsE;YACtE,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC;YAC7B,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAE7B,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxD,GAAG,IAAI;gBACP,eAAe,EAAE,MAAM;gBACvB,kEAAkE;gBAClE,6DAA6D;gBAC7D,cAAc,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,gBAAgB,EAAE,IAAI;gBACtB,oEAAoE;gBACpE,gEAAgE;gBAChE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;aAC1C,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,QAAQ,IAAI,SAAS;gBACjC,MAAM,EAAE,YAAY;gBACpB,IAAI;aACL,CAAC,CAAC;YAEH,iEAAiE;YACjE,mEAAmE;YACnE,oEAAoE;YACpE,gEAAgE;YAChE,2CAA2C;YAC3C,MAAM,SAAS,GAAG,CAAC,CAAC,6BAA6B,IAAI,IAAI,CAAC,8BAA8B,CAAC;YACzF,MAAM,oBAAoB,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;YACpD,IAAI,SAAS,GAAG,CAAC,IAAI,oBAAoB,IAAI,GAAG,CAAC,oBAAoB,IAAI,SAAS,EAAE,CAAC;gBACnF,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACjC,OAAO,CAAC,gBAAgB;YAC1B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACpE,CAAC;QAED,UAAU;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,IAAI,IAAI;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,SAAS,CAAC,CAAa,EAAE,OAAe;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,MAAM,gCAAgC,MAAM,kDAAkD,CAAC;QACzH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,GAAG,IAAI;YACP,YAAY,EAAE,IAAI;YAClB,kBAAkB,EAAE,yBAAyB;YAC7C,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;YAClD,qEAAqE;YACrE,mEAAmE;YACnE,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;SAC/C,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,CAAa,EAAE,MAAc;QACxD,IAAI,CAAC,CAAC,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxC,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,kDAAkD;QACnF,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,GAAG,MAAM,CAAC;QAC/C,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3D,IAAI,SAAS,GAAG,CAAC,GAAG,SAAS;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,GAAG,IAAI,CAAC,MAAM,yBAAyB,MAAM,qCAAqC,UAAU,CAAC,SAAS,CAAC,4BAA4B,CAAC;IAC7I,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CACvB,CAAa,EACb,GAAa,EACb,MAAc,EACd,WAA0B;QAE1B,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,GAAG,MAAM,CAAC;QACrE,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc;YAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAC/D,OAAO,GAAG,IAAI,CAAC,MAAM,kBAAkB,MAAM,MAAM,KAAK,6BAA6B,CAAC;IACxF,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,oBAAoB,CAAC,CAAa,EAAE,OAAe;QAC/D,MAAM,EAAE,GAAG,OAAO,IAAI,WAAW,CAAC;QAClC,MAAM,SAAS,GACb,GAAG,IAAI,CAAC,MAAM,6BAA6B,EAAE,0CAA0C;YACvF,gDAAgD,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAC3G,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,GAAG,IAAI;YACP,YAAY,EAAE,IAAI;YAClB,kBAAkB,EAAE,eAAe;YACnC,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;SACnD,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,6EAA6E;IAErE,KAAK,CAAC,QAAQ,CAAC,CAAa,EAAE,MAAc;QAClD,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,GAAG,IAAI;YACP,gBAAgB,EAAE,IAAI;YACtB,uBAAuB,EAAE,MAAM;SAChC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,sEAAsE;QACtE,MAAM,UAAU,GAAG,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;QACxE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,mDAAmD;YACnD,IAAI,CAAC,MAAM,CAAC,iBAAiB;iBAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,CAAC,CAAC;iBAChG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACvC,KAAK,CAAC,GAAG,EAAE,GAAyC,CAAC,CAAC,CAAC;QAC5D,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,+EAA+E;IAE/E,8DAA8D;IACtD,YAAY,CAAC,OAAe;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAI,CAAC,uBAAuB,CAAC;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,0EAA0E;IAClE,WAAW;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC3B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,iFAAiF;IACzE,QAAQ,CAAC,CAAa,EAAE,QAAgB,EAAE,QAAiC,EAAE;QACnF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ;YACR,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM;YAC1B,QAAQ,EAAE,CAAC,CAAC,kBAAkB,IAAI,CAAC;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,QAAQ,CAAC,CAAa;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAE3C,mDAAmD;QACnD,IAAI,QAAQ,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,MAAM,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;YACjC,OAAO,CAAC,iBAAiB;QAC3B,CAAC;QAED,2EAA2E;QAC3E,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;YACxF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;QAChE,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC,wBAAwB;YACtD,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC,0BAA0B,EAAE,CAAC;YAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC/B,+CAA+C;YAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,8EAA8E;QAC9E,wEAAwE;QACxE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,GAAG,IAAI;YACP,kBAAkB,EAAE,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,CAAC;YACtD,gBAAgB,EAAE,MAAM;YACxB,mBAAmB,EAAE,SAAS;YAC9B,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,+BAA+B;YAC5C,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAE7D,IAAI,MAAoB,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;gBACvC,OAAO,EAAE,CAAC,CAAC,OAAQ;gBACnB,YAAY,EAAE,CAAC,CAAC,EAAE;gBAClB,mBAAmB,EAAE,SAAS;gBAC9B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,aAAa,EAAE,CAAC,CAAC,aAAa;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,wEAAwE;YACxE,sEAAsE;YACtE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxD,GAAG,IAAI;gBACP,kBAAkB,EAAE,KAAK;gBACzB,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC,CAAC,CAAC;YACJ,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,yEAAyE;QACzE,sDAAsD;QACtD,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,qEAAqE;IAC7D,cAAc,CAAC,CAAiC;QACtD,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,OAAO,CAAC,CAAC,OAAO,eAAe,CAAC;YACrC,KAAK,QAAQ,CAAC,CAAC,OAAO,eAAe,CAAC;YACtC,KAAK,mBAAmB,CAAC,CAAC,OAAO,WAAW,CAAC;YAC7C,KAAK,OAAO,CAAC,CAAC,OAAO,YAAY,CAAC;YAClC,KAAK,SAAS,CAAC,CAAC,OAAO,YAAY,CAAC;YACpC,OAAO,CAAC,CAAC,OAAO,YAAY,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe,CAC3B,CAAa,EACb,WAA0B,EAC1B,SAAwB;QAExB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAI,CAAC;QACtB,MAAM,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QAEhC,oCAAoC;QACpC,yEAAyE;QACzE,2EAA2E;QAC3E,6EAA6E;QAC7E,qEAAqE;QACrE,6EAA6E;QAC7E,iBAAiB;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC;YACnG,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACvH,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;oBAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,0DAA0D,CAAC,CAAC;QACxE,CAAC;QAED,wEAAwE;QACxE,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,IAAI,SAAS,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;QAC/E,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,CAAC,mBAAmB;gBAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxD,GAAG,IAAI;gBACP,YAAY,EAAE,SAAU;gBACxB,kBAAkB,EAAE,KAAK;gBACzB,mBAAmB,EAAE,SAAS;gBAC9B,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,kEAAkE;QAClE,IAAI,GAAG,GAAG,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,CAAC,mBAAmB;gBAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxD,GAAG,IAAI;gBACP,kBAAkB,EAAE,KAAK;gBACzB,mBAAmB,EAAE,SAAS;aAC/B,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YAClC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4EAA4E;IACpE,KAAK,CAAC,KAAK,CAAC,CAAa,EAAE,KAA0B;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAI,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,CAAC,sBAAsB,IAAI,CAAC,CAAC;QAE3C,+DAA+D;QAC/D,IAAI,IAAI,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,wBAAwB;QACxB,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,4BAA4B;QAC5B,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAEtF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,GAAG,IAAI;YACP,sBAAsB,EAAE,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,GAAG,CAAC;YAC9D,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;YAC/C,WAAW,EAAE,GAAG;YAChB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,oFAAoF;IAC5E,KAAK,CAAC,KAAK,CAAC,CAAa;QAC/B,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACjF,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,GAAG,IAAI;YACP,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;YAC9C,UAAU,EAAE,0BAA0B;YACtC,WAAW,EAAE,GAAG;YAChB,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,CAAC,CAAC,kBAAkB,IAAI,CAAC,YAAY,CAAC;QAChJ,IAAI,CAAC;YAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,sFAAsF;IACtF,iBAAiB,KAAW,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzD;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,YAAY,CACxB,CAAa,EACb,IAAY,EACZ,IAAqD;QAErD,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;YAC7C,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI;gBAAE,OAAO;YAC9B,6EAA6E;YAC7E,kEAAkE;YAClE,uEAAuE;YACvE,qEAAqE;YACrE,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,MAAM;oBAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE;gBAC7C,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1F,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1C,MAAM,YAAY,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,wEAAwE;YACxE,6EAA6E;YAC7E,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjF,MAAM,YAAY,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;YACjF,IAAI,CAAC;gBAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7E,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QACD,mCAAmC;QACnC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,MAAM,YAAY,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1F,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YAC1F,IAAI,CAAC,CAAC,2BAA2B;gBAAE,SAAS,CAAC,gCAAgC;YAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,WAAW,GAAG,QAAQ,CAAC;YACjF,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC;YAC7E,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAC1E,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClE,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,MAAM,MAAM,GACV,oDAAoD,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI;gBACvG,OAAO,MAAM,KAAK,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,wBAAwB,MAAM;gBACtG,qCAAqC,CAAC;YACxC,IAAI,CAAC;gBAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxD,GAAG,IAAI;gBACP,2BAA2B,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;aACzD,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,uBAAuB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1F,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO;QAC3B,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBACrC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;oBACvB,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM;oBAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,CAAa,EAAE,MAAc;QAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,GAAG,IAAI;YACP,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC,CAAC;QACJ,qEAAqE;QACrE,6EAA6E;QAC7E,6EAA6E;QAC7E,2EAA2E;QAC3E,wBAAwB;QACxB,MAAM,IAAI,CAAC,YAAY,CACrB,CAAC,EACD,mCAAmC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,MAAM,EAAE,EACzG,UAAU,CACX,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,YAAY;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,GAAG,MAAM,CAAC;QAC3C,CAAC;QACD,kBAAkB;QAClB,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,GAAG,MAAM,CAAC;IAC3C,CAAC;IAEO,YAAY,CAAC,EAAU;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,YAAY,CAAC,EAAU;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO;gBACL,cAAc,EAAE,CAAC;gBACjB,oBAAoB,EAAE,CAAC;gBACvB,sBAAsB,EAAE,CAAC;gBACzB,GAAG,MAAM;aACV,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,cAAc,EAAE,CAAC;gBACjB,oBAAoB,EAAE,CAAC;gBACvB,sBAAsB,EAAE,CAAC;aAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,EAAU,EAAE,GAAa;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,eAAe;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"PromiseBeacon.js","sourceRoot":"","sources":["../../src/monitoring/PromiseBeacon.ts"],"names":[],"mappings":"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"}
|
|
@@ -319,6 +319,15 @@ export declare class AgentServer {
|
|
|
319
319
|
/** Durable conversation identity (durable-conversation-identity §8) — backs
|
|
320
320
|
* the read-only GET /conversations* surface. Always-on foundation. */
|
|
321
321
|
conversationRegistry?: import('../core/ConversationRegistry.js').ConversationRegistry;
|
|
322
|
+
/** durable-conversation-identity §7 bind-time authority (increment 2) —
|
|
323
|
+
* the stateless bind-token verifier. Default-constructed below so the bind
|
|
324
|
+
* gate is alive on every init path. */
|
|
325
|
+
conversationBindAuth?: import('../core/conversationBindToken.js').ConversationBindAuth;
|
|
326
|
+
/** §6.1 dark-window honesty (increment 2) — the live followThrough gate. */
|
|
327
|
+
conversationFollowThrough?: () => {
|
|
328
|
+
enabled: boolean;
|
|
329
|
+
dryRun: boolean;
|
|
330
|
+
};
|
|
322
331
|
/** U4.1 §2C — sticky skew-quarantine set (GET /pool/pin-quarantine + re-admit). */
|
|
323
332
|
topicPinSkewQuarantine?: import('../core/TopicPinSkewQuarantine.js').TopicPinSkewQuarantine;
|
|
324
333
|
/** U4.1 §2C — the answer-complete pin fold view (status + re-admit refold). */
|