@enbox/dwn-sdk-js 0.2.0 → 0.2.1

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.
@@ -1,10 +1,17 @@
1
1
  import { authenticate } from '../core/auth.js';
2
+ import { Encoder } from '../utils/encoder.js';
2
3
  import { hashToHex } from '../smt/smt-utils.js';
3
4
  import { messageReplyFromError } from '../core/message-reply.js';
4
5
  import { MessagesGrantAuthorization } from '../core/messages-grant-authorization.js';
5
6
  import { MessagesSync } from '../interfaces/messages-sync.js';
6
7
  import { PermissionsProtocol } from '../protocols/permissions.js';
7
8
  import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
9
+ /**
10
+ * Default maximum inline data size for diff responses (256 KB).
11
+ * RecordsWrite data payloads smaller than this are base64url-encoded and
12
+ * included directly in the diff reply, avoiding a separate MessagesRead round-trip.
13
+ */
14
+ const DEFAULT_MAX_INLINE_DATA_SIZE = 262_144;
8
15
  export class MessagesSyncHandler {
9
16
  deps;
10
17
  constructor(deps) {
@@ -57,6 +64,9 @@ export class MessagesSyncHandler {
57
64
  entries: leaves,
58
65
  };
59
66
  }
67
+ case 'diff': {
68
+ return this.handleDiff(tenant, message);
69
+ }
60
70
  default: {
61
71
  return {
62
72
  status: { code: 400, detail: `Unknown action: ${action}` },
@@ -68,6 +78,227 @@ export class MessagesSyncHandler {
68
78
  return messageReplyFromError(e, 500);
69
79
  }
70
80
  }
81
+ /**
82
+ * Handle the 'diff' action: the client sends its subtree hashes at a given
83
+ * depth, and the server compares them against its own tree to compute the
84
+ * set difference in a single round-trip.
85
+ *
86
+ * Response includes:
87
+ * - `onlyRemote`: messages the server has that the client doesn't, with
88
+ * inline data for small payloads.
89
+ * - `onlyLocal`: bit prefixes where the client has entries the server
90
+ * doesn't (client can enumerate its own leaves for these prefixes).
91
+ */
92
+ async handleDiff(tenant, message) {
93
+ const { protocol, hashes: clientHashes, depth } = message.descriptor;
94
+ if (!clientHashes || depth === undefined) {
95
+ return {
96
+ status: { code: 400, detail: 'diff action requires hashes and depth' },
97
+ };
98
+ }
99
+ const stateIndex = this.deps.stateIndex;
100
+ const onlyRemoteCids = [];
101
+ const onlyLocalPrefixes = [];
102
+ // Get the default (empty subtree) hash at the given depth so we can
103
+ // filter out client entries that represent empty subtrees.
104
+ const defaultHashHex = await this.getDefaultHashHex(depth);
105
+ // Build the set of all prefixes at the given depth that either side has.
106
+ // Filter out client prefixes whose hash equals the default (empty subtree)
107
+ // hash — these represent empty subtrees and should be treated the same as
108
+ // omitted prefixes.
109
+ const allPrefixes = new Set();
110
+ for (const [pfx, hash] of Object.entries(clientHashes)) {
111
+ if (hash !== defaultHashHex) {
112
+ allPrefixes.add(pfx);
113
+ }
114
+ }
115
+ // Enumerate server-side non-empty prefixes by walking the server's
116
+ // tree to the given depth and collecting leaf prefixes.
117
+ const serverHashes = await this.collectSubtreeHashes(tenant, protocol, depth);
118
+ for (const prefix of Object.keys(serverHashes)) {
119
+ allPrefixes.add(prefix);
120
+ }
121
+ // Compare each prefix's hash between client and server.
122
+ for (const pfx of allPrefixes) {
123
+ const clientHash = clientHashes[pfx]; // undefined if client has empty subtree
124
+ const serverHash = serverHashes[pfx]; // undefined if server has empty subtree
125
+ if (clientHash === serverHash) {
126
+ // Identical subtree — skip.
127
+ continue;
128
+ }
129
+ if (serverHash === undefined) {
130
+ // Client has entries the server doesn't.
131
+ onlyLocalPrefixes.push(pfx);
132
+ continue;
133
+ }
134
+ if (clientHash === undefined) {
135
+ // Server has entries the client doesn't — enumerate server leaves.
136
+ const bitPath = MessagesSyncHandler.parseBitPrefix(pfx);
137
+ const leaves = protocol !== undefined
138
+ ? await stateIndex.getProtocolLeaves(tenant, protocol, bitPath)
139
+ : await stateIndex.getLeaves(tenant, bitPath);
140
+ onlyRemoteCids.push(...leaves);
141
+ continue;
142
+ }
143
+ // Both sides have entries but they differ — enumerate both and set-diff.
144
+ const bitPath = MessagesSyncHandler.parseBitPrefix(pfx);
145
+ const serverLeaves = protocol !== undefined
146
+ ? await stateIndex.getProtocolLeaves(tenant, protocol, bitPath)
147
+ : await stateIndex.getLeaves(tenant, bitPath);
148
+ // We don't have the client's leaves, so we report all server leaves
149
+ // as onlyRemote (the client will de-duplicate locally). We also
150
+ // report this prefix as onlyLocal so the client can check its own leaves.
151
+ onlyRemoteCids.push(...serverLeaves);
152
+ onlyLocalPrefixes.push(pfx);
153
+ }
154
+ // Build response entries with inline message data where possible.
155
+ const onlyRemote = await this.buildDiffEntries(tenant, onlyRemoteCids);
156
+ return {
157
+ status: { code: 200, detail: 'OK' },
158
+ onlyRemote,
159
+ onlyLocal: onlyLocalPrefixes,
160
+ };
161
+ }
162
+ /**
163
+ * Walk the server's SMT to the given depth and collect all non-empty
164
+ * subtree hashes as a `{ prefix: hexHash }` map.
165
+ */
166
+ async collectSubtreeHashes(tenant, protocol, depth) {
167
+ const stateIndex = this.deps.stateIndex;
168
+ const result = {};
169
+ const defaultHashHex = await this.getDefaultHashHex(depth);
170
+ const walk = async (prefix, currentDepth) => {
171
+ const bitPath = MessagesSyncHandler.parseBitPrefix(prefix);
172
+ const hash = protocol !== undefined
173
+ ? await stateIndex.getProtocolSubtreeHash(tenant, protocol, bitPath)
174
+ : await stateIndex.getSubtreeHash(tenant, bitPath);
175
+ const hexHash = hashToHex(hash);
176
+ if (hexHash === defaultHashHex) {
177
+ // Empty subtree — don't include in the result.
178
+ return;
179
+ }
180
+ if (currentDepth >= depth) {
181
+ // Reached target depth with a non-empty subtree.
182
+ result[prefix] = hexHash;
183
+ return;
184
+ }
185
+ // Recurse into children.
186
+ await Promise.all([
187
+ walk(prefix + '0', currentDepth + 1),
188
+ walk(prefix + '1', currentDepth + 1),
189
+ ]);
190
+ };
191
+ await walk('', 0);
192
+ return result;
193
+ }
194
+ /**
195
+ * Get the hex-encoded default hash for a given depth. Lazily cached.
196
+ */
197
+ _defaultHashHexCache;
198
+ async getDefaultHashHex(depth) {
199
+ if (this._defaultHashHexCache === undefined) {
200
+ const { initDefaultHashes } = await import('../smt/smt-utils.js');
201
+ const defaults = await initDefaultHashes();
202
+ this._defaultHashHexCache = new Map();
203
+ for (let d = 0; d <= 256; d++) {
204
+ this._defaultHashHexCache.set(d, hashToHex(defaults[d]));
205
+ }
206
+ }
207
+ return this._defaultHashHexCache.get(depth) ?? '';
208
+ }
209
+ /**
210
+ * Build diff response entries for the given messageCids.
211
+ * Reads each message from the MessageStore and, for small RecordsWrite
212
+ * payloads, inlines the data as base64url.
213
+ */
214
+ async buildDiffEntries(tenant, messageCids) {
215
+ const entries = [];
216
+ for (const messageCid of messageCids) {
217
+ const { message, encodedData: inlineData, data } = await this.readMessageByCid(tenant, messageCid);
218
+ if (!message) {
219
+ // Message was deleted between diff computation and read — skip.
220
+ continue;
221
+ }
222
+ const entry = { messageCid, message };
223
+ // Use inline data from the MessageStore if available (small payloads).
224
+ if (inlineData) {
225
+ entry.encodedData = inlineData;
226
+ }
227
+ else if (data) {
228
+ // Data is in the DataStore — inline it if small enough.
229
+ const bytes = await MessagesSyncHandler.streamToBytes(data);
230
+ if (bytes.byteLength <= DEFAULT_MAX_INLINE_DATA_SIZE) {
231
+ entry.encodedData = Encoder.bytesToBase64Url(bytes);
232
+ }
233
+ // Large payloads are NOT inlined — client fetches via MessagesRead.
234
+ }
235
+ entries.push(entry);
236
+ }
237
+ return entries;
238
+ }
239
+ /**
240
+ * Read a message and its data from the MessageStore + DataStore by CID.
241
+ */
242
+ async readMessageByCid(tenant, messageCid) {
243
+ const storedMessage = await this.deps.messageStore.get(tenant, messageCid);
244
+ if (!storedMessage) {
245
+ return {};
246
+ }
247
+ // Extract and strip `encodedData` from the stored message.
248
+ // `encodedData` is an internal storage optimization for small payloads
249
+ // that are stored inline in the MessageStore rather than in the DataStore.
250
+ // It must not be included in the wire-format message (the recipient's
251
+ // DWN would reject it as an unexpected top-level property).
252
+ let inlineEncodedData;
253
+ if ('encodedData' in storedMessage) {
254
+ inlineEncodedData = storedMessage.encodedData;
255
+ delete storedMessage.encodedData;
256
+ }
257
+ let data;
258
+ // Check if this is a RecordsWrite with data.
259
+ if (storedMessage.descriptor.interface === 'Records' &&
260
+ storedMessage.descriptor.method === 'Write') {
261
+ const dataCid = storedMessage.descriptor?.dataCid;
262
+ if (dataCid) {
263
+ // Try DataStore first (for large payloads stored externally).
264
+ if (this.deps.dataStore) {
265
+ // DataStore uses recordId, not messageCid. For RecordsWrite, the
266
+ // recordId is in the descriptor.
267
+ const recordId = storedMessage.descriptor?.recordId;
268
+ if (recordId) {
269
+ const dataResult = await this.deps.dataStore.get(tenant, recordId, dataCid);
270
+ if (dataResult?.dataStream) {
271
+ data = dataResult.dataStream;
272
+ }
273
+ }
274
+ }
275
+ }
276
+ }
277
+ return { message: storedMessage, encodedData: inlineEncodedData, data };
278
+ }
279
+ /**
280
+ * Read a ReadableStream to completion and return the bytes.
281
+ */
282
+ static async streamToBytes(stream) {
283
+ const reader = stream.getReader();
284
+ const chunks = [];
285
+ let totalSize = 0;
286
+ for (;;) {
287
+ const { done, value } = await reader.read();
288
+ if (done) {
289
+ break;
290
+ }
291
+ chunks.push(value);
292
+ totalSize += value.byteLength;
293
+ }
294
+ const result = new Uint8Array(totalSize);
295
+ let offset = 0;
296
+ for (const chunk of chunks) {
297
+ result.set(chunk, offset);
298
+ offset += chunk.byteLength;
299
+ }
300
+ return result;
301
+ }
71
302
  /**
72
303
  * Parse a bit prefix string (e.g. "0110101") into a boolean array.
73
304
  */
@@ -1 +1 @@
1
- {"version":3,"file":"messages-sync.js","sourceRoot":"","sources":["../../../../src/handlers/messages-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-sync.js","sourceRoot":"","sources":["../../../../src/handlers/messages-sync.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export class MessagesSync extends AbstractMessage {
22
22
  protocol: options.protocol,
23
23
  prefix: options.prefix,
24
24
  permissionGrantId: options.permissionGrantId,
25
+ hashes: options.hashes,
26
+ depth: options.depth,
25
27
  };
26
28
  removeUndefinedProperties(descriptor);
27
29
  const { permissionGrantId, signer } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"messages-sync.js","sourceRoot":"","sources":["../../../../src/interfaces/messages-sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAWnF,MAAM,OAAO,YAAa,SAAQ,eAAoC;IAE7D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAA4B;QACpD,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9F,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9C,6BAA6B,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAA4B;QACrD,MAAM,UAAU,GAA2B;YACzC,SAAS,EAAW,gBAAgB,CAAC,QAAQ;YAC7C,MAAM,EAAc,aAAa,CAAC,IAAI;YACtC,gBAAgB,EAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC1E,MAAM,EAAc,OAAO,CAAC,MAAM;YAClC,QAAQ,EAAY,OAAO,CAAC,QAAQ;YACpC,MAAM,EAAc,OAAO,CAAC,MAAM;YAClC,iBAAiB,EAAG,OAAO,CAAC,iBAAiB;SAC9C,CAAC;QAEF,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC9C,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC;YACtD,UAAU;YACV,MAAM;YACN,iBAAiB;SAClB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;QAE9C,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEpC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"messages-sync.js","sourceRoot":"","sources":["../../../../src/interfaces/messages-sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAenF,MAAM,OAAO,YAAa,SAAQ,eAAoC;IAE7D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAA4B;QACpD,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9F,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9C,6BAA6B,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAA4B;QACrD,MAAM,UAAU,GAA2B;YACzC,SAAS,EAAW,gBAAgB,CAAC,QAAQ;YAC7C,MAAM,EAAc,aAAa,CAAC,IAAI;YACtC,gBAAgB,EAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC1E,MAAM,EAAc,OAAO,CAAC,MAAM;YAClC,QAAQ,EAAY,OAAO,CAAC,QAAQ;YACpC,MAAM,EAAc,OAAO,CAAC,MAAM;YAClC,iBAAiB,EAAG,OAAO,CAAC,iBAAiB;YAC7C,MAAM,EAAc,OAAO,CAAC,MAAM;YAClC,KAAK,EAAe,OAAO,CAAC,KAAK;SAClC,CAAC;QAEF,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC9C,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC;YACtD,UAAU;YACV,MAAM;YACN,iBAAiB;SAClB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;QAE9C,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEpC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACF"}
@@ -571,6 +571,153 @@ export function testMessagesSyncHandler() {
571
571
  }
572
572
  });
573
573
  });
574
+ describe('diff action', () => {
575
+ it('returns empty diff when client hashes match server hashes', async () => {
576
+ const alice = await TestDataGenerator.generateDidKeyPersona();
577
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
578
+ // write a record
579
+ const { message: recordMessage, dataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
580
+ const writeReply = await dwn.processMessage(alice.did, recordMessage, { dataStream });
581
+ expect(writeReply.status.code).toBe(202);
582
+ // get the server's subtree hashes at depth 2 via individual subtree requests
583
+ const serverHashes = {};
584
+ for (const prefix of ['00', '01', '10', '11']) {
585
+ const { message: subtreeMsg } = await MessagesSync.create({
586
+ signer: Jws.createSigner(alice),
587
+ action: 'subtree',
588
+ prefix,
589
+ });
590
+ const subtreeReply = await dwn.processMessage(alice.did, subtreeMsg);
591
+ if (subtreeReply.hash) {
592
+ serverHashes[prefix] = subtreeReply.hash;
593
+ }
594
+ }
595
+ // send diff with matching hashes — should get empty diff
596
+ const { message: diffMsg } = await MessagesSync.create({
597
+ signer: Jws.createSigner(alice),
598
+ action: 'diff',
599
+ hashes: serverHashes,
600
+ depth: 2,
601
+ });
602
+ const reply = await dwn.processMessage(alice.did, diffMsg);
603
+ expect(reply.status.code).toBe(200);
604
+ expect(reply.onlyRemote).toEqual([]);
605
+ expect(reply.onlyLocal).toEqual([]);
606
+ });
607
+ it('returns onlyRemote entries when client sends empty hashes', async () => {
608
+ const alice = await TestDataGenerator.generateDidKeyPersona();
609
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
610
+ // write a record
611
+ const { message: recordMessage, dataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
612
+ const writeReply = await dwn.processMessage(alice.did, recordMessage, { dataStream });
613
+ expect(writeReply.status.code).toBe(202);
614
+ // send diff with empty hashes — everything on the server is onlyRemote
615
+ const { message: diffMsg } = await MessagesSync.create({
616
+ signer: Jws.createSigner(alice),
617
+ action: 'diff',
618
+ hashes: {},
619
+ depth: 2,
620
+ });
621
+ const reply = await dwn.processMessage(alice.did, diffMsg);
622
+ expect(reply.status.code).toBe(200);
623
+ expect(reply.onlyRemote.length).toBeGreaterThan(0);
624
+ // each entry should have a messageCid and message
625
+ for (const entry of reply.onlyRemote) {
626
+ expect(typeof entry.messageCid).toBe('string');
627
+ expect(entry.message).toBeDefined();
628
+ }
629
+ });
630
+ it('returns onlyLocal prefixes when server has empty subtrees', async () => {
631
+ const alice = await TestDataGenerator.generateDidKeyPersona();
632
+ // send diff with non-empty client hashes against an empty server
633
+ const { message: diffMsg } = await MessagesSync.create({
634
+ signer: Jws.createSigner(alice),
635
+ action: 'diff',
636
+ hashes: { '00': 'aabbccdd', '01': '11223344' },
637
+ depth: 2,
638
+ });
639
+ const reply = await dwn.processMessage(alice.did, diffMsg);
640
+ expect(reply.status.code).toBe(200);
641
+ expect(reply.onlyRemote).toEqual([]);
642
+ expect(reply.onlyLocal).toContain('00');
643
+ expect(reply.onlyLocal).toContain('01');
644
+ });
645
+ it('inlines small data payloads as encodedData in onlyRemote entries', async () => {
646
+ const alice = await TestDataGenerator.generateDidKeyPersona();
647
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
648
+ // write a small record
649
+ const { message: recordMessage, dataStream } = await TestDataGenerator.generateRecordsWrite({
650
+ author: alice,
651
+ data: new TextEncoder().encode('small payload'),
652
+ dataFormat: 'text/plain',
653
+ });
654
+ const writeReply = await dwn.processMessage(alice.did, recordMessage, { dataStream });
655
+ expect(writeReply.status.code).toBe(202);
656
+ // diff with empty client — server should inline the data
657
+ const { message: diffMsg } = await MessagesSync.create({
658
+ signer: Jws.createSigner(alice),
659
+ action: 'diff',
660
+ hashes: {},
661
+ depth: 2,
662
+ });
663
+ const reply = await dwn.processMessage(alice.did, diffMsg);
664
+ expect(reply.status.code).toBe(200);
665
+ // find the RecordsWrite entry
666
+ const recordEntry = reply.onlyRemote.find((e) => e.message?.descriptor.interface === 'Records' && e.message?.descriptor.method === 'Write');
667
+ expect(recordEntry).toBeDefined();
668
+ expect(recordEntry.encodedData).toBeDefined();
669
+ expect(typeof recordEntry.encodedData).toBe('string');
670
+ });
671
+ it('returns 400 when hashes or depth are missing', async () => {
672
+ const alice = await TestDataGenerator.generateDidKeyPersona();
673
+ // create a valid diff message then strip required fields
674
+ const { message } = await MessagesSync.create({
675
+ signer: Jws.createSigner(alice),
676
+ action: 'diff',
677
+ hashes: {},
678
+ depth: 2,
679
+ });
680
+ // stub parse to skip schema validation
681
+ const parseStub = sinon.stub(MessagesSync, 'parse').resolves({
682
+ author: alice.did,
683
+ message,
684
+ signaturePayload: { descriptorCid: 'test' },
685
+ });
686
+ try {
687
+ // remove hashes to trigger the guard
688
+ delete message.descriptor.hashes;
689
+ const handler = new MessagesSyncHandler({ didResolver, messageStore, stateIndex, dataStore });
690
+ const reply = await handler.handle({ tenant: alice.did, message });
691
+ expect(reply.status.code).toBe(400);
692
+ expect(reply.status.detail).toContain('diff action requires hashes and depth');
693
+ }
694
+ finally {
695
+ parseStub.restore();
696
+ }
697
+ });
698
+ it('handles protocol-scoped diff', async () => {
699
+ const alice = await TestDataGenerator.generateDidKeyPersona();
700
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
701
+ // write a record using the default test protocol
702
+ const { message: recordMessage, dataStream } = await TestDataGenerator.generateRecordsWrite({
703
+ author: alice,
704
+ });
705
+ const writeReply = await dwn.processMessage(alice.did, recordMessage, { dataStream });
706
+ expect(writeReply.status.code).toBe(202);
707
+ // diff scoped to the default test protocol
708
+ const protocol = recordMessage.descriptor.protocol;
709
+ const { message: diffMsg } = await MessagesSync.create({
710
+ signer: Jws.createSigner(alice),
711
+ action: 'diff',
712
+ hashes: {},
713
+ depth: 2,
714
+ protocol,
715
+ });
716
+ const reply = await dwn.processMessage(alice.did, diffMsg);
717
+ expect(reply.status.code).toBe(200);
718
+ expect(reply.onlyRemote.length).toBeGreaterThan(0);
719
+ });
720
+ });
574
721
  describe('error handling', () => {
575
722
  it('returns 500 when stateIndex throws an unexpected error', async () => {
576
723
  const alice = await TestDataGenerator.generateDidKeyPersona();
@@ -1 +1 @@
1
- {"version":3,"file":"messages-sync.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-sync.spec.ts"],"names":[],"mappings":"AAUA,OAAO,UAAU,MAAM,mDAAmD,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjG,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxF,MAAM,UAAU,uBAAuB;IACrC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,IAAI,WAAwB,CAAC;QAC7B,IAAI,YAA0B,CAAC;QAC/B,IAAI,SAAoB,CAAC;QACzB,IAAI,kBAAsC,CAAC;QAC3C,IAAI,UAAsB,CAAC;QAC3B,IAAI,QAAkB,CAAC;QACvB,IAAI,GAAQ,CAAC;QAEb,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,WAAW,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAChC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACnC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC7B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YAC/C,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;YAE9B,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YAC3B,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACzE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;YAClE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;gBACrE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/D,qBAAqB;gBACrB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBACtD,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE9B,iBAAiB;gBACjB,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,qBAAqB;gBACrB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBACtD,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;gBAC5E,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/D,MAAM,kBAAkB,GAAuB,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAElF,yBAAyB;gBACzB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;oBACtF,MAAM,EAAE,KAAK;oBACb,kBAAkB;iBACnB,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;gBAC5E,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE7C,mCAAmC;gBACnC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAC1F,MAAM,EAAS,KAAK;oBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;oBAC1C,YAAY,EAAG,MAAM;oBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;iBACpD,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,uEAAuE;gBACvE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9H,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC1G,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE9C,sBAAsB;gBACtB,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC3D,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gBACvE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE1C,+BAA+B;gBAC/B,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC1D,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAClC,MAAM,EAAK,MAAM;oBACjB,QAAQ,EAAG,kBAAkB,CAAC,QAAQ;iBACvC,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gBACrE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,oDAAoD;gBACpD,uDAAuD;gBACvD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACnD,iCAAiC;gBACjC,MAAM,CAAC,UAAU,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;gBAC7D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/D,0CAA0C;gBAC1C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/D,qDAAqD;gBACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAClD,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAEzD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAClD,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAEzD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,uEAAuE;gBACvE,sDAAsD;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/D,sBAAsB;gBACtB,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzC,YAAY,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,QAAQ;oBACjB,MAAM,EAAG,EAAE;iBACZ,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,+EAA+E;gBAC/E,MAAM,CAAC,KAAK,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACzE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/D,MAAM,kBAAkB,GAAuB,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAElF,yBAAyB;gBACzB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;oBACtF,MAAM,EAAE,KAAK;oBACb,kBAAkB;iBACnB,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;gBAC5E,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE7C,iCAAiC;gBACjC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBACzG,MAAM,EAAS,KAAK;oBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;oBAC1C,YAAY,EAAG,MAAM;oBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;iBACpD,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC1G,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE9C,4CAA4C;gBAC5C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9H,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC1G,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE9C,+BAA+B;gBAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAClC,MAAM,EAAK,QAAQ;oBACnB,MAAM,EAAK,EAAE;oBACb,QAAQ,EAAG,kBAAkB,CAAC,QAAQ;iBACvC,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,0GAA0G;gBAC1G,MAAM,CAAC,KAAK,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;gBACvD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE5D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACzD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;gBACjD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACF,OAAO,CAAC,YAAY,CAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;gBAEjD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;gBACnF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAChC,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;oBACpE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC5D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAE/D,0CAA0C;oBAC1C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,gDAAgD;oBAChD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACzG,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;yBAC/B;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;oBACtG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,0CAA0C;oBAC1C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,MAAM;wBAC1B,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;oBACnE,gFAAgF;oBAChF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC5D,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAE/D,0CAA0C;oBAC1C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,0DAA0D;oBAC1D,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACzG,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;yBAC/B;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;oBACtG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,wDAAwD;oBACxD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,MAAM;wBAC1B,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrC,MAAM,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1C,MAAM,CAAC,MAAM,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;oBACrE,qGAAqG;oBACrG,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,kBAAkB,GAAuB,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBAElF,wCAAwC;oBACxC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACtF,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;oBAErD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC1F,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,MAAM;wBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;qBACpD,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBAEnE,wEAAwE;oBACxE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACzG,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;oBACtG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,gEAAgE;oBAChE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,QAAQ;wBAC5B,MAAM,EAAc,EAAE;wBACtB,QAAQ,EAAY,kBAAkB,CAAC,QAAQ;wBAC/C,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjD,MAAM,CAAC,MAAM,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;oBACxD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,kBAAkB,GAAuB,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBAElF,wCAAwC;oBACxC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACtF,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;oBAErD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC1F,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,MAAM;wBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;qBACpD,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBAEnE,wEAAwE;oBACxE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACzG,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;oBACtG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,kDAAkD;oBAClD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,QAAQ;wBAC5B,MAAM,EAAc,EAAE;wBACtB,QAAQ,EAAY,kBAAkB,CAAC,QAAQ;wBAC/C,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChD,4DAA4D;oBAC5D,MAAM,CAAC,KAAK,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBAC1D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACtD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;oBACnE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,iEAAiE;oBACjE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACxF,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,OAAO;4BACpC,MAAM,EAAM,aAAa,CAAC,KAAK;4BAC/B,QAAQ,EAAI,UAAU,CAAC,QAAQ;yBAChC;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,MAAM;wBAC1B,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;gBAC1F,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;oBAChE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,mEAAmE;oBACnE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACxF,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,SAAS;yBACpC;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,MAAM;wBAC1B,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;oBAClE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,yCAAyC;oBACzC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACxF,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB;yBAC/B;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,2DAA2D;oBAC3D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,MAAM;wBAC1B,QAAQ,EAAY,kBAAkB;wBACtC,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,4CAA4C,CAAC,CAAC;gBACnG,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;gBACjD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACH,yCAAyC;gBACxC,OAAO,CAAC,UAAkB,CAAC,MAAM,GAAG,SAAS,CAAC;gBAE/C,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;gBACnF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,sFAAsF;gBACtF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;gBAC7F,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBAEH,oDAAoD;gBACpD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;oBAC3D,MAAM,EAAa,KAAK,CAAC,GAAG;oBAC5B,OAAO,EAAY,OAAO;oBAC1B,gBAAgB,EAAG,EAAE,aAAa,EAAE,MAAM,EAAE;iBACtC,CAAC,CAAC;gBAEV,IAAI,CAAC;oBACH,8EAA8E;oBAC7E,OAAO,CAAC,UAAkB,CAAC,MAAM,GAAG,aAAa,CAAC;oBAEnD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;oBACnF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC1D,CAAC;wBAAS,CAAC;oBACT,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;gBAC7F,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBAEH,uCAAuC;gBACvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;oBAC3D,MAAM,EAAa,KAAK,CAAC,GAAG;oBAC5B,OAAO,EAAY,OAAO;oBAC1B,gBAAgB,EAAG,EAAE,aAAa,EAAE,MAAM,EAAE;iBACtC,CAAC,CAAC;gBAEV,IAAI,CAAC;oBACH,gDAAgD;oBAC/C,OAAO,CAAC,UAAkB,CAAC,MAAM,GAAG,KAAK,CAAC;oBAE3C,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;oBACnF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;gBACrE,CAAC;wBAAS,CAAC;oBACT,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;gBACnF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBAEH,uCAAuC;gBACvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;oBAC3D,MAAM,EAAa,KAAK,CAAC,GAAG;oBAC5B,OAAO,EAAY,OAAO;oBAC1B,gBAAgB,EAAG,EAAE,aAAa,EAAE,MAAM,EAAE;iBACtC,CAAC,CAAC;gBAEV,IAAI,CAAC;oBACH,iCAAiC;oBAChC,OAAO,CAAC,UAAkB,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAErD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;oBACnF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;gBACrE,CAAC;wBAAS,CAAC;oBACT,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACtE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,iBAAiB,GAAe;oBACpC,IAAI,EAAqB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,KAAK,EAAoB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,KAAK,EAAoB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,MAAM,EAAmB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,MAAM,EAAmB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,OAAO,EAAkB,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,eAAe,EAAU,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,cAAc,EAAW,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,sBAAsB,EAAG,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,SAAS,EAAgB,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,iBAAiB,EAAQ,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;iBACjG,CAAC;gBAEF,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAEtG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"messages-sync.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-sync.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"precompiled-validators.d.ts","sourceRoot":"","sources":["../../../generated/precompiled-validators.js"],"names":[],"mappings":"AAC66K;;;;YAA+tC;;;;;;;;AAMs+Z;;;;YAA2wD;;;;;;;;;;;;AANinhB;;;;YAGt9jC;;;;;;;;;;;;AAGohrE;;;;YAA4oL;;;;;;;;;;;;AAA62B;;;;YAA6pM;;;;;;;;;;;;AAAiiD;;;;YAAkzV;;;;;;;;;;;;AAA4vC;;;;YAAqsW;;;;;;;;;;;;AAA8X;;;;YAAgkD;;;;;;;;;;;;AAAp4+F;;;;YAAkhE;;;;;;;;;;;;AAH17e;;;;YAG8ua;;;;;;;;;;;;;;;;;;;AAAk7gG;;;;YAAinB;;;;;;;;;;AAAwG;;;;YAAk5e;;;;;;;;;;AANv2hI;;;;YAAi1I;;;;;;;;;;;;AAMor6H;;;;YAAsnH;;;;;;;;;;;;AAAwxB;;;;YAAiuL;;;;;;;;;;;;AAAi2B;;;;YAAuqM;;;;;;;;;;;;AAAw5B;;;;YAA48M;;;;;;;;;;;;AAAsqC;;;;YAA+iU;;;;;;;;;;;;AAA4H;;;;YAA8sK;;;;;;;;;;;;AAA2H;;;;YAAqvE;;;;;;;;;;;;AAA05/C;;;;YAAw0K;;;;;;;;;;;;AAAgv3C;;;;YAAyiI;;;;;;;;;;;;AAA6X;;;;YAAgtC;;;;;;;;;;;;AAA4nD;;;;YAA6nB;;;;;;;;;;AAA0jG;;;;YAA+nB;;;;;;;;;;AAAis/B;;;;YAAm2P;;;;;;;;;;;;AAAj4kC;;;;YAA880B;;;;;;;;;;;;AAAg6R;;;;YAAksM;;;;;;;;;;;;AAA2/B;;;;YAAovQ;;;;;;;;;;;;AAAgjC;;;;YAA8/N;;;;;;;;;;;;AAA7uhU;;;;YAAo2/C;;;;;;;;;;;;AANho2D;;;;YAAwivB;;;;;;;;;;AAM+qqT;;;;YAAwwF;;;;;;;;;;;;AAAmsB;;;;YAA6mJ;;;;;;;;;;;;AAA4H;;;;YAAkiK"}
1
+ {"version":3,"file":"precompiled-validators.d.ts","sourceRoot":"","sources":["../../../generated/precompiled-validators.js"],"names":[],"mappings":"AAC66K;;;;YAA+tC;;;;;;;;AAMs+Z;;;;YAA2wD;;;;;;;;;;;;AANinhB;;;;YAGt9jC;;;;;;;;;;;;AAGohrE;;;;YAA4oL;;;;;;;;;;;;AAA62B;;;;YAA6pM;;;;;;;;;;;;AAAiiD;;;;YAAkzV;;;;;;;;;;;;AAA4vC;;;;YAAqsW;;;;;;;;;;;;AAA8X;;;;YAAgkD;;;;;;;;;;;;AAAp4+F;;;;YAAkhE;;;;;;;;;;;;AAH17e;;;;YAG8ua;;;;;;;;;;;;;;;;;;;AAAk7gG;;;;YAAinB;;;;;;;;;;AAAwG;;;;YAAk5e;;;;;;;;;;AANv2hI;;;;YAAi1I;;;;;;;;;;;;AAMor6H;;;;YAAsnH;;;;;;;;;;;;AAAwxB;;;;YAAiuL;;;;;;;;;;;;AAAi2B;;;;YAAuqM;;;;;;;;;;;;AAAw5B;;;;YAA48M;;;;;;;;;;;;AAA+gD;;;;YAAina;;;;;;;;;;;;AAA4H;;;;YAA8sK;;;;;;;;;;;;AAA2H;;;;YAAqvE;;;;;;;;;;;;AAA05/C;;;;YAAw0K;;;;;;;;;;;;AAAgv3C;;;;YAAyiI;;;;;;;;;;;;AAA6X;;;;YAAgtC;;;;;;;;;;;;AAA4nD;;;;YAA6nB;;;;;;;;;;AAA0jG;;;;YAA+nB;;;;;;;;;;AAAis/B;;;;YAAm2P;;;;;;;;;;;;AAAj4kC;;;;YAA880B;;;;;;;;;;;;AAAg6R;;;;YAAksM;;;;;;;;;;;;AAA2/B;;;;YAAovQ;;;;;;;;;;;;AAAgjC;;;;YAA8/N;;;;;;;;;;;;AAAxpoU;;;;YAAo2/C;;;;;;;;;;;;AANho2D;;;;YAAwivB;;;;;;;;;;AAM0lxT;;;;YAAwwF;;;;;;;;;;;;AAAmsB;;;;YAA6mJ;;;;;;;;;;;;AAA4H;;;;YAAkiK"}