@engramx/client 0.16.0-rc.15 → 0.16.0-rc.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -66,7 +66,7 @@ const files = await engram.readMemoryBatch(['MEMORY.md', 'memory/daily.md']);
66
66
  > ```typescript
67
67
  > const bundle = await engram.captureEvidence(receipt, 'memory/daily.md');
68
68
  > // fs.writeFileSync('bundle.json', JSON.stringify(bundle));
69
- > // npx @engramx/client@0.16.0-rc.15 verify bundle.json → each link, the signed time, the entries walked
69
+ > // npx @engramx/client@0.16.0-rc.17 verify bundle.json → each link, the signed time, the entries walked
70
70
  > ```
71
71
 
72
72
 
@@ -88,7 +88,7 @@ in-repo consumer as a reason to report what breaks, not as a warning that it doe
88
88
 
89
89
  The 2026-08-17 charter diet (below) deleted a lot of caller-less methods and **deliberately kept
90
90
  these two.** Zero in-repo callers was the reason to look at them; it was not the reason to decide.
91
- Three facts decided it. They are what `npx @engramx/mcp@0.16.0-rc.15 connect` *instructs* whoever builds a new
91
+ Three facts decided it. They are what `npx @engramx/mcp@0.16.0-rc.17 connect` *instructs* whoever builds a new
92
92
  SDK-lane agent to call, verbatim, in the guide the dashboard's connect page renders — deleting a method
93
93
  while still telling people to call it is the failure this whole exercise exists to prevent.
94
94
  `startSession()` is the only read on the **update** path, so it is the only one the canister can
@@ -114,13 +114,13 @@ Pair your agent with an engram:
114
114
 
115
115
  ```bash
116
116
  # Pair the agent on this machine with the engram and install the OpenClaw plugin
117
- pnpm dlx @engramx/client@0.16.0-rc.15 pair <invite-code> --engram <canister-id> --target openclaw
117
+ pnpm dlx @engramx/client@0.16.0-rc.17 pair <invite-code> --engram <canister-id> --target openclaw
118
118
 
119
119
  # Replacement machine — after pairing, restore memory from the engram
120
- pnpm dlx @engramx/client@0.16.0-rc.15 migrate --engram <canister-id> --recover
120
+ pnpm dlx @engramx/client@0.16.0-rc.17 migrate --engram <canister-id> --recover
121
121
  ```
122
122
 
123
- `pair` generates the key for this engram at `~/.engramx/session.key` (and, on the first pairing, the agent's lasting key at `~/.engramx/root.key`), pairs the agent — the CLI prints `Paired as an agent` — and installs the OpenClaw plugin. `migrate` then moves memory, saving a local checkpoint first — run `npx @engramx/client@0.16.0-rc.15 rollback` to undo. Its default direction pushes local memory files to the engram; `--recover` instead restores database backups, and memory files sync automatically on next OpenClaw startup.
123
+ `pair` generates the key for this engram at `~/.engramx/session.key` (and, on the first pairing, the agent's lasting key at `~/.engramx/root.key`), pairs the agent — the CLI prints `Paired as an agent` — and installs the OpenClaw plugin. `migrate` then moves memory, saving a local checkpoint first — run `npx @engramx/client@0.16.0-rc.17 rollback` to undo. Its default direction pushes local memory files to the engram; `--recover` instead restores database backups, and memory files sync automatically on next OpenClaw startup.
124
124
 
125
125
  ⟨2026-10-13⟩ `pair` moves no memory unless you add `--migrate`, and `--yes` never adds it. Without it, `pair` leaves any OpenClaw memory files on this machine where they are and prints one line: how many it found, and the `migrate` command that moves them. With `--migrate`, it runs that migration after pairing — each file is uploaded, then deleted here, and `rollback` restores them. Through 0.16.0-rc.11, `pair` ran the migration on every pairing, whatever the `--target` (Claude too), and answered its own question under `--yes`.
126
126
 
@@ -136,7 +136,7 @@ If the owner of the wallet allows it (a standing allowance they set for this age
136
136
  page), the agent can open an engram of its own through the engram it works in. The owner may be a program. Whoever runs that program is the owner for every purpose on these pages.
137
137
 
138
138
  ```bash
139
- npx @engramx/client@0.16.0-rc.15 open-engram --engram <canister-id>
139
+ npx @engramx/client@0.16.0-rc.17 open-engram --engram <canister-id>
140
140
  ```
141
141
 
142
142
  The engram it works in pays to open it, from its own balance, and the agent's lasting key
@@ -145,7 +145,7 @@ paid in is the agent's from the moment the new engram exists, and nothing is tak
145
145
  reads the allowance first and stops, with nothing spent, when there is none; it never creates a
146
146
  lasting key; and it prints the engram's own sentence when the engram refuses. It then prints the
147
147
  owner kit's command that acts as the new engram's owner with the same file —
148
- `npx @engramx/owner@0.16.0-rc.15 --connect --key-file <that file> --registry <id>`, with both filled in — which
148
+ `npx @engramx/owner@0.16.0-rc.17 --connect --key-file <that file> --registry <id>`, with both filled in — which
149
149
  mints an invite for an agent to pair into it. The agent's lasting key is an owner key for the engram
150
150
  it opened only; on the engram it works in it stays an agent. The agent's work in an engram its own
151
151
  key owns is never counted on its track record. From code: `EngramClient.getChildAllowance(key)`,
@@ -380,6 +380,33 @@ ever empty again, such a call would report `'indeterminate'` by design — the S
380
380
  canonicity.) Pass `{ registryId }` to ask a different fleet (e.g. staging); the answer is then
381
381
  _that fleet's_ testimony, not canonicity.
382
382
 
383
+ ## Verify a birth chain ⟨2026-10-26⟩
384
+
385
+ Every engram a registry opens gets a **birth record**: its id, the engram it was opened from (none
386
+ for a first engram), its engram number, its birth time, a random secret, and the fingerprint of its
387
+ parent's record. The engram holds its own record and copies of its ancestors' records, and serves
388
+ them to its **owner only** (`getBirthChain`) — the owner decides whom to show them to. The registry
389
+ certifies each record's fingerprint, and nothing else, in its certified tree (`getCertifiedBirth`,
390
+ public: it reveals only whether a fingerprint is present). A record holds no person's identity,
391
+ memory or wallet data.
392
+
393
+ ```typescript
394
+ import { verifyBirthChain, fromCandidBirthRecord } from '@engramx/client/verify';
395
+
396
+ const reply = await engram.getBirthChain(); // as the engram's owner
397
+ if ('Err' in reply) throw new Error(JSON.stringify(reply.Err));
398
+ const records = reply.Ok.map(fromCandidBirthRecord);
399
+ // The registry's witnesses are fetched for you (`registryBirthWitness`); pass `fetchWitness` to
400
+ // supply your own.
401
+ const verdict = await verifyBirthChain(agent, registryId, records, { expectChild: engramId });
402
+ // verdict.verified — every record certified against the IC root key AND every link holds
403
+ // verdict.complete — the chain starts at a first engram (a part-way run is still verifiable)
404
+ // verdict.links — per record: certified or not, and why
405
+ ```
406
+
407
+ Fingerprints are recomputed from the canonical encoding (`encodeBirthRecord`), never read off the
408
+ wire. There is no certified proof of absence: an uncertified link is "not proven", not "proven false".
409
+
383
410
  ## OpenClaw Integration
384
411
 
385
412
  The `--target openclaw` option on `pair` handles plugin installation and `openclaw.json` configuration automatically. For manual setup or customization, see the README of the `@engramx/openclaw` package on npm.
@@ -3,7 +3,7 @@ import { Ed25519KeyIdentity } from '@icp-sdk/core/identity';
3
3
  import { Principal } from '@icp-sdk/core/principal';
4
4
  import { idlFactory } from './idl.js';
