@cotal-ai/manager 0.56.1 → 0.58.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/README.md +13 -0
- package/dist/commands.js +58 -5
- package/dist/commands.js.map +1 -1
- package/dist/console/session-bundle.js +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/manager-service-contract.d.ts +1 -0
- package/dist/manager-service-contract.d.ts.map +1 -1
- package/dist/manager-service-contract.js +32 -0
- package/dist/manager-service-contract.js.map +1 -1
- package/dist/manager.d.ts +50 -18
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +384 -130
- package/dist/manager.js.map +1 -1
- package/dist/remote-authority.d.ts +43 -3
- package/dist/remote-authority.d.ts.map +1 -1
- package/dist/remote-authority.js +140 -1
- package/dist/remote-authority.js.map +1 -1
- package/dist/run-hosting.d.ts +55 -1
- package/dist/run-hosting.d.ts.map +1 -1
- package/dist/run-hosting.js +98 -14
- package/dist/run-hosting.js.map +1 -1
- package/dist/runtime/custodial-pty.d.ts +4 -4
- package/dist/runtime/custodial-pty.js +4 -4
- package/dist/runtime/pty.d.ts.map +1 -1
- package/dist/runtime/pty.js +5 -1
- package/dist/runtime/pty.js.map +1 -1
- package/dist/static-lifecycle.d.ts +7 -0
- package/dist/static-lifecycle.d.ts.map +1 -1
- package/dist/static-lifecycle.js +55 -15
- package/dist/static-lifecycle.js.map +1 -1
- package/package.json +15 -13
package/dist/run-hosting.js
CHANGED
|
@@ -18,11 +18,9 @@
|
|
|
18
18
|
* call's and expires with it; an answer is two such calls, the read that finds the pause and then
|
|
19
19
|
* a write pinned to that pause's token. An open mesh has no credential system and connects bare.
|
|
20
20
|
*
|
|
21
|
-
* A
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* check and the program would fail at its first seat. Until a run carries its starting user's
|
|
25
|
-
* owner into that caller, the family is `unimplemented` there, named as such.
|
|
21
|
+
* A registered signerless user-auth manager may host runs only with all four closed callbacks.
|
|
22
|
+
* Its issuer checks the admitted caller and signs the fixed attempt profiles for manager-held
|
|
23
|
+
* nkeys; the runtime derives its stable effect caller under the admitted owner's account.
|
|
26
24
|
*
|
|
27
25
|
* A manager restart takes its runs back: at boot, every run recorded `running` under this
|
|
28
26
|
* endpoint is resumed under a fresh takeover, epoch + 1, from its recorded program. A run whose
|
|
@@ -45,7 +43,10 @@ import { randomBytes } from "node:crypto";
|
|
|
45
43
|
import { credsAuthenticator } from "@nats-io/transport-node";
|
|
46
44
|
import { jetstream, jetstreamManager } from "@nats-io/jetstream";
|
|
47
45
|
import { Kvm } from "@nats-io/kv";
|
|
48
|
-
import { COTAL_LANG_RUN_HOST, DEFAULT_SERVER, EpEnvelopeError, LANG_PROBLEM_DETAIL_KIND, RUN_ACTIVATION_WAIT_MS, RUN_HOST_KIND, dialerFor, inspectCredHealth, mintCreds, newIdentity, newTakeoverId, admissionBucket, createRunAdmission, readRunAdmission, revokeRunAdmission, withIssuerSession, isIssuedCaller, EP_UNBOUND_CALLER_AUTHORITY, openRecordsBucket, readRunProgram, readRunRecord, registry, standaloneConnectOpts, walkKvEntries, } from "@cotal-ai/core";
|
|
46
|
+
import { COTAL_LANG_RUN_HOST, DEFAULT_SERVER, EpEnvelopeError, LANG_PROBLEM_DETAIL_KIND, RUN_ACTIVATION_WAIT_MS, RUN_HOST_KIND, dialerFor, inspectCredHealth, mintCreds, newIdentity, newTakeoverId, admissionBucket, createRunAdmission, readRunAdmission, revokeRunAdmission, withIssuerSession, epRequestSubject, isIssuedCaller, EP_UNBOUND_CALLER_AUTHORITY, openRecordsBucket, readRunProgram, readRunRecord, registry, standaloneConnectOpts, walkKvEntries, } from "@cotal-ai/core";
|
|
47
|
+
/** The signerless callback set. RunHosting is remote exactly when ALL four are supplied; a partial
|
|
48
|
+
* set refuses construction, and nothing falls back to a local signer or a bare connection. */
|
|
49
|
+
const REMOTE_CALLBACKS = ["admitRun", "issueAttempt", "issueOperator", "renewRun"];
|
|
49
50
|
const DEFAULT_CHECKPOINT_TIMEOUT = "1h";
|
|
50
51
|
/** How many launches (start or resume) may be in their activation wait at once. Each holds a
|
|
51
52
|
* standing connection and a minted credential; past this a caller is refused `resource-exhausted`
|
|
@@ -57,8 +58,15 @@ export class RunHosting {
|
|
|
57
58
|
launching = 0;
|
|
58
59
|
reconciled = false;
|
|
59
60
|
stopping = false;
|
|
61
|
+
remote;
|
|
60
62
|
constructor(ctx) {
|
|
61
63
|
this.ctx = ctx;
|
|
64
|
+
const present = REMOTE_CALLBACKS.filter((k) => ctx[k] !== undefined);
|
|
65
|
+
if (present.length !== 0 && present.length !== REMOTE_CALLBACKS.length)
|
|
66
|
+
throw new Error(`signerless run hosting needs every closed callback (${REMOTE_CALLBACKS.join(", ")}); got only ${present.join(", ")}`);
|
|
67
|
+
this.remote = present.length === REMOTE_CALLBACKS.length;
|
|
68
|
+
if (this.remote && ctx.auth !== undefined)
|
|
69
|
+
throw new Error("signerless run hosting holds no space signer");
|
|
62
70
|
}
|
|
63
71
|
/** The one registered run host. Absent means the composition root never imported the runtime,
|
|
64
72
|
* which is a configuration error named here rather than a silent no-op surface. */
|
|
@@ -116,10 +124,14 @@ export class RunHosting {
|
|
|
116
124
|
async admit(ctx, runId) {
|
|
117
125
|
const caller = ctx.subject.caller;
|
|
118
126
|
const auth = this.ctx.auth;
|
|
119
|
-
if (auth === undefined)
|
|
127
|
+
if (auth === undefined && !this.remote)
|
|
120
128
|
throw new EpEnvelopeError("unimplemented", `an open mesh issues no caller authority and keeps no admission, so it hosts no run in space ${this.ctx.space}; runs need a static-auth mesh (SPEC 14.8)`);
|
|
121
129
|
if (ctx.subject.rail !== "v1" || !isIssuedCaller(caller))
|
|
122
130
|
throw new EpEnvelopeError("permission-denied", `run-start binds a run to the caller's issued authority, and this request rode the legacy rail with none; re-mint the credential as an issuance and call on the versioned rail (SPEC 13.15, 14.8)`, [{ kind: EP_UNBOUND_CALLER_AUTHORITY, owner: caller.owner, actor: caller.actor, uid: caller.uid }]);
|
|
131
|
+
if (this.remote)
|
|
132
|
+
return { admission: await this.admitRemote(this.ctx.admitRun, ctx, runId), revoked: undefined };
|
|
133
|
+
if (auth === undefined)
|
|
134
|
+
throw new EpEnvelopeError("unimplemented", "an open mesh admits no hosted run (SPEC 14.8)");
|
|
123
135
|
const ref = { space: this.ctx.space, owner: caller.owner, actor: caller.actor, uid: caller.uid, generation: caller.generation };
|
|
124
136
|
const resolved = await withIssuerSession({ servers: this.ctx.servers ?? DEFAULT_SERVER, space: this.ctx.space, auth, tls: false }, (s) => s.store.resolve(ref, s.sourceIsLive));
|
|
125
137
|
const admission = {
|
|
@@ -136,6 +148,22 @@ export class RunHosting {
|
|
|
136
148
|
await this.withAdmitter(runId, (kv) => createRunAdmission(kv, admission));
|
|
137
149
|
return { admission, revoked: undefined };
|
|
138
150
|
}
|
|
151
|
+
/** The signerless arm of {@link admit}: the issuing host resolves and writes; this host only
|
|
152
|
+
* checks the answer names the run, endpoint, instance and caller it asked for. */
|
|
153
|
+
async admitRemote(admitRun, ctx, runId) {
|
|
154
|
+
const p = ctx.subject;
|
|
155
|
+
const subject = epRequestSubject(this.ctx.space, {
|
|
156
|
+
route: p.route === "inst" ? { mode: "inst", instanceId: p.instanceId } : { mode: p.route },
|
|
157
|
+
endpoint: p.endpoint, command: p.command, caller: p.caller, nonce: p.nonce,
|
|
158
|
+
});
|
|
159
|
+
const admission = await admitRun({ runId, subject });
|
|
160
|
+
const c = admission.caller;
|
|
161
|
+
if (admission.runId !== runId || admission.endpoint !== this.ctx.endpoint || admission.space !== this.ctx.space ||
|
|
162
|
+
admission.instanceId !== this.ctx.instanceId || !isIssuedCaller(c) || !isIssuedCaller(p.caller) ||
|
|
163
|
+
c.owner !== p.caller.owner || c.actor !== p.caller.actor || c.uid !== p.caller.uid || c.generation !== p.caller.generation)
|
|
164
|
+
throw new EpEnvelopeError("internal", `run ${runId}: the issuing host answered an admission for other coordinates; refused`);
|
|
165
|
+
return admission;
|
|
166
|
+
}
|
|
139
167
|
/** One admission-store write over an ephemeral `run-admitter` credential pinned to this run. */
|
|
140
168
|
async withAdmitter(runId, fn) {
|
|
141
169
|
const auth = this.ctx.auth;
|
|
@@ -166,6 +194,8 @@ export class RunHosting {
|
|
|
166
194
|
* admission; every later channel effect of the run refuses on reading it, and a drive parked in
|
|
167
195
|
* a wait ends within one poll. Idempotent. */
|
|
168
196
|
async revoke(runId, by, reason) {
|
|
197
|
+
if (this.remote)
|
|
198
|
+
throw new EpEnvelopeError("unimplemented", "a signerless host writes no revocation marker; revoke through the issuing host");
|
|
169
199
|
await this.withAdmitter(runId, (kv) => revokeRunAdmission(kv, this.ctx.endpoint, { version: 1, runId, by, reason, revokedAt: Date.now() }));
|
|
170
200
|
}
|
|
171
201
|
/** `run-resume`: take a recorded run over under a fresh takeover and continue it from its journal.
|
|
@@ -341,6 +371,8 @@ export class RunHosting {
|
|
|
341
371
|
* coordinates when it is past its renewal point; the connection presents the fresh one on its
|
|
342
372
|
* next (re)connect. Open mesh: nothing to renew. */
|
|
343
373
|
async renew() {
|
|
374
|
+
if (this.ctx.renewRun)
|
|
375
|
+
return this.renewRemote(this.ctx.renewRun);
|
|
344
376
|
const auth = this.ctx.auth;
|
|
345
377
|
if (!auth)
|
|
346
378
|
return;
|
|
@@ -368,6 +400,48 @@ export class RunHosting {
|
|
|
368
400
|
}
|
|
369
401
|
}
|
|
370
402
|
}
|
|
403
|
+
/** Both-or-none adoption of the host-issued pair for the attempt's own coordinates. The pair is
|
|
404
|
+
* adopted only while the same attempt still holds the slot; anything else keeps last-good. */
|
|
405
|
+
async renewRemote(renewRun) {
|
|
406
|
+
for (const run of [...this.runs.values()]) {
|
|
407
|
+
if (run.creds === undefined || run.mediatorCreds === undefined || run.fencingToken === undefined)
|
|
408
|
+
continue;
|
|
409
|
+
if (inspectCredHealth(run.creds).state === "healthy" && inspectCredHealth(run.mediatorCreds).state === "healthy")
|
|
410
|
+
continue;
|
|
411
|
+
try {
|
|
412
|
+
const pair = await renewRun({
|
|
413
|
+
runId: run.runId, holder: `${this.ctx.holder.id}.${run.takeoverId}`, takeoverId: run.takeoverId,
|
|
414
|
+
epoch: run.epoch, fencingToken: run.fencingToken, driver: run.identity, mediator: run.mediatorIdentity,
|
|
415
|
+
});
|
|
416
|
+
for (const [name, cred] of [["driver", pair.driver], ["mediator", pair.mediator]])
|
|
417
|
+
if (typeof cred !== "string" || inspectCredHealth(cred).state !== "healthy")
|
|
418
|
+
throw new Error(`host returned an unusable run-${name} credential`);
|
|
419
|
+
// Neither holder changes until BOTH candidates have proved broker connectivity. A JWT
|
|
420
|
+
// with coherent local claims can still carry a bad signature or a revoked account.
|
|
421
|
+
for (const cred of [pair.driver, pair.mediator]) {
|
|
422
|
+
const candidate = await dialerFor(this.ctx.servers ?? DEFAULT_SERVER)({
|
|
423
|
+
servers: this.ctx.servers ?? DEFAULT_SERVER,
|
|
424
|
+
...standaloneConnectOpts({ creds: cred, tls: false }),
|
|
425
|
+
maxReconnectAttempts: 0,
|
|
426
|
+
});
|
|
427
|
+
await candidate.close();
|
|
428
|
+
}
|
|
429
|
+
if (this.stopping || this.runs.get(run.runId) !== run)
|
|
430
|
+
throw new Error("the attempt left this host while its renewal was in flight");
|
|
431
|
+
run.creds = pair.driver;
|
|
432
|
+
run.mediatorCreds = pair.mediator;
|
|
433
|
+
run.renewalDebt = undefined;
|
|
434
|
+
await Promise.all([
|
|
435
|
+
run.nc?.reconnect().catch(() => { }),
|
|
436
|
+
run.mediatorNc?.reconnect().catch(() => { }),
|
|
437
|
+
]);
|
|
438
|
+
}
|
|
439
|
+
catch (e) {
|
|
440
|
+
run.renewalDebt = { at: Date.now(), reason: e.message };
|
|
441
|
+
this.ctx.log(`! run-driver/mediator renewal for ${run.runId}: ${e.message} - last-good kept, nothing minted locally`);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
}
|
|
371
445
|
/** Shutdown: ask every drive to stop at its next boundary and drain the connections of those
|
|
372
446
|
* that reach one. A drive parked in a pause reaches no boundary; its connection is closed under
|
|
373
447
|
* it, so nothing it writes on the way out can land and its record stays `running`, which is what
|
|
@@ -438,20 +512,25 @@ export class RunHosting {
|
|
|
438
512
|
async drive(host, req, slot) {
|
|
439
513
|
const { takeoverId, identity, mediatorIdentity } = slot;
|
|
440
514
|
const auth = this.ctx.auth;
|
|
441
|
-
|
|
515
|
+
if (this.remote && slot.placements.length !== 0)
|
|
516
|
+
throw new EpEnvelopeError("unimplemented", `run ${req.runId}: a signerless host issues no placed-spawn mediator; drive a program with a placed spawn from a static-auth manager`);
|
|
517
|
+
const issued = this.remote
|
|
518
|
+
? await this.ctx.issueAttempt({ runId: req.runId, takeoverId, epoch: req.epoch, fencingToken: req.fencingToken, driver: identity, mediator: mediatorIdentity })
|
|
519
|
+
: undefined;
|
|
520
|
+
const creds = issued ? issued.driver : auth
|
|
442
521
|
? await mintCreds(auth, identity, "run-driver", {
|
|
443
522
|
runDriver: { endpoint: this.ctx.endpoint, runId: req.runId, takeoverId, instanceId: this.ctx.instanceId, epoch: req.epoch },
|
|
444
523
|
})
|
|
445
524
|
: undefined;
|
|
446
525
|
const placement = slot.placements.length === 1 ? { instanceId: slot.placements[0].instanceId } : undefined;
|
|
447
|
-
const mediatorCreds = auth
|
|
526
|
+
const mediatorCreds = issued ? issued.mediator : auth
|
|
448
527
|
? await mintCreds(auth, mediatorIdentity, "run-mediator", {
|
|
449
528
|
runMediator: { endpoint: this.ctx.endpoint, runId: req.runId, takeoverId, instanceId: this.ctx.instanceId, epoch: req.epoch, ...(placement !== undefined ? { placement } : {}) },
|
|
450
529
|
})
|
|
451
530
|
: undefined;
|
|
452
531
|
// The attempt's coordinates on the slot before the connection: the renewal loop re-mints from
|
|
453
532
|
// these, and the epoch is a per-attempt fact.
|
|
454
|
-
const holder = Object.assign(slot, { epoch: req.epoch, ...(creds !== undefined ? { creds, mediatorCreds } : {}) });
|
|
533
|
+
const holder = Object.assign(slot, { epoch: req.epoch, fencingToken: req.fencingToken, ...(creds !== undefined ? { creds, mediatorCreds } : {}) });
|
|
455
534
|
const enc = new TextEncoder();
|
|
456
535
|
// A STANDING connection: the drive may park for hours inside a pause, so it reconnects without
|
|
457
536
|
// bound and presents whatever credential the renewal loop last minted.
|
|
@@ -569,13 +648,18 @@ export class RunHosting {
|
|
|
569
648
|
const takeoverId = newTakeoverId();
|
|
570
649
|
const endpoint = scope.endpoint ?? this.ctx.endpoint;
|
|
571
650
|
const auth = this.ctx.auth;
|
|
651
|
+
const pin = { takeoverId, ...(scope.runId !== undefined ? { runId: scope.runId } : {}), ...(scope.answers !== undefined ? { answers: scope.answers } : {}) };
|
|
652
|
+
if (this.remote && endpoint !== this.ctx.endpoint)
|
|
653
|
+
throw new EpEnvelopeError("permission-denied", `a signerless host serves reads and answers for its own endpoint ${this.ctx.endpoint} only`);
|
|
654
|
+
const operator = newIdentity();
|
|
655
|
+
const creds = this.remote
|
|
656
|
+
? await this.ctx.issueOperator({ identity: operator, ...pin })
|
|
657
|
+
: auth ? await mintCreds(auth, operator, "run-operator", { runOperator: { endpoint, ...pin } }) : undefined;
|
|
572
658
|
const nc = await dialerFor(this.ctx.servers ?? DEFAULT_SERVER)({
|
|
573
659
|
servers: this.ctx.servers ?? DEFAULT_SERVER,
|
|
574
|
-
...(
|
|
660
|
+
...(creds !== undefined
|
|
575
661
|
? standaloneConnectOpts({
|
|
576
|
-
creds
|
|
577
|
-
runOperator: { endpoint, takeoverId, ...(scope.runId !== undefined ? { runId: scope.runId } : {}), ...(scope.answers !== undefined ? { answers: scope.answers } : {}) },
|
|
578
|
-
}),
|
|
662
|
+
creds,
|
|
579
663
|
/* not yet wired to a recorded transport */ tls: false,
|
|
580
664
|
})
|
|
581
665
|
: {}),
|
package/dist/run-hosting.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-hosting.js","sourceRoot":"","sources":["../src/run-hosting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAuB,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAW,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,2BAA2B,EAI3B,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,aAAa,GAYd,MAAM,gBAAgB,CAAC;AAmCxB,MAAM,0BAA0B,GAAG,IAAI,CAAC;AACxC;;6FAE6F;AAC7F,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,OAAO,UAAU;IAMQ;IALZ,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,SAAS,GAAG,CAAC,CAAC;IACd,UAAU,GAAG,KAAK,CAAC;IACnB,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAA6B,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;IAAG,CAAC;IAEvD;wFACoF;IAC5E,IAAI;QACV,OAAO,QAAQ,CAAC,OAAO,CAAU,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACvE,CAAC;IAED;wCACoC;IAC5B,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU;YAClB,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,yGAAyG,CAAC,CAAC;IACxJ,CAAC;IAED;;;;;;;mDAO+C;IAC/C,KAAK,CAAC,KAAK,CAAC,GAAmB,EAAE,IAAyD;QACxF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,4FAA4F;YAC5F,sFAAsF;YACtF,2FAA2F;YAC3F,6BAA6B;YAC7B,MAAM,IAAI,eAAe,CACvB,aAAa,EACb,kCAAkC,OAAO,CAAC,MAAM,CAAC,MAAM,WAAW,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAC3G,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACvB,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,sKAAsK,CAAC,CAAC;QACrN,4FAA4F;QAC5F,iEAAiE;QACjE,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACtB,IAAI,EAAE,KAAK;YACX,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,0BAA0B;YACnD,SAAS;YACT,UAAU;SACX,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;4EAEwE;IAChE,KAAK,CAAC,KAAK,CAAC,GAAmB,EAAE,KAAa;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YACpB,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,+FAA+F,IAAI,CAAC,GAAG,CAAC,KAAK,4CAA4C,CAAC,CAAC;QACxM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YACtD,MAAM,IAAI,eAAe,CACvB,mBAAmB,EACnB,kMAAkM,EAClM,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CACnG,CAAC;QACJ,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QAChI,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CACvI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QACxC,MAAM,SAAS,GAAiB;YAC9B,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;YACrB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;YAC3B,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;YAC/B,MAAM;YACN,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW;YACtC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;SACvB,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,gGAAgG;IACxF,KAAK,CAAC,YAAY,CAAI,KAAa,EAAE,EAA0B;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;QACpH,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;YAC7D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc;YAC3C,GAAG,qBAAqB,CAAC;gBACvB,KAAK,EAAE,MAAM,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;gBACpH,2CAA2C,CAAC,GAAG,EAAE,KAAK;aACvD,CAAC;YACF,oBAAoB,EAAE,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;yFAEqF;IAC7E,KAAK,CAAC,QAAQ,CAAC,KAAa;QAClC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAChI,CAAC;IAED;;mDAE+C;IAC/C,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,EAAU,EAAE,MAAc;QACpD,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9I,CAAC;IAED;;;yEAGqE;IACrE,KAAK,CAAC,MAAM,CAAC,IAAyC;QACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,KAA4H,CAAC;QACjI,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBAC1E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtE,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAC3C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxE,wFAAwF;gBACxF,2EAA2E;gBAC3E,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpG,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS;oBACjC,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,OAAO,IAAI,CAAC,KAAK,mBAAmB,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM,6CAA6C,CAAC,CAAC;gBACrL,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,KAAK,SAAS;gBACrB,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,KAAK,2BAA2B,IAAI,CAAC,GAAG,CAAC,QAAQ,kDAAkD,CAAC,CAAC;YAC1J,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAC7B,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,OAAO,IAAI,CAAC,KAAK,8HAA8H,IAAI,CAAC,KAAK,6BAA6B,CAAC,CAAC;YAC3O,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,EAAE;gBACb,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,OAAO,IAAI,CAAC,KAAK,yDAAyD,CAAC,CAAC;YAC/H,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;gBACvC,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,KAAK,mHAAmH,CAAC,CAAC;YACnL,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,CAAC,CAAC;QACV,CAAC;QACD,iGAAiG;QACjG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACtB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;YACrC,YAAY,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;YACnD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,0BAA0B;SACpD,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;;;4EAIwE;IACxE,KAAK,CAAC,MAAM,CACV,IAA+F,EAC/F,EAAU,EACV,SAA4D;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QACpD,IAAI,IAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAC1F,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qFAAqF;YACrF,uFAAuF;YACvF,IAAI,CAAC,YAAY,eAAe;gBAAE,MAAM,CAAC,CAAC;YAC1C,IAAK,CAAuB,CAAC,IAAI,KAAK,mBAAmB;gBAAE,MAAM,IAAI,eAAe,CAAC,WAAW,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;YACxH,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CACtF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,QAAQ;YACR,IAAI;YACJ,EAAE;YACF,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SAChB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,MAAM,CAAC,IAA0C;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAChG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,KAAK,2BAA2B,QAAQ,EAAE,CAAC,CAAC;QACvH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,IAAI,CAAC,IAA2B;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CACjH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;;;;gGAK4F;IAC5F,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,SAAS,GAAyH,EAAE,CAAC;QACzI,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBAC3D,MAAM,GAAG,GAAqB,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,MAAM,aAAa,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,SAAS,CAAC,EAAE,CAAC;oBAC3E,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,KAAK,KAAK,SAAS;wBAAE,SAAS;oBAClC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACjE,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;oBACrC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;wBAAE,SAAS;oBACjE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACnE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,mIAAmI,KAAK,6BAA6B,CAAC,CAAC;wBAClM,SAAS;oBACX,CAAC;oBACD,yFAAyF;oBACzF,wFAAwF;oBACxF,IAAI,SAA2B,CAAC;oBAChC,IAAI,CAAC;wBACH,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3F,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,kBAAmB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;wBACrE,SAAS;oBACX,CAAC;oBACD,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,6BAA6B,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC9G,SAAS;oBACX,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxL,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,yCAA0C,CAAW,CAAC,OAAO,wGAAwG,CAAC,CAAC;YACpL,OAAO;QACT,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,OAAO,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBAC1F,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBACpH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;YACtR,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,6BAA8B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,0CAA0C,SAAS,CAAC,MAAM,0BAA0B,CAAC,CAAC;IACrG,CAAC;IAED;;yDAEqD;IACrD,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG;gBACV,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU;gBACzE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK;gBACjD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrG,CAAC;YACF,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChF,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,4BAA4B,GAAG,CAAC,KAAK,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChG,IAAI,CAAC;oBACH,GAAG,CAAC,aAAa,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxG,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,8BAA8B,GAAG,CAAC,KAAK,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;gEAI4D;IAC5D,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAgE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAC9J,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC7E,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpI,IAAI,OAAO;gBAAE,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;;gBACzD,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2EAA2E;IAC3E,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;sCAEkC;IAC1B,KAAK,CAAC,KAAa,EAAE,aAAkE,EAAE;QAC/F,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,KAAK,0CAA0C,CAAC,CAAC;QACxH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,GAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC;QAC9H,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;8DAC0D;IAClD,IAAI,CAAC,IAAe;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAED;;iGAE6F;IACrF,KAAK,CAAC,MAAM,CAClB,IAAa,EACb,GAAoO,EACpO,OAAmB;QAEnB,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,iDAAiD,CAAC,CAAC;YAC/G,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa;gBACjC,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,GAAG,aAAa,oFAAoF,CAAC,CAAC;YACxJ,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,0FAA0F;YAC1F,2EAA2E;YAC3E,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,IAAa,EACb,GAAoO,EACpO,IAAe;QAEf,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI;YAChB,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE;gBAC5C,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE;aAC5H,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5G,MAAM,aAAa,GAAG,IAAI;YACxB,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE;gBACtD,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aACjL,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,8FAA8F;QAC9F,8CAA8C;QAC9C,MAAM,MAAM,GAAc,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9H,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,+FAA+F;QAC/F,uEAAuE;QACvE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;YAC7D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc;YAC3C,GAAG,CAAC,KAAK,KAAK,SAAS;gBACrB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,QAAQ,CAAC,EAAE,EAAE,EAAE;gBACnI,CAAC,CAAC,EAAE,CAAC;YACP,oBAAoB,EAAE,CAAC,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,MAAqB,CAAC;QAC1B,IAAI,QAAuB,CAAC;QAC5B,IAAI,UAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAC5I,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;gBAC/D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc;gBAC3C,GAAG,CAAC,aAAa,KAAK,SAAS;oBAC7B,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,gBAAgB,CAAC,EAAE,EAAE,EAAE;oBACnJ,CAAC,CAAC,EAAE,CAAC;gBACP,oBAAoB,EAAE,CAAC,CAAC;aACzB,CAAC,CAAC;YACH,QAAQ,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAClL,sFAAsF;YACtF,uFAAuF;YACvF,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,iDAAiD,CAAC,CAAC;QACjH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;QACjC,wFAAwF;QACxF,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,UAAU,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAChH,IAAI,KAAmB,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAC3B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE;gBACjG,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;gBAC/B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,wBAAwB,EAAE,GAAG,CAAC,OAAO;gBACrC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,yFAAyF;gBACzF,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,EAAE,QAAQ,CAAC,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3D,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,2FAA2F;YAC3F,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YACzC,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,2FAA2F;YAC3F,qFAAqF;YACrF,wFAAwF;YACxF,mCAAmC;YACnC,KAAK,CAAC,OAAO,CAAC,2DAA4D,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACjG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAAC,GAAG,CAAC,QAAQ,WAAW,GAAG,CAAC,KAAK,cAAc,UAAU,GAAG,CAAC,CAAC;IAChK,CAAC;IAED;;4FAEwF;IAChF,KAAK,CAAC,SAAS,CAAC,EAAM,EAAE,GAAqC,EAAE,KAAmB;QACxF,MAAM,QAAQ,GAAG,KAAK,IAAsB,EAAE,CAC5C,CAAC,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC;QAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC;QACrD,SAAS,CAAC;YACR,IAAI,MAAM,QAAQ,EAAE;gBAAE,OAAO;YAC7B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,OAAO,CAAY,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,MAAM,QAAQ,EAAE;oBAAE,OAAO;gBAC7B,MAAM,IAAI,eAAe,CACvB,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,EAClE,OAAO,GAAG,CAAC,KAAK,mBAAmB,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAChE,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;gBACvB,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,OAAO,GAAG,CAAC,KAAK,uCAAuC,sBAAsB,GAAG,IAAI,yFAAyF,GAAG,CAAC,KAAK,gBAAgB,CAAC,CAAC;QACrP,CAAC;IACH,CAAC;IAED;;;0DAGsD;IAC9C,KAAK,CAAC,YAAY,CACxB,KAAyE,EACzE,EAAqE;QAErE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;YAC7D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc;YAC3C,GAAG,CAAC,IAAI;gBACN,CAAC,CAAC,qBAAqB,CAAC;oBACpB,KAAK,EAAE,MAAM,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE;wBAC1D,WAAW,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;qBACxK,CAAC;oBACF,2CAA2C,CAAC,GAAG,EAAE,KAAK;iBACvD,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YACP,oBAAoB,EAAE,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvD,OAAO,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QACzH,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF;AAED,4FAA4F;AAC5F,SAAS,YAAY,CAAC,CAA0B;IAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAgC,CAAC;IACpE,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,GAAmB;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,gBAAgB,GAAG,CAAC,KAAK,UAAU,CAAC;IAC3E,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,cAAc,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO,YAAY,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxH,CAAC"}
|
|
1
|
+
{"version":3,"file":"run-hosting.js","sourceRoot":"","sources":["../src/run-hosting.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,10 +12,10 @@ export declare class CustodialPtyRuntime implements CustodialRuntime {
|
|
|
12
12
|
readonly supportsRelease = true;
|
|
13
13
|
/**
|
|
14
14
|
* Private cache of active SeatRecords keyed by custody reference id, populated on spawn and adopt
|
|
15
|
-
* and pruned on reap or release.
|
|
16
|
-
*
|
|
17
|
-
* process
|
|
18
|
-
*
|
|
15
|
+
* and pruned on reap or release. Custody records are retained on disk across seat exit so that
|
|
16
|
+
* reapSeat can verify kernel start identities and ensure the process group is gone even after a
|
|
17
|
+
* manager process restarts. An unadopted reference without a pinned or on-disk record falls back
|
|
18
|
+
* to fail-closed absent handling (RuntimeReapUnproven).
|
|
19
19
|
*/
|
|
20
20
|
private readonly records;
|
|
21
21
|
constructor(root?: string);
|
|
@@ -17,10 +17,10 @@ export class CustodialPtyRuntime {
|
|
|
17
17
|
supportsRelease = true;
|
|
18
18
|
/**
|
|
19
19
|
* Private cache of active SeatRecords keyed by custody reference id, populated on spawn and adopt
|
|
20
|
-
* and pruned on reap or release.
|
|
21
|
-
*
|
|
22
|
-
* process
|
|
23
|
-
*
|
|
20
|
+
* and pruned on reap or release. Custody records are retained on disk across seat exit so that
|
|
21
|
+
* reapSeat can verify kernel start identities and ensure the process group is gone even after a
|
|
22
|
+
* manager process restarts. An unadopted reference without a pinned or on-disk record falls back
|
|
23
|
+
* to fail-closed absent handling (RuntimeReapUnproven).
|
|
24
24
|
*/
|
|
25
25
|
records = new Map();
|
|
26
26
|
constructor(root = process.env.COTAL_SEAT_ROOT ?? defaultCustodyRoot()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/runtime/pty.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAiB,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAcxG;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,OAAO;IAC9C,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAE/B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/runtime/pty.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAiB,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAcxG;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,OAAO;IAC9C,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAE/B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IA2L/D,KAAK,CAAC,UAAU,EAAE,gBAAgB,GAAG,WAAW;CAGjD;AAED,2FAA2F;AAC3F,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,CAAC"}
|
package/dist/runtime/pty.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as pty from "@lydell/node-pty";
|
|
2
2
|
import Headless from "@xterm/headless";
|
|
3
3
|
import { SerializeAddon } from "@xterm/addon-serialize";
|
|
4
|
-
import { StartupConfirmMatcher, unmatchedConfirmMessage, unsupportedTransport } from "@cotal-ai/seat";
|
|
4
|
+
import { StartupConfirmMatcher, unmatchedConfirmMessage, unsupportedTransport, preferSeatForOomKill } from "@cotal-ai/seat";
|
|
5
5
|
import { preparePtyLaunch } from "./windows-launch.js";
|
|
6
6
|
const DEFAULT_COLS = 120;
|
|
7
7
|
const DEFAULT_ROWS = 32;
|
|
@@ -38,6 +38,10 @@ export class LegacyPtyRuntime {
|
|
|
38
38
|
// PATH) instead of silently inheriting the manager's env.
|
|
39
39
|
env: spec.env ?? {},
|
|
40
40
|
});
|
|
41
|
+
const oomPref = preferSeatForOomKill(proc.pid);
|
|
42
|
+
if (!oomPref.applied) {
|
|
43
|
+
console.error(`oom preference not applied to child ${proc.pid}: ${oomPref.reason}`);
|
|
44
|
+
}
|
|
41
45
|
const dataSubs = new Set();
|
|
42
46
|
const exitSubs = new Set();
|
|
43
47
|
// Mirror the child's PTY into a headless terminal, so on attach we hand the new client a
|
package/dist/runtime/pty.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/runtime/pty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/runtime/pty.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,13 @@ export declare class StaticSlotReadError extends Error {
|
|
|
64
64
|
* after the slot read itself succeeded; callers must surface a store failure rather than converting
|
|
65
65
|
* an unknown observation into `not-found`, which is the ambiguity this projection removes. */
|
|
66
66
|
export declare function observeStaticSlot(recordsKv: KV, owner: string, alias: string, managerInstanceId: string): Promise<StaticSlotObservationDetail | undefined>;
|
|
67
|
+
/** Enumerate every nonretired durable static slot this manager instance owns, projected the same
|
|
68
|
+
* way `observeStaticSlot` projects one. Mirrors the boot sweep's key enumeration exactly
|
|
69
|
+
* (`manager.ts:8466-8470`: alias is the key split on `.` from the third token) so both walk the
|
|
70
|
+
* same rows. Foreign-owner rows (an explicit `ownerInstanceId` that differs) and `retired` rows are
|
|
71
|
+
* dropped BEFORE the head read, so N slot rows cost N slot reads plus only the survivors' head
|
|
72
|
+
* reads. Sorted by alias. */
|
|
73
|
+
export declare function listStaticSlotObservations(recordsKv: KV, owner: string, managerInstanceId: string): Promise<StaticSlotObservationDetail[]>;
|
|
67
74
|
/** The direct-KV transport over the two authority stores, bound per lifecycle OPERATION on an
|
|
68
75
|
* ephemeral, key-pinned `lifecycle-executor` connection (the manager mints it; see
|
|
69
76
|
* `withLifecycleExecutor`). Mirrors the auth implementation's sealed `transportOf` — a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-lifecycle.d.ts","sourceRoot":"","sources":["../src/static-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAGL,KAAK,uBAAuB,EAE5B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAmBlB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"static-lifecycle.d.ts","sourceRoot":"","sources":["../src/static-lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/static-lifecycle.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* (`actor`); the ALIAS is routing only, protected by the name-keyed slot row + uid reservation +
|
|
18
18
|
* the manager's freeSlot hold — never by the head CAS alone (the head is principal-keyed).
|
|
19
19
|
*/
|
|
20
|
-
import { EpEnvelopeError, lifecycleBlocked, staticSlotKey, parseStaticSlotRow, credRowKey, parseLedgerRow, SOURCE_ROOT, RECORD_KINDS, recordSpecKey, createRecordEntry, updateRecordEntry, runActivationSagaAtUid, resumeActivationSaga, gateObserve, gateFreeze, gateRetire, headCandidate, headBeginRetirement, headCompleteRetirement, } from "@cotal-ai/core";
|
|
20
|
+
import { EpEnvelopeError, lifecycleBlocked, staticSlotKey, parseStaticSlotRow, credRowKey, parseLedgerRow, SOURCE_ROOT, RECORD_KINDS, recordSpecKey, createRecordEntry, updateRecordEntry, runActivationSagaAtUid, resumeActivationSaga, gateObserve, gateFreeze, gateRetire, headCandidate, headBeginRetirement, headCompleteRetirement, STATIC_SLOT_PREFIX, walkKvEntries, } from "@cotal-ai/core";
|
|
21
21
|
const enc = new TextEncoder();
|
|
22
22
|
/** `inspect` miss detail for a durable static slot. Slot and lifecycle head are separate records,
|
|
23
23
|
* read in that order, so this shape carries both revisions and states explicitly rather than
|
|
@@ -51,20 +51,11 @@ function boundedStaticRead(record, read) {
|
|
|
51
51
|
return Promise.race([read.finally(() => clearTimeout(timer)), timeout])
|
|
52
52
|
.catch((error) => { throw new StaticSlotReadError(record, error); });
|
|
53
53
|
}
|
|
54
|
-
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const slot = await boundedStaticRead("slot", readStaticSlot(t, owner, alias));
|
|
60
|
-
if (slot === undefined)
|
|
61
|
-
return undefined;
|
|
62
|
-
// `inspect` remains an instance-local reader. A sibling manager's durable row is not a miss on
|
|
63
|
-
// this manager becoming global by accident. Legacy rows predate multi-manager ownership and keep
|
|
64
|
-
// the existing single-manager interpretation used by boot reconciliation.
|
|
65
|
-
if (slot.row.ownerInstanceId !== undefined && slot.row.ownerInstanceId !== managerInstanceId)
|
|
66
|
-
return undefined;
|
|
67
|
-
const head = await boundedStaticRead("head", headCandidate(t, slot.row.owner, slot.row.actor));
|
|
54
|
+
/** Build the `StaticSlotObservationDetail` projection from an already-read slot row and its
|
|
55
|
+
* optional already-read lifecycle head. Shared by the single-alias `observeStaticSlot` and the
|
|
56
|
+
* multi-row `listStaticSlotObservations` enumeration, so the two never drift on which fields the
|
|
57
|
+
* head contributes. */
|
|
58
|
+
function projectStaticSlotObservation(slot, head) {
|
|
68
59
|
return {
|
|
69
60
|
kind: STATIC_SLOT_OBSERVATION_DETAIL,
|
|
70
61
|
name: slot.row.alias,
|
|
@@ -84,6 +75,55 @@ export async function observeStaticSlot(recordsKv, owner, alias, managerInstance
|
|
|
84
75
|
consistency: "ordered-not-atomic",
|
|
85
76
|
};
|
|
86
77
|
}
|
|
78
|
+
/** Point-read one durable slot, then its principal-keyed lifecycle head. Absence is returned only
|
|
79
|
+
* after the slot read itself succeeded; callers must surface a store failure rather than converting
|
|
80
|
+
* an unknown observation into `not-found`, which is the ambiguity this projection removes. */
|
|
81
|
+
export async function observeStaticSlot(recordsKv, owner, alias, managerInstanceId) {
|
|
82
|
+
const t = staticLifecycleTransport(recordsKv, recordsKv);
|
|
83
|
+
const slot = await boundedStaticRead("slot", readStaticSlot(t, owner, alias));
|
|
84
|
+
if (slot === undefined)
|
|
85
|
+
return undefined;
|
|
86
|
+
// `inspect` remains an instance-local reader. A sibling manager's durable row is not a miss on
|
|
87
|
+
// this manager becoming global by accident. Legacy rows predate multi-manager ownership and keep
|
|
88
|
+
// the existing single-manager interpretation used by boot reconciliation.
|
|
89
|
+
if (slot.row.ownerInstanceId !== undefined && slot.row.ownerInstanceId !== managerInstanceId)
|
|
90
|
+
return undefined;
|
|
91
|
+
const head = await boundedStaticRead("head", headCandidate(t, slot.row.owner, slot.row.actor));
|
|
92
|
+
return projectStaticSlotObservation(slot, head);
|
|
93
|
+
}
|
|
94
|
+
/** Enumerate every nonretired durable static slot this manager instance owns, projected the same
|
|
95
|
+
* way `observeStaticSlot` projects one. Mirrors the boot sweep's key enumeration exactly
|
|
96
|
+
* (`manager.ts:8466-8470`: alias is the key split on `.` from the third token) so both walk the
|
|
97
|
+
* same rows. Foreign-owner rows (an explicit `ownerInstanceId` that differs) and `retired` rows are
|
|
98
|
+
* dropped BEFORE the head read, so N slot rows cost N slot reads plus only the survivors' head
|
|
99
|
+
* reads. Sorted by alias. */
|
|
100
|
+
export async function listStaticSlotObservations(recordsKv, owner, managerInstanceId) {
|
|
101
|
+
const t = staticLifecycleTransport(recordsKv, recordsKv);
|
|
102
|
+
// `.keys()` binds an ephemeral ordered CONSUMER, a verb the goal-writer's standing connection
|
|
103
|
+
// is deliberately denied on the records stream (SPEC 13.9 site 3 / nats-server#8274: a
|
|
104
|
+
// CONSUMER.CREATE body is not subject-ACL confinable, so a durable minted here would outlive
|
|
105
|
+
// this connection). `walkKvEntries` reads the same rows over `STREAM.MSG.GET`, the verb the
|
|
106
|
+
// goal-writer already holds for every point read (`commitPrincipalGrants`).
|
|
107
|
+
const entries = await walkKvEntries(recordsKv, `${STATIC_SLOT_PREFIX}.${owner}.>`);
|
|
108
|
+
const survivors = [];
|
|
109
|
+
for (const e of entries) {
|
|
110
|
+
if (e.operation !== "PUT")
|
|
111
|
+
throw new EpEnvelopeError("failed-precondition", `the static slot row ${e.key} carries a ${e.operation} marker; a slot row is never deleted (corruption, not absence)`);
|
|
112
|
+
const row = parseStaticSlotRow(e.value, e.key);
|
|
113
|
+
if (row.ownerInstanceId !== undefined && row.ownerInstanceId !== managerInstanceId)
|
|
114
|
+
continue;
|
|
115
|
+
if (row.phase === "retired")
|
|
116
|
+
continue;
|
|
117
|
+
survivors.push({ row, revision: e.revision });
|
|
118
|
+
}
|
|
119
|
+
const out = [];
|
|
120
|
+
for (const slot of survivors) {
|
|
121
|
+
const head = await boundedStaticRead("head", headCandidate(t, slot.row.owner, slot.row.actor));
|
|
122
|
+
out.push(projectStaticSlotObservation(slot, head));
|
|
123
|
+
}
|
|
124
|
+
out.sort((a, b) => a.name.localeCompare(b.name));
|
|
125
|
+
return out;
|
|
126
|
+
}
|
|
87
127
|
function sameAudit(a, b) {
|
|
88
128
|
return a.v === b.v && a.principal === b.principal && a.alias === b.alias && a.lifecycleUid === b.lifecycleUid &&
|
|
89
129
|
a.managerInstance === b.managerInstance && a.managerProcessUid === b.managerProcessUid && a.retirementOpId === b.retirementOpId &&
|