@lossless.org/client 1.18.0 → 1.18.2

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.
@@ -25,17 +25,7 @@ export class SmartdataExactPersistenceError extends Error {
25
25
  }
26
26
  }
27
27
  const exactCollectionCache = new WeakMap();
28
- const bytesEqual = (leftArg, rightArg) => {
29
- if (leftArg.byteLength !== rightArg.byteLength) {
30
- return false;
31
- }
32
- for (let index = 0; index < leftArg.byteLength; index++) {
33
- if (leftArg[index] !== rightArg[index]) {
34
- return false;
35
- }
36
- }
37
- return true;
38
- };
28
+ const bytesEqual = (leftArg, rightArg) => Buffer.compare(leftArg, rightArg) === 0;
39
29
  const hasOwn = (documentArg, keyArg) => Object.prototype.hasOwnProperty.call(documentArg, keyArg);
40
30
  const isPlainObject = (valueArg) => {
41
31
  if (typeof valueArg !== 'object' || valueArg === null) {
@@ -585,16 +575,31 @@ export class SmartdataExactCollection {
585
575
  interruptedWriteError(labelArg, causeArg) {
586
576
  return this.ambiguousWriteError(`${labelArg} was interrupted by its client deadline or signal in flight; its outcome is unknown.`, normalizeDeadlineError(causeArg));
587
577
  }
578
+ /** The collection's one BSON encoder: every encoding of a row passes here. */
579
+ encodeBson(documentArg) {
580
+ return plugins.mongodb.BSON.serialize(documentArg);
581
+ }
582
+ /** The collection's one BSON decoder: every decoding of a row passes here. */
583
+ decodeBson(bytesArg) {
584
+ return plugins.mongodb.BSON.deserialize(bytesArg);
585
+ }
586
+ /** Decodes proven canonical bytes into a fresh canonical document. */
587
+ decodeCanonical(bytesArg) {
588
+ return canonicalizeValue(this.decodeBson(bytesArg));
589
+ }
590
+ /**
591
+ * The exactness proof: the document's sorted encoding must decode and
592
+ * encode again to the same bytes. Returns those canonical bytes and the
593
+ * decoding the proof produced, which no caller has seen yet.
594
+ */
588
595
  canonicalizeDocument(documentArg, labelArg) {
589
- let canonicalInput;
590
596
  let serialized;
591
597
  let canonical;
592
598
  let reserialized;
593
599
  try {
594
- canonicalInput = canonicalizeValue(documentArg);
595
- serialized = plugins.mongodb.BSON.serialize(canonicalInput);
596
- canonical = canonicalizeValue(plugins.mongodb.BSON.deserialize(serialized));
597
- reserialized = plugins.mongodb.BSON.serialize(canonical);
600
+ serialized = this.encodeBson(canonicalizeValue(documentArg));
601
+ canonical = canonicalizeValue(this.decodeBson(serialized));
602
+ reserialized = this.encodeBson(canonical);
598
603
  }
599
604
  catch (errorArg) {
600
605
  throw new SmartdataExactPersistenceError('invalid_document', `${labelArg} is not BSON serializable.`, { cause: errorArg });
@@ -602,7 +607,23 @@ export class SmartdataExactCollection {
602
607
  if (!bytesEqual(serialized, reserialized)) {
603
608
  throw new SmartdataExactPersistenceError('noncanonical_document', `${labelArg} is not byte-stable across a BSON roundtrip.`);
604
609
  }
605
- return canonical;
610
+ return { document: canonical, bytes: serialized };
611
+ }
612
+ /**
613
+ * Whether a document encodes canonically to bytes an earlier proof
614
+ * produced. Equal bytes carry that proof and its assertion over, so the
615
+ * caller needs neither again; on a mismatch the caller runs the full proof
616
+ * to report what is wrong.
617
+ */
618
+ encodesAs(documentArg, provenBytesArg) {
619
+ let bytes;
620
+ try {
621
+ bytes = this.encodeBson(canonicalizeValue(documentArg));
622
+ }
623
+ catch {
624
+ return false;
625
+ }
626
+ return bytesEqual(bytes, provenBytesArg);
606
627
  }
607
628
  assertAllowedTopLevelKeys(documentArg, allowedMetadataKeysArg, labelArg) {
608
629
  const allowedMetadataKeys = new Set(allowedMetadataKeysArg);
@@ -617,51 +638,72 @@ export class SmartdataExactCollection {
617
638
  }
618
639
  }
619
640
  }
620
- canonicalizePersistedDocument(documentArg) {
641
+ /**
642
+ * Proves an application body canonical and runs the assertion once, on the
643
+ * proof's own decoding, which is never handed out. Returns the canonical
644
+ * bytes of the body.
645
+ */
646
+ provePersistedDocument(documentArg) {
621
647
  this.assertAllowedTopLevelKeys(documentArg, [], 'Persisted document');
622
- const canonical = this.canonicalizeDocument(documentArg, 'Persisted document');
623
- this.assertWithoutMutation(canonical, 'Persisted document');
624
- return canonical;
648
+ const { document, bytes } = this.canonicalizeDocument(documentArg, 'Persisted document');
649
+ this.assertAllowedTopLevelKeys(document, [], 'Persisted document');
650
+ this.assertWithoutMutation(document, bytes, 'Persisted document');
651
+ return bytes;
625
652
  }
626
- canonicalizeStoredDocument(documentArg) {
653
+ /**
654
+ * Proves a stored envelope canonical, checks its storage metadata and runs
655
+ * the assertion once on its body. The body is the proof's own decoding with
656
+ * the metadata removed, so the assertion never sees a document a caller
657
+ * receives. Returns the canonical bytes of the envelope and of its body.
658
+ */
659
+ proveStoredDocument(documentArg) {
627
660
  this.assertAllowedTopLevelKeys(documentArg, storageMetadataKeys, 'Stored document');
628
- const canonical = this.canonicalizeDocument(documentArg, 'Stored document');
629
- const revision = canonical._smartdataRevision;
630
- if (!isMongoObjectId(canonical._id)) {
661
+ const { document, bytes } = this.canonicalizeDocument(documentArg, 'Stored document');
662
+ this.assertAllowedTopLevelKeys(document, storageMetadataKeys, 'Stored document');
663
+ const revision = document._smartdataRevision;
664
+ if (!isMongoObjectId(document._id)) {
631
665
  throw new SmartdataExactPersistenceError('invalid_document', 'Stored document _id must be a MongoDB ObjectId.');
632
666
  }
633
667
  if (revision !== undefined &&
634
668
  (typeof revision !== 'string' || revision.length === 0)) {
635
669
  throw new SmartdataExactPersistenceError('invalid_document', 'Stored document _smartdataRevision must be a nonempty string when present.');
636
670
  }
637
- this.getPersistedBody(canonical);
638
- return canonical;
639
- }
640
- assertWithoutMutation(documentArg, labelArg) {
641
- assertBsonWithoutMutation(documentArg, this.options.assertDocument, (reasonArg, causeArg) => new SmartdataExactPersistenceError('invalid_document', `${labelArg} ${reasonArg === 'assertion' ? 'assertion failed.' :
642
- reasonArg === 'bson' ? 'validator produced a non-BSON document.' :
643
- 'validator must not mutate the document.'}`, causeArg === undefined ? undefined : { cause: causeArg }));
644
- }
645
- getPersistedBody(storedDocumentArg) {
646
- const body = Object.create(null);
647
- for (const key of Object.keys(storedDocumentArg)) {
648
- if (!reservedKeys.includes(key)) {
649
- body[key] = storedDocumentArg[key];
650
- }
671
+ for (const key of storageMetadataKeys) {
672
+ delete document[key];
651
673
  }
652
- return this.canonicalizePersistedDocument(body);
674
+ const bodyBytes = this.encodeBson(document);
675
+ this.assertWithoutMutation(document, bodyBytes, 'Persisted document');
676
+ return { bytes, bodyBytes };
653
677
  }
654
- persistedDocumentsEqual(leftArg, rightArg) {
655
- return bytesEqual(plugins.mongodb.BSON.serialize(leftArg), plugins.mongodb.BSON.serialize(rightArg));
678
+ /** Proves a stored envelope and returns a fresh canonical decoding of it. */
679
+ readStoredDocument(documentArg) {
680
+ const { bytes, bodyBytes } = this.proveStoredDocument(documentArg);
681
+ return {
682
+ document: this.decodeCanonical(bytes),
683
+ bodyBytes,
684
+ };
656
685
  }
657
- storedDocumentsEqual(leftArg, rightArg) {
658
- if (!leftArg._id.equals(rightArg._id)) {
659
- return false;
686
+ /**
687
+ * The canonical envelope of a proven body. BSON encodes every element on
688
+ * its own, so a proven body with inert metadata is canonical as a whole;
689
+ * only the canonical key order has to be restored.
690
+ */
691
+ composeStoredDocument(bodyArg, metadataArg) {
692
+ const fields = new Map(Object.entries(bodyArg));
693
+ fields.set('_id', metadataArg._id);
694
+ if (metadataArg._smartdataRevision !== undefined) {
695
+ fields.set('_smartdataRevision', metadataArg._smartdataRevision);
660
696
  }
661
- if (leftArg._smartdataRevision !== rightArg._smartdataRevision) {
662
- return false;
697
+ const envelope = Object.create(null);
698
+ for (const key of [...fields.keys()].sort()) {
699
+ envelope[key] = fields.get(key);
663
700
  }
664
- return this.persistedDocumentsEqual(this.getPersistedBody(leftArg), this.getPersistedBody(rightArg));
701
+ return envelope;
702
+ }
703
+ assertWithoutMutation(documentArg, beforeArg, labelArg) {
704
+ assertBsonWithoutMutation(documentArg, beforeArg, (documentToEncodeArg) => this.encodeBson(documentToEncodeArg), this.options.assertDocument, (reasonArg, causeArg) => new SmartdataExactPersistenceError('invalid_document', `${labelArg} ${reasonArg === 'assertion' ? 'assertion failed.' :
705
+ reasonArg === 'bson' ? 'validator produced a non-BSON document.' :
706
+ 'validator must not mutate the document.'}`, causeArg === undefined ? undefined : { cause: causeArg }));
665
707
  }
666
708
  validateReconcileIdentity(documentArg) {
667
709
  const value = documentArg[this.reconcileBy];
@@ -670,6 +712,7 @@ export class SmartdataExactCollection {
670
712
  }
671
713
  return value;
672
714
  }
715
+ /** The persisted body a model serializes to, before any proof. */
673
716
  async serializeModel(modelArg) {
674
717
  const serialized = (await modelArg.createSavableObject());
675
718
  if (typeof serialized !== 'object' ||
@@ -693,16 +736,17 @@ export class SmartdataExactCollection {
693
736
  body[key] = serialized[key];
694
737
  }
695
738
  }
696
- return this.canonicalizePersistedDocument(body);
739
+ return body;
697
740
  }
741
+ /** Proves an insert input and returns the canonical bytes of its body. */
698
742
  async createPersistedDocument(documentArg) {
699
743
  if (typeof documentArg !== 'object' || documentArg === null) {
700
744
  throw new SmartdataExactPersistenceError('invalid_document', 'Exact persistence insert input must be an object.');
701
745
  }
702
746
  if (documentArg instanceof this.modelConstructor) {
703
- return this.serializeModel(documentArg);
747
+ return this.provePersistedDocument(await this.serializeModel(documentArg));
704
748
  }
705
- return this.canonicalizePersistedDocument(documentArg);
749
+ return this.provePersistedDocument(documentArg);
706
750
  }
707
751
  hydrateStoredDocument(documentArg) {
708
752
  return this.modelConstructor.createInstanceFromMongoDbNativeDoc(documentArg);
@@ -712,7 +756,7 @@ export class SmartdataExactCollection {
712
756
  [this.reconcileBy]: identityArg,
713
757
  }, { session: sessionArg, ...deadlineArg.commandOptions() });
714
758
  return rawDocument
715
- ? this.canonicalizeStoredDocument(rawDocument)
759
+ ? this.readStoredDocument(rawDocument)
716
760
  : null;
717
761
  }
718
762
  ambiguousWriteError(messageArg, causeArg) {
@@ -737,8 +781,8 @@ export class SmartdataExactCollection {
737
781
  throw new SmartdataExactPersistenceError('invalid_document', 'Exact delete options must contain one inert enumerable current data property.');
738
782
  }
739
783
  const currentSnapshot = snapshotInertExactValue(currentDescriptor.value, 'Exact delete current');
740
- const current = this.canonicalizeStoredDocument(currentSnapshot);
741
- const identity = this.validateReconcileIdentity(this.getPersistedBody(current));
784
+ const { document: current } = this.readStoredDocument(currentSnapshot);
785
+ const identity = this.validateReconcileIdentity(current);
742
786
  return { current, identity };
743
787
  }
744
788
  async reconcileDeleteOutcome(currentArg, identityArg, causeArg, sessionArg, deadlineArg) {
@@ -752,25 +796,23 @@ export class SmartdataExactCollection {
752
796
  }
753
797
  throw this.ambiguousWriteError('Exact delete outcome was inconclusive and reconciliation could not be completed.', causeArg);
754
798
  }
755
- if (reconciled && reconciled._id.equals(currentArg._id)) {
799
+ if (reconciled && reconciled.document._id.equals(currentArg._id)) {
756
800
  return { status: 'concurrent_change', deletedCount: 0 };
757
801
  }
758
802
  throw this.ambiguousWriteError('Exact delete outcome was inconclusive and could not be authoritatively reconciled.', causeArg);
759
803
  }
760
804
  async insert(documentArg, optionsArg = {}) {
761
805
  return this.runOperation(optionsArg, async (sessionArg, deadlineArg) => {
762
- const persistedDocument = await this.createPersistedDocument(documentArg);
806
+ const persistedBytes = await this.createPersistedDocument(documentArg);
807
+ const persistedDocument = this.decodeCanonical(persistedBytes);
763
808
  const identity = this.validateReconcileIdentity(persistedDocument);
764
- const expectedStoredDocument = this.canonicalizeStoredDocument({
765
- _id: new plugins.mongodb.ObjectId(),
766
- ...persistedDocument,
767
- });
809
+ const expectedStoredDocument = this.composeStoredDocument(persistedDocument, { _id: new plugins.mongodb.ObjectId() });
768
810
  if (hasActiveTransaction(sessionArg)) {
769
811
  const existing = await this.findByReconcileIdentity(identity, sessionArg, deadlineArg);
770
812
  if (existing) {
771
- return this.persistedDocumentsEqual(this.getPersistedBody(existing), persistedDocument)
772
- ? { status: 'already_committed', document: existing }
773
- : { status: 'conflict', document: existing };
813
+ return bytesEqual(existing.bodyBytes, persistedBytes)
814
+ ? { status: 'already_committed', document: existing.document }
815
+ : { status: 'conflict', document: existing.document };
774
816
  }
775
817
  }
776
818
  let result;
@@ -805,11 +847,11 @@ export class SmartdataExactCollection {
805
847
  throw this.ambiguousWriteError('Exact insert failed and reconciliation could not be completed.', errorArg);
806
848
  }
807
849
  if (reconciled) {
808
- if (this.persistedDocumentsEqual(this.getPersistedBody(reconciled), persistedDocument)) {
809
- return { status: 'already_committed', document: reconciled };
850
+ if (bytesEqual(reconciled.bodyBytes, persistedBytes)) {
851
+ return { status: 'already_committed', document: reconciled.document };
810
852
  }
811
853
  if (isDuplicateKeyError(errorArg)) {
812
- return { status: 'conflict', document: reconciled };
854
+ return { status: 'conflict', document: reconciled.document };
813
855
  }
814
856
  }
815
857
  if (isDuplicateKeyError(errorArg)) {
@@ -831,9 +873,8 @@ export class SmartdataExactCollection {
831
873
  }
832
874
  throw this.ambiguousWriteError('Exact insert was not acknowledged and reconciliation could not be completed.', result);
833
875
  }
834
- if (reconciled &&
835
- this.persistedDocumentsEqual(this.getPersistedBody(reconciled), persistedDocument)) {
836
- return { status: 'already_committed', document: reconciled };
876
+ if (reconciled && bytesEqual(reconciled.bodyBytes, persistedBytes)) {
877
+ return { status: 'already_committed', document: reconciled.document };
837
878
  }
838
879
  throw this.ambiguousWriteError('Exact insert was not acknowledged and could not be reconciled.', result);
839
880
  }
@@ -841,12 +882,12 @@ export class SmartdataExactCollection {
841
882
  });
842
883
  }
843
884
  toPersisted(storedDocumentArg) {
844
- const storedDocument = this.canonicalizeStoredDocument(storedDocumentArg);
845
- const persistedDocument = this.getPersistedBody(storedDocument);
846
- return plugins.mongodb.BSON.deserialize(plugins.mongodb.BSON.serialize(persistedDocument));
885
+ const { bodyBytes } = this.proveStoredDocument(storedDocumentArg);
886
+ // A plain decoding: ordinary application objects, not canonical ones.
887
+ return this.decodeBson(bodyBytes);
847
888
  }
848
889
  canonicalBytes(persistedDocumentArg) {
849
- return plugins.mongodb.BSON.serialize(this.canonicalizePersistedDocument(persistedDocumentArg));
890
+ return this.provePersistedDocument(persistedDocumentArg);
850
891
  }
851
892
  async findStoredOne(filterArg, optionsArg = {}) {
852
893
  return this.runOperation(optionsArg, async (sessionArg, deadlineArg) => {
@@ -865,7 +906,7 @@ export class SmartdataExactCollection {
865
906
  try {
866
907
  const rawDocument = await cursor.next();
867
908
  storedDocument = rawDocument
868
- ? this.canonicalizeStoredDocument(rawDocument)
909
+ ? this.readStoredDocument(rawDocument).document
869
910
  : null;
870
911
  }
871
912
  catch (errorArg) {
@@ -904,7 +945,7 @@ export class SmartdataExactCollection {
904
945
  cursor = cursor.limit(optionsArg.limit);
905
946
  }
906
947
  const rawDocuments = await cursor.toArray();
907
- storedDocuments = rawDocuments.map((documentArg) => this.canonicalizeStoredDocument(documentArg));
948
+ storedDocuments = rawDocuments.map((documentArg) => this.readStoredDocument(documentArg).document);
908
949
  }
909
950
  catch (errorArg) {
910
951
  try {
@@ -927,12 +968,13 @@ export class SmartdataExactCollection {
927
968
  }
928
969
  async transition(optionsArg, sessionOptionsArg = {}) {
929
970
  return this.runOperation(sessionOptionsArg, async (sessionArg, deadlineArg) => {
930
- const current = this.canonicalizeStoredDocument(optionsArg.current);
931
- const currentBody = this.getPersistedBody(current);
932
- const currentIdentity = this.validateReconcileIdentity(currentBody);
971
+ const { document: current, bodyBytes: currentBodyBytes } = this.readStoredDocument(optionsArg.current);
972
+ const currentIdentity = this.validateReconcileIdentity(current);
933
973
  const model = this.hydrateStoredDocument(current);
934
974
  const untouchedBody = await this.serializeModel(model);
935
- if (!this.persistedDocumentsEqual(currentBody, untouchedBody)) {
975
+ if (!this.encodesAs(untouchedBody, currentBodyBytes)) {
976
+ // A body that is not even canonical reports its own proof failure.
977
+ this.provePersistedDocument(untouchedBody);
936
978
  throw new SmartdataExactPersistenceError('noncanonical_document', 'Stored document does not survive an untouched model serialization roundtrip.');
937
979
  }
938
980
  const changeResult = optionsArg.change(model);
@@ -942,17 +984,17 @@ export class SmartdataExactCollection {
942
984
  void Promise.resolve(changeResult).catch(() => undefined);
943
985
  throw new SmartdataExactPersistenceError('unsupported_operation', 'Exact persistence transition callbacks must be synchronous.');
944
986
  }
945
- const candidateBody = await this.serializeModel(model);
987
+ const candidateBody = this.decodeCanonical(this.provePersistedDocument(await this.serializeModel(model)));
946
988
  const candidateIdentity = this.validateReconcileIdentity(candidateBody);
947
989
  if (candidateIdentity !== currentIdentity) {
948
990
  throw new SmartdataExactPersistenceError('invalid_document', `Exact persistence reconcileBy field "${this.reconcileBy}" is immutable.`);
949
991
  }
950
992
  const newRevision = globalThis.crypto.randomUUID();
951
- const expectedStoredDocument = this.canonicalizeStoredDocument({
993
+ const expectedStoredDocument = this.composeStoredDocument(candidateBody, {
952
994
  _id: current._id,
953
- ...candidateBody,
954
995
  _smartdataRevision: newRevision,
955
996
  });
997
+ const expectedBytes = this.encodeBson(expectedStoredDocument);
956
998
  const selector = current._smartdataRevision !== undefined
957
999
  ? { _id: current._id, _smartdataRevision: current._smartdataRevision }
958
1000
  : { _id: current._id, _smartdataRevision: { $exists: false } };
@@ -968,11 +1010,12 @@ export class SmartdataExactCollection {
968
1010
  if (!postimage) {
969
1011
  return { status: 'concurrent_change' };
970
1012
  }
971
- const canonicalPostimage = this.canonicalizeStoredDocument(postimage);
972
- if (!this.storedDocumentsEqual(canonicalPostimage, expectedStoredDocument)) {
1013
+ if (!this.encodesAs(postimage, expectedBytes)) {
1014
+ // A postimage that is not even a valid stored document reports why.
1015
+ this.proveStoredDocument(postimage);
973
1016
  throw new SmartdataExactPersistenceError('ambiguous_write', 'Exact transition returned a postimage different from the requested state.');
974
1017
  }
975
- return { status: 'transitioned', document: canonicalPostimage };
1018
+ return { status: 'transitioned', document: expectedStoredDocument };
976
1019
  }
977
1020
  catch (errorArg) {
978
1021
  if (isTransientTransactionError(errorArg, sessionArg)) {
@@ -992,11 +1035,11 @@ export class SmartdataExactCollection {
992
1035
  _id: current._id,
993
1036
  }, { session: sessionArg, ...deadlineArg.commandOptions() });
994
1037
  if (reconciledRaw) {
995
- const reconciled = this.canonicalizeStoredDocument(reconciledRaw);
996
- if (reconciled._smartdataRevision === newRevision &&
997
- this.storedDocumentsEqual(reconciled, expectedStoredDocument)) {
998
- return { status: 'transitioned', document: reconciled };
1038
+ if (this.encodesAs(reconciledRaw, expectedBytes)) {
1039
+ return { status: 'transitioned', document: expectedStoredDocument };
999
1040
  }
1041
+ // A malformed document fails the reconciliation itself.
1042
+ this.proveStoredDocument(reconciledRaw);
1000
1043
  }
1001
1044
  }
1002
1045
  catch (reconciliationError) {
@@ -1126,4 +1169,4 @@ export function exactPersistence(optionsArg) {
1126
1169
  });
1127
1170
  };
1128
1171
  }
1129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5leGFjdHBlcnNpc3RlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLmV4YWN0cGVyc2lzdGVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw2QkFBNkIsRUFDN0IsaUNBQWlDLEdBQ2xDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUVMLHNCQUFzQixFQUN0Qix5QkFBeUIsR0FDMUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsdUJBQXVCLEdBSXhCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUM3Qyw4Q0FBOEMsQ0FDL0MsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQVUsQ0FBQztBQUNuRSxNQUFNLFlBQVksR0FBRztJQUNuQixHQUFHLG1CQUFtQjtJQUN0QixZQUFZO0lBQ1osWUFBWTtDQUNKLENBQUM7QUFrR1gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQzdCLFFBQWlCLEVBQ3FCLEVBQUUsQ0FDeEMsUUFBUSxZQUFZLE9BQU8sQ0FBQyxPQUFP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
1172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5leGFjdHBlcnNpc3RlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLmV4YWN0cGVyc2lzdGVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw2QkFBNkIsRUFDN0IsaUNBQWlDLEdBQ2xDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUVMLHNCQUFzQixFQUN0Qix5QkFBeUIsR0FDMUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsdUJBQXVCLEdBSXhCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUM3Qyw4Q0FBOEMsQ0FDL0MsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQVUsQ0FBQztBQUNuRSxNQUFNLFlBQVksR0FBRztJQUNuQixHQUFHLG1CQUFtQjtJQUN0QixZQUFZO0lBQ1osWUFBWTtDQUNKLENBQUM7QUFrR1gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQzdCLFFBQWlCLEVBQ3FCLEVBQUUsQ0FDeEMsUUFBUSxZQUFZLE9BQU8sQ0FBQyxPQUFP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