5
5
  import { type EvidenceBundle } from './evidence.js';
6
- import type { MemoryHistory, MemoryRangePage, MemoryFile, MemoryFileInfo, SessionContext, Pairing, AuditPage, AgentRecord, ChildAllowanceRow, EngramStatus, OwnerConsole, GuardianRecord, BackupMetadata, BackupType, ApprovalRequest } from './types.js';
6
+ import type { MemoryHistory, MemoryRangePage, MemoryFile, MemoryFileInfo, SessionContext, Pairing, AuditPage, AgentRecord, AgentGrant, ChildAllowanceRow, EngramStatus, OwnerConsole, GuardianRecord, BackupMetadata, BackupRetention, BackupType, ApprovalRequest } from './types.js';
7
7
  /**
8
8
  * Source class declared on an append — recorded permanently in the engram's audit chain beside
9
9
  * this agent's principal. Declared by the caller, NOT verified by the canister; a false
@@ -334,6 +334,13 @@ export declare class EngramClient {
334
334
  * Terminal for this principal on this engram: pairing is one-shot, so working for it again
335
335
  * needs a new principal and a fresh invite. Throws on a refusal (not an agent, already ended). */
336
336
  resignAgent(): Promise<void>;
337
+ /** ⟨2026-10-21, round 11 g⟩ THIS agent's own grant, as the engram enforces it against the key
338
+ * this client signs with: what it may read, where it may write (`permissions.scopes`, the
339
+ * `memory.append:<path>` rules — none means anywhere it could before), its rate
340
+ * (`permissions.callsPerMinute`, 0 = no limit) and its payment limits. Read it before writing to
341
+ * avoid a refusal the owner then has to explain. Only the caller's own grant — never another
342
+ * agent's. Throws on a refusal: the owner, a revoked or resigned agent, a guardian or a stranger. */
343
+ myGrant(): Promise<AgentGrant>;
337
344
  /** ⟨2026-09-29, the owner's ruling of that date (follow-up 10, option A)⟩ Step one of replacing
338
345
  * THIS agent's key on the engram: the key this client signs with nominates `newKey`. Nothing
339
346
  * moves until the new key accepts (`acceptAgentKeyNomination`, called by a client that signs with
@@ -391,6 +398,13 @@ export declare class EngramClient {
391
398
  * chunk, then check the reassembled sha256 against it before applying anything. A restore that
392
399
  * cannot state the hash it expected is not a restore. */
393
400
  getBackupMetadata(backupId: string): Promise<BackupMetadata>;
401
+ /** ⟨2026-10-21, the owner's round-11 answers h and m⟩ How many backups of `dbType` the engram
402
+ * keeps for EACH creator — this agent's own included — and whether that number is the engram's
403
+ * default (`isDefault`, the owner never set one). Since that day the cap is per creator: this
404
+ * agent's finalize prunes only this agent's own oldest backups beyond it, never the owner's or
405
+ * another agent's. Needs the upload permission (`canAppendMemory`); throws on a refusal — a
406
+ * reader-only agent, a revoked or resigned one, a guardian, a stranger — never a made-up number. */
407
+ getBackupRetention(dbType: string): Promise<BackupRetention>;
394
408
  latestBackupMatchesHash(dbType: string, sha256: string): Promise<BackupMetadata | null>;
395
409
  /** Encrypt a backup payload IFF this engram is in Private mode — the SAME toggle that governs
396
410
  * memory files governs backups (encrypt files ⇒ encrypt backups). Produces a whole-blob
@@ -723,6 +723,15 @@ export class EngramClient {
723
723
  async resignAgent() {
724
724
  this.unwrap(await this.actor.resignAgent(), 'resignAgent');
725
725
  }
726
+ /** ⟨2026-10-21, round 11 g⟩ THIS agent's own grant, as the engram enforces it against the key
727
+ * this client signs with: what it may read, where it may write (`permissions.scopes`, the
728
+ * `memory.append:<path>` rules — none means anywhere it could before), its rate
729
+ * (`permissions.callsPerMinute`, 0 = no limit) and its payment limits. Read it before writing to
730
+ * avoid a refusal the owner then has to explain. Only the caller's own grant — never another
731
+ * agent's. Throws on a refusal: the owner, a revoked or resigned agent, a guardian or a stranger. */
732
+ async myGrant() {
733
+ return this.unwrap(await this.actor.myGrant(), 'myGrant');
734
+ }
726
735
  /** ⟨2026-09-29, the owner's ruling of that date (follow-up 10, option A)⟩ Step one of replacing
727
736
  * THIS agent's key on the engram: the key this client signs with nominates `newKey`. Nothing
728
737
  * moves until the new key accepts (`acceptAgentKeyNomination`, called by a client that signs with
@@ -846,6 +855,15 @@ export class EngramClient {
846
855
  async getBackupMetadata(backupId) {
847
856
  return this.unwrap(await this.actor.getBackupMetadata(backupId));
848
857
  }
858
+ /** ⟨2026-10-21, the owner's round-11 answers h and m⟩ How many backups of `dbType` the engram
859
+ * keeps for EACH creator — this agent's own included — and whether that number is the engram's
860
+ * default (`isDefault`, the owner never set one). Since that day the cap is per creator: this
861
+ * agent's finalize prunes only this agent's own oldest backups beyond it, never the owner's or
862
+ * another agent's. Needs the upload permission (`canAppendMemory`); throws on a refusal — a
863
+ * reader-only agent, a revoked or resigned one, a guardian, a stranger — never a made-up number. */
864
+ async getBackupRetention(dbType) {
865
+ return this.unwrap(await this.actor.getBackupRetention(dbType), 'getBackupRetention');
866
+ }
849
867
  // deleteBackup and setBackupRetention are owner-only; deleteBackup left in the 2026-08-17
850
868
  // charter diet. An agent that can destroy the owner's backups is the append-only
851
869
  // guarantee inverted — the whole point of the lane is that a compromised agent cannot erase.
