@interop/was-client 0.78.0 → 0.80.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 +23 -11
- package/dist/Resource.d.ts +9 -0
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +10 -2
- package/dist/Resource.js.map +1 -1
- package/dist/codec.d.ts +8 -6
- package/dist/codec.d.ts.map +1 -1
- package/dist/codec.js.map +1 -1
- package/dist/edv/EdvCodec.d.ts +55 -4
- package/dist/edv/EdvCodec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.js +255 -55
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/edv/WasTransport.d.ts +11 -1
- package/dist/edv/WasTransport.d.ts.map +1 -1
- package/dist/edv/WasTransport.js +18 -3
- package/dist/edv/WasTransport.js.map +1 -1
- package/dist/edv/cipher.d.ts +6 -1
- package/dist/edv/cipher.d.ts.map +1 -1
- package/dist/edv/cipher.js +5 -0
- package/dist/edv/cipher.js.map +1 -1
- package/dist/edv/core.d.ts +2 -2
- package/dist/edv/core.d.ts.map +1 -1
- package/dist/edv/core.js +1 -1
- package/dist/edv/core.js.map +1 -1
- package/dist/edv/docCipher.d.ts +56 -7
- package/dist/edv/docCipher.d.ts.map +1 -1
- package/dist/edv/docCipher.js +17 -10
- package/dist/edv/docCipher.js.map +1 -1
- package/dist/edv/index.d.ts +2 -2
- package/dist/edv/index.d.ts.map +1 -1
- package/dist/edv/index.js +1 -1
- package/dist/edv/index.js.map +1 -1
- package/dist/edv/refreshingDocCipher.d.ts +6 -5
- package/dist/edv/refreshingDocCipher.d.ts.map +1 -1
- package/dist/edv/refreshingDocCipher.js +72 -51
- package/dist/edv/refreshingDocCipher.js.map +1 -1
- package/dist/internal/conditional.d.ts +25 -2
- package/dist/internal/conditional.d.ts.map +1 -1
- package/dist/internal/conditional.js +33 -2
- package/dist/internal/conditional.js.map +1 -1
- package/dist/internal/write.d.ts +14 -4
- package/dist/internal/write.d.ts.map +1 -1
- package/dist/internal/write.js +82 -19
- package/dist/internal/write.js.map +1 -1
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/port.d.ts +8 -1
- package/dist/sync/port.d.ts.map +1 -1
- package/dist/sync/port.js +31 -13
- package/dist/sync/port.js.map +1 -1
- package/dist/sync/types.d.ts +41 -16
- package/dist/sync/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/edv/EdvCodec.js
CHANGED
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
* served into a resource's.
|
|
68
68
|
*/
|
|
69
69
|
import { base64, base64urlnopad } from '@scure/base';
|
|
70
|
-
import { EdvClientCore, assertDocId } from '@interop/edv-client/core';
|
|
70
|
+
import { EdvClientCore, Transport, assertDocId } from '@interop/edv-client/core';
|
|
71
71
|
import { EMPTY_INDEX_SCHEMA, assertQueryAttributes } from '../internal/indexSchema.js';
|
|
72
|
-
import { EncryptionError, IntegrityError, KeyUnwrapError, NotSupportedError, UnknownEpochError, ValidationError } from '../errors.js';
|
|
72
|
+
import { ConflictError, EncryptionError, IntegrityError, KeyUnwrapError, NotFoundError, NotSupportedError, PreconditionFailedError, QuotaExceededError, UnknownEpochError, ValidationError } from '../errors.js';
|
|
73
73
|
import { blobBytes } from '../internal/blob.js';
|
|
74
74
|
import { readEtag, writeHeaders } from '../internal/conditional.js';
|
|
75
75
|
import { isEncryptedEnvelope } from '../sync/envelope.js';
|
|
@@ -307,7 +307,8 @@ export class EdvCodec {
|
|
|
307
307
|
* into each envelope's `was.v` (defaults to {@link EDV_SCHEME_VERSION})
|
|
308
308
|
* @param [options.transportFactory] {CodecTransportFactory} builds the
|
|
309
309
|
* transport the chunked-stream path drives; omitted by a build with no
|
|
310
|
-
* server behind it, which then refuses
|
|
310
|
+
* server behind it, which then refuses the chunked write and reads a
|
|
311
|
+
* chunked document only from a `chunkSource`
|
|
311
312
|
* @param options.collectionId {string} the Collection this codec reads and
|
|
312
313
|
* writes: bound into the Collection metadata envelope's `was.collection`
|
|
313
314
|
* (and checked on read), and it labels decrypt-routing errors
|
|
@@ -562,8 +563,10 @@ export class EdvCodec {
|
|
|
562
563
|
throw new NotSupportedError(`Collection "${this.#collectionId}" has no server behind it: this ` +
|
|
563
564
|
'codec was built for a local replica and holds no route to address ' +
|
|
564
565
|
'a document and its chunk resources with. Chunked encrypted blobs ' +
|
|
565
|
-
'can only be
|
|
566
|
-
'a
|
|
566
|
+
'can only be written through a Collection handle bound to a Space. ' +
|
|
567
|
+
'Read one through such a handle, through a DocCipher built with ' +
|
|
568
|
+
'its `spaceId`, or by passing a `chunkSource` to the DocCipher ' +
|
|
569
|
+
'`decrypt` in place of a request context.');
|
|
567
570
|
}
|
|
568
571
|
return this.#transportFactory({ context, documentHeaders });
|
|
569
572
|
}
|
|
@@ -583,15 +586,21 @@ export class EdvCodec {
|
|
|
583
586
|
* payload, so that discriminator is what the read side routes on: a server
|
|
584
587
|
* cannot mint it, and cannot suppress it to hide the chunks either.
|
|
585
588
|
*
|
|
589
|
+
* The write is a create-if-absent: the first document write carries
|
|
590
|
+
* `If-None-Match: *`, so the plan also serves a write by id (`put()`) at an
|
|
591
|
+
* id that holds no document yet. A 412 there surfaces as the
|
|
592
|
+
* `PreconditionFailedError` the request path raised.
|
|
593
|
+
*
|
|
586
594
|
* The write is two-phase (`EdvClientCore.insert` writes the document, then
|
|
587
|
-
* streams the chunks), so a failure partway leaves a
|
|
588
|
-
* sealed stream state is still `{ pending: true }
|
|
589
|
-
* and
|
|
590
|
-
*
|
|
591
|
-
*
|
|
595
|
+
* streams the chunks), so a failure partway leaves a pending stub: a
|
|
596
|
+
* document whose sealed stream state is still `{ pending: true }`,
|
|
597
|
+
* undecryptable and listed. The plan therefore compensates: if the document
|
|
598
|
+
* was written and the write then failed, it best-effort deletes the stub
|
|
599
|
+
* before rethrowing. A stub that survives (the process died, or the cleanup
|
|
600
|
+
* failed) is recognized with {@link isPendingStub}.
|
|
592
601
|
*
|
|
593
602
|
* @param options {object}
|
|
594
|
-
* @param options.id {string}
|
|
603
|
+
* @param options.id {string} the document id (minted, or the caller's)
|
|
595
604
|
* @param options.stream {ReadableStream<Uint8Array>} the payload, as the
|
|
596
605
|
* stream the EDV core re-chunks (never buffered whole by this codec)
|
|
597
606
|
* @param options.meta {Record<string, unknown>} the document meta to seal
|
|
@@ -603,8 +612,9 @@ export class EdvCodec {
|
|
|
603
612
|
id,
|
|
604
613
|
resourceContentType: meta.contentType,
|
|
605
614
|
// What the scheme-agnostic write path appends when it refuses this plan
|
|
606
|
-
// for a write by id: only this codec knows
|
|
607
|
-
// requests, and which low-level API
|
|
615
|
+
// for a write by id over an existing document: only this codec knows
|
|
616
|
+
// why the payload needs several requests, and which low-level API
|
|
617
|
+
// writes one directly.
|
|
608
618
|
guidance: 'This payload is too large for a single encrypted document, so it is ' +
|
|
609
619
|
'stored as a document plus chunk resources. Drive the write yourself ' +
|
|
610
620
|
'with `EdvClientCore.update({ doc, stream, transport })` over a ' +
|
|
@@ -639,37 +649,80 @@ export class EdvCodec {
|
|
|
639
649
|
}
|
|
640
650
|
/**
|
|
641
651
|
* Compensates a failed chunked write and builds the error to rethrow. The
|
|
642
|
-
*
|
|
643
|
-
* one: a write that failed before that (
|
|
644
|
-
*
|
|
645
|
-
*
|
|
646
|
-
*
|
|
647
|
-
*
|
|
652
|
+
* pending stub is deleted only when the transport reports it actually wrote
|
|
653
|
+
* one: a write that failed before that (an id already taken, or a server or
|
|
654
|
+
* network failure) must not delete a resource this write never created. The
|
|
655
|
+
* delete is conditional on the stub's `ETag`, so it never removes a document
|
|
656
|
+
* another writer stored at the id since. It is best effort -- it is a
|
|
657
|
+
* cleanup, and its own failure must not mask the failure that caused it --
|
|
658
|
+
* so its outcome only shapes the message. Deleting the document deletes the
|
|
659
|
+
* chunks already stored under it.
|
|
660
|
+
*
|
|
661
|
+
* Three failures keep their own type, so a caller can dispatch on them as it
|
|
662
|
+
* does for a single-request write. A 412 on the first document write (the
|
|
663
|
+
* id is taken) or on the final document update (another writer replaced the
|
|
664
|
+
* stub in between) is rethrown as a `PreconditionFailedError`; the latter
|
|
665
|
+
* deletes nothing, since the stored document is no longer this write's. A
|
|
666
|
+
* 409 (a `unique: true` blinded attribute already held by another document)
|
|
667
|
+
* is rethrown as a `ConflictError`, and a 507 as a `QuotaExceededError`,
|
|
668
|
+
* after the cleanup. Every other failure after the document write becomes
|
|
669
|
+
* an {@link EncryptionError}.
|
|
648
670
|
*
|
|
649
671
|
* @param options {object}
|
|
650
672
|
* @param options.err {unknown} the failure from the chunked write
|
|
651
|
-
* @param options.id {string} the document id the write
|
|
673
|
+
* @param options.id {string} the document id the write targeted
|
|
652
674
|
* @param options.transport {WasTransport} the transport the write ran on
|
|
653
675
|
* @returns {Promise<Error>} the error to throw, carrying `err` as its cause
|
|
676
|
+
* when it wraps it
|
|
654
677
|
*/
|
|
655
678
|
async #chunkedWriteFailed({ err, id, transport }) {
|
|
656
|
-
|
|
657
|
-
|
|
679
|
+
// The transport rethrows a 412 or 409 as the named error the EDV core
|
|
680
|
+
// dispatches on, with the typed HTTP error as its cause.
|
|
681
|
+
const httpError = err instanceof Error &&
|
|
682
|
+
(err.cause instanceof PreconditionFailedError ||
|
|
683
|
+
err.cause instanceof ConflictError)
|
|
684
|
+
? err.cause
|
|
685
|
+
: err;
|
|
686
|
+
const written = transport.lastDocumentWrite;
|
|
687
|
+
if (written === undefined) {
|
|
688
|
+
return httpError instanceof Error ? httpError : new Error(String(err));
|
|
689
|
+
}
|
|
690
|
+
if (httpError instanceof PreconditionFailedError) {
|
|
691
|
+
const { status, type, title, details, requestUrl } = httpError;
|
|
692
|
+
return new PreconditionFailedError(`The chunked encrypted write of resource "${id}" lost a race: ` +
|
|
693
|
+
'another writer replaced its document before the final update, ' +
|
|
694
|
+
'so that document was left in place. Re-read it before writing ' +
|
|
695
|
+
'again.', { status, type, title, details, requestUrl, cause: err });
|
|
658
696
|
}
|
|
697
|
+
let outcome = 'The incomplete document and any chunks stored under it were deleted.';
|
|
659
698
|
let removed = true;
|
|
660
699
|
try {
|
|
661
|
-
await transport.deleteDocument({ id });
|
|
700
|
+
await transport.deleteDocument({ id, ifMatch: written.etag });
|
|
662
701
|
}
|
|
663
|
-
catch {
|
|
702
|
+
catch (deleteErr) {
|
|
664
703
|
removed = false;
|
|
704
|
+
outcome =
|
|
705
|
+
deleteErr instanceof PreconditionFailedError
|
|
706
|
+
? 'Another writer has since replaced the document, so it was left ' +
|
|
707
|
+
'in place.'
|
|
708
|
+
: 'The incomplete document could NOT be deleted and is still ' +
|
|
709
|
+
'stored; delete it before writing again.';
|
|
710
|
+
}
|
|
711
|
+
if (httpError instanceof QuotaExceededError ||
|
|
712
|
+
httpError instanceof ConflictError) {
|
|
713
|
+
const { status, type, title, details, requestUrl } = httpError;
|
|
714
|
+
const reason = httpError instanceof QuotaExceededError
|
|
715
|
+
? 'ran out of storage quota partway'
|
|
716
|
+
: 'collided with another document on a unique indexed attribute';
|
|
717
|
+
const ErrorClass = httpError instanceof QuotaExceededError
|
|
718
|
+
? QuotaExceededError
|
|
719
|
+
: ConflictError;
|
|
720
|
+
return new ErrorClass(`The chunked encrypted write of resource "${id}" ${reason}. ${outcome}`, { status, type, title, details, requestUrl, cause: err });
|
|
665
721
|
}
|
|
666
722
|
return new EncryptionError(`The chunked encrypted write of resource "${id}" failed partway: its ` +
|
|
667
|
-
'document was written but
|
|
668
|
-
'document cannot be read. ' +
|
|
669
|
-
(removed
|
|
670
|
-
? 'The incomplete document was deleted; retry the write.'
|
|
671
|
-
: 'The incomplete document could NOT be deleted and is still ' +
|
|
672
|
-
'stored; delete it and retry the write.'), { cause: err });
|
|
723
|
+
'document was written, but a chunk or the final document update ' +
|
|
724
|
+
'was not, so the stored document cannot be read. ' +
|
|
725
|
+
(removed ? `${outcome} Retry the write.` : outcome), { cause: err });
|
|
673
726
|
}
|
|
674
727
|
/**
|
|
675
728
|
* The blinding key a content write should index with: the collection's key
|
|
@@ -720,8 +773,26 @@ export class EdvCodec {
|
|
|
720
773
|
}
|
|
721
774
|
/**
|
|
722
775
|
* @inheritdoc
|
|
776
|
+
*
|
|
777
|
+
* A chunked document's chunks are read either through `context` (from the
|
|
778
|
+
* server) or from `chunkSource` (from bytes the caller holds). Passing both
|
|
779
|
+
* is ambiguous and refused with {@link ValidationError} before anything is
|
|
780
|
+
* decrypted.
|
|
781
|
+
*
|
|
782
|
+
* @param response {ResponseLike} the stored envelope
|
|
783
|
+
* @param [expectedId] {string} the resource id the read targeted
|
|
784
|
+
* @param [context] {CodecRequestContext} the signed-request context a
|
|
785
|
+
* chunked document's chunks are fetched through
|
|
786
|
+
* @param [chunkSource] {ChunkSource} serves a chunked document's chunks in
|
|
787
|
+
* place of `context`
|
|
788
|
+
* @returns {Promise<Json | Blob>}
|
|
723
789
|
*/
|
|
724
|
-
async decode(response, expectedId, context) {
|
|
790
|
+
async decode(response, expectedId, context, chunkSource) {
|
|
791
|
+
if (context !== undefined && chunkSource !== undefined) {
|
|
792
|
+
throw new ValidationError('Cannot decode this resource: both a request context and a ' +
|
|
793
|
+
'`chunkSource` were supplied, so it is ambiguous where a chunked ' +
|
|
794
|
+
"document's chunks come from. Pass one or the other.");
|
|
795
|
+
}
|
|
725
796
|
const stored = await readJsonData(response);
|
|
726
797
|
const decrypted = await this.#openEnvelope({ doc: stored, expectedId });
|
|
727
798
|
// A chunked document's bytes live in its chunk resources. Both routing
|
|
@@ -746,21 +817,52 @@ export class EdvCodec {
|
|
|
746
817
|
chunks: decrypted.stream?.chunks,
|
|
747
818
|
meta: decrypted.meta,
|
|
748
819
|
keyId: decrypted.keyId,
|
|
749
|
-
|
|
820
|
+
binding: decrypted.binding,
|
|
821
|
+
context,
|
|
822
|
+
chunkSource
|
|
750
823
|
});
|
|
751
824
|
}
|
|
752
825
|
return this.#fromDocument(decrypted.content, decrypted.meta);
|
|
753
826
|
}
|
|
827
|
+
/**
|
|
828
|
+
* Whether a stored envelope is a pending stub: the document a chunked write
|
|
829
|
+
* leaves behind when it stops between its first document write and its final
|
|
830
|
+
* update (the process died, or the cleanup delete failed). Its sealed
|
|
831
|
+
* `meta.encoding` names the chunked encoding, and its sealed stream state is
|
|
832
|
+
* still `{ pending: true }` with no chunk count, so no read can open it.
|
|
833
|
+
*
|
|
834
|
+
* The answer rests only on AEAD-authenticated state: the envelope is opened
|
|
835
|
+
* and its binding verified against `expectedId` exactly as {@link decode}
|
|
836
|
+
* does, and a failure there propagates. A caller that finds a pending stub
|
|
837
|
+
* may delete the resource (which deletes any chunks stored under it) and
|
|
838
|
+
* write it again.
|
|
839
|
+
*
|
|
840
|
+
* @param response {ResponseLike} the stored envelope
|
|
841
|
+
* @param expectedId {string} the resource id the envelope was read under
|
|
842
|
+
* @returns {Promise<boolean>}
|
|
843
|
+
*/
|
|
844
|
+
async isPendingStub(response, expectedId) {
|
|
845
|
+
const stored = await readJsonData(response);
|
|
846
|
+
const decrypted = await this.#openEnvelope({ doc: stored, expectedId });
|
|
847
|
+
const stream = decrypted.stream;
|
|
848
|
+
return (decrypted.meta?.encoding === CHUNKED_ENCODING &&
|
|
849
|
+
stream?.pending === true &&
|
|
850
|
+
typeof stream.chunks !== 'number');
|
|
851
|
+
}
|
|
754
852
|
/**
|
|
755
853
|
* Reassembles a chunked binary document: drives `EdvClientCore.getStream`
|
|
756
|
-
* over a transport
|
|
757
|
-
*
|
|
854
|
+
* over a chunk-reading transport, buffers the decrypt stream, and returns the
|
|
855
|
+
* same `Blob` a small binary read returns. The chunks come from the server
|
|
856
|
+
* through a transport built from the read context, or from the caller's
|
|
857
|
+
* `chunkSource`.
|
|
758
858
|
*
|
|
759
859
|
* Only AEAD-authenticated inputs are trusted -- the sealed chunk count and
|
|
760
860
|
* the `was.resource` id the envelope is bound to, never the envelope's
|
|
761
861
|
* cleartext `id` -- and the decrypt uses the very key that opened the
|
|
762
|
-
* document envelope
|
|
763
|
-
*
|
|
862
|
+
* document envelope. Each chunk must also carry the envelope's own `was`
|
|
863
|
+
* binding in its protected header (the writer seals it into every chunk),
|
|
864
|
+
* so a genuine chunk of another resource, or one sealed under another
|
|
865
|
+
* epoch, is refused with {@link EncryptionError} before it is decrypted.
|
|
764
866
|
*
|
|
765
867
|
* @param options {object}
|
|
766
868
|
* @param [options.id] {string} the AEAD-bound resource id (= WAS resource
|
|
@@ -769,21 +871,26 @@ export class EdvCodec {
|
|
|
769
871
|
* @param [options.meta] {Record<string, unknown>} the decrypted meta
|
|
770
872
|
* @param options.keyId {string} the id of the key that decrypted the
|
|
771
873
|
* document envelope
|
|
874
|
+
* @param options.binding {Record<string, unknown>} the envelope's verified
|
|
875
|
+
* `was` binding, which every chunk must carry
|
|
772
876
|
* @param [options.context] {CodecRequestContext} the signed-request context
|
|
877
|
+
* @param [options.chunkSource] {ChunkSource} serves the chunks in place of
|
|
878
|
+
* `context`
|
|
773
879
|
* @returns {Promise<Blob>}
|
|
774
880
|
*/
|
|
775
|
-
async #readChunked({ id, chunks, meta, keyId, context }) {
|
|
881
|
+
async #readChunked({ id, chunks, meta, keyId, binding, context, chunkSource }) {
|
|
776
882
|
if (typeof chunks !== 'number') {
|
|
777
883
|
throw new EncryptionError('Cannot read this resource: it is a chunked encrypted blob whose ' +
|
|
778
884
|
'sealed stream state records no chunk count, so the write that ' +
|
|
779
885
|
'created it never completed. Re-upload the blob.');
|
|
780
886
|
}
|
|
781
|
-
if (context === undefined) {
|
|
887
|
+
if (context === undefined && chunkSource === undefined) {
|
|
782
888
|
throw new EncryptionError('Cannot read this resource: it is a chunked encrypted blob, whose ' +
|
|
783
|
-
'bytes live in separate chunk resources, and this caller supplied
|
|
784
|
-
'request context to fetch them with
|
|
785
|
-
'
|
|
786
|
-
"`
|
|
889
|
+
'bytes live in separate chunk resources, and this caller supplied ' +
|
|
890
|
+
'neither a request context to fetch them with nor a `chunkSource` ' +
|
|
891
|
+
'to serve them. Read it through a Resource or Collection handle ' +
|
|
892
|
+
"(`resource.get()`), which supplies one, or pass the sync DocCipher's " +
|
|
893
|
+
'`decrypt` either `collection.codecContext()` or a `chunkSource`.');
|
|
787
894
|
}
|
|
788
895
|
if (id === undefined) {
|
|
789
896
|
throw new EncryptionError('Cannot read this resource: the stored chunked document binds no ' +
|
|
@@ -793,10 +900,25 @@ export class EdvCodec {
|
|
|
793
900
|
"another document's chunks.");
|
|
794
901
|
}
|
|
795
902
|
const keyAgreementKey = this.#readKeys.find(key => key.id === keyId);
|
|
903
|
+
let fetchChunk;
|
|
904
|
+
if (chunkSource !== undefined) {
|
|
905
|
+
fetchChunk = async ({ docId, chunkIndex }) => {
|
|
906
|
+
const chunk = await chunkSource({ docId, chunkIndex });
|
|
907
|
+
if (chunk === undefined) {
|
|
908
|
+
throw new NotFoundError(`Cannot read this resource: chunk ${chunkIndex} of resource ` +
|
|
909
|
+
`"${docId}" is not in the chunk source.`);
|
|
910
|
+
}
|
|
911
|
+
return chunk;
|
|
912
|
+
};
|
|
913
|
+
}
|
|
914
|
+
else {
|
|
915
|
+
const network = this.#transportFor(context);
|
|
916
|
+
fetchChunk = options => network.getChunk(options);
|
|
917
|
+
}
|
|
796
918
|
const stream = (await this.#edv.getStream({
|
|
797
919
|
doc: { id, stream: { chunks } },
|
|
798
920
|
keyAgreementKey,
|
|
799
|
-
transport:
|
|
921
|
+
transport: new ChunkReadTransport({ fetchChunk, binding })
|
|
800
922
|
}));
|
|
801
923
|
const contentType = typeof meta?.contentType === 'string' ? meta.contentType : undefined;
|
|
802
924
|
return streamToBlob({
|
|
@@ -820,19 +942,29 @@ export class EdvCodec {
|
|
|
820
942
|
* is required (see {@link _verifyBinding}). Set only by a
|
|
821
943
|
* {@link decodeMeta} whose caller states the Collection slot
|
|
822
944
|
* @returns {Promise<object>} the decrypted document (`content`, `meta`, the
|
|
823
|
-
* AEAD-authenticated `stream` state where one was sealed, `keyId`,
|
|
824
|
-
* AEAD-bound `resourceId` the envelope
|
|
945
|
+
* AEAD-authenticated `stream` state where one was sealed, `keyId`, the
|
|
946
|
+
* verified `was` `binding`, and the AEAD-bound `resourceId` the envelope
|
|
947
|
+
* declares, where it binds one)
|
|
825
948
|
*/
|
|
826
949
|
async #openEnvelope({ doc, expectedId, collectionSlot }) {
|
|
827
950
|
this.#assertEnvelope(doc, 'read');
|
|
828
951
|
const decrypted = await this.#decrypt(doc);
|
|
829
|
-
const
|
|
952
|
+
const binding = await this.#verifyBinding({
|
|
830
953
|
jwe: doc.jwe,
|
|
831
954
|
expectedId,
|
|
832
955
|
collectionSlot,
|
|
833
956
|
keyId: decrypted.keyId
|
|
834
957
|
});
|
|
835
|
-
|
|
958
|
+
// The only trustworthy resource id on a stored document -- the envelope's
|
|
959
|
+
// top-level `id` is cleartext and server-controlled -- so a read that
|
|
960
|
+
// addresses anything under the document's path (the chunked-stream path)
|
|
961
|
+
// must use this one.
|
|
962
|
+
const resourceId = typeof binding.resource === 'string' ? binding.resource : undefined;
|
|
963
|
+
return {
|
|
964
|
+
...decrypted,
|
|
965
|
+
binding,
|
|
966
|
+
...(resourceId !== undefined && { resourceId })
|
|
967
|
+
};
|
|
836
968
|
}
|
|
837
969
|
/**
|
|
838
970
|
* Decrypts a stored EDV envelope, selecting which read key to use by matching
|
|
@@ -958,13 +1090,10 @@ export class EdvCodec {
|
|
|
958
1090
|
* Collection metadata slot
|
|
959
1091
|
* @param options.keyId {string} the id of the key that decrypted, for the
|
|
960
1092
|
* epoch check
|
|
961
|
-
* @returns {Promise<string
|
|
962
|
-
*
|
|
963
|
-
*
|
|
964
|
-
*
|
|
965
|
-
* `id` is cleartext and server-controlled -- so a read that addresses
|
|
966
|
-
* anything under the document's path (the chunked-stream path) must use
|
|
967
|
-
* this one.
|
|
1093
|
+
* @returns {Promise<Record<string, unknown>>} the verified `was` binding.
|
|
1094
|
+
* Its `resource` member, where present, is the bound resource id; it is
|
|
1095
|
+
* absent for a content-derived content envelope and for the Collection
|
|
1096
|
+
* metadata slot.
|
|
968
1097
|
*/
|
|
969
1098
|
async #verifyBinding({ jwe, expectedId, collectionSlot, keyId }) {
|
|
970
1099
|
const was = parseWasHeader(jwe);
|
|
@@ -1004,7 +1133,7 @@ export class EdvCodec {
|
|
|
1004
1133
|
`"${decryptedEpoch}". The server replayed it under a different ` +
|
|
1005
1134
|
'epoch.');
|
|
1006
1135
|
}
|
|
1007
|
-
return
|
|
1136
|
+
return was;
|
|
1008
1137
|
}
|
|
1009
1138
|
/**
|
|
1010
1139
|
* The slot-marker half of `#verifyBinding` for a read of the Collection
|
|
@@ -1389,6 +1518,77 @@ async function streamToBlob({ stream, type }) {
|
|
|
1389
1518
|
}
|
|
1390
1519
|
return new Blob(parts, type !== undefined ? { type } : undefined);
|
|
1391
1520
|
}
|
|
1521
|
+
/**
|
|
1522
|
+
* The edv-client `Transport` a chunked read runs on. It serves only
|
|
1523
|
+
* `getChunk`, the one method `EdvClientCore.getStream` calls, from the fetch
|
|
1524
|
+
* the codec hands it: the server's chunk resources through a `WasTransport`,
|
|
1525
|
+
* or a caller's {@link ChunkSource}. Every other `Transport` method keeps the
|
|
1526
|
+
* base class's not-implemented refusal.
|
|
1527
|
+
*
|
|
1528
|
+
* Before a chunk reaches the decrypt stream, its protected-header `was`
|
|
1529
|
+
* binding must equal the envelope's. The writer seals the same binding into
|
|
1530
|
+
* the envelope and into every chunk, but the decrypt stream accepts each
|
|
1531
|
+
* chunk under its own header and its own wrapped key, so without this check a
|
|
1532
|
+
* genuine chunk of another resource would decrypt as part of this one. The
|
|
1533
|
+
* header is parsed before the chunk is authenticated, which is safe: a forged
|
|
1534
|
+
* header that matches still fails the chunk's AEAD, since the header is part
|
|
1535
|
+
* of its additional data.
|
|
1536
|
+
*/
|
|
1537
|
+
class ChunkReadTransport extends Transport {
|
|
1538
|
+
#fetchChunk;
|
|
1539
|
+
#binding;
|
|
1540
|
+
/**
|
|
1541
|
+
* @param options {object}
|
|
1542
|
+
* @param options.fetchChunk {function} resolves one chunk by document id
|
|
1543
|
+
* and index, or throws `NotFoundError`
|
|
1544
|
+
* @param options.binding {Record<string, unknown>} the envelope's verified
|
|
1545
|
+
* `was` binding
|
|
1546
|
+
*/
|
|
1547
|
+
constructor({ fetchChunk, binding }) {
|
|
1548
|
+
super();
|
|
1549
|
+
this.#fetchChunk = fetchChunk;
|
|
1550
|
+
this.#binding = binding;
|
|
1551
|
+
}
|
|
1552
|
+
/**
|
|
1553
|
+
* @inheritdoc
|
|
1554
|
+
*
|
|
1555
|
+
* @param options {object}
|
|
1556
|
+
* @param options.docId {string} the owning document id
|
|
1557
|
+
* @param options.chunkIndex {number} the chunk's 0-based index
|
|
1558
|
+
* @returns {Promise<IEDVChunk>}
|
|
1559
|
+
*/
|
|
1560
|
+
async getChunk({ docId, chunkIndex } = {}) {
|
|
1561
|
+
if (docId === undefined || chunkIndex === undefined) {
|
|
1562
|
+
throw new TypeError('"docId" and "chunkIndex" are required.');
|
|
1563
|
+
}
|
|
1564
|
+
const chunk = await this.#fetchChunk({ docId, chunkIndex });
|
|
1565
|
+
const was = parseWasHeader(chunk?.jwe);
|
|
1566
|
+
if (was === undefined || !sameBinding(was, this.#binding)) {
|
|
1567
|
+
throw new EncryptionError(`Cannot read this resource: chunk ${chunkIndex} of resource ` +
|
|
1568
|
+
`"${docId}" is not bound to it. The \`was\` binding in the chunk's ` +
|
|
1569
|
+
"protected header differs from the document envelope's, so the " +
|
|
1570
|
+
'chunk belongs to another resource or was sealed under another ' +
|
|
1571
|
+
'key epoch.');
|
|
1572
|
+
}
|
|
1573
|
+
return chunk;
|
|
1574
|
+
}
|
|
1575
|
+
}
|
|
1576
|
+
/**
|
|
1577
|
+
* Whether two `was` bindings carry the same members with the same values. The
|
|
1578
|
+
* binding is a flat record of strings and numbers, so a member-by-member
|
|
1579
|
+
* comparison is exact, and a nested value never compares equal.
|
|
1580
|
+
*
|
|
1581
|
+
* @param left {Record<string, unknown>}
|
|
1582
|
+
* @param right {Record<string, unknown>}
|
|
1583
|
+
* @returns {boolean}
|
|
1584
|
+
*/
|
|
1585
|
+
function sameBinding(left, right) {
|
|
1586
|
+
const leftKeys = Object.keys(left);
|
|
1587
|
+
if (leftKeys.length !== Object.keys(right).length) {
|
|
1588
|
+
return false;
|
|
1589
|
+
}
|
|
1590
|
+
return leftKeys.every(key => Object.hasOwn(right, key) && Object.is(left[key], right[key]));
|
|
1591
|
+
}
|
|
1392
1592
|
/**
|
|
1393
1593
|
* Decodes bytes as strict UTF-8, returning `null` when they are not valid UTF-8
|
|
1394
1594
|
* (so the caller can fall back to base64). Uses the shared fatal decoder.
|
package/dist/edv/EdvCodec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdvCodec.js","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EdvCodec.js","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAqBhF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EACL,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACf,MAAM,wBAAwB,CAAA;AAQ/B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACd,MAAM,gBAAgB,CAAA;AAEvB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAA;AAEhD;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,SAAS,CAAA;AAuClC;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,QAAQ,CAAC,EAChB,OAAO,EACP,QAAQ,EACR,UAAU,EACV,KAAK,EAMN;IACC,OAAO;QACL,CAAC,EAAE,OAAO;QACV,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC3C,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;KACtC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAS,SAAS,CAAC,GAAY;IAC7B,OAAO,CACL,GAAG,YAAY,cAAc;QAC7B,CAAC,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,CACtD,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAAC,YAAgC;IAC7D,MAAM,GAAG,GAAG,YAAY,CAAC,GAAkD,CAAA;IAC3E,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,GAAI,SAA4C,EAAE,MAAM,EAAE,GAAG,CAAA;QACtE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACV,iBAAiB,GAAG,IAAI,CAAA;IAExB,IAAI,CAAe;IAC5B;;;;;OAKG;IACM,WAAW,CAAsB;IACjC,SAAS,CAAoB;IACtC;;;;OAIG;IACM,WAAW,CAAQ;IACnB,YAAY,CAAQ;IAC7B;;;;OAIG;IACM,aAAa,CAAQ;IAC9B;;;;;;OAMG;IACM,UAAU,CAAS;IACnB,aAAa,CAAsB;IAC5C;;;;;OAKG;IACM,QAAQ,CAAQ;IACzB;;;;;;OAMG;IACM,iBAAiB,CAAwB;IAClD;;;;;OAKG;IACM,aAAa,CAAQ;IAC9B;;;;;;;;OAQG;IACM,SAAS,CAAqB;IACvC;;;;;OAKG;IACM,YAAY,CAAoB;IACzC;;;;;OAKG;IACH,OAAO,GAAgB,kBAAkB,CAAA;IACzC;;;OAGG;IACM,SAAS,CAAgB;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,YAAY,EACV,GAAG,EACH,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,IAAI,EAeL;QACC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,WAAW;YACd,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAA;QAC7D,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;QAC/B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAA;QACjC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,kBAAkB,CAAA;QAC7C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;QACzC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAA;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,IAAI,CAAA;QAChC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG;gBACf,WAAW,EAAE,CAAC,MAAmB,EAAQ,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBACrE,MAAM,EAAE,GAAgB,EAAE,CAAC,IAAI,CAAC,OAAO;gBACvC,UAAU,EAAE,CAAC,KAGZ,EAAyB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;aACrD,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAmB;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI;aAC9B,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,WAAW,CAAC,EAChB,MAAM,EACN,GAAG,EAIJ;QACC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAa,CAAA;QAC/B,qBAAqB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC5D,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YACpD,IAAI;YACJ,MAAM;YACN,GAAG;SACJ,CAAC,CAAiB,CAAA;QACnB,MAAM,QAAQ,GACZ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;YACtE,KAAK,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAA;QACzB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,eAAe,CACvB,oEAAoE;gBAClE,kEAAkE;gBAClE,2DAA2D;gBAC3D,YAAY,CACf,CAAA;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EACX,EAAE,EACF,IAAI,EACJ,WAAW,EACX,OAAO,EACP,YAAY,EAOb;QACC,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,uEAAuE;gBACvE,wEAAwE;gBACxE,mEAAmE;gBACnE,sEAAsE;gBACtE,uEAAuE;gBACvE,uEAAuE;gBACvE,6DAA6D;gBAC7D,WAAW,CAAC,EAAE,CAAC,CAAA;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,eAAe,CACvB,qCAAqC,EAAE,oBAAoB;oBACzD,iEAAiE;oBACjE,gEAAgE;oBAChE,oBAAoB,CACvB,CAAA;YACH,CAAC;QACH,CAAC;QACD,0EAA0E;QAC1E,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,KAAK,GACP,EAAE;YACF,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;gBAC/B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAY,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;QAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,eAAe,CACvB,6BAA6B,KAAK,CAAC,IAAI,qBAAqB;oBAC1D,gCAAgC,IAAI,CAAC,aAAa,gBAAgB;oBAClE,+DAA+D;oBAC/D,gEAAgE;oBAChE,iEAAiE;oBACjE,mEAAmE;oBACnE,mEAAmE;oBACnE,sBAAsB,CACzB,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC;gBACxB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;QAE/B,2EAA2E;QAC3E,0EAA0E;QAC1E,6EAA6E;QAC7E,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,QAAQ,GAA8B,IAAI,CAAA;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;YACxC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACpC,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QACpC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;YAC7C,GAAG,EAAE;gBACH,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;gBACzC,OAAO;gBACP,sEAAsE;gBACtE,oEAAoE;gBACpE,sEAAsE;gBACtE,IAAI;gBACJ,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAChD,gEAAgE;gBAChE,+DAA+D;gBAC/D,gEAAgE;gBAChE,kEAAkE;gBAClE,oEAAoE;gBACpE,oCAAoC;gBACpC,GAAG,CAAC,QAAQ,EAAE,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;aACtE;YACD,oEAAoE;YACpE,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,0EAA0E;YAC1E,cAAc;YACd,EAAE;YACF,wEAAwE;YACxE,yEAAyE;YACzE,oEAAoE;YACpE,iEAAiE;YACjE,GAAG,IAAI,CAAC,WAAW,CAAC;gBAClB,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAC/C,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;aAC/B,CAAC;YACF,MAAM,EAAE,QAAQ,KAAK,IAAI;SAC1B,CAAC,CAAA;QACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,0EAA0E;YAC1E,yEAAyE;YACzE,+BAA+B;YAC/B,KAAK,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAA;YAC7D,SAAS,CAAC,EAAE,GAAG,KAAK,CAAA;QACtB,CAAC;QACD,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,KAA6B,CAAA;QACjC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,yEAAyE;YACzE,sEAAsE;YACtE,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,IAAI;gBACN,KAAK,KAAK,aAAa,CAAC,SAAS,CAAC,CAAA;gBAClC,OAAO,KAAK,CAAA;YACd,CAAC;YACD,0EAA0E;YAC1E,yEAAyE;YACzE,2DAA2D;YAC3D,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,sEAAsE;YACtE,kEAAkE;YAClE,mBAAmB,EAAE,IAAI,CAAC,WAAqB;YAC/C,uEAAuE;YACvE,0EAA0E;YAC1E,wEAAwE;YACxE,qEAAqE;YACrE,mEAAmE;YACnE,oDAAoD;YACpD,EAAE;YACF,yEAAyE;YACzE,oEAAoE;YACpE,uEAAuE;YACvE,uEAAuE;YACvE,2DAA2D;YAC3D,GAAG,CAAC,YAAY;gBACd,CAAC,QAAQ;oBACP,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE;oBACxC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7B,0EAA0E;YAC1E,6DAA6D;YAC7D,KAAK,EAAE,IAAI,CAAC,WAAW;SACxB,CAAA;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CACX,OAA4B,EAC5B,eAAwC;QAExC,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,iBAAiB,CACzB,eAAe,IAAI,CAAC,aAAa,kCAAkC;gBACjE,oEAAoE;gBACpE,mEAAmE;gBACnE,oEAAoE;gBACpE,iEAAiE;gBACjE,gEAAgE;gBAChE,0CAA0C,CAC7C,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,aAAa,CAAC,EACZ,EAAE,EACF,MAAM,EACN,IAAI,EAKL;QACC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,EAAE;YACF,mBAAmB,EAAE,IAAI,CAAC,WAAqB;YAC/C,wEAAwE;YACxE,qEAAqE;YACrE,kEAAkE;YAClE,uBAAuB;YACvB,QAAQ,EACN,sEAAsE;gBACtE,sEAAsE;gBACtE,iEAAiE;gBACjE,iBAAiB;YACnB,OAAO,EAAE,KAAK,EAAE,OAA4B,EAAE,EAAE;gBAC9C,iEAAiE;gBACjE,sEAAsE;gBACtE,sEAAsE;gBACtE,WAAW;gBACX,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAClC,OAAO,EACP,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAC1C,CAAA;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBACrB,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE;wBAC9B,MAAM;wBACN,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI;4BACnC,SAAS,EAAE,IAAI,CAAC,UAAU;yBAC3B,CAAC;wBACF,GAAG,IAAI,CAAC,WAAW,CAAC;4BAClB,QAAQ,EAAE,EAAE;4BACZ,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;yBAC/B,CAAC;wBACF,SAAS;qBACV,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;gBAC9D,CAAC;gBACD,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAA;gBAC9C,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;YACpD,CAAC;SACF,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,mBAAmB,CAAC,EACxB,GAAG,EACH,EAAE,EACF,SAAS,EAKV;QACC,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,SAAS,GACb,GAAG,YAAY,KAAK;YACpB,CAAC,GAAG,CAAC,KAAK,YAAY,uBAAuB;gBAC3C,GAAG,CAAC,KAAK,YAAY,aAAa,CAAC;YACnC,CAAC,CAAC,GAAG,CAAC,KAAK;YACX,CAAC,CAAC,GAAG,CAAA;QACT,MAAM,OAAO,GAAG,SAAS,CAAC,iBAAiB,CAAA;QAC3C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,SAAS,YAAY,uBAAuB,EAAE,CAAC;YACjD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAAA;YAC9D,OAAO,IAAI,uBAAuB,CAChC,4CAA4C,EAAE,iBAAiB;gBAC7D,gEAAgE;gBAChE,gEAAgE;gBAChE,QAAQ,EACV,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CACzD,CAAA;QACH,CAAC;QACD,IAAI,OAAO,GACT,sEAAsE,CAAA;QACxE,IAAI,OAAO,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/D,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,OAAO,GAAG,KAAK,CAAA;YACf,OAAO;gBACL,SAAS,YAAY,uBAAuB;oBAC1C,CAAC,CAAC,iEAAiE;wBACjE,WAAW;oBACb,CAAC,CAAC,4DAA4D;wBAC5D,yCAAyC,CAAA;QACjD,CAAC;QACD,IACE,SAAS,YAAY,kBAAkB;YACvC,SAAS,YAAY,aAAa,EAClC,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAAA;YAC9D,MAAM,MAAM,GACV,SAAS,YAAY,kBAAkB;gBACrC,CAAC,CAAC,kCAAkC;gBACpC,CAAC,CAAC,8DAA8D,CAAA;YACpE,MAAM,UAAU,GACd,SAAS,YAAY,kBAAkB;gBACrC,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,aAAa,CAAA;YACnB,OAAO,IAAI,UAAU,CACnB,4CAA4C,EAAE,KAAK,MAAM,KAAK,OAAO,EAAE,EACvE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CACzD,CAAA;QACH,CAAC;QACD,OAAO,IAAI,eAAe,CACxB,4CAA4C,EAAE,wBAAwB;YACpE,iEAAiE;YACjE,kDAAkD;YAClD,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,EACrD,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB;QACf,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EACV,QAAQ,EACR,UAAU,EACV,IAAI,EAKL;QACC,MAAM,GAAG,GAAG,QAAQ,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;YAC/C,KAAK,EAAE,IAAI,CAAC,WAAW;SACxB,CAAC,CAAA;QACF,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,IAAI;YACJ,yBAAyB,EAAE,EAAE,GAAG,EAAE;SACnC,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,MAAM,CACV,QAAsB,EACtB,UAAmB,EACnB,OAA6B,EAC7B,WAAyB;QAEzB,IAAI,OAAO,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,eAAe,CACvB,4DAA4D;gBAC1D,kEAAkE;gBAClE,qDAAqD,CACxD,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QACvE,uEAAuE;QACvE,mEAAmE;QACnE,wEAAwE;QACxE,kEAAkE;QAClE,kEAAkE;QAClE,2EAA2E;QAC3E,qEAAqE;QACrE,0EAA0E;QAC1E,2EAA2E;QAC3E,kBAAkB;QAClB,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,YAAY,CAAC;gBACvB,uEAAuE;gBACvE,sEAAsE;gBACtE,8DAA8D;gBAC9D,kEAAkE;gBAClE,iEAAiE;gBACjE,UAAU;gBACV,EAAE,EAAE,SAAS,CAAC,UAAU;gBACxB,MAAM,EAAG,SAAS,CAAC,MAA2C,EAAE,MAAM;gBACtE,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,OAAO;gBACP,WAAW;aACZ,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,aAAa,CACjB,QAAsB,EACtB,UAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QACvE,MAAM,MAAM,GAAG,SAAS,CAAC,MAC4B,CAAA;QACrD,OAAO,CACL,SAAS,CAAC,IAAI,EAAE,QAAQ,KAAK,gBAAgB;YAC7C,MAAM,EAAE,OAAO,KAAK,IAAI;YACxB,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAClC,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,YAAY,CAAC,EACjB,EAAE,EACF,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,EASZ;QACC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,eAAe,CACvB,kEAAkE;gBAChE,gEAAgE;gBAChE,iDAAiD,CACpD,CAAA;QACH,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,eAAe,CACvB,mEAAmE;gBACjE,mEAAmE;gBACnE,mEAAmE;gBACnE,iEAAiE;gBACjE,uEAAuE;gBACvE,kEAAkE,CACrE,CAAA;QACH,CAAC;QACD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,eAAe,CACvB,kEAAkE;gBAChE,iEAAiE;gBACjE,sEAAsE;gBACtE,sEAAsE;gBACtE,4BAA4B,CAC/B,CAAA;QACH,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;QACpE,IAAI,UAGoB,CAAA;QACxB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,UAAU,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;gBAC3C,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;gBACtD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,aAAa,CACrB,oCAAoC,UAAU,eAAe;wBAC3D,IAAI,KAAK,+BAA+B,CAC3C,CAAA;gBACH,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,CAAA;YAC5C,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACnD,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACxC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAkB;YAC/C,eAAe;YACf,SAAS,EAAE,IAAI,kBAAkB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;SAC3D,CAAC,CAA+B,CAAA;QACjC,MAAM,WAAW,GACf,OAAO,IAAI,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;QACtE,OAAO,YAAY,CAAC;YAClB,MAAM;YACN,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,aAAa,CAAC,EAClB,GAAG,EACH,UAAU,EACV,cAAc,EAKf;QAQC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;YACxC,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,UAAU;YACV,cAAc;YACd,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CAAA;QACF,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,qBAAqB;QACrB,MAAM,UAAU,GACd,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QACrE,OAAO;YACL,GAAG,SAAS;YACZ,OAAO;YACP,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;SAChD,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,QAAQ,CAAC,YAAgC;QAM7C,MAAM,IAAI,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,8DAA8D;QAC9D,yEAAyE;QACzE,wEAAwE;QACxE,qEAAqE;QACrE,SAAS;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAClE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAC7C,CAAA;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,cAAc,CACtB,mEAAmE;oBACjE,+DAA+D;oBAC/D,kEAAkE;oBAClE,iEAAiE;oBACjE,+DAA+D;oBAC/D,4DAA4D,CAC/D,CAAA;YACH,CAAC;YACD,MAAM,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QACzE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9D,KAAK,MAAM,eAAe,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACvD,YAAY;oBACZ,eAAe;iBAChB,CAAC,CAAA;gBACF,OAAO,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,EAAE,CAAA;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,mEAAmE;oBACnE,6DAA6D;oBAC7D,SAAQ;gBACV,CAAC;gBACD,mEAAmE;gBACnE,sEAAsE;gBACtE,oEAAoE;gBACpE,uEAAuE;gBACvE,sEAAsE;gBACtE,kEAAkE;gBAClE,MAAM,IAAI,cAAc,CACtB,sEAAsE;oBACpE,mEAAmE;oBACnE,qEAAqE;oBACrE,iEAAiE;oBACjE,OAAO,EACT,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,cAAc,CACtB,wEAAwE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,uEAAuE,CAC1E,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,KAAK,CAAC,cAAc,CAAC,EACnB,GAAG,EACH,UAAU,EACV,cAAc,EACd,KAAK,EAMN;QACC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,eAAe,CACvB,sEAAsE;gBACpE,qEAAqE;gBACrE,oEAAoE;gBACpE,iEAAiE,CACpE,CAAA;QACH,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,eAAe,CACvB,qEAAqE;gBACnE,oEAAoE;gBACpE,+DAA+D;gBAC/D,oCAAoC,CACvC,CAAA;QACH,CAAC;QACD,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CACvB,6DAA6D;gBAC3D,+BAA+B,GAAG,CAAC,CAAC,+BAA+B;gBACnE,GAAG,IAAI,CAAC,QAAQ,2CAA2C,CAC9D,CAAA;QACH,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,eAAe,CACvB,mEAAmE;gBACjE,oEAAoE;gBACpE,oEAAoE;gBACpE,oCAAoC,CACvC,CAAA;QACH,CAAC;QACD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1C,IAAI,cAAc,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,cAAc,CACtB,mEAAmE;gBACjE,IAAI,GAAG,CAAC,KAAK,4CAA4C;gBACzD,IAAI,cAAc,8CAA8C;gBAChE,QAAQ,CACX,CAAA;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,qBAAqB,CAAC,GAA4B;QAChD,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,cAAc,CACtB,oEAAoE;gBAClE,sBAAsB,GAAG,CAAC,QAAQ,iCAAiC;gBACnE,+DAA+D;gBAC/D,wDAAwD,CAC3D,CAAA;QACH,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,cAAc,CACtB,iEAAiE;gBAC/D,mEAAmE;gBACnE,kEAAkE;gBAClE,qEAAqE,CACxE,CAAA;QACH,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,MAAM,IAAI,cAAc,CACtB,oEAAoE;gBAClE,wBAAwB,GAAG,CAAC,UAAU,0BAA0B;gBAChE,gBAAgB,IAAI,CAAC,aAAa,4BAA4B;gBAC9D,qCAAqC,CACxC,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,mBAAmB,CAAC,EACxB,GAAG,EACH,UAAU,EACV,GAAG,EAKJ;QACC,uEAAuE;QACvE,yEAAyE;QACzE,6CAA6C;QAC7C,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,cAAc,CACtB,gEAAgE;gBAC9D,eAAe,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,2BAA2B;gBAChE,0DAA0D;gBAC1D,0DAA0D,CAC7D,CAAA;QACH,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5D,MAAM,IAAI,cAAc,CACtB,kEAAkE;oBAChE,2BAA2B,GAAG,CAAC,QAAQ,4BAA4B;oBACnE,KAAK,UAAU,kDAAkD,CACpE,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,qEAAqE;YACrE,wCAAwC;YACxC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;YACpC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC;gBAC5C,GAAG,EAAE,GAA2D;aACjE,CAAC,CAAA;YACF,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,MAAM,IAAI,cAAc,CACtB,0DAA0D,OAAO,KAAK;oBACpE,qCAAqC,UAAU,iBAAiB;oBAChE,0DAA0D,CAC7D,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU,CAAC,EACf,MAAM,EACN,IAAI,EAIL;QACC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QACpC,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAW,CAAA;QACnD,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,sEAAsE;QACtE,2EAA2E;QAC3E,gEAAgE;QAChE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;YAC7C,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAiC,EAAE;YACvD,GAAG,IAAI,CAAC,WAAW,CAAC;gBAClB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;oBAC5B,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;oBACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC1B,iEAAiE;gBACjE,wEAAwE;gBACxE,qEAAqE;gBACrE,sEAAsE;gBACtE,oEAAoE;gBACpE,uEAAuE;gBACvE,sEAAsE;gBACtE,wEAAwE;gBACxE,OAAO;gBACP,IAAI,EAAE,SAAS;aAChB,CAAC;SACH,CAAC,CAAA;QACF,2EAA2E;QAC3E,0EAA0E;QAC1E,kCAAkC;QAClC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAA;IACvD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,UAAU,CACd,EACE,MAAM,EAGP,EACD,IAAkB;QAElB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YACzC,GAAG,EAAE,MAAM;YACX,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;gBAC5B,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE;gBAC1B,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;SAC7B,CAAC,CAAA;QACF,OAAO,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAA2B,CAAA;IAC5D,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CACb,GAAY,EACZ,OAAe;QAEf,IAAI,CAAC,mBAAmB,CAAC,GAAuB,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,eAAe,CACvB,UAAU,OAAO,qDAAqD;gBACpE,qEAAqE;gBACrE,+DAA+D;gBAC/D,aAAa,CAChB,CAAA;QACH,CAAC;QACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,GAA6B,CAAA;YAClD,IACE,OAAO,QAAQ,KAAK,QAAQ;gBAC5B,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAC/B,QAAQ,GAAG,CAAC,EACZ,CAAC;gBACD,MAAM,IAAI,eAAe,CACvB,+DAA+D;oBAC7D,8DAA8D;oBAC9D,8DAA8D;oBAC9D,uDAAuD,CAC1D,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,CAAC,WAAW,CACf,IAAkB,EAClB,WAAoB,EACpB,EAAW;QAcX,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QAEzD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAA;YACxC,8DAA8D;YAC9D,yEAAyE;YACzE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;gBACnB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;YACvB,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC9B,mEAAmE;gBACnE,sEAAsE;gBACtE,oEAAoE;gBACpE,uEAAuE;gBACvE,8CAA8C;gBAC9C,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;oBACnC,IAAI;oBACJ,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE;iBAChE,CAAA;YACH,CAAC;YACD,uEAAuE;YACvE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChC,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;YAChB,2EAA2E;YAC3E,uEAAuE;YACvE,2DAA2D;YAC3D,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC9B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,OAAO;wBACL,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,EAAE,IAAI,EAAE;wBACjB,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE;qBACvD,CAAA;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACxC,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE;aACxD,CAAA;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,yEAAyE;YACzE,wEAAwE;YACxE,0EAA0E;YAC1E,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAA+B;gBACxC,IAAI,EAAE,EAAE,WAAW,EAAE,WAAW,IAAI,kBAAkB,EAAE;aACzD,CAAA;QACH,CAAC;QAED,MAAM,IAAI,eAAe,CACvB,mEAAmE;YACjE,2BAA2B,CAC9B,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CAAC,OAAgB,EAAE,IAA8B;QAC5D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,CAAA;QAC/B,MAAM,WAAW,GACf,OAAO,IAAI,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;QACtE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,GAAI,OAAqC,EAAE,IAAI,CAAA;YACzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,eAAe,CACvB,kEAAkE;oBAChE,+BAA+B,CAClC,CAAA;YACH,CAAC;YACD,8DAA8D;YAC9D,gDAAgD;YAChD,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAI,OAAsC,EAAE,KAAK,CAAA;YACjE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,IAAI,eAAe,CACvB,qEAAqE;oBACnE,gCAAgC,CACnC,CAAA;YACH,CAAC;YACD,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAa,CAAC,EAAE;gBACvD,IAAI,EAAE,WAAW;aAClB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CACvB,6DAA6D;gBAC3D,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,yCAAyC;gBACpE,+DAA+D;gBAC/D,8DAA8D,CACjE,CAAA;QACH,CAAC;QACD,OAAO,OAAe,CAAA;IACxB,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,IAAuB;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAgB,CAAC,CAAC,CAAA;IAC/D,OAAO,IAAI,CAAC,MAAM,EAAgC,CAAA;AACpD,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,YAAY,CAAC,EAC1B,MAAM,EACN,IAAI,EAIL;IACC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,MAAM,KAAK,GAAe,EAAE,CAAA;IAC5B,SAAS,CAAC;QACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAC3C,IAAI,IAAI,EAAE,CAAC;YACT,MAAK;QACP,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,KAAiB,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACnE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,kBAAmB,SAAQ,SAAS;IAC/B,WAAW,CAGI;IACf,QAAQ,CAAyB;IAE1C;;;;;;OAMG;IACH,YAAY,EACV,UAAU,EACV,OAAO,EAOR;QACC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACM,KAAK,CAAC,QAAQ,CAAC,EACtB,KAAK,EACL,UAAU,KACiC,EAAE;QAC7C,IAAI,KAAK,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;QAC3D,MAAM,GAAG,GAAG,cAAc,CAAE,KAAkC,EAAE,GAAG,CAAC,CAAA;QACpE,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,eAAe,CACvB,oCAAoC,UAAU,eAAe;gBAC3D,IAAI,KAAK,2DAA2D;gBACpE,gEAAgE;gBAChE,gEAAgE;gBAChE,YAAY,CACf,CAAA;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,SAAS,WAAW,CAClB,IAA6B,EAC7B,KAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CACnB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CACrE,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,KAAiB;IACnC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,GAAY;IAClC,MAAM,eAAe,GAAI,GAAsC,EAAE,SAAS,CAAA;IAC1E,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK;QACjB,mEAAmE;QACnE,wEAAwE;QACxE,wEAAwE;QACxE,2BAA2B;QAC3B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CACvD,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,GAAG,GAAI,MAAmC,EAAE,GAAG,CAAA;IACrD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,GAA8B,CAAA;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAA;AAkB/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,YAAY,EACZ,KAAK,GAAG,IAAI,YAAY,GAAG,EAC3B,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,WAAW,GAAG,oBAAoB,EAClC,YAAY,GAAG,sBAAsB,EACrC,SAAS,EAWV;IACC,MAAM,UAAU,GAAG,yBAAyB,CAAC;QAC3C,KAAK;QACL,UAAU;KACX,CAAC,CAAA;IACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAA;IAC5C,iEAAiE;IACjE,wEAAwE;IACxE,6DAA6D;IAC7D,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IACrE,qBAAqB;IACrB,MAAM,SAAS,GAAG,CAAC,MAAM,gBAAgB,CAAC;QACxC,UAAU,EAAE,UAAU;QACtB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,KAAK;KACN,CAAC,CAAE,CAAA;IACJ,kEAAkE;IAClE,mEAAmE;IACnE,uEAAuE;IACvE,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC1C,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,IAAI,GACR,IAAI,CAAC,IAAI;QACT,CAAC,MAAM,cAAc,CAAC;YACpB,UAAU,EAAE,UAAU;YACtB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,QAAQ,EAAE,SAAS,CAAC,iBAAiB;SACtC,CAAC,CAAC,CAAA;IACL,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC;QAC5B,eAAe;QACf,WAAW,EAAE,cAAc;QAC3B,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;KAC/B,CAAC,CAAA;IACF,OAAO,IAAI,QAAQ,CAAC;QAClB,GAAG;QACH,eAAe;QACf,IAAI;QACJ,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,WAAW;QACX,YAAY;QACZ,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,YAAY;QACZ,OAAO,EAAE,iBAAiB,IAAI,kBAAkB;QAChD,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC3D,YAAY;QACZ,+DAA+D;QAC/D,iEAAiE;QACjE,+CAA+C;QAC/C,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KACnD,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACxC,KAAK,EACL,UAAU,EAIX;IAIC,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAC3C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,eAAe,CAAC,cAAc,KAAK,IAAI,MAAM,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,UAGN,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAiC;IAEjC,MAAM,iBAAiB,GAAG,UAAU,EAAE,OAAO,CAAA;IAC7C,IACE,OAAO,iBAAiB,KAAK,QAAQ;QACrC,iBAAiB,GAAG,kBAAkB,EACtC,CAAC;QACD,OAAO,CACL,wCAAwC,iBAAiB,UAAU;YACnE,wBAAwB,kBAAkB,wBAAwB;YAClE,qBAAqB,CACtB,CAAA;IACH,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,CACL,kEAAkE;YAClE,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,yBAAyB,CAC1B,CAAA;IACH,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,CACL,sEAAsE;YACtE,+CAA+C,CAChD,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,YAAY,EACZ,YAAY,EACZ,UAAU,EAKX;IACC,MAAM,KAAK,GAAG,IAAI,YAAY,GAAG,CAAA;IACjC,MAAM,UAAU,GAAG,yBAAyB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;IACnE,qEAAqE;IACrE,0EAA0E;IAC1E,MAAM,UAAU,GAAG,cAAc,CAAC;QAChC,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,KAAK;KACN,CAAC,CAAC,EAAE,CAAA;IACL,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC;QAC5B,eAAe,EAAE,QAAQ;QACzB,WAAW,EAAE,cAAc;KAC5B,CAAC,CAAA;IACF,OAAO,IAAI,QAAQ,CAAC;QAClB,GAAG;QACH,eAAe,EAAE,QAAQ;QACzB,QAAQ,EAAE,EAAE;QACZ,UAAU;QACV,WAAW,EAAE,oBAAoB;QACjC,YAAY,EAAE,sBAAsB;QACpC,YAAY;QACZ,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,kBAAkB;QACjD,YAAY;QACZ,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KACnD,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -99,10 +99,14 @@ export declare class WasTransport extends Transport {
|
|
|
99
99
|
*
|
|
100
100
|
* @param options {object}
|
|
101
101
|
* @param options.id {string} the document id (= WAS resource id)
|
|
102
|
+
* @param [options.ifMatch] {string} the `ETag` the stored document must
|
|
103
|
+
* still carry, so a driver deletes only the version it wrote (a 412 means
|
|
104
|
+
* another writer replaced it)
|
|
102
105
|
* @returns {Promise<void>}
|
|
103
106
|
*/
|
|
104
|
-
deleteDocument({ id }: {
|
|
107
|
+
deleteDocument({ id, ifMatch }: {
|
|
105
108
|
id: string;
|
|
109
|
+
ifMatch?: string;
|
|
106
110
|
}): Promise<void>;
|
|
107
111
|
/**
|
|
108
112
|
* @inheritdoc
|
|
@@ -133,6 +137,12 @@ export declare class WasTransport extends Transport {
|
|
|
133
137
|
* `unique: true` blinded attribute already held by another document), which
|
|
134
138
|
* is NOT recoverable by re-fetch-and-retry; it surfaces as `DuplicateError`.
|
|
135
139
|
*
|
|
140
|
+
* When this transport's last document write was to the same id and the
|
|
141
|
+
* server acked it with an `ETag`, the update is sent with `If-Match` on that
|
|
142
|
+
* validator. A multi-request write (a document, its chunks, then the final
|
|
143
|
+
* document update) thereby fails with 412 instead of silently replacing a
|
|
144
|
+
* document another writer stored at that id in between.
|
|
145
|
+
*
|
|
136
146
|
* @param options {object}
|
|
137
147
|
* @param options.encrypted {IEncryptedDocument} the document to update
|
|
138
148
|
* @returns {Promise<void>}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WasTransport.d.ts","sourceRoot":"","sources":["../../src/edv/WasTransport.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,kBAAkB,EACnB,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA+BhD;;;GAGG;AACH,KAAK,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAqD9C,qBAAa,YAAa,SAAQ,SAAS;;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAiB5B;;;;;;;;;;;;;OAaG;gBACS,EACV,GAAG,EACH,OAAO,EACP,YAAY,EACZ,WAAkC,EAClC,eAAe,EAChB,EAAE;QACD,GAAG,EAAE,YAAY,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACzC;IASD;;;;;;;OAOG;IACH,IAAI,iBAAiB,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAEjE;IAkDD
|
|
1
|
+
{"version":3,"file":"WasTransport.d.ts","sourceRoot":"","sources":["../../src/edv/WasTransport.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,kBAAkB,EACnB,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA+BhD;;;GAGG;AACH,KAAK,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAqD9C,qBAAa,YAAa,SAAQ,SAAS;;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAiB5B;;;;;;;;;;;;;OAaG;gBACS,EACV,GAAG,EACH,OAAO,EACP,YAAY,EACZ,WAAkC,EAClC,eAAe,EAChB,EAAE;QACD,GAAG,EAAE,YAAY,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACzC;IASD;;;;;;;OAOG;IACH,IAAI,iBAAiB,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAEjE;IAkDD;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,EACnB,EAAE,EACF,OAAO,EACR,EAAE;QACD,EAAE,EAAE,MAAM,CAAA;QACV,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjB;;;;;;;;;;;;OAYG;IACY,MAAM,CAAC,EACpB,SAAS,EACV,GAAE;QAAE,SAAS,CAAC,EAAE,kBAAkB,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACY,MAAM,CAAC,EACpB,SAAS,EACV,GAAE;QAAE,SAAS,CAAC,EAAE,kBAAkB,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB1D;;;;;;;;;OASG;IACY,GAAG,CAAC,EACjB,EAAE,EACH,GAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkBrD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACY,IAAI,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B3E;;;;;;;;;OASG;IACY,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAqB5C;;;;;;;;;;;;;;;;;OAiBG;IACY,UAAU,CAAC,EACxB,KAAK,EACL,KAAK,EACN,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7D;;;;;;;;;;;;;OAaG;IACY,QAAQ,CAAC,EACtB,KAAK,EACL,UAAU,EACX,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,SAAS,CAAC;CAyBrE"}
|