run402 4.41.0 → 4.43.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 +2 -2
- package/lib/argparse.mjs +1 -1
- package/lib/assets.mjs +10 -14
- package/lib/command-manifest.mjs +28 -27
- package/lib/deploy-v2.mjs +34 -14
- package/lib/doctor.mjs +8 -1
- package/lib/gitvault-target.mjs +7 -9
- package/lib/gitvault.mjs +7 -8
- package/lib/next-actions.mjs +5 -2
- package/lib/notifications.mjs +4 -8
- package/lib/operator.mjs +1 -1
- package/lib/org.mjs +3 -3
- package/lib/repos.mjs +536 -164
- package/lib/rooms-context.mjs +2 -3
- package/lib/rooms.mjs +11 -14
- package/lib/stats.mjs +57 -0
- package/lib/update-check.mjs +6 -8
- package/package.json +1 -1
- package/sdk/dist/index.d.ts +10 -1
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +11 -0
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/kernel.d.ts +31 -0
- package/sdk/dist/kernel.d.ts.map +1 -1
- package/sdk/dist/kernel.js +116 -3
- package/sdk/dist/kernel.js.map +1 -1
- package/sdk/dist/namespaces/admin.d.ts +1 -1
- package/sdk/dist/namespaces/admin.js +1 -1
- package/sdk/dist/namespaces/deploy.types.d.ts +2 -2
- package/sdk/dist/namespaces/gitvault.crypto.d.ts +188 -5
- package/sdk/dist/namespaces/gitvault.crypto.d.ts.map +1 -1
- package/sdk/dist/namespaces/gitvault.crypto.js +277 -8
- package/sdk/dist/namespaces/gitvault.crypto.js.map +1 -1
- package/sdk/dist/namespaces/gitvault.d.ts +239 -44
- package/sdk/dist/namespaces/gitvault.d.ts.map +1 -1
- package/sdk/dist/namespaces/gitvault.js +327 -49
- package/sdk/dist/namespaces/gitvault.js.map +1 -1
- package/sdk/dist/namespaces/gitvault.types.d.ts +184 -9
- package/sdk/dist/namespaces/gitvault.types.d.ts.map +1 -1
- package/sdk/dist/namespaces/gitvault.types.js +2 -1
- package/sdk/dist/namespaces/gitvault.types.js.map +1 -1
- package/sdk/dist/namespaces/projects.d.ts +1 -1
- package/sdk/dist/namespaces/projects.js +1 -1
- package/sdk/dist/namespaces/projects.types.d.ts +1 -1
- package/sdk/dist/namespaces/projects.types.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-apply.d.ts +8 -0
- package/sdk/dist/node/gitvault-apply.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-apply.js +1 -0
- package/sdk/dist/node/gitvault-apply.js.map +1 -1
- package/sdk/dist/node/gitvault-deploy.d.ts +13 -0
- package/sdk/dist/node/gitvault-deploy.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-deploy.js +28 -0
- package/sdk/dist/node/gitvault-deploy.js.map +1 -1
- package/sdk/dist/node/gitvault-keystore.d.ts +54 -4
- package/sdk/dist/node/gitvault-keystore.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-keystore.js +20 -0
- package/sdk/dist/node/gitvault-keystore.js.map +1 -1
- package/sdk/dist/node/gitvault-publication.d.ts +376 -21
- package/sdk/dist/node/gitvault-publication.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-publication.js +567 -19
- package/sdk/dist/node/gitvault-publication.js.map +1 -1
- package/sdk/dist/node/gitvault-recover.d.ts +15 -1
- package/sdk/dist/node/gitvault-recover.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-recover.js +8 -4
- package/sdk/dist/node/gitvault-recover.js.map +1 -1
- package/sdk/dist/node/gitvault-snapshot.d.ts +40 -7
- package/sdk/dist/node/gitvault-snapshot.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-snapshot.js +67 -19
- package/sdk/dist/node/gitvault-snapshot.js.map +1 -1
- package/sdk/dist/scoped.d.ts +2 -2
- package/sdk/dist/scoped.js +1 -1
|
@@ -60,9 +60,19 @@ export const GITVAULT_ENVELOPE_INFO_LABEL = "r402s/v0/envelope";
|
|
|
60
60
|
* paraphrase; the wording is a reviewed product commitment.
|
|
61
61
|
*/
|
|
62
62
|
export const GITVAULT_TERMINAL_LOSS_STATEMENT = "whole-machine or whole-keystore loss is terminal for vault history until human envelopes ship";
|
|
63
|
+
/**
|
|
64
|
+
* The protocol's durability sentence — the keystore-qualified half of the
|
|
65
|
+
* terminal-loss statement, reusable on its own. It is TRUE regardless of how
|
|
66
|
+
* many principals cover a vault (unlike {@link GITVAULT_TERMINAL_LOSS_STATEMENT},
|
|
67
|
+
* which is specifically the single-principal V0-A claim), so a caller that has
|
|
68
|
+
* locally proven a vault carries >= 2 covering recipients prints this sentence
|
|
69
|
+
* instead of the terminal-loss one — see `Gitvault.status()`'s `covering_recipients`
|
|
70
|
+
* field. Never paraphrase; the wording is a reviewed product commitment.
|
|
71
|
+
*/
|
|
72
|
+
export const GITVAULT_DURABILITY_STATEMENT = "The vault protects source history from host-side loss while a principal keystore survives.";
|
|
63
73
|
/** Protocol §0 sentence in full, as `doctor`/`status` print it. */
|
|
64
74
|
export const GITVAULT_TERMINAL_LOSS_DOCTOR_TEXT = "In V0-A, whole-machine or whole-keystore loss is terminal for vault history (VAULT_UNRECOVERABLE) until human envelopes ship. " +
|
|
65
|
-
|
|
75
|
+
`${GITVAULT_DURABILITY_STATEMENT} ` +
|
|
66
76
|
"The remaining paths are the platform's custodial restore of deployed artifacts (the deploy lane's CAS) and org/infra recovery; " +
|
|
67
77
|
"a recovery receipt authenticates a genesis — it cannot decrypt anything.";
|
|
68
78
|
/**
|
|
@@ -265,6 +275,15 @@ function withoutSignature(object) {
|
|
|
265
275
|
void _signature;
|
|
266
276
|
return rest;
|
|
267
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Exported so the rotation producer (D195) can build the SAME
|
|
280
|
+
* signature-stripped shape `rotation_id`'s own derivation needs
|
|
281
|
+
* (`sha256(JCS(descriptor minus signature))`) without reaching into this
|
|
282
|
+
* module's private helper twice under two different names.
|
|
283
|
+
*/
|
|
284
|
+
export function gitvaultWithoutSignature(object) {
|
|
285
|
+
return withoutSignature(object);
|
|
286
|
+
}
|
|
268
287
|
/** Signature preimage = `"r402s/v0/" + object_kind + "\n" + JCS(object without its single top-level signature)`. */
|
|
269
288
|
export function signaturePreimage(objectKind, objectWithoutSignature) {
|
|
270
289
|
if ("signature" in objectWithoutSignature) {
|
|
@@ -362,7 +381,17 @@ export function digestKeyInfo(repoId, epoch, label) {
|
|
|
362
381
|
return concatBytes(lp(GITVAULT_FORMAT), lp(GITVAULT_SUITE), lp(repoId), lp(epoch), lp("digest"), lp(label), lp("L=32"));
|
|
363
382
|
}
|
|
364
383
|
export function deriveDigestKey(kRepo, repoId, epoch, label) {
|
|
365
|
-
return
|
|
384
|
+
return deriveDigestKeyFrom(kRepo, repoId, epoch, label);
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* The general form `deriveDigestKey` is a fixed-`ikm=K_repo` specialization
|
|
388
|
+
* of (D195/D198/D200, rev 42): every rev-42 rotation label is keyed by the
|
|
389
|
+
* SAMPLED epoch key (`K_e` for a rotation, `K_1` for genesis) instead of
|
|
390
|
+
* `K_repo` — "the value being committed IS the key being distributed"
|
|
391
|
+
* (protocol-v0.md S1). Same HKDF info construction either way.
|
|
392
|
+
*/
|
|
393
|
+
export function deriveDigestKeyFrom(ikm, repoId, epoch, label) {
|
|
394
|
+
return hkdf(sha256, ikm, undefined, digestKeyInfo(repoId, epoch, label), 32);
|
|
366
395
|
}
|
|
367
396
|
/** Commitment = HMAC-SHA-256(K_digest(label), JCS(content)), lowercase hex. */
|
|
368
397
|
export function keyedCommitment(kDigest, content) {
|
|
@@ -475,8 +504,20 @@ function toArrayBuffer(bytes) {
|
|
|
475
504
|
export function envelopeInfo(recipientPublicKeyRaw, createdBy) {
|
|
476
505
|
return concatBytes(lp(GITVAULT_ENVELOPE_INFO_LABEL), lp(GITVAULT_SUITE), lp(sha256Hex(recipientPublicKeyRaw)), lp(createdBy));
|
|
477
506
|
}
|
|
478
|
-
/**
|
|
479
|
-
|
|
507
|
+
/**
|
|
508
|
+
* HPKE AAD (D188, discriminated by `rotation_id` presence — D203, rev 42):
|
|
509
|
+
* `rotation_id` ABSENT (genesis / ADD-workaround envelope) -> the rev-41
|
|
510
|
+
* four-field form, BYTE-IDENTICAL to every existing golden HPKE digest;
|
|
511
|
+
* `rotation_id` PRESENT (a rotation-attempt envelope) -> the new five-field
|
|
512
|
+
* form. Field ORDER in the returned object does not matter (JCS sorts
|
|
513
|
+
* object members), but `rotation_id` must never be included as an explicit
|
|
514
|
+
* `null` — the two shapes are genuinely different objects, not one object
|
|
515
|
+
* with an optional-null member (protocol-v0.md S2).
|
|
516
|
+
*/
|
|
517
|
+
export function envelopeAad(repoId, epoch, recipientFingerprint, rotationId) {
|
|
518
|
+
if (rotationId) {
|
|
519
|
+
return { repo_id: repoId, epoch, rotation_id: rotationId, recipient_kind: "principal", recipient_fingerprint: recipientFingerprint };
|
|
520
|
+
}
|
|
480
521
|
return { repo_id: repoId, epoch, recipient_kind: "principal", recipient_fingerprint: recipientFingerprint };
|
|
481
522
|
}
|
|
482
523
|
/** Single-shot HPKE seal (Base mode) returning `{enc, ct}`. */
|
|
@@ -508,10 +549,11 @@ export async function sealKeyEnvelope(input) {
|
|
|
508
549
|
fail("GITVAULT_BAD_TIMESTAMP", "created_at is not an RFC 3339 UTC ms timestamp", "sealing r402s/v0 key envelope");
|
|
509
550
|
const createdBy = vkFingerprint(input.signer.public_key);
|
|
510
551
|
const recipientFingerprint = ekFingerprint(input.recipient_public_key);
|
|
552
|
+
const rotationId = input.rotation_id ?? null;
|
|
511
553
|
const { enc, ct } = await hpkeSeal({
|
|
512
554
|
recipient_public_key: input.recipient_public_key,
|
|
513
555
|
info: envelopeInfo(input.recipient_public_key, createdBy),
|
|
514
|
-
aad: jcs(envelopeAad(input.repo_id, input.epoch, recipientFingerprint)),
|
|
556
|
+
aad: jcs(envelopeAad(input.repo_id, input.epoch, recipientFingerprint, rotationId)),
|
|
515
557
|
plaintext: input.k_repo,
|
|
516
558
|
ikm_e: input.ikm_e,
|
|
517
559
|
});
|
|
@@ -527,6 +569,7 @@ export async function sealKeyEnvelope(input) {
|
|
|
527
569
|
ct: toBase64url(ct),
|
|
528
570
|
created_by: createdBy,
|
|
529
571
|
created_at: input.created_at,
|
|
572
|
+
...(rotationId ? { rotation_id: rotationId } : {}),
|
|
530
573
|
};
|
|
531
574
|
const envelope = signGitvaultObject(unsigned, input.signer.seed);
|
|
532
575
|
const bytes = storedBytes(envelope);
|
|
@@ -536,13 +579,22 @@ export async function sealKeyEnvelope(input) {
|
|
|
536
579
|
stored_bytes: bytes,
|
|
537
580
|
stored_bytes_sha256: hash,
|
|
538
581
|
size_bytes: String(bytes.length),
|
|
539
|
-
receipt: {
|
|
582
|
+
receipt: {
|
|
583
|
+
object_kind: "key_envelope",
|
|
584
|
+
epoch: input.epoch,
|
|
585
|
+
recipient_fingerprint: recipientFingerprint,
|
|
586
|
+
stored_bytes_sha256: hash,
|
|
587
|
+
size_bytes: String(bytes.length),
|
|
588
|
+
...(rotationId ? { rotation_id: rotationId } : {}),
|
|
589
|
+
},
|
|
540
590
|
};
|
|
541
591
|
}
|
|
542
592
|
/**
|
|
543
593
|
* Open a `key_envelope`: exact-scalar checks → signature (strict, domain
|
|
544
594
|
* `key_envelope`) → path identity (recipient fingerprint = ours) → HPKE open
|
|
545
|
-
* with the D188 info/AAD
|
|
595
|
+
* with the D188 info/AAD (widened to the five-field form when the envelope
|
|
596
|
+
* itself carries `rotation_id` — D195/D203). Returns the raw 32-byte secret
|
|
597
|
+
* (`K_repo`/`K_1` at genesis, `K_e` for a rotation).
|
|
546
598
|
*/
|
|
547
599
|
export async function openKeyEnvelope(input) {
|
|
548
600
|
const env = input.envelope;
|
|
@@ -558,7 +610,7 @@ export async function openKeyEnvelope(input) {
|
|
|
558
610
|
recipient_private_key: input.recipient.private_key,
|
|
559
611
|
enc: fromBase64url(env.enc, "enc"),
|
|
560
612
|
info: envelopeInfo(input.recipient.public_key, env.created_by),
|
|
561
|
-
aad: jcs(envelopeAad(env.repo_id, env.epoch, env.recipient_fingerprint)),
|
|
613
|
+
aad: jcs(envelopeAad(env.repo_id, env.epoch, env.recipient_fingerprint, env.rotation_id ?? null)),
|
|
562
614
|
ct: fromBase64url(env.ct, "ct"),
|
|
563
615
|
});
|
|
564
616
|
if (kRepo.length !== 32)
|
|
@@ -705,5 +757,222 @@ export function checkAllocation(allocation, expected, servicePublicKey) {
|
|
|
705
757
|
problems.push("signature");
|
|
706
758
|
return problems;
|
|
707
759
|
}
|
|
760
|
+
// ─── Epoch rotation (D193-D203, rev 42, change gitvault-human-envelopes) ───
|
|
761
|
+
//
|
|
762
|
+
// Pure, isomorphic math shared by the producer (Node-only, gitvault-
|
|
763
|
+
// publication.ts's `rotateEpoch`, which has the live desired-recipient
|
|
764
|
+
// state + local keystore this module cannot see) and by vector generation.
|
|
765
|
+
// Every formula here MIRRORS the gateway's own pure functions in
|
|
766
|
+
// `packages/gateway/src/services/gitvault/epoch-rotation.ts` byte-for-byte
|
|
767
|
+
// (same field order is irrelevant — JCS sorts — but the SAME field SET and
|
|
768
|
+
// the SAME preimage construction is load-bearing: a drift here would build
|
|
769
|
+
// a descriptor/payload the gateway's own re-derivation refuses).
|
|
770
|
+
/** 16-hex epochs compare/increment as unsigned integers (chain.ts's `nextGeneration`, mirrored). */
|
|
771
|
+
export function epochValue(hex16) {
|
|
772
|
+
return BigInt("0x" + hex16);
|
|
773
|
+
}
|
|
774
|
+
export function nextEpoch(hex16) {
|
|
775
|
+
return (epochValue(hex16) + 1n).toString(16).padStart(16, "0");
|
|
776
|
+
}
|
|
777
|
+
function sortedDistinct(xs) {
|
|
778
|
+
return [...new Set(xs)].sort();
|
|
779
|
+
}
|
|
780
|
+
/**
|
|
781
|
+
* D196: `target_partition_digest = SHA-256(JCS({recipient_state_version,
|
|
782
|
+
* recipient_revocation_version, pin_manifest_version, pin_manifest_sha256,
|
|
783
|
+
* included: [sorted {principal_id, ek_fingerprint}], excluded_keyless_principal_ids:
|
|
784
|
+
* [sorted], excluded_unconfirmed_principal_ids: [sorted]}))`. The producer
|
|
785
|
+
* calls this ONCE to build the value it embeds in both the descriptor
|
|
786
|
+
* (D195) and the payload (D196); the gateway recomputes the SAME formula
|
|
787
|
+
* twice server-side and refuses on any disagreement — so a bug here is a
|
|
788
|
+
* `RECIPIENT_SET_MISMATCH` at admission time, not a silent forgery.
|
|
789
|
+
*/
|
|
790
|
+
export function computeTargetPartitionDigest(input) {
|
|
791
|
+
const includedSorted = [...input.included].sort((a, b) => (a.principal_id < b.principal_id ? -1 : a.principal_id > b.principal_id ? 1 : 0));
|
|
792
|
+
const body = {
|
|
793
|
+
recipient_state_version: input.recipient_state_version,
|
|
794
|
+
recipient_revocation_version: input.recipient_revocation_version,
|
|
795
|
+
pin_manifest_version: input.pin_manifest_version,
|
|
796
|
+
pin_manifest_sha256: input.pin_manifest_sha256,
|
|
797
|
+
included: includedSorted.map((p) => ({ principal_id: p.principal_id, ek_fingerprint: p.ek_fingerprint })),
|
|
798
|
+
excluded_keyless_principal_ids: sortedDistinct(input.excluded_keyless_principal_ids),
|
|
799
|
+
excluded_unconfirmed_principal_ids: sortedDistinct(input.excluded_unconfirmed_principal_ids),
|
|
800
|
+
};
|
|
801
|
+
return sha256Hex(jcs(body));
|
|
802
|
+
}
|
|
803
|
+
/**
|
|
804
|
+
* D195: `rotation_id = lowerhex(SHA-256(JCS(the complete descriptor object,
|
|
805
|
+
* MINUS signature)))` — the full 64-hex digest, computed over the descriptor
|
|
806
|
+
* INCLUDING `attempt_key_commitment` (a field ON the descriptor). Callers
|
|
807
|
+
* pass the SIGNED descriptor (or the unsigned one — the signature member is
|
|
808
|
+
* stripped either way, matching the gateway's `computeRotationId`).
|
|
809
|
+
*/
|
|
810
|
+
export function computeRotationId(descriptor) {
|
|
811
|
+
return sha256Hex(jcs(gitvaultWithoutSignature(descriptor)));
|
|
812
|
+
}
|
|
813
|
+
/**
|
|
814
|
+
* D195's `attempt_key_commitment` preimage: the descriptor's OWN fields
|
|
815
|
+
* minus `attempt_key_commitment` itself (and minus `signature`, which does
|
|
816
|
+
* not exist yet at this point in the build) — `rotation_id` is never a
|
|
817
|
+
* member of the descriptor object at all (it is the object's derived path
|
|
818
|
+
* key), so there is nothing to additionally strip for it. Noncircular by
|
|
819
|
+
* construction: `attempt_key_commitment` must exist before `rotation_id`
|
|
820
|
+
* can be computed FROM the complete descriptor.
|
|
821
|
+
*/
|
|
822
|
+
export function attemptKeyCommitmentPreimage(descriptorFields) {
|
|
823
|
+
return { ...descriptorFields };
|
|
824
|
+
}
|
|
825
|
+
/**
|
|
826
|
+
* D195/§1's `"epoch_rotation_attempt"` commitment: `HMAC-SHA-256(K_digest(
|
|
827
|
+
* "epoch_rotation_attempt", repo_id, new_epoch), JCS(the descriptor's own
|
|
828
|
+
* fields minus attempt_key_commitment), ikm=K_e)` — keyed by the SAMPLED
|
|
829
|
+
* epoch key being distributed, not `K_repo` (D195/D200/§1: "every one keyed
|
|
830
|
+
* by the SAMPLED epoch key... since the value being committed IS the key
|
|
831
|
+
* being distributed"). `K_digest`'s own `epoch` parameter is `new_epoch`
|
|
832
|
+
* (this rotation's OWN epoch) — the natural, and only internally-consistent,
|
|
833
|
+
* reading of §1's generic formula for a value that is a property of the new
|
|
834
|
+
* epoch's key; there is no gateway-side computation of this value to cross-
|
|
835
|
+
* check against (the gateway never sees `K_e`), so this is the SDK's own
|
|
836
|
+
* considered wire-shape decision, stated here rather than guessed silently.
|
|
837
|
+
*/
|
|
838
|
+
export function attemptKeyCommitment(kE, repoId, newEpoch, descriptorFields) {
|
|
839
|
+
const kDigest = deriveDigestKeyFrom(kE, repoId, newEpoch, "epoch_rotation_attempt");
|
|
840
|
+
return keyedCommitment(kDigest, attemptKeyCommitmentPreimage(descriptorFields));
|
|
841
|
+
}
|
|
842
|
+
/**
|
|
843
|
+
* D200/§1's `"epoch_rotation"` commitment: `HMAC-SHA-256(K_digest(
|
|
844
|
+
* "epoch_rotation", repo_id, new_epoch), JCS({rotation_id, fingerprints:
|
|
845
|
+
* [sorted pairwise-distinct]}), ikm=K_e)`. Proves a PER-RECIPIENT self-check
|
|
846
|
+
* only (D200's narrowed claim) — never global set-coherence. A recipient
|
|
847
|
+
* who opens their own envelope recovers `K_e` + `epoch` (== `new_epoch`)
|
|
848
|
+
* directly from the envelope itself, so they can recompute this independent
|
|
849
|
+
* of the descriptor/payload — confirming `new_epoch` is the right `K_digest`
|
|
850
|
+
* epoch parameter (the same value both the producer and every recipient
|
|
851
|
+
* arrive at without coordination).
|
|
852
|
+
*/
|
|
853
|
+
export function epochRotationKeyCommitment(kE, repoId, newEpoch, rotationId, fingerprints) {
|
|
854
|
+
const kDigest = deriveDigestKeyFrom(kE, repoId, newEpoch, "epoch_rotation");
|
|
855
|
+
return keyedCommitment(kDigest, { rotation_id: rotationId, fingerprints: sortedDistinct(fingerprints) });
|
|
856
|
+
}
|
|
857
|
+
/**
|
|
858
|
+
* D198's genesis-specific `"vault_genesis_epoch_key"` commitment — the same
|
|
859
|
+
* per-recipient-self-check discipline applied to an N-recipient genesis,
|
|
860
|
+
* with its own noncircular preimage (no `rotation_id` exists at generation
|
|
861
|
+
* zero). Not built by this SDK's genesis path today (single-recipient
|
|
862
|
+
* genesis only); exported for vector generation / future N-recipient
|
|
863
|
+
* genesis support.
|
|
864
|
+
*/
|
|
865
|
+
export function genesisEpochKeyCommitment(k1, repoId, fingerprints) {
|
|
866
|
+
const kDigest = deriveDigestKeyFrom(k1, repoId, GITVAULT_GENESIS_EPOCH, "vault_genesis_epoch_key");
|
|
867
|
+
return keyedCommitment(kDigest, { repo_id: repoId, generation: GITVAULT_GENESIS_GENERATION, epoch: GITVAULT_GENESIS_EPOCH, fingerprints: sortedDistinct(fingerprints) });
|
|
868
|
+
}
|
|
869
|
+
/**
|
|
870
|
+
* D195's producer obligation the round-3 review's own decisive witness
|
|
871
|
+
* forces: "a producer that cannot prove it is resuming its OWN prior
|
|
872
|
+
* in-flight attempt... MUST mint a fresh `client_idempotency_key`... before
|
|
873
|
+
* uploading any envelope." The corollary — and what actually PREVENTS the
|
|
874
|
+
* complementary-path mosaic client-side, before the descriptor's create-only
|
|
875
|
+
* CAS even gets a chance to catch it server-side — is that a fresh K_e must
|
|
876
|
+
* never equal any epoch key this client has ever locally held (constant-time
|
|
877
|
+
* comparison; a match is evidence of a broken CSPRNG or a reused seed, not a
|
|
878
|
+
* legitimate resume, since a genuine resume reuses the SAME
|
|
879
|
+
* client_idempotency_key AND therefore builds the identical descriptor, not
|
|
880
|
+
* merely the same K_e in isolation).
|
|
881
|
+
*/
|
|
882
|
+
export function checkFreshEpochKeyAgainstPriorKeys(kE, priorKeys) {
|
|
883
|
+
if (kE.length !== 32)
|
|
884
|
+
fail("GITVAULT_BAD_KEY", "a freshly sampled K_e must be 32 bytes", "sampling a fresh epoch key");
|
|
885
|
+
const fresh = bytesToHex(kE);
|
|
886
|
+
for (const prior of priorKeys) {
|
|
887
|
+
if (bytesToHex(prior) === fresh) {
|
|
888
|
+
fail("GITVAULT_EPOCH_KEY_NOT_FRESH", "the freshly sampled K_e equals a prior epoch key already held locally — refusing to seal under it", "sampling a fresh epoch key");
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* D196's pair-level bijection, mirrored client-side as a PRE-SUBMIT
|
|
894
|
+
* self-check (the gateway's own recomputation under its live desired-state
|
|
895
|
+
* lock remains the authoritative check — this exists so a client-side
|
|
896
|
+
* partition bug surfaces as a clear local error instead of a round trip
|
|
897
|
+
* that ends in `RECIPIENT_SET_MISMATCH`).
|
|
898
|
+
*/
|
|
899
|
+
export function checkHPartition(input) {
|
|
900
|
+
const includedIds = input.included.map((p) => p.principal_id);
|
|
901
|
+
const includedFps = input.included.map((p) => p.ek_fingerprint);
|
|
902
|
+
if (new Set(includedIds).size !== includedIds.length)
|
|
903
|
+
return { ok: false, detail: "envelopes[].principal_id are not pairwise-distinct" };
|
|
904
|
+
if (new Set(includedFps).size !== includedFps.length)
|
|
905
|
+
return { ok: false, detail: "envelopes[].envelope.recipient_fingerprint are not pairwise-distinct" };
|
|
906
|
+
if (new Set(input.excludedKeylessPrincipalIds).size !== input.excludedKeylessPrincipalIds.length)
|
|
907
|
+
return { ok: false, detail: "excluded_keyless_principal_ids are not pairwise-distinct" };
|
|
908
|
+
if (new Set(input.excludedUnconfirmedPrincipalIds).size !== input.excludedUnconfirmedPrincipalIds.length)
|
|
909
|
+
return { ok: false, detail: "excluded_unconfirmed_principal_ids are not pairwise-distinct" };
|
|
910
|
+
const partition = new Map();
|
|
911
|
+
for (const id of includedIds) {
|
|
912
|
+
if (partition.has(id))
|
|
913
|
+
return { ok: false, detail: `principal ${id} appears more than once across the partition` };
|
|
914
|
+
partition.set(id, "included");
|
|
915
|
+
}
|
|
916
|
+
for (const id of input.excludedKeylessPrincipalIds) {
|
|
917
|
+
if (partition.has(id))
|
|
918
|
+
return { ok: false, detail: `principal ${id} appears more than once across the partition` };
|
|
919
|
+
partition.set(id, "keyless");
|
|
920
|
+
}
|
|
921
|
+
for (const id of input.excludedUnconfirmedPrincipalIds) {
|
|
922
|
+
if (partition.has(id))
|
|
923
|
+
return { ok: false, detail: `principal ${id} appears more than once across the partition` };
|
|
924
|
+
partition.set(id, "unconfirmed");
|
|
925
|
+
}
|
|
926
|
+
if (partition.size !== input.desiredPrincipalIds.size)
|
|
927
|
+
return { ok: false, detail: `partition covers ${partition.size} principals; H has ${input.desiredPrincipalIds.size}` };
|
|
928
|
+
for (const id of partition.keys())
|
|
929
|
+
if (!input.desiredPrincipalIds.has(id))
|
|
930
|
+
return { ok: false, detail: `principal ${id} is not in the current desired-recipient set H` };
|
|
931
|
+
for (const id of input.desiredPrincipalIds)
|
|
932
|
+
if (!partition.has(id))
|
|
933
|
+
return { ok: false, detail: `principal ${id} in H is named by neither envelopes[] nor either exclusion array` };
|
|
934
|
+
for (const pair of input.included) {
|
|
935
|
+
if (!input.keyedPrincipalIds.has(pair.principal_id))
|
|
936
|
+
return { ok: false, detail: `included principal ${pair.principal_id} has no enrolled key` };
|
|
937
|
+
const pinned = input.pinnedFingerprintOf.get(pair.principal_id);
|
|
938
|
+
if (pinned === undefined)
|
|
939
|
+
return { ok: false, detail: `included principal ${pair.principal_id} has no live pin-manifest entry` };
|
|
940
|
+
if (pinned !== pair.ek_fingerprint)
|
|
941
|
+
return { ok: false, detail: `included principal ${pair.principal_id}'s envelope fingerprint does not match the effective pin manifest's binding` };
|
|
942
|
+
}
|
|
943
|
+
for (const id of input.excludedKeylessPrincipalIds) {
|
|
944
|
+
if (input.keyedPrincipalIds.has(id))
|
|
945
|
+
return { ok: false, detail: `excluded-keyless principal ${id} actually has an enrolled key` };
|
|
946
|
+
}
|
|
947
|
+
for (const id of input.excludedUnconfirmedPrincipalIds) {
|
|
948
|
+
if (!input.keyedPrincipalIds.has(id))
|
|
949
|
+
return { ok: false, detail: `excluded-unconfirmed principal ${id} is keyless, not unconfirmed` };
|
|
950
|
+
if (input.pinnedFingerprintOf.has(id))
|
|
951
|
+
return { ok: false, detail: `excluded-unconfirmed principal ${id} actually has a live pin-manifest entry` };
|
|
952
|
+
}
|
|
953
|
+
return { ok: true };
|
|
954
|
+
}
|
|
955
|
+
/** D197's full-map conservation rule: `next_map = prior_map + receipt-authorized additions/replacements`, deletion-by-omission forbidden. */
|
|
956
|
+
export function checkPinManifestConservation(prior, next) {
|
|
957
|
+
const nextIds = new Set(next.map((p) => p.principal_id));
|
|
958
|
+
for (const p of prior) {
|
|
959
|
+
if (!nextIds.has(p.principal_id))
|
|
960
|
+
return { ok: false, detail: `principal ${p.principal_id} present in the predecessor manifest is missing from the successor — deletion by omission is forbidden in V0` };
|
|
961
|
+
}
|
|
962
|
+
const seen = new Set();
|
|
963
|
+
for (const p of next) {
|
|
964
|
+
if (seen.has(p.principal_id))
|
|
965
|
+
return { ok: false, detail: `principal ${p.principal_id} appears more than once in the manifest` };
|
|
966
|
+
seen.add(p.principal_id);
|
|
967
|
+
}
|
|
968
|
+
return { ok: true };
|
|
969
|
+
}
|
|
970
|
+
/** The synthetic ledger id a path-addressed `key_envelope` gets — mirrors the gateway's `keyEnvelopeLedgerId` exactly (drift here breaks receipt pairing at upload finalize). */
|
|
971
|
+
export function keyEnvelopeLedgerId(epoch, fingerprint, rotationId) {
|
|
972
|
+
return rotationId ? `key_envelope:${epoch}:${rotationId}:${fingerprint}` : `key_envelope:${epoch}:${fingerprint}`;
|
|
973
|
+
}
|
|
974
|
+
export function pinManifestLedgerId(pinManifestVersion) {
|
|
975
|
+
return `recipient_pin_manifest:${pinManifestVersion}`;
|
|
976
|
+
}
|
|
708
977
|
export { bytesToHex, hexToBytes };
|
|
709
978
|
//# sourceMappingURL=gitvault.crypto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault.crypto.js","sourceRoot":"","sources":["../../src/namespaces/gitvault.crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAiE,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAoB1C,gFAAgF;AAEhF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAG,UAAmB,CAAC;AACnD,sCAAsC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,SAAkB,CAAC;AACjD,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAiB,CAAC;AACtD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAa,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAa,CAAC;AACrD,iEAAiE;AACjE,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9D,gEAAgE;AAChE,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAA2B,CAAC;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAA2B,CAAC;AAClE,mDAAmD;AACnD,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAA4B,CAAC;AAEzE;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,+FAAwG,CAAC;AAE3G,mEAAmE;AACnE,MAAM,CAAC,MAAM,kCAAkC,GAC7C,gIAAgI;IAChI,6FAA6F;IAC7F,iIAAiI;IACjI,0EAA0E,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAC3D,6LAAsM,CAAC;AAEzM,oGAAoG;AACpG,MAAM,CAAC,MAAM,iDAAiD,GAC5D,qLAA8L,CAAC;AAEjM,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC;AACrD,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,gFAAgF;AAEhF,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAClD,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAC/D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,uCAAuC,CAAC;AAC3E,4DAA4D;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAC/D,qEAAqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AACzD,MAAM,CAAC,MAAM,qBAAqB,GAChC,yGAAyG,CAAC;AAE5G,SAAS,IAAI,CAAC,IAAY,EAAE,OAAe,EAAE,OAAe,EAAE,OAAiB;IAC7E,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,KAAK,GAAG,OAAO;IAC1D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,iCAAiC,EAAE,GAAG,KAAK,6BAA6B,EAAE,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,oHAAoH;AACpH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;IAC7F,OAAO,GAAG,IAAI,WAAW,CAAC;AAC5B,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,OAAa,IAAI,IAAI,EAAE;IAC7D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,gFAAgF;AAEhF,iFAAiF;AACjF,MAAM,UAAU,EAAE,CAAC,KAAa;IAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,KAAK,CAAC,KAAoB;IACxC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAiB;IACzC,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,GAAG,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,gFAAgF;AAEhF,SAAS,kBAAkB,CAAC,KAAc,EAAE,IAAY;IACtD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO;IACtF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,IAAI,CAAC,sBAAsB,EAAE,6CAA6C,IAAI,GAAG,EAAE,gCAAgC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjI,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YAC5E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,yBAAyB,EAAE,uBAAuB,IAAI,IAAI,GAAG,EAAE,EAAE,gCAAgC,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACtI,CAAC;YACD,kBAAkB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,2BAA2B,EAAE,wBAAwB,IAAI,EAAE,EAAE,gCAAgC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAChH,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,GAAG,CAAC,KAAc;IAChC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,IAAU,EAAE,IAAY;IAC7C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,aAAa,CAAE,IAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,KAAK,QAAQ;YACX,IAAI,CAAC,uBAAuB,EAAE,kBAAkB,IAAI,EAAE,EAAE,gCAAgC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7H,0CAA0C;QAC1C,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,MAAM,IAAK,IAAmB,CAAC,OAAO,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClF,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,uBAAuB,EAAE,oBAAoB,IAAI,OAAO,IAAI,EAAE,EAAE,gCAAgC,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClK,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACf,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,OAAO;QACT,CAAC;QACD,KAAK,OAAO;YACT,IAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAChG,OAAO;QACT;YACE,OAAO;IACX,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,GAAiB,CAAC;IACtB,IAAI,CAAC;QACH,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,uBAAuB,EAAE,cAAc,EAAE,gCAAgC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9G,CAAC;IACD,aAAa,CAAC,GAAI,EAAE,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAI,CAAC,CAAC;IAC7B,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,uBAAuB,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACpI,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,OAA6D,CAAC;QACpF,OAAO,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAEhF,0FAA0F;AAC1F,MAAM,UAAU,WAAW,CAAC,MAA4B;IACtD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,MAA4B;IAC5D,OAAO,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB,CAAoC,MAAS;IACpE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAClD,KAAK,UAAU,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oHAAoH;AACpH,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE,sBAA+C;IAC/G,IAAI,WAAW,IAAI,sBAAsB,EAAE,CAAC;QAC1C,IAAI,CAAC,iCAAiC,EAAE,kDAAkD,EAAE,sCAAsC,CAAC,CAAC;IACtI,CAAC;IACD,OAAO,WAAW,CAAC,WAAW,CAAC,GAAG,eAAe,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,gBAAgB,CAAC,IAAgB;IAC/C,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAmB,EAAE,IAAgB;IAC/D,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAqB,EAAE,OAAmB,EAAE,SAAqB;IACnG,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,kBAAkB,CAChC,sBAAiD,EACjD,IAAgB;IAEhB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,WAAW,EAAE,sBAAiD,CAAC,CAAC;IAC1H,OAAO,EAAE,GAAG,sBAAsB,EAAE,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA4B,EAAE,SAA8B;IAC/F,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACjJ,IAAI,GAAe,CAAC;IACpB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3F,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAA4B,CAAC,CAAC;IAC5G,OAAO,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,uBAAuB,CAAC,MAA4B,EAAE,SAA8B,EAAE,OAAO,GAAG,8BAA8B;IAC5I,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,4BAA4B,EAAE,GAAG,MAAM,CAAC,WAAW,8CAA8C,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACxJ,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,YAAwB;IACxD,OAAO,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAAC,YAAwB;IACpD,OAAO,MAAM,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,aAAa,CAAC,YAAwB;IACpD,OAAO,MAAM,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAmB,WAAW,CAAC,EAAE,CAAC;IACvE,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;QAAE,IAAI,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,4BAA4B,CAAC,CAAC;IACjH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,aAAyB,WAAW,CAAC,EAAE,CAAC;IAChF,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE;QAAE,IAAI,CAAC,mBAAmB,EAAE,qCAAqC,EAAE,+BAA+B,CAAC,CAAC;IAChI,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,+EAA+E;AAE/E,0HAA0H;AAC1H,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,KAAa,EAAE,UAAuC,EAAE,QAAgB;IACpH,OAAO,WAAW,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/H,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,MAAc,EAAE,KAAa,EAAE,UAAuC,EAAE,QAAgB;IACzI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,0HAA0H;AAC1H,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,KAAa,EAAE,KAA0B;IACrF,OAAO,WAAW,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1H,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,MAAc,EAAE,KAAa,EAAE,KAA0B;IAC1G,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAC,OAAmB,EAAE,OAAgB;IACnE,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,IAAsB;IACrD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,kBAAkB,EAAE,+BAA+B,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC;IACjI,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;AACjC,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC9D,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACtD,OAAO,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,kBAAkB,EAAE,+BAA+B,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAClI,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,+EAA+E;AAE/E,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,YAAoB;IAChF,OAAO,WAAW,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,+HAA+H;AAC/H,MAAM,UAAU,mBAAmB,CACjC,YAAoB,EACpB,cAAsB,EACtB,6BAA4C,EAC5C,uBAA+B;IAE/B,OAAO,WAAW,CAChB,WAAW,CAAC,uBAAuB,CAAC,EACpC,EAAE,CAAC,YAAY,CAAC,EAChB,EAAE,CAAC,cAAc,CAAC,EAClB,KAAK,CAAC,6BAA6B,CAAC,EACpC,EAAE,CAAC,uBAAuB,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,gEAAgE;AAChE,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,UAAuC,EAAE,QAAgB,EAAE,KAAa;IAC/G,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;AACzK,CAAC;AAcD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAA6B;IACrD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE;QAAE,IAAI,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;IAC5G,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;QAC1D,IAAI,CAAC,sBAAsB,EAAE,8CAA8C,EAAE,wBAAwB,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzJ,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB;QAAE,IAAI,CAAC,oBAAoB,EAAE,8BAA8B,EAAE,wBAAwB,CAAC,CAAC;IAC7H,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,MAAM,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACrH,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AACxH,CAAC;AAaD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAA6B;IACrD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,IAAI,KAAK,CAAC,0BAA0B,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,0BAA0B,EAAE,CAAC;QAC5G,IAAI,CAAC,2BAA2B,EAAE,4DAA4D,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5J,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,GAAG,cAAc,EAAE,CAAC;QACvD,IAAI,CAAC,wBAAwB,EAAE,iCAAiC,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9H,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,KAAK,KAAK,oBAAoB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,yBAAyB,EAAE,CAAC;QAC7E,IAAI,CAAC,wBAAwB,EAAE,mCAAmC,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAChI,CAAC;IACD,OAAO,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC9I,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAgB,EAAE,KAAiB,EAAE,GAAe,EAAE,QAAQ,GAAG,GAAG;IACnG,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,GAAG,cAAc,EAAE,CAAC;QACvD,IAAI,CAAC,wBAAwB,EAAE,iCAAiC,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,4BAA4B,EAAE,kCAAkC,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5H,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,IAAI,SAAkC,CAAC;AAEvC,iIAAiI;AACjI,MAAM,UAAU,iBAAiB;IAC/B,SAAS,KAAK,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,qBAAqB,EAAE,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACzH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB;IACtC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,yIAAyI;AACzI,MAAM,UAAU,YAAY,CAAC,qBAAiC,EAAE,SAAiB;IAC/E,OAAO,WAAW,CAAC,EAAE,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAChI,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAa,EAAE,oBAA4B;IACrF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;AAC9G,CAAC;AAWD,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAA4B;IACzD,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC3G,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjI,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvG,OAAO,EAAE,GAAG,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;AACjD,CAAC;AAUD,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAA4B;IACzD,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,aAAa,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACvG,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvI,OAAO,IAAI,UAAU,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,2BAA2B,EAAE,kDAAkD,EAAE,+BAA+B,CAAC,CAAC;IACzH,CAAC;AACH,CAAC;AAgBD,2HAA2H;AAC3H,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAmC;IACvE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE;QAAE,IAAI,CAAC,kBAAkB,EAAE,yBAAyB,EAAE,+BAA+B,CAAC,CAAC;IACrH,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,IAAI,CAAC,wBAAwB,EAAE,gDAAgD,EAAE,+BAA+B,CAAC,CAAC;IACnK,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,oBAAoB,GAAG,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,QAAQ,CAAC;QACjC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,CAAC;QACzD,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;QACvE,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,eAAe;QACvB,WAAW,EAAE,cAAuB;QACpC,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,cAAc,EAAE,WAAoB;QACpC,qBAAqB,EAAE,oBAAoB;QAC3C,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;QACrB,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC;QACnB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC;IACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAwB,CAAC;IACxF,MAAM,KAAK,GAAG,WAAW,CAAC,QAA2C,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,KAAK;QACnB,mBAAmB,EAAE,IAAI;QACzB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;KACvK,CAAC;AACJ,CAAC;AAUD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAmC;IACvE,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/I,IAAI,CAAC,wBAAwB,EAAE,sDAAsD,EAAE,+BAA+B,CAAC,CAAC;IAC1H,CAAC;IACD,uBAAuB,CAAC,GAAsC,EAAE,KAAK,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAC;IAC1H,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,GAAG,CAAC,qBAAqB,KAAK,IAAI,IAAI,GAAG,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;QAC7E,IAAI,CAAC,qCAAqC,EAAE,gDAAgD,EAAE,+BAA+B,EAAE,EAAE,qBAAqB,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACvL,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC;QAC3B,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;QAClD,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;QAClC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC;QAC9D,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACxE,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;KAChC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;QAAE,IAAI,CAAC,2BAA2B,EAAE,0CAA0C,EAAE,+BAA+B,CAAC,CAAC;IACxI,OAAO,KAAK,CAAC;AACf,CAAC;AAeD,6FAA6F;AAC7F,MAAM,UAAU,iBAAiB,CAAC,KAAgC;IAChE,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,eAAe;QACvB,WAAW,EAAE,eAAwB;QACrC,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,UAAU,EAAE,2BAA2B;QACvC,KAAK,EAAE,sBAAsB;QAC7B,iBAAiB,EAAE,MAAe;QAClC,sBAAsB,EAAE,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC;QACrE,yBAAyB,EAAE,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC;QAC3E,SAAS,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACnC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC;QAC9D,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC;IACF,OAAO,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAyB,CAAC;AAC1F,CAAC;AAeD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA6B,EAAE,cAAoC;IACzG,MAAM,QAAQ,GAAoC,EAAE,CAAC;IACrD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,sBAAsB;QAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzF,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAChH,IAAI,OAAO,IAAI,OAAO,CAAC,qBAAqB,KAAK,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7G,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAC1G,IAAI,OAAO,CAAC,aAAa,KAAK,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzE,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,cAAiD,CAAC,CAAC;QAC7E,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,mBAAmB;YAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5F,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,UAAU;YAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvF,IAAI,cAAc,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACzF,IAAI,cAAc,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACnF,IAAI,cAAc,CAAC,qBAAqB,KAAK,OAAO,CAAC,qBAAqB;YAAE,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACnI,IAAI,cAAc,CAAC,UAAU,KAAK,OAAO,CAAC,aAAa;YAAE,QAAQ,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAWD,uGAAuG;AACvG,MAAM,UAAU,oBAAoB,CAAC,KAAwC;IAC3E,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,eAAe;QACvB,WAAW,EAAE,kBAA2B;QACxC,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,2BAA2B,EAAE,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC;QAC5E,8BAA8B,EAAE,aAAa,CAAC,KAAK,CAAC,6BAA6B,CAAC;KACnF,CAAC;IACF,OAAO,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAA4B,CAAC;AAC7F,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgC,EAAE,OAA6B;IAClG,MAAM,QAAQ,GAAqC,EAAE,CAAC;IACtD,IAAI,CAAC,oBAAoB,CAAC,OAA0C,EAAE,OAAO,CAAC,sBAAsB,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClI,IAAI,OAAO,CAAC,cAAc,KAAK,iBAAiB,CAAC,OAA0C,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9H,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,2BAA2B,KAAK,OAAO,CAAC,aAAa;QAAE,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAChH,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAChH,IAAI,OAAO,CAAC,8BAA8B,KAAK,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC3G,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAC7B,UAA8B,EAC9B,QAA2J,EAC3J,gBAAsC;IAEtC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,UAAU,CAAC,MAAM,KAAK,eAAe,IAAI,UAAU,CAAC,WAAW,KAAK,YAAY,IAAI,UAAU,CAAC,KAAK,KAAK,cAAc;QAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvJ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5F,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACtG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjG,IAAI,UAAU,CAAC,kBAAkB,KAAK,QAAQ,CAAC,kBAAkB;QAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvG,IAAI,UAAU,CAAC,2BAA2B,KAAK,QAAQ,CAAC,2BAA2B;QAAE,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAClI,IAAI,UAAU,CAAC,8BAA8B,KAAK,QAAQ,CAAC,8BAA8B;QAAE,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC3I,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpG,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpH,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpI,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,UAA6C,EAAE,gBAAgB,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzJ,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"gitvault.crypto.js","sourceRoot":"","sources":["../../src/namespaces/gitvault.crypto.ts"],"names":[],"mappings":"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"}
|