@@ -1 +1 @@
1
- {"version":3,"file":"EngramClient.js","sourceRoot":"","sources":["../src/EngramClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACL,wBAAwB,GAGzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAuB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAC;AA2C/D,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAgC,EAAE,CACzE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAA2B,CAAC,CAAC;AAwClE,MAAM,KAAK,GAAG,CAAC,CAAwB,EAAU,EAAE,CACjD,KAAK,CAAC,IAAI,CAAC,CAAqB,CAAC;KAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AAEd,MAAM,SAAS,GAAG,CAChB,CAUC,EACD,IAAgB,EACD,EAAE,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC,OAAO;IAClB,GAAG,EAAE,CAAC,CAAC,GAAG;IACV,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;IACpB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/B,IAAI;CACL,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,CAAS;IACnC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AAC5E,CAAC;AA+BD,iGAAiG;AACjG,iGAAiG;AACjG,6FAA6F;AAC7F,mFAAmF;AACnF,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB;;;;GAIG;AACH,MAAM,eAAe,GAAG,MAAO,CAAC;AAEhC,uDAAuD;AACvD,+FAA+F;AAC/F,8FAA8F;AAC9F,mGAAmG;AACnG,gGAAgG;AAChG,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAE,GAAG,EAAgB,EAAE,EAAE;IAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAC7C,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACnD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAC5D,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACvD,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAChD,sBAAsB,EAAE,GAAG,CAAC,IAAI;QAChC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;KACrE,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,OAAO,CAAC;QACjB,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC7C,aAAa,EAAE,GAAG,CAAC,IAAI,CACrB;YACE,GAAG,CAAC,MAAM,CAAC;gBACT,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,GAAG,CAAC,GAAG;gBACf,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBACrB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChC,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3C,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;gBACnC,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBACpC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;aAC/B,CAAC;SACH,EACD,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,EACjD,EAAE,CACH;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,uFAAuF;AACvF,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,uFAAuF;AACvF,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,MAAM,OAAO,YAAY;IAUvB;;;;;;;OAOG;IACK,MAAM,CAAI,MAAsC,EAAE,MAAM,GAAG,eAAe;QAChF,OAAO,YAAY,CAAI,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,MAA0B;QAf9B,yBAAoB,GAAY,KAAK,CAAC;QAgB5C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,iBAAiB,CAAC;QAE9C,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;gBACxC,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI;YACJ,kBAAkB,EAAE,OAAO;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAmB,UAAU,EAAE;YAC3D,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,IAAI,GAAG,EAAE,MAAM,CAAC,WAAW,IAAI,KAAM,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK,EAAE;YACrE,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,YAAY;SACjC,CAAC,CAAC;QACH,8EAA8E;QAC9E,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,OAAO,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CACzD,IAAI,CAAC,KAAK,EACV,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAC5B,CAAC;QAEF,MAAM,IAAI,GAAe;YACvB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACvC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,KAAK,CAAC,UAAU,CAAC,IAAY;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe,EAAE,MAAqB;QACrE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kFAAkF;QAClF,kFAAkF;QAClF,kEAAkE;QAClE,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YAChC,qFAAqF;YACrF,uFAAuF;YACvF,oFAAoF;YACpF,oEAAoE;YACpE,IAAI,GAAG,GAAsB,IAAI,CAAC;YAClC,IAAI,CAAC;gBACH,qFAAqF;gBACrF,qFAAqF;gBACrF,kFAAkF;gBAClF,kFAAkF;gBAClF,qDAAqD;gBACrD,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9E,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;YACD,QAAQ,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAiB,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,0DAA0D;oBACjF,kFAAkF,CACrF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACtD,uFAAuF;QACvF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,SAAS,CACvB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAChF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CAAC,IAAyC;QAC7D,OAAO,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IAED;qGACiG;IACjG,KAAK,CAAC,mBAAmB,CAAC,IAGzB;QACC,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC,CAC7F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAe;QACnC,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC7C,uDAAuD;QACvD,2FAA2F;QAC3F,uFAAuF;QACvF,kFAAkF;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACrF,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE;YACxC,wFAAwF;YACxF,qFAAqF;YACrF,4EAA4E;YAC5E,IAAI,KAAK,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAoB,CAAC;YAC9E,MAAM,GAAG,GAAkB,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CACzD,IAAI,CAAC,KAAK,EACV,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAC5B,CAAC;gBACF,MAAM,IAAI,GAAe;oBACvB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;iBACvC,CAAC;gBACF,OAAO,CAAC,CAAC,EAAE,IAAI,CAAyB,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAoB,CAAC;YACrF,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,YAAY,CAAC,IAAsC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;gBAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACzF,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CACvD,IAAI,CAAC,KAAK,EACV,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAC1B,CAAC;YACF,MAAM,IAAI,GAAe;gBACvB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO;gBACP,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;aACrC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;QACF,OAAO;YACL,KAAK;YACL,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;YACxC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YAClC,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,mBAAmB,CAAC,IAAsC;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GACV,uEAAuE;YACvE,gGAAgG;YAChG,wFAAwF;YACxF,CAAC,GAAG,CAAC,SAAS;gBACZ,CAAC,CAAC,eAAe,GAAG,CAAC,aAAa,6BAA6B,GAAG,CAAC,UAAU,oCAAoC;gBACjH,CAAC,CAAC,EAAE,CAAC,CAAC;QACV,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,oBAAoB,CAAC;aAC5F,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,gBAAgB,CACpB,IAAY,EACZ,IAAyD;QAEzD,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC/B,IAAI,EACJ,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACrD,IAAI,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAClD,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,IAAY,EACZ,IAAwF;QAExF,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CACtB,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAC9B,IAAI,EACJ,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,EACzB,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,eAAe,CAAC,EACvC,IAAI,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAC1D,CACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACzF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,OAAyB;QACxD,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,gDAAgD;QAChD,EAAE;QACF,wFAAwF;QACxF,6FAA6F;QAC7F,yFAAyF;QACzF,2FAA2F;QAC3F,uEAAuE;QACvE,EAAE;QACF,uFAAuF;QACvF,2FAA2F;QAC3F,qFAAqF;QACrF,eAAe;QACf,IAAI,MAAc,CAAC;QACnB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACrE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;gBAC5C,OAAO,EAAE,MAAM;gBACf,MAAM;gBACN,MAAM,EAAE,eAAe;aACxB,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,oFAAoF;gBACpF,qFAAqF;gBACrF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,iDAAiD,MAAM,gDAAgD,CAC5H,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,MAAM;QACxB,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC;QACjB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3E,wFAAwF;QACxF,0FAA0F;QAC1F,oDAAoD;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO;YACL,IAAI;YACJ,OAAO;YACP,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;YAC/B,cAAc,EAAE,OAAO,EAAE,EAAE,IAAI,SAAS,CAAC,SAAS,EAAE;YACpD,gBAAgB,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,OAA4B;QAC3D,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,sFAAsF;QACtF,2FAA2F;QAC3F,mFAAmF;QACnF,4FAA4F;QAC5F,2FAA2F;QAC3F,qCAAqC;QACrC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YACvC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;YACjE,CAAC,CAAC,GAAG,CAAC;QACR,MAAM,OAAO,GAAG,SAAS,CACvB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EACvD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB,CAAC;QACF,wFAAwF;QACxF,gEAAgE;QAChE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,kFAAkF;IAClF,gEAAgE;IAChE,yEAAyE;IAEzE,wFAAwF;IACxF,iGAAiG;IACjG,OAAO;IACP,gGAAgG;IAChG,6FAA6F;IAC7F,4FAA4F;IAC5F,mFAAmF;IACnF,6FAA6F;IAC7F,0FAA0F;IAC1F,8FAA8F;IAC9F,2FAA2F;IAE3F;;;;;;;;;;;;+CAY2C;IAC3C,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC;IACvF,CAAC;IAED,iEAAiE;IACjE,yFAAyF;IACzF,qFAAqF;IACrF,kFAAkF;IAElF;;;;;;;;;;;;;;;;oEAgBgE;IAChE,KAAK,CAAC,YAAY,CAAC,YAAoB,CAAC,EAAE,QAAgB,EAAE;QAC1D,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EACnE,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;uGAemG;IACnG,KAAK,CAAC,YAAY;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC;IACjD,CAAC;IAED;uEACmE;IACnE,KAAK,CAAC,qBAAqB;QACzB,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAKlD,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;YACpC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;SAC5E,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,eAAe,CAAC,OAAsB,EAAE,IAAY;QACxD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACzE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,8CAA8C,IAAI,CAAC,KAAK,sCAAsC,OAAO,CAAC,QAAQ,6CAA6C,CAC5J,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW;YACnB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CACrB,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EACvD,kBAAkB,CACnB,CAAC;QACF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,CAAC,QAAQ,+FAA+F,CACzK,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAwD,EAAE,CAAC;QACrE,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;QACjC,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CACtB,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAC1D,kBAAkB,CACnB,CAAC;YACF,MAAM,GAAG,GAAgB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/C,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACxC,CAAC,CAAC,CAAC;YACJ,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK;gBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,CAAU,CAAC,CAAC,CAAC;YACpE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAC5B,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM;gBAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QACtC,CAAC;QACD,OAAO;YACL,MAAM,EAAE,eAAe;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE;gBACvB,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACzC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC7B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAClD,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;aAClC;YACD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC3C,SAAS,EAAE;gBACT,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC7D,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;aAC7B;YACD,IAAI;YACJ,KAAK,EAAE;gBACL,IAAI;gBACJ,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACnD,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE;gBACzC,OAAO,EAAE;oBACP,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACnC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;oBAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;iBAC9B;aACF;SACF,CAAC;IACJ,CAAC;IAED;4FACwF;IACxF,KAAK,CAAC,oBAAoB;QACxB,OAAO,wBAAwB,CAC7B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,UAAU,EACf,MAAM,IAAI,CAAC,qBAAqB,EAAE,CACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM;QACV,mEAAmE;QACnE,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;0EAWsE;IACtE,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAED,mDAAmD;IACnD,uCAAuC;IAEvC;;0EAEsE;IACtE,KAAK,CAAC,aAAa,CAAC,IAAyC;QAC3D,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC,CAC3F,CAAC,KAAK,CAAC;IACV,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,gBAAwB;QAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;uGAGmG;IACnG,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED;;;;wGAIoG;IACpG,KAAK,CAAC,gBAAgB,CAAC,MAAiB;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC7E,CAAC;IAED;;;oGAGgG;IAChG,KAAK,CAAC,wBAAwB,CAAC,QAAmB;QAChD,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EACnD,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED;;;;sGAIkG;IAClG,KAAK,CAAC,iBAAiB,CAAC,QAAmB;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACxF,CAAC;IAED;;;;;uEAKmE;IACnE,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAED;;sFAEkF;IAClF,KAAK,CAAC,YAAY;QAChB,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAqB,CAAC;QAChE,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,6FAA6F;IAC7F,+FAA+F;IAC/F,6FAA6F;IAC7F,4FAA4F;IAC5F,gGAAgG;IAChG,yFAAyF;IAEzF;;;6FAGyF;IACzF,KAAK,CAAC,sBAAsB;QAC1B,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM,CAChC,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,EACzC,wBAAwB,CACzB,CAAC;QACF,OAAO,YAAY,IAAI,IAAI,CAAC;IAC9B,CAAC;IAED,+FAA+F;IAC/F,EAAE;IACF,sFAAsF;IACtF,gGAAgG;IAChG,6FAA6F;IAC7F,wFAAwF;IACxF,8FAA8F;IAC9F,4FAA4F;IAC5F,0FAA0F;IAC1F,gEAAgE;IAChE,EAAE;IACF,8FAA8F;IAC9F,6FAA6F;IAC7F,8FAA8F;IAC9F,0FAA0F;IAC1F,+FAA+F;IAC/F,uCAAuC;IACvC,EAAE;IACF,sEAAsE;IACtE,6FAA6F;IAC7F,uFAAuF;IACvF,EAAE;IACF,+FAA+F;IAC/F,oFAAoF;IACpF,6FAA6F;IAC7F,+FAA+F;IAC/F,+FAA+F;IAC/F,2FAA2F;IAC3F,4BAA4B;IAE5B,KAAK,CAAC,UAAU,CACd,MAAc,EACd,UAAsB,EACtB,cAA6B,EAC7B,MAAc,EACd,WAA0B;QAE1B,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CACzB,MAAM,EACN,UAAU,EACV,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EACtC,MAAM,EACN,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CACjC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,UAAkB,EAAE,IAAgB;QAC1E,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,WAAW,CAAC,YAAqB;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,UAAkB;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1F,kGAAkG;QAClG,OAAO,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAED;;;8DAG0D;IAC1D,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,0FAA0F;IAC1F,iFAAiF;IACjF,6FAA6F;IAE7F,KAAK,CAAC,uBAAuB,CAAC,MAAc,EAAE,MAAc;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,OAAO;aACtB,MAAM,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC;aACtD,IAAI,CACH,CAAC,CAAiB,EAAE,CAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CACxF,CAAC;QACJ,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IAED;;;0FAGsF;IACtF,KAAK,CAAC,oBAAoB,CAAC,IAAgB;QACzC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YAChC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;iGAE6F;IAC7F,KAAK,CAAC,oBAAoB,CAAC,KAAiB;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;YACvD,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IAED;kDAC8C;IAC9C,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;2CAcuC;IAC/B,KAAK,CAAC,oBAAoB;QAChC,IAAI,IAAI,CAAC,oBAAoB;YAAE,OAAO;QACtC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED;;gGAE4F;IAC5F,KAAK,CAAC,yBAAyB;QAC7B,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,iBAAiB,CAAC;IACtD,CAAC;IAED,+FAA+F;IAC/F,EAAE;IACF,kGAAkG;IAClG,yFAAyF;IACzF,8FAA8F;IAC9F,+EAA+E;IAC/E,EAAE;IACF,yFAAyF;IACzF,sGAAsG;IACtG,yFAAyF;IACzF,2FAA2F;IAC3F,uFAAuF;IACvF,6FAA6F;IAC7F,yEAAyE;IACzE,EAAE;IACF,gGAAgG;IAChG,gGAAgG;IAChG,gGAAgG;IAChG,+FAA+F;IAC/F,qBAAqB;IAErB;;+CAE2C;IAC3C,KAAK,CAAC,mBAAmB,CAAC,OAAgB;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED;;;;qFAIiF;IACjF,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,8EAA8E;gBAC9E,oEAAoE;gBACpE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3C,QAAQ,IAAI,CAAC,CAAC,CAAC,6CAA6C;oBAC5D,SAAS;gBACX,CAAC;gBACD,iFAAiF;gBACjF,oFAAoF;gBACpF,oFAAoF;gBACpF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACrF,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC7D,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,QAAQ,IAAI,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC;IAED;;;;;2FAKuF;IACvF,KAAK,CAAC,wBAAwB;QAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/E,QAAQ,IAAI,CAAC,CAAC,CAAC,sCAAsC;oBACrD,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAClF,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,QAAQ,IAAI,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,IAAwB;QAC1D,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAC5B,UAAU,CACX,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/F,CAAC;IAED,yCAAyC;IAEzC;;;0FAGsF;IACtF,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAAC;IACtF,CAAC;IAED;;6GAEyG;IACzG,KAAK,CAAC,qBAAqB,CAAC,IAG3B;QACC,6FAA6F;QAC7F,gGAAgG;QAChG,+FAA+F;QAC/F,8EAA8E;QAC9E,OAAO,IAAI,CAAC,MAAM,CAChB,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CACrC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,EACxB,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,SAAS,CAAC,CACjC,CACF,CAAC,KAAK,CAAC;IACV,CAAC;IAED,+FAA+F;IAC/F,8FAA8F;IAC9F,2FAA2F;IAC3F,kEAAkE;IAElE,sDAAsD;IACtD,EAAE;IACF,8FAA8F;IAC9F,4FAA4F;IAC5F,+FAA+F;IAC/F,uEAAuE;IACvE,EAAE;IACF,6FAA6F;IAC7F,8FAA8F;IAC9F,gGAAgG;IAChG,0BAA0B;IAE1B,gCAAgC;IAEhC,6EAA6E;IAC7E,0DAA0D;IAC1D,EAAE;IACF,+FAA+F;IAC/F,6FAA6F;IAC7F,+DAA+D;IAE/D,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"EngramClient.js","sourceRoot":"","sources":["../src/EngramClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import { type HttpAgent } from '@icp-sdk/core/agent';
2
+ import { Principal } from '@icp-sdk/core/principal';
3
+ export interface BirthRecord {
4
+ version: bigint;
5
+ child: Principal;
6
+ parent: Principal | null;
7
+ number: bigint;
8
+ bornAtNs: bigint;
9
+ secret: Uint8Array;
10
+ parentFingerprint: Uint8Array | null;
11
+ }
12
+ /** A birth record as agent-js decodes the engram's `getBirthChain` reply. */
13
+ export interface CandidBirthRecord {
14
+ version: bigint;
15
+ child: Principal;
16
+ parent: [] | [Principal];
17
+ number: bigint;
18
+ bornAtNs: bigint;
19
+ secret: Uint8Array | number[];
20
+ parentFingerprint: [] | [Uint8Array | number[]];
21
+ }
22
+ export declare function fromCandidBirthRecord(c: CandidBirthRecord): BirthRecord;
23
+ /**
24
+ * The canonical encoding, version 1 (big-endian, no Candid):
25
+ *
26
+ * "engramx/birth/v1" 16 ASCII bytes
27
+ * u8 len(child) ‖ child bytes
28
+ * u8 0 | u8 1 ‖ u8 len(parent) ‖ parent bytes
29
+ * u64 number
30
+ * u64 bornAtNs (never negative)
31
+ * u8 len(secret) ‖ secret (len = 32)
32
+ * u8 0 | u8 1 ‖ 32 bytes parentFingerprint
33
+ *
34
+ * Throws on a record the registry could never have minted (wrong version, a secret or parent
35
+ * fingerprint that is not 32 bytes, a negative or oversized number or time).
36
+ */
37
+ export declare function encodeBirthRecord(r: BirthRecord): Uint8Array;
38
+ /** SHA-256 of the canonical encoding (WebCrypto) — the key of the record's certified leaf. */
39
+ export declare function birthFingerprint(r: BirthRecord): Promise<Uint8Array>;
40
+ /** The registry's `getCertifiedBirth` reply, as agent-js decodes it. */
41
+ export interface CertifiedBirthReply {
42
+ certificate: [] | [Uint8Array | number[]];
43
+ witness: Uint8Array | number[];
44
+ }
45
+ export interface BirthLinkVerdict {
46
+ child: string;
47
+ fingerprintHex: string;
48
+ certified: boolean;
49
+ why: string;
50
+ }
51
+ export interface BirthChainVerdict {
52
+ /** Every record certified AND every adjacent pair links (and `expectChild` matched, when given). */
53
+ verified: boolean;
54
+ /** The first record is a first engram: no parent and no parent fingerprint. */
55
+ complete: boolean;
56
+ /** The last record's child — the engram the chain proves the ancestry of. */
57
+ endsAt: string | null;
58
+ links: BirthLinkVerdict[];
59
+ /** Self-classifying reason. Never act on a record when `verified` is false. */
60
+ why: string;
61
+ }
62
+ /**
63
+ * The default witness fetcher: the registry's public `getCertifiedBirth`, through a narrowed view of
64
+ * the GENERATED registry interface (`registrySubset`), so its signature can never drift from what the
65
+ * registry serves. Anonymous agents are fine — the read is public and reveals only presence.
66
+ */
67
+ export declare function registryBirthWitness(agent: HttpAgent, registryId: Principal | string): (fingerprint: Uint8Array) => Promise<CertifiedBirthReply | null>;
68
+ /**
69
+ * Verify a birth chain (root first, the engram's own record last) against the registry's certified
70
+ * fingerprints.
71
+ *
72
+ * `fetchWitness` is INJECTED: it is called with each record's fingerprint and returns the registry's
73
+ * `getCertifiedBirth` reply (or null). Typically
74
+ * `(fp) => registryActor.getCertifiedBirth(fp).then((r) => (r.length ? r[0] : null))`.
75
+ * ⟨2026-10-26⟩ TODO(Finish phase): a default fetcher over `registrySubset(['getCertifiedBirth'])`
76
+ * needs the regenerated registry IDL — `projectService` throws on a method the generated interface
77
+ * does not carry yet — so it is added when `gen-did.sh` has run.
78
+ * ⟨DONE 2026-10-26, Finish phase⟩ `gen-did.sh` ran; `fetchWitness` is now optional and defaults to
79
+ * `registryBirthWitness(agent, registryId)`, a narrowed view of the generated registry interface —
80
+ * never a hand-declared shape (the drift class ADR-0018 answers).
81
+ *
82
+ * The agent's root key must be set (`fetchRootKey()` first, on a local replica only).
83
+ */
84
+ export declare function verifyBirthChain(agent: HttpAgent, registryId: Principal | string, records: BirthRecord[], opts?: {
85
+ fetchWitness?: (fingerprint: Uint8Array) => Promise<CertifiedBirthReply | null>;
86
+ expectChild?: Principal | string;
87
+ }): Promise<BirthChainVerdict>;
@@ -0,0 +1,233 @@
1
+ // birthChain.ts — verify an engram's BIRTH CHAIN: where it came from, proven against the IC root key
2
+ // without trusting the registry that minted it or the engram that holds it.
3
+ //
4
+ // WHAT A BIRTH CHAIN IS. Every engram a registry opens gets a birth record: which engram it is, which
5
+ // engram it was opened from (none for a first engram), its engram number, when it was born, a 32-byte
6
+ // random secret, and the fingerprint of its parent's record. The engram holds its own record and
7
+ // copies of its ancestors' records — root first, its own last — and serves them to its OWNER only
8
+ // (`getBirthChain`); the owner decides whom to show them to. The registry certifies each record's
9
+ // FINGERPRINT, and nothing else about it, as a leaf of its certified tree under
10
+ // ["births", <fingerprint>] with the constant value [0x01] (`getCertifiedBirth`, public).
11
+ //
12
+ // WHAT THIS CHECKS, every step required (a false `verified` names the first failure in `why`):
13
+ // 1. the chain is not empty and every record is version 1 and encodable;
14
+ // 2. each adjacent pair LINKS: the later record names the earlier one as its parent AND carries the
15
+ // earlier record's fingerprint — recomputed here from the canonical encoding, never read off the
16
+ // wire;
17
+ // 3. each fingerprint's witness verifies up to the registry's subnet-signed certified data
18
+ // (`verifyCertifiedLeaf`), with the leaf bytes equal to [0x01];
19
+ // 4. `expectChild`, when given, is the chain's last record.
20
+ // `complete` says whether the chain starts at a first engram (no parent, no parent fingerprint). A run
21
+ // that starts part-way is allowed and still `verified`: an owner may show any contiguous run, and an
22
+ // engram whose oldest ancestors were born before birth records existed holds one.
23
+ //
24
+ // WHAT IT CANNOT TELL YOU. That the records name the engrams you think they do beyond the ids they
25
+ // carry, or anything about who owns them — a record holds no person's identity, by design. Absence:
26
+ // the registry serves no certified proof that a fingerprint is NOT in its tree, so an uncertified
27
+ // link is "not proven", never "proven false".
28
+ //
29
+ // THE ENCODING is the registry's (`BirthRecord.encode`), byte for byte; the golden vector in
30
+ // test/birth-chain.test.ts is the same one the Motoko suite asserts, and a repository test holds the
31
+ // two hex literals equal.
32
+ //
33
+ // Browser-safe: WebCrypto SHA-256, no Node imports.
34
+ import { Actor } from '@icp-sdk/core/agent';
35
+ import { verifyCertifiedLeaf } from './certifiedAudit.js';
36
+ import { registrySubset } from './idl.js';
37
+ export function fromCandidBirthRecord(c) {
38
+ return {
39
+ version: c.version,
40
+ child: c.child,
41
+ parent: c.parent.length ? c.parent[0] : null,
42
+ number: c.number,
43
+ bornAtNs: c.bornAtNs,
44
+ secret: Uint8Array.from(c.secret),
45
+ parentFingerprint: c.parentFingerprint.length ? Uint8Array.from(c.parentFingerprint[0]) : null,
46
+ };
47
+ }
48
+ const DOMAIN_TAG = new TextEncoder().encode('engramx/birth/v1');
49
+ const TWO_64 = 1n << 64n;
50
+ function u64(n, what) {
51
+ if (n < 0n || n >= TWO_64)
52
+ throw new Error(`${what} does not fit in an unsigned 64-bit integer`);
53
+ const out = [];
54
+ for (let i = 7; i >= 0; i--)
55
+ out.push(Number((n >> BigInt(i * 8)) & 0xffn));
56
+ return out;
57
+ }
58
+ /**
59
+ * The canonical encoding, version 1 (big-endian, no Candid):
60
+ *
61
+ * "engramx/birth/v1" 16 ASCII bytes
62
+ * u8 len(child) ‖ child bytes
63
+ * u8 0 | u8 1 ‖ u8 len(parent) ‖ parent bytes
64
+ * u64 number
65
+ * u64 bornAtNs (never negative)
66
+ * u8 len(secret) ‖ secret (len = 32)
67
+ * u8 0 | u8 1 ‖ 32 bytes parentFingerprint
68
+ *
69
+ * Throws on a record the registry could never have minted (wrong version, a secret or parent
70
+ * fingerprint that is not 32 bytes, a negative or oversized number or time).
71
+ */
72
+ export function encodeBirthRecord(r) {
73
+ if (r.version !== 1n)
74
+ throw new Error(`birth record version ${r.version} is not 1`);
75
+ if (r.secret.length !== 32)
76
+ throw new Error(`birth record secret is ${r.secret.length} bytes, not 32`);
77
+ if (r.parentFingerprint && r.parentFingerprint.length !== 32)
78
+ throw new Error('birth record parent fingerprint is not 32 bytes');
79
+ const out = [...DOMAIN_TAG];
80
+ const child = r.child.toUint8Array();
81
+ out.push(child.length, ...child);
82
+ if (r.parent) {
83
+ const p = r.parent.toUint8Array();
84
+ out.push(1, p.length, ...p);
85
+ }
86
+ else
87
+ out.push(0);
88
+ out.push(...u64(r.number, 'the engram number'), ...u64(r.bornAtNs, 'the birth time'));
89
+ out.push(r.secret.length, ...r.secret);
90
+ if (r.parentFingerprint)
91
+ out.push(1, ...r.parentFingerprint);
92
+ else
93
+ out.push(0);
94
+ return Uint8Array.from(out);
95
+ }
96
+ /** SHA-256 of the canonical encoding (WebCrypto) — the key of the record's certified leaf. */
97
+ export async function birthFingerprint(r) {
98
+ const digest = await globalThis.crypto.subtle.digest('SHA-256', encodeBirthRecord(r));
99
+ return new Uint8Array(digest);
100
+ }
101
+ const hex = (b) => Array.from(b, (x) => x.toString(16).padStart(2, '0')).join('');
102
+ const sameBytes = (a, b) => a === null || b === null ? a === b : a.length === b.length && a.every((x, i) => x === b[i]);
103
+ const asText = (p) => (typeof p === 'string' ? p : p.toText());
104
+ const registryBirthIdl = registrySubset(['getCertifiedBirth']);
105
+ /**
106
+ * The default witness fetcher: the registry's public `getCertifiedBirth`, through a narrowed view of
107
+ * the GENERATED registry interface (`registrySubset`), so its signature can never drift from what the
108
+ * registry serves. Anonymous agents are fine — the read is public and reveals only presence.
109
+ */
110
+ export function registryBirthWitness(agent, registryId) {
111
+ const registry = Actor.createActor(registryBirthIdl, { agent, canisterId: registryId });
112
+ return async (fingerprint) => {
113
+ const r = (await registry['getCertifiedBirth'](fingerprint));
114
+ return r.length ? r[0] : null;
115
+ };
116
+ }
117
+ /**
118
+ * Verify a birth chain (root first, the engram's own record last) against the registry's certified
119
+ * fingerprints.
120
+ *
121
+ * `fetchWitness` is INJECTED: it is called with each record's fingerprint and returns the registry's
122
+ * `getCertifiedBirth` reply (or null). Typically
123
+ * `(fp) => registryActor.getCertifiedBirth(fp).then((r) => (r.length ? r[0] : null))`.
124
+ * ⟨2026-10-26⟩ TODO(Finish phase): a default fetcher over `registrySubset(['getCertifiedBirth'])`
125
+ * needs the regenerated registry IDL — `projectService` throws on a method the generated interface
126
+ * does not carry yet — so it is added when `gen-did.sh` has run.
127
+ * ⟨DONE 2026-10-26, Finish phase⟩ `gen-did.sh` ran; `fetchWitness` is now optional and defaults to
128
+ * `registryBirthWitness(agent, registryId)`, a narrowed view of the generated registry interface —
129
+ * never a hand-declared shape (the drift class ADR-0018 answers).
130
+ *
131
+ * The agent's root key must be set (`fetchRootKey()` first, on a local replica only).
132
+ */
133
+ export async function verifyBirthChain(agent, registryId, records, opts = {}) {
134
+ const fetchWitness = opts.fetchWitness ?? registryBirthWitness(agent, registryId);
135
+ const first = records[0];
136
+ const last = records[records.length - 1];
137
+ const endsAt = last ? last.child.toText() : null;
138
+ const complete = first !== undefined && first.parent === null && first.parentFingerprint === null;
139
+ const fail = (why, links = []) => ({
140
+ verified: false,
141
+ complete,
142
+ endsAt,
143
+ links,
144
+ why,
145
+ });
146
+ if (records.length === 0)
147
+ return fail('the chain is empty — there is nothing to verify');
148
+ // Fingerprints, recomputed from the canonical encoding — never taken from the wire.
149
+ const rows = [];
150
+ for (const [i, rec] of records.entries()) {
151
+ try {
152
+ rows.push({ rec, fp: await birthFingerprint(rec) });
153
+ }
154
+ catch (e) {
155
+ return fail(`record ${i} (${rec.child.toText()}) cannot be encoded: ${e.message}`);
156
+ }
157
+ }
158
+ // Links: each record names the one before it as its parent AND carries its fingerprint.
159
+ let linkBreak = null;
160
+ rows.reduce((prev, cur, i) => {
161
+ if (prev !== null && linkBreak === null) {
162
+ if (cur.rec.parent === null || cur.rec.parent.toText() !== prev.rec.child.toText()) {
163
+ linkBreak = `record ${i} (${cur.rec.child.toText()}) does not name record ${i - 1} (${prev.rec.child.toText()}) as its parent`;
164
+ }
165
+ else if (!sameBytes(cur.rec.parentFingerprint, prev.fp)) {
166
+ linkBreak = `record ${i} (${cur.rec.child.toText()}) does not carry the fingerprint of record ${i - 1}`;
167
+ }
168
+ }
169
+ return cur;
170
+ }, null);
171
+ // Witnesses: each fingerprint must be a certified leaf with the constant value [0x01].
172
+ const utf8 = (s) => new TextEncoder().encode(s);
173
+ const links = [];
174
+ for (const { rec, fp } of rows) {
175
+ const child = rec.child.toText();
176
+ const fingerprintHex = hex(fp);
177
+ let reply;
178
+ try {
179
+ reply = await fetchWitness(fp);
180
+ }
181
+ catch (e) {
182
+ links.push({
183
+ child,
184
+ fingerprintHex,
185
+ certified: false,
186
+ why: `the witness could not be fetched: ${e.message}`,
187
+ });
188
+ continue;
189
+ }
190
+ if (!reply) {
191
+ links.push({
192
+ child,
193
+ fingerprintHex,
194
+ certified: false,
195
+ why: 'the registry holds no certified leaf for this fingerprint (no proof either way — an absence is not certified)',
196
+ });
197
+ continue;
198
+ }
199
+ const leaf = await verifyCertifiedLeaf(agent, registryId, reply, [utf8('births'), fp]);
200
+ if (!leaf.verified || !leaf.valueBytes) {
201
+ links.push({ child, fingerprintHex, certified: false, why: leaf.why });
202
+ }
203
+ else if (!(leaf.valueBytes.length === 1 && leaf.valueBytes[0] === 1)) {
204
+ links.push({
205
+ child,
206
+ fingerprintHex,
207
+ certified: false,
208
+ why: 'the certified leaf is not the constant [0x01]',
209
+ });
210
+ }
211
+ else {
212
+ links.push({ child, fingerprintHex, certified: true, why: 'ok' });
213
+ }
214
+ }
215
+ if (linkBreak !== null)
216
+ return fail(linkBreak, links);
217
+ const uncertified = links.find((l) => !l.certified);
218
+ if (uncertified)
219
+ return fail(`the record of ${uncertified.child} is not certified: ${uncertified.why}`, links);
220
+ if (opts.expectChild !== undefined && asText(opts.expectChild) !== endsAt) {
221
+ return fail(`the chain ends at ${endsAt}, not at the expected engram ${asText(opts.expectChild)}`, links);
222
+ }
223
+ return {
224
+ verified: true,
225
+ complete,
226
+ endsAt,
227
+ links,
228
+ why: complete
229
+ ? 'ok — every record certified and linked, from a first engram'
230
+ : 'ok — every record certified and linked; the chain starts part-way (an ancestor before it is not shown)',
231
+ };
232
+ }
233
+ //# sourceMappingURL=birthChain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"birthChain.js","sourceRoot":"","sources":["../src/birthChain.ts"],"names":[],"mappings":"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"}
package/dist/idl.d.ts CHANGED
@@ -65,7 +65,7 @@ export declare const SDK_MARKET_METHODS: readonly ["confirmJob", "disputeJob", "
65
65
  * ADDING A NAME IS A PRODUCT DECISION, not a maintenance one (surface-budget rule L6): no addition
66
66
  * without a named caller.
67
67
  */
68
- export declare const SDK_ENGRAM_METHODS: readonly ["about", "appendMemory", "backupAbort", "backupFinalize", "backupInit", "backupPullChunk", "backupPushChunk", "getBackupMetadata", "getCertifiedAuditHead", "getEncryptedMemoryKey", "getMemoryHistory", "getMemoryKeyVerificationKey", "getOwnerConsole", "getProtectedPaths", "getWalletBalances", "getWorldIdVerification", "listAuditEntries", "listBackups", "listGuardians", "listMemoryFiles", "listMyApprovalRequests", "readMemory", "readMemoryBatch", "readMemoryBytes", "pairAgent", "reviseMemory", "resignAgent", "rotateAgentKeyHash", "nominateAgentKey", "acceptAgentKeyNomination", "getChildAllowance", "openChildEngram", "getSpawnedBy", "sessionReadContext", "setEncryptionEnabled", "writeMemory"];
68
+ export declare const SDK_ENGRAM_METHODS: readonly ["about", "appendMemory", "backupAbort", "backupFinalize", "backupInit", "backupPullChunk", "backupPushChunk", "getBackupMetadata", "getBackupRetention", "getCertifiedAuditHead", "getEncryptedMemoryKey", "getMemoryHistory", "getMemoryKeyVerificationKey", "getOwnerConsole", "getProtectedPaths", "getWalletBalances", "getWorldIdVerification", "listAuditEntries", "listBackups", "listGuardians", "listMemoryFiles", "listMyApprovalRequests", "readMemory", "readMemoryBatch", "readMemoryBytes", "pairAgent", "reviseMemory", "resignAgent", "myGrant", "rotateAgentKeyHash", "nominateAgentKey", "acceptAgentKeyNomination", "getChildAllowance", "openChildEngram", "getSpawnedBy", "sessionReadContext", "setEncryptionEnabled", "writeMemory"];
69
69
  /** One of the engram methods this SDK may call. */
70
70
  export type SdkEngramMethod = (typeof SDK_ENGRAM_METHODS)[number];
71
71
  /**
package/dist/idl.js CHANGED
@@ -197,6 +197,10 @@ export const SDK_ENGRAM_METHODS = [
197
197
  'backupPullChunk',
198
198
  'backupPushChunk',
199
199
  'getBackupMetadata',
200
+ // ⟨2026-10-21, the owner's round-11 answers h and m⟩ Named caller: EngramClient.getBackupRetention —
201
+ // an agent that uploads backups reads how many of its OWN the engram keeps per kind (the cap is per
202
+ // creator from that day: an agent's backup never removes another party's).
203
+ 'getBackupRetention',
200
204
  'getCertifiedAuditHead',
201
205
  'getEncryptedMemoryKey',
202
206
  'getMemoryHistory',
@@ -223,6 +227,9 @@ export const SDK_ENGRAM_METHODS = [
223
227
  // ⟨2026-09-28⟩ Named caller: EngramClient.resignAgent — the agent's own exit, which the owner
224
228
  // decided the same day an agent must be able to take (and have recorded).
225
229
  'resignAgent',
230
+ // ⟨2026-10-21, the owner's round-11 answer g⟩ Named callers: EngramClient.myGrant and the MCP
231
+ // server's engram_my_grant tool — an agent reads its own grant (its own key only).
232
+ 'myGrant',
226
233
  'rotateAgentKeyHash',
227
234
  // ⟨2026-09-29, the owner's ruling of that date (follow-up 10, option A)⟩ Named callers:
228
235
  // EngramClient.nominateAgentKey and EngramClient.acceptAgentKeyNomination — the agent's one-step
package/dist/idl.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"idl.js","sourceRoot":"","sources":["../src/idl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idl.js","sourceRoot":"","sources":["../src/idl.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -35,8 +35,9 @@ export { generateMcpConfig, claudeConfigPaths, installMcpConfig } from './claude
35
35
  export type { ClaudeSetupOptions, McpConfig } from './claude-setup.js';
36
36
  export { migrateOpenClawMemory, recoverOpenClaw, createCheckpoint, rollbackCheckpoint, listCheckpoints, hasValidPairing, resumeMigration, findIncompleteCheckpoint, } from './migrate.js';
37
37
  export type { MigrateOptions, MigrateFileEvent, MigrateCallback, MigrateResult, RecoverResult, RollbackResult, CheckpointSummary, CheckpointMetadata, } from './migrate.js';
38
- export type { Role, AgentStatus, AgentPermissions, AgentRecord, ChildAllowanceRow, KeyNomination, LogPosition, HeldKey, AgentEnding, AgentEndReason, Pairing, TrackRecordNotice, EnrolmentProof, RawMemoryFile, MemoryVersionSummary, MemoryEviction, MemoryFile, MemoryFileInfo, SessionContext, MemoryHistory, MemoryRangePage, AuditEntry, AuditPage, EngramStatus, OwnerConsole, GuardianPermissions, GuardianRecord, BackupMetadata, BackupType, BackupStatus, ApprovalStatus, ApprovalRequest, } from './types.js';
38
+ export type { Role, AgentStatus, AgentPermissions, AgentRecord, AgentGrant, PaymentLimits, ChildAllowanceRow, KeyNomination, LogPosition, HeldKey, AgentEnding, AgentEndReason, Pairing, TrackRecordNotice, EnrolmentProof, RawMemoryFile, MemoryVersionSummary, MemoryEviction, MemoryFile, MemoryFileInfo, SessionContext, MemoryHistory, MemoryRangePage, AuditEntry, AuditPage, EngramStatus, OwnerConsole, GuardianPermissions, GuardianRecord, BackupMetadata, BackupRetention, BackupType, BackupStatus, ApprovalStatus, ApprovalRequest, } from './types.js';
39
39
  export { verifyCanonicalLineage, classifyLineage, CANONICAL_REGISTRY_CANISTER_ID, type LineageVerdict, type CustodyMode, } from './lineage.js';
40
+ export { verifyBirthChain, registryBirthWitness, encodeBirthRecord, birthFingerprint, fromCandidBirthRecord, type BirthRecord, type CandidBirthRecord, type CertifiedBirthReply, type BirthLinkVerdict, type BirthChainVerdict, } from './birthChain.js';
40
41
  export { chunkHash, deltaHash, contentRoot, merkle, leaf, evictedRoot, opsRoot, eventHash, eventPreambleAndBody, manifestBytes, opBody, opTag, toHex, type Hash as LedgerFsHash, type ChunkRef as LedgerFsChunkRef, type Manifest as LedgerFsManifest, type Op as LedgerFsOp, type Event as LedgerFsEvent, type ImportNote as LedgerFsImportNote, } from './ledgerfsHash.js';
41
42
  export { assembleMemoryArchive, verifyMemoryArchive, recomputeOpsRoot, memoryLogEventHash, toLedgerFsEvent, } from './memoryArchive.js';
42
43
  export type { MemoryLogEvent, MemoryLogOp, MemoryLogImportNote, MemoryLogManifest, MemoryLogChunkRef, MemoryLogPage, MemoryLogEventPage, MemoryLogPageFetcher, MemoryExportReceipt, MemoryCondenseResult, MemoryCondensePreview, MemoryReceiptRef, MemoryExportReceiptRow, MemoryCheckpointRow, MemoryArchive, MemoryArchiveVerification, AssembleArchiveOptions, OpsRootAttestation, } from './memoryArchive.js';
package/dist/index.js CHANGED
@@ -67,6 +67,10 @@ export { migrateOpenClawMemory, recoverOpenClaw, createCheckpoint, rollbackCheck
67
67
  // Canonical-lineage verification — the one-call check for agents/relying parties: is this
68
68
  // engram canonically spawned (registry testimony), and does it run the attested template?
69
69
  export { verifyCanonicalLineage, classifyLineage, CANONICAL_REGISTRY_CANISTER_ID, } from './lineage.js';
70
+ // ⟨2026-10-26⟩ Birth chains — an engram's certified ancestry: the canonical record encoding, its
71
+ // fingerprint, and the verifier that walks a chain and checks each fingerprint against the
72
+ // registry's certified tree. Also on `./verify`.
73
+ export { verifyBirthChain, registryBirthWitness, encodeBirthRecord, birthFingerprint, fromCandidBirthRecord, } from './birthChain.js';
70
74
  // ledgerfs — the era-2 hash contract (§3), reimplemented here so a relying party can recompute
71
75
  // every ledgerfs digest from the anchored chain without trusting the canister. Locked to the Motoko
72
76
  // implementation by the `ledgerfs-goldens` cross-lock. This is the verifier surface, not a writer.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -15,6 +15,12 @@ export type TrackRecordNotice = Engram.TrackRecordNotice;
15
15
  export type ChildAllowanceRow = Engram.ChildAllowanceRow;
16
16
  export type Pairing = Engram.Pairing;
17
17
  export type AgentRecord = Engram.AgentRecord;
18
+ /** ⟨2026-10-21⟩ What `myGrant()` answers: the grant the engram enforces against the calling key —
19
+ * its reads, write folders and rate (`permissions`) and the payment limits on that key. */
20
+ export type AgentGrant = Engram.AgentGrant;
21
+ /** ⟨2026-10-21, review of round 11⟩ `AgentGrant.paymentLimits`: the caps on the calling key only —
22
+ * never the caller lists the payment library's policy can also hold (other parties' keys). */
23
+ export type PaymentLimits = Engram.PaymentLimits;
18
24
  export type LogPosition = Engram.LogPosition;
19
25
  export type HeldKey = Engram.HeldKey;
20
26
  export type KeyNomination = Engram.KeyNomination;
@@ -45,6 +51,9 @@ export type GuardianRecord = Engram.GuardianRecord;
45
51
  export type BackupType = Engram.BackupType;
46
52
  export type BackupStatus = Engram.BackupStatus;
47
53
  export type BackupMetadata = Engram.BackupMetadata;
54
+ /** ⟨2026-10-21⟩ What `getBackupRetention(dbType)` answers: the number of backups of that kind each
55
+ * creator keeps, and whether it is the engram's default. */
56
+ export type BackupRetention = Engram.BackupRetention;
48
57
  export type ApprovalStatus = Engram.ApprovalStatus;
49
58
  export type ApprovalRequest = Engram.ApprovalRequest;
50
59
  /** A memory file with its content decoded to text (decrypted first on an encrypted engram). */
package/dist/verify.d.ts CHANGED
@@ -4,3 +4,5 @@ export { verifyHistoricalCertificate, IC_MAINNET_ROOT_KEY_HEX } from './certifie
4
4
  export type { HistoricalCertificate } from './certifiedAudit.js';
5
5
  export { recordEntryBody, recordDigest, recordLink, legacyRecordLink, recordEntryHash, sealedRowOf, walkToCertifiedHead, } from './recordChain.js';
6
6
  export type { RecordEntryFields, SealedRow, WalkResult } from './recordChain.js';
7
+ export { verifyBirthChain, registryBirthWitness, encodeBirthRecord, birthFingerprint, fromCandidBirthRecord, } from './birthChain.js';
8
+ export type { BirthRecord, CandidBirthRecord, CertifiedBirthReply, BirthLinkVerdict, BirthChainVerdict, } from './birthChain.js';
package/dist/verify.js CHANGED
@@ -13,4 +13,7 @@ export { verifyCertifiedAuditHead, verifyCertifiedLeaf, verifyCertifiedRegistryH
13
13
  // hash contract, which hashes with node:crypto, so `checkEvidence` stays on the package root.
14
14
  export { verifyHistoricalCertificate, IC_MAINNET_ROOT_KEY_HEX } from './certifiedAudit.js';
15
15
  export { recordEntryBody, recordDigest, recordLink, legacyRecordLink, recordEntryHash, sealedRowOf, walkToCertifiedHead, } from './recordChain.js';
16
+ // ⟨2026-10-26⟩ An engram's birth chain — where it came from, checked against the registry's
17
+ // certified fingerprints. Browser-safe (WebCrypto hashing).
18
+ export { verifyBirthChain, registryBirthWitness, encodeBirthRecord, birthFingerprint, fromCandidBirthRecord, } from './birthChain.js';
16
19
  //# sourceMappingURL=verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,+DAA+D;AAC/D,EAAE;AACF,oGAAoG;AACpG,8FAA8F;AAC9F,2FAA2F;AAC3F,qGAAqG;AACrG,gGAAgG;AAChG,iGAAiG;AACjG,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,oGAAoG;AACpG,mGAAmG;AACnG,8FAA8F;AAC9F,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EACL,eAAe,EACf,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,+DAA+D;AAC/D,EAAE;AACF,oGAAoG;AACpG,8FAA8F;AAC9F,2FAA2F;AAC3F,qGAAqG;AACrG,gGAAgG;AAChG,iGAAiG;AACjG,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,oGAAoG;AACpG,mGAAmG;AACnG,8FAA8F;AAC9F,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EACL,eAAe,EACf,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,4FAA4F;AAC5F,4DAA4D;AAC5D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@engramx/client",
3
- "version": "0.16.0-rc.15",
3
+ "version": "0.16.0-rc.17",
4
4
  "description": "Client SDK for EngramX — persistent, decentralized memory for AI agents on the Internet Computer",
5
5
  "license": "Apache-2.0",
6
6
  "author": "EngramX <developer@engramx.ai>",
@@ -53,7 +53,7 @@
53
53
  "@icp-sdk/core": "^6.1.0"
54
54
  },
55
55
  "dependencies": {
56
- "@engramx/idl": "0.16.0-rc.15",
56
+ "@engramx/idl": "0.16.0-rc.17",
57
57
  "@icp-sdk/core": "^6.1.0",
58
58
  "@icp-sdk/vetkeys": "0.7.0",
59
59
  "@noble/curves": "^2.4.0"
@@ -61,7 +61,7 @@
61
61
  "devDependencies": {
62
62
  "@types/node": "^26.6.4",
63
63
  "typescript": "^6.0.3",
64
- "vite": "^8.3.2",
64
+ "vite": "^8.3.3",
65
65
  "vitest": "^5.0.3"
66
66
  },
67
67
  "scripts": {