@powersync/service-core-tests 0.9.3 → 0.9.4
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/CHANGELOG.md +15 -0
- package/dist/tests/register-data-storage-tests.js +54 -0
- package/dist/tests/register-data-storage-tests.js.map +1 -1
- package/dist/tests/register-sync-tests.js +206 -73
- package/dist/tests/register-sync-tests.js.map +1 -1
- package/package.json +3 -3
- package/src/tests/register-data-storage-tests.ts +50 -0
- package/src/tests/register-sync-tests.ts +136 -2
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -207,8 +207,7 @@ bucket_definitions:
|
|
|
207
207
|
await result_2;
|
|
208
208
|
}
|
|
209
209
|
});
|
|
210
|
-
|
|
211
|
-
test.skip('sync interrupts low-priority buckets on new checkpoints', async () => {
|
|
210
|
+
test('sync interrupts low-priority buckets on new checkpoints', async () => {
|
|
212
211
|
const env_3 = { stack: [], error: void 0, hasError: false };
|
|
213
212
|
try {
|
|
214
213
|
const f = __addDisposableResource(env_3, await factory(), true);
|
|
@@ -319,10 +318,144 @@ bucket_definitions:
|
|
|
319
318
|
await result_3;
|
|
320
319
|
}
|
|
321
320
|
});
|
|
322
|
-
test('
|
|
321
|
+
test('sync interruptions with unrelated data', async () => {
|
|
323
322
|
const env_4 = { stack: [], error: void 0, hasError: false };
|
|
324
323
|
try {
|
|
325
324
|
const f = __addDisposableResource(env_4, await factory(), true);
|
|
325
|
+
const syncRules = await f.updateSyncRules({
|
|
326
|
+
content: `
|
|
327
|
+
bucket_definitions:
|
|
328
|
+
b0:
|
|
329
|
+
priority: 2
|
|
330
|
+
data:
|
|
331
|
+
- SELECT * FROM test WHERE LENGTH(id) <= 5;
|
|
332
|
+
b1:
|
|
333
|
+
priority: 1
|
|
334
|
+
parameters: SELECT request.user_id() as user_id
|
|
335
|
+
data:
|
|
336
|
+
- SELECT * FROM test WHERE LENGTH(id) > 5 AND description = bucket.user_id;
|
|
337
|
+
`
|
|
338
|
+
});
|
|
339
|
+
const bucketStorage = f.getInstance(syncRules);
|
|
340
|
+
await bucketStorage.autoActivate();
|
|
341
|
+
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
342
|
+
// Initial data: Add one priority row and 10k low-priority rows.
|
|
343
|
+
await batch.save({
|
|
344
|
+
sourceTable: TEST_TABLE,
|
|
345
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
346
|
+
after: {
|
|
347
|
+
id: 'highprio',
|
|
348
|
+
description: 'user_one'
|
|
349
|
+
},
|
|
350
|
+
afterReplicaId: 'highprio'
|
|
351
|
+
});
|
|
352
|
+
for (let i = 0; i < 10_000; i++) {
|
|
353
|
+
await batch.save({
|
|
354
|
+
sourceTable: TEST_TABLE,
|
|
355
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
356
|
+
after: {
|
|
357
|
+
id: `${i}`,
|
|
358
|
+
description: 'low prio'
|
|
359
|
+
},
|
|
360
|
+
afterReplicaId: `${i}`
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
await batch.commit('0/1');
|
|
364
|
+
});
|
|
365
|
+
const stream = sync.streamResponse({
|
|
366
|
+
syncContext,
|
|
367
|
+
bucketStorage,
|
|
368
|
+
syncRules: bucketStorage.getParsedSyncRules(test_utils.PARSE_OPTIONS),
|
|
369
|
+
params: {
|
|
370
|
+
buckets: [],
|
|
371
|
+
include_checksum: true,
|
|
372
|
+
raw_data: true
|
|
373
|
+
},
|
|
374
|
+
tracker,
|
|
375
|
+
syncParams: new RequestParameters({ sub: 'user_one' }, {}),
|
|
376
|
+
token: { sub: 'user_one', exp: Date.now() / 1000 + 100000 }
|
|
377
|
+
});
|
|
378
|
+
let sentCheckpoints = 0;
|
|
379
|
+
let completedCheckpoints = 0;
|
|
380
|
+
let sentRows = 0;
|
|
381
|
+
// Expected flow:
|
|
382
|
+
// 1. Stream starts, we receive a checkpoint followed by the one high-prio row and a partial completion.
|
|
383
|
+
// 2. We insert a new row that is not part of a bucket relevant to this stream.
|
|
384
|
+
// 3. This means that no interruption happens and we receive all the low-priority data, followed by a checkpoint.
|
|
385
|
+
// 4. After the checkpoint, add a new row that _is_ relevant for this sync, which should trigger a new iteration.
|
|
386
|
+
for await (let next of stream) {
|
|
387
|
+
if (typeof next == 'string') {
|
|
388
|
+
next = JSON.parse(next);
|
|
389
|
+
}
|
|
390
|
+
if (typeof next === 'object' && next !== null) {
|
|
391
|
+
if ('partial_checkpoint_complete' in next) {
|
|
392
|
+
if (sentCheckpoints == 1) {
|
|
393
|
+
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
394
|
+
// Add a high-priority row that doesn't affect this sync stream.
|
|
395
|
+
await batch.save({
|
|
396
|
+
sourceTable: TEST_TABLE,
|
|
397
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
398
|
+
after: {
|
|
399
|
+
id: 'highprio2',
|
|
400
|
+
description: 'user_two'
|
|
401
|
+
},
|
|
402
|
+
afterReplicaId: 'highprio2'
|
|
403
|
+
});
|
|
404
|
+
await batch.commit('0/2');
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
expect(sentCheckpoints).toBe(2);
|
|
409
|
+
expect(sentRows).toBe(10002);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
if ('checkpoint' in next || 'checkpoint_diff' in next) {
|
|
413
|
+
sentCheckpoints += 1;
|
|
414
|
+
}
|
|
415
|
+
if ('data' in next) {
|
|
416
|
+
sentRows += next.data.data.length;
|
|
417
|
+
}
|
|
418
|
+
if ('checkpoint_complete' in next) {
|
|
419
|
+
completedCheckpoints++;
|
|
420
|
+
if (completedCheckpoints == 2) {
|
|
421
|
+
break;
|
|
422
|
+
}
|
|
423
|
+
if (completedCheckpoints == 1) {
|
|
424
|
+
expect(sentRows).toBe(10001);
|
|
425
|
+
await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
426
|
+
// Add a high-priority row that affects this sync stream.
|
|
427
|
+
await batch.save({
|
|
428
|
+
sourceTable: TEST_TABLE,
|
|
429
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
430
|
+
after: {
|
|
431
|
+
id: 'highprio3',
|
|
432
|
+
description: 'user_one'
|
|
433
|
+
},
|
|
434
|
+
afterReplicaId: 'highprio3'
|
|
435
|
+
});
|
|
436
|
+
await batch.commit('0/3');
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
expect(sentCheckpoints).toBe(2);
|
|
443
|
+
expect(sentRows).toBe(10002);
|
|
444
|
+
}
|
|
445
|
+
catch (e_4) {
|
|
446
|
+
env_4.error = e_4;
|
|
447
|
+
env_4.hasError = true;
|
|
448
|
+
}
|
|
449
|
+
finally {
|
|
450
|
+
const result_4 = __disposeResources(env_4);
|
|
451
|
+
if (result_4)
|
|
452
|
+
await result_4;
|
|
453
|
+
}
|
|
454
|
+
});
|
|
455
|
+
test('sends checkpoint complete line for empty checkpoint', async () => {
|
|
456
|
+
const env_5 = { stack: [], error: void 0, hasError: false };
|
|
457
|
+
try {
|
|
458
|
+
const f = __addDisposableResource(env_5, await factory(), true);
|
|
326
459
|
const syncRules = await f.updateSyncRules({
|
|
327
460
|
content: BASIC_SYNC_RULES
|
|
328
461
|
});
|
|
@@ -378,14 +511,14 @@ bucket_definitions:
|
|
|
378
511
|
}
|
|
379
512
|
expect(lines).toMatchSnapshot();
|
|
380
513
|
}
|
|
381
|
-
catch (
|
|
382
|
-
|
|
383
|
-
|
|
514
|
+
catch (e_5) {
|
|
515
|
+
env_5.error = e_5;
|
|
516
|
+
env_5.hasError = true;
|
|
384
517
|
}
|
|
385
518
|
finally {
|
|
386
|
-
const
|
|
387
|
-
if (
|
|
388
|
-
await
|
|
519
|
+
const result_5 = __disposeResources(env_5);
|
|
520
|
+
if (result_5)
|
|
521
|
+
await result_5;
|
|
389
522
|
}
|
|
390
523
|
});
|
|
391
524
|
test('sync legacy non-raw data', async () => {
|
|
@@ -427,9 +560,9 @@ bucket_definitions:
|
|
|
427
560
|
expect(lines[1].data.data[0].data.large_num).toEqual(12345678901234567890n);
|
|
428
561
|
});
|
|
429
562
|
test('expired token', async () => {
|
|
430
|
-
const
|
|
563
|
+
const env_6 = { stack: [], error: void 0, hasError: false };
|
|
431
564
|
try {
|
|
432
|
-
const f = __addDisposableResource(
|
|
565
|
+
const f = __addDisposableResource(env_6, await factory(), true);
|
|
433
566
|
const syncRules = await f.updateSyncRules({
|
|
434
567
|
content: BASIC_SYNC_RULES
|
|
435
568
|
});
|
|
@@ -451,20 +584,20 @@ bucket_definitions:
|
|
|
451
584
|
const lines = await consumeCheckpointLines(stream);
|
|
452
585
|
expect(lines).toMatchSnapshot();
|
|
453
586
|
}
|
|
454
|
-
catch (
|
|
455
|
-
|
|
456
|
-
|
|
587
|
+
catch (e_6) {
|
|
588
|
+
env_6.error = e_6;
|
|
589
|
+
env_6.hasError = true;
|
|
457
590
|
}
|
|
458
591
|
finally {
|
|
459
|
-
const
|
|
460
|
-
if (
|
|
461
|
-
await
|
|
592
|
+
const result_6 = __disposeResources(env_6);
|
|
593
|
+
if (result_6)
|
|
594
|
+
await result_6;
|
|
462
595
|
}
|
|
463
596
|
});
|
|
464
597
|
test('sync updates to global data', async (context) => {
|
|
465
|
-
const
|
|
598
|
+
const env_7 = { stack: [], error: void 0, hasError: false };
|
|
466
599
|
try {
|
|
467
|
-
const f = __addDisposableResource(
|
|
600
|
+
const f = __addDisposableResource(env_7, await factory(), true);
|
|
468
601
|
const syncRules = await f.updateSyncRules({
|
|
469
602
|
content: BASIC_SYNC_RULES
|
|
470
603
|
});
|
|
@@ -515,20 +648,20 @@ bucket_definitions:
|
|
|
515
648
|
});
|
|
516
649
|
expect(await getCheckpointLines(iter)).toMatchSnapshot();
|
|
517
650
|
}
|
|
518
|
-
catch (
|
|
519
|
-
|
|
520
|
-
|
|
651
|
+
catch (e_7) {
|
|
652
|
+
env_7.error = e_7;
|
|
653
|
+
env_7.hasError = true;
|
|
521
654
|
}
|
|
522
655
|
finally {
|
|
523
|
-
const
|
|
524
|
-
if (
|
|
525
|
-
await
|
|
656
|
+
const result_7 = __disposeResources(env_7);
|
|
657
|
+
if (result_7)
|
|
658
|
+
await result_7;
|
|
526
659
|
}
|
|
527
660
|
});
|
|
528
661
|
test('sync updates to parameter query only', async (context) => {
|
|
529
|
-
const
|
|
662
|
+
const env_8 = { stack: [], error: void 0, hasError: false };
|
|
530
663
|
try {
|
|
531
|
-
const f = __addDisposableResource(
|
|
664
|
+
const f = __addDisposableResource(env_8, await factory(), true);
|
|
532
665
|
const syncRules = await f.updateSyncRules({
|
|
533
666
|
content: `bucket_definitions:
|
|
534
667
|
by_user:
|
|
@@ -579,20 +712,20 @@ bucket_definitions:
|
|
|
579
712
|
expect(checkpoint2[0].checkpoint_diff?.updated_buckets?.map((b) => b.bucket)).toEqual(['by_user["user1"]']);
|
|
580
713
|
expect(checkpoint2).toMatchSnapshot();
|
|
581
714
|
}
|
|
582
|
-
catch (
|
|
583
|
-
|
|
584
|
-
|
|
715
|
+
catch (e_8) {
|
|
716
|
+
env_8.error = e_8;
|
|
717
|
+
env_8.hasError = true;
|
|
585
718
|
}
|
|
586
719
|
finally {
|
|
587
|
-
const
|
|
588
|
-
if (
|
|
589
|
-
await
|
|
720
|
+
const result_8 = __disposeResources(env_8);
|
|
721
|
+
if (result_8)
|
|
722
|
+
await result_8;
|
|
590
723
|
}
|
|
591
724
|
});
|
|
592
725
|
test('sync updates to data query only', async (context) => {
|
|
593
|
-
const
|
|
726
|
+
const env_9 = { stack: [], error: void 0, hasError: false };
|
|
594
727
|
try {
|
|
595
|
-
const f = __addDisposableResource(
|
|
728
|
+
const f = __addDisposableResource(env_9, await factory(), true);
|
|
596
729
|
const syncRules = await f.updateSyncRules({
|
|
597
730
|
content: `bucket_definitions:
|
|
598
731
|
by_user:
|
|
@@ -656,20 +789,20 @@ bucket_definitions:
|
|
|
656
789
|
expect(checkpoint2[0].checkpoint_diff?.updated_buckets?.map((b) => b.bucket)).toEqual(['by_user["user1"]']);
|
|
657
790
|
expect(checkpoint2).toMatchSnapshot();
|
|
658
791
|
}
|
|
659
|
-
catch (
|
|
660
|
-
|
|
661
|
-
|
|
792
|
+
catch (e_9) {
|
|
793
|
+
env_9.error = e_9;
|
|
794
|
+
env_9.hasError = true;
|
|
662
795
|
}
|
|
663
796
|
finally {
|
|
664
|
-
const
|
|
665
|
-
if (
|
|
666
|
-
await
|
|
797
|
+
const result_9 = __disposeResources(env_9);
|
|
798
|
+
if (result_9)
|
|
799
|
+
await result_9;
|
|
667
800
|
}
|
|
668
801
|
});
|
|
669
802
|
test('sync updates to parameter query + data', async (context) => {
|
|
670
|
-
const
|
|
803
|
+
const env_10 = { stack: [], error: void 0, hasError: false };
|
|
671
804
|
try {
|
|
672
|
-
const f = __addDisposableResource(
|
|
805
|
+
const f = __addDisposableResource(env_10, await factory(), true);
|
|
673
806
|
const syncRules = await f.updateSyncRules({
|
|
674
807
|
content: `bucket_definitions:
|
|
675
808
|
by_user:
|
|
@@ -727,20 +860,20 @@ bucket_definitions:
|
|
|
727
860
|
expect(checkpoint2[0].checkpoint_diff?.updated_buckets?.map((b) => b.bucket)).toEqual(['by_user["user1"]']);
|
|
728
861
|
expect(checkpoint2).toMatchSnapshot();
|
|
729
862
|
}
|
|
730
|
-
catch (
|
|
731
|
-
|
|
732
|
-
|
|
863
|
+
catch (e_10) {
|
|
864
|
+
env_10.error = e_10;
|
|
865
|
+
env_10.hasError = true;
|
|
733
866
|
}
|
|
734
867
|
finally {
|
|
735
|
-
const
|
|
736
|
-
if (
|
|
737
|
-
await
|
|
868
|
+
const result_10 = __disposeResources(env_10);
|
|
869
|
+
if (result_10)
|
|
870
|
+
await result_10;
|
|
738
871
|
}
|
|
739
872
|
});
|
|
740
873
|
test('expiring token', async (context) => {
|
|
741
|
-
const
|
|
874
|
+
const env_11 = { stack: [], error: void 0, hasError: false };
|
|
742
875
|
try {
|
|
743
|
-
const f = __addDisposableResource(
|
|
876
|
+
const f = __addDisposableResource(env_11, await factory(), true);
|
|
744
877
|
const syncRules = await f.updateSyncRules({
|
|
745
878
|
content: BASIC_SYNC_RULES
|
|
746
879
|
});
|
|
@@ -769,24 +902,24 @@ bucket_definitions:
|
|
|
769
902
|
const expLines = await getCheckpointLines(iter);
|
|
770
903
|
expect(expLines).toMatchSnapshot();
|
|
771
904
|
}
|
|
772
|
-
catch (
|
|
773
|
-
|
|
774
|
-
|
|
905
|
+
catch (e_11) {
|
|
906
|
+
env_11.error = e_11;
|
|
907
|
+
env_11.hasError = true;
|
|
775
908
|
}
|
|
776
909
|
finally {
|
|
777
|
-
const
|
|
778
|
-
if (
|
|
779
|
-
await
|
|
910
|
+
const result_11 = __disposeResources(env_11);
|
|
911
|
+
if (result_11)
|
|
912
|
+
await result_11;
|
|
780
913
|
}
|
|
781
914
|
});
|
|
782
915
|
test('compacting data - invalidate checkpoint', async (context) => {
|
|
783
|
-
const
|
|
916
|
+
const env_12 = { stack: [], error: void 0, hasError: false };
|
|
784
917
|
try {
|
|
785
918
|
// This tests a case of a compact operation invalidating a checkpoint in the
|
|
786
919
|
// middle of syncing data.
|
|
787
920
|
// This is expected to be rare in practice, but it is important to handle
|
|
788
921
|
// this case correctly to maintain consistency on the client.
|
|
789
|
-
const f = __addDisposableResource(
|
|
922
|
+
const f = __addDisposableResource(env_12, await factory(), true);
|
|
790
923
|
const syncRules = await f.updateSyncRules({
|
|
791
924
|
content: BASIC_SYNC_RULES
|
|
792
925
|
});
|
|
@@ -905,20 +1038,20 @@ bucket_definitions:
|
|
|
905
1038
|
})
|
|
906
1039
|
});
|
|
907
1040
|
}
|
|
908
|
-
catch (
|
|
909
|
-
|
|
910
|
-
|
|
1041
|
+
catch (e_12) {
|
|
1042
|
+
env_12.error = e_12;
|
|
1043
|
+
env_12.hasError = true;
|
|
911
1044
|
}
|
|
912
1045
|
finally {
|
|
913
|
-
const
|
|
914
|
-
if (
|
|
915
|
-
await
|
|
1046
|
+
const result_12 = __disposeResources(env_12);
|
|
1047
|
+
if (result_12)
|
|
1048
|
+
await result_12;
|
|
916
1049
|
}
|
|
917
1050
|
});
|
|
918
1051
|
test('write checkpoint', async () => {
|
|
919
|
-
const
|
|
1052
|
+
const env_13 = { stack: [], error: void 0, hasError: false };
|
|
920
1053
|
try {
|
|
921
|
-
const f = __addDisposableResource(
|
|
1054
|
+
const f = __addDisposableResource(env_13, await factory(), true);
|
|
922
1055
|
const syncRules = await f.updateSyncRules({
|
|
923
1056
|
content: BASIC_SYNC_RULES
|
|
924
1057
|
});
|
|
@@ -970,14 +1103,14 @@ bucket_definitions:
|
|
|
970
1103
|
})
|
|
971
1104
|
});
|
|
972
1105
|
}
|
|
973
|
-
catch (
|
|
974
|
-
|
|
975
|
-
|
|
1106
|
+
catch (e_13) {
|
|
1107
|
+
env_13.error = e_13;
|
|
1108
|
+
env_13.hasError = true;
|
|
976
1109
|
}
|
|
977
1110
|
finally {
|
|
978
|
-
const
|
|
979
|
-
if (
|
|
980
|
-
await
|
|
1111
|
+
const result_13 = __disposeResources(env_13);
|
|
1112
|
+
if (result_13)
|
|
1113
|
+
await result_13;
|
|
981
1114
|
}
|
|
982
1115
|
});
|
|
983
1116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-sync-tests.js","sourceRoot":"","sources":["../../src/tests/register-sync-tests.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,oBAAoB,EACpB,OAAO,EAGP,IAAI,EAEL,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5D,MAAM,gBAAgB,GAAG;;;;;KAKpB,CAAC;AAEN,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;AAE9F;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAmC;IACnE,oBAAoB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC;QACvC,UAAU,EAAE,EAAE;QACd,wBAAwB,EAAE,EAAE;QAC5B,uBAAuB,EAAE,CAAC;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;;;YAClC,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa,EAAE,aAAa;gBAC5B,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;;YACvC,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;;;;;;KAUV;aACA,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,SAAS;wBACb,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,SAAS;iBAC1B,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACjC,CAAC,CAAC;IAEH,8CAA8C;IAC9C,IAAI,CAAC,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;;;YAC9E,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;;;;;;KAUV;aACA,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,gEAAgE;gBAChE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,UAAU;wBACd,WAAW,EAAE,mBAAmB;qBACjC;oBACD,cAAc,EAAE,UAAU;iBAC3B,CAAC,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,WAAW,EAAE,UAAU;yBACxB;wBACD,cAAc,EAAE,GAAG,CAAC,EAAE;qBACvB,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YAEH,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC9B,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC9C,IAAI,6BAA6B,IAAI,IAAI,EAAE,CAAC;wBAC1C,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;4BACzB,oDAAoD;4BAEpD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gCACvE,2FAA2F;gCAC3F,MAAM,KAAK,CAAC,IAAI,CAAC;oCACf,WAAW,EAAE,UAAU;oCACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oCACpC,KAAK,EAAE;wCACL,EAAE,EAAE,WAAW;wCACf,WAAW,EAAE,2BAA2B;qCACzC;oCACD,cAAc,EAAE,WAAW;iCAC5B,CAAC,CAAC;gCAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5B,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,6FAA6F;4BAC7F,6CAA6C;4BAC7C,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;oBACD,IAAI,YAAY,IAAI,IAAI,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;wBACtD,eAAe,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBACpC,CAAC;oBACD,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;wBAClC,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;;;;;;;KAC9B,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;;;YACrE,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,MAAM;qBACpB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,EAAS;aAClD,CAAC,CAAC;YAEH,MAAM,KAAK,GAAU,EAAE,CAAC;YACxB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAE5B,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC9B,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEjB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC9C,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;wBAClC,mBAAmB,EAAE,CAAC;wBACtB,IAAI,mBAAmB,IAAI,CAAC,EAAE,CAAC;4BAC7B,kCAAkC;4BAClC,MAAM,aAAa,CAAC,4BAA4B,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;4BACzF,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gCACvE,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5B,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;QAE1B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;YACxC,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;QAEnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtF,MAAM,KAAK,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,UAAU;gBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;gBACpC,KAAK,EAAE;oBACL,EAAE,EAAE,IAAI;oBACR,WAAW,EAAE,gBAAgB;oBAC7B,SAAS,EAAE,qBAAqB;iBACjC;gBACD,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;YACjC,WAAW;YACX,aAAa;YACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;YACrE,MAAM,EAAE;gBACN,OAAO,EAAE,EAAE;gBACX,gBAAgB,EAAE,IAAI;gBACtB,QAAQ,EAAE,KAAK;aAChB;YACD,OAAO;YACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;SAC9C,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;QAChC,yEAAyE;QACzE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;;;YAC/B,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAS;aACzB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YACpD,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KAC1D,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YAC7D,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;CAKd;aACI,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBACvD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAS;aAC/C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAE,WAAW,CAAC,CAAC,CAA6B,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1G,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;YAEtC,WAAW;YACX,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CACH,WAAW,CAAC,CAAC,CAAiC,CAAC,eAAe,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACvG,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YACxD,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;CAKd;aACI,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBACvD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAS;aAC/C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAE,WAAW,CAAC,CAAC,CAA6B,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpG,kBAAkB;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;YAEtC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CACH,WAAW,CAAC,CAAC,CAAiC,CAAC,eAAe,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACvG,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YAC/D,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;CAKd;aACI,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBACvD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAS;aAC/C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CACH,WAAW,CAAC,CAAC,CAAiC,CAAC,eAAe,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACvG,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YACvC,MAAY,CAAC,mCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC;YAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAS;aAC3B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;YAErC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YAChE,4EAA4E;YAC5E,0BAA0B;YAC1B,yEAAyE;YACzE,6DAA6D;YAE7D,MAAY,CAAC,mCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,gFAAgF;YAChF,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAE,IAAY,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC;YACnH,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvB,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAClC,UAAU,EAAE,GAAG;iBAChB,CAAC;aACH,CAAC,CAAC;YAEH,6DAA6D;YAC7D,wDAAwD;YAExD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,SAAS;qBACvB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,SAAS;qBACvB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAEjE,+CAA+C;YAC/C,uEAAuE;YACvE,gBAAgB;YAChB,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;YAEjC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC5B,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE;wBACJ,4DAA4D;wBAC5D,MAAM,CAAC,gBAAgB,CAAC;4BACtB,EAAE,EAAE,OAAO;yBACZ,CAAC;qBACH;iBACF,CAAC;aACH,CAAC,CAAC;YAEH,mEAAmE;YACnE,+BAA+B;YAE/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxB,eAAe,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBACvC,UAAU,EAAE,GAAG;iBAChB,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC5B,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE;wBACJ,MAAM,CAAC,gBAAgB,CAAC;4BACtB,EAAE,EAAE,KAAK;yBACV,CAAC;wBACF,MAAM,CAAC,gBAAgB,CAAC;4BACtB,EAAE,EAAE,KAAK;yBACV,CAAC;qBACH;iBACF,CAAC;aACH,CAAC,CAAC;YAEH,mCAAmC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxB,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC3C,UAAU,EAAE,GAAG;iBAChB,CAAC;aACH,CAAC,CAAC;;;;;;;;;;;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;;;YAClC,MAAY,CAAC,mCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,4CAA4C;gBAC5C,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,4BAA4B,CAAC;gBAClE,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;aACtB,CAAC,CAAC;YAEH,MAAM,MAAM,GAA8B;gBACxC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBACtD,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC3D,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAErD,oEAAoE;YACpE,gCAAgC;YAChC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC9B,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAClC,UAAU,EAAE,GAAG;oBACf,gBAAgB,EAAE,SAAS;iBAC5B,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,8CAA8C;gBAC9C,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,wEAAwE;YACxE,2CAA2C;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC9B,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAClC,UAAU,EAAE,GAAG;oBACf,gBAAgB,EAAE,GAAG,UAAU,EAAE;iBAClC,CAAC;aACH,CAAC,CAAC;;;;;;;;;;;KACJ,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAC5B,IAAsB,EACtB,OAA4D;IAE5D,IAAI,KAAK,GAAQ,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACzG,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjE,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM;YACR,CAAC;QACH,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAC/B,IAA4D,EAC5D,OAA+B;IAE/B,OAAO,eAAe,CAAC,IAAI,EAAE;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAE,IAAY,EAAE,mBAAmB;KACrD,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,QAAgE;IAEhE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACjF,CAAC"}
|
|
1
|
+
{"version":3,"file":"register-sync-tests.js","sourceRoot":"","sources":["../../src/tests/register-sync-tests.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,oBAAoB,EACpB,OAAO,EAGP,IAAI,EAEL,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5D,MAAM,gBAAgB,GAAG;;;;;KAKpB,CAAC;AAEN,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;AAE9F;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAmC;IACnE,oBAAoB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC;QACvC,UAAU,EAAE,EAAE;QACd,wBAAwB,EAAE,EAAE;QAC5B,uBAAuB,EAAE,CAAC;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;;;YAClC,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa,EAAE,aAAa;gBAC5B,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;;YACvC,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;;;;;;KAUV;aACA,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,SAAS;wBACb,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,SAAS;iBAC1B,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;;;YACzE,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;;;;;;KAUV;aACA,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,gEAAgE;gBAChE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,UAAU;wBACd,WAAW,EAAE,mBAAmB;qBACjC;oBACD,cAAc,EAAE,UAAU;iBAC3B,CAAC,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,WAAW,EAAE,UAAU;yBACxB;wBACD,cAAc,EAAE,GAAG,CAAC,EAAE;qBACvB,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YAEH,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC9B,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC9C,IAAI,6BAA6B,IAAI,IAAI,EAAE,CAAC;wBAC1C,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;4BACzB,oDAAoD;4BAEpD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gCACvE,2FAA2F;gCAC3F,MAAM,KAAK,CAAC,IAAI,CAAC;oCACf,WAAW,EAAE,UAAU;oCACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oCACpC,KAAK,EAAE;wCACL,EAAE,EAAE,WAAW;wCACf,WAAW,EAAE,2BAA2B;qCACzC;oCACD,cAAc,EAAE,WAAW;iCAC5B,CAAC,CAAC;gCAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5B,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,6FAA6F;4BAC7F,6CAA6C;4BAC7C,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;oBACD,IAAI,YAAY,IAAI,IAAI,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;wBACtD,eAAe,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBACpC,CAAC;oBACD,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;wBAClC,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;;;;;;;KAC9B,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;;;YACxD,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;;;;;;;KAWV;aACA,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,gEAAgE;gBAChE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,UAAU;wBACd,WAAW,EAAE,UAAU;qBACxB;oBACD,cAAc,EAAE,UAAU;iBAC3B,CAAC,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,WAAW,EAAE,UAAU;yBACxB;wBACD,cAAc,EAAE,GAAG,CAAC,EAAE;qBACvB,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC1D,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,EAAS;aACnE,CAAC,CAAC;YAEH,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,oBAAoB,GAAG,CAAC,CAAC;YAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,iBAAiB;YACjB,yGAAyG;YACzG,gFAAgF;YAChF,kHAAkH;YAClH,kHAAkH;YAElH,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC9B,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC9C,IAAI,6BAA6B,IAAI,IAAI,EAAE,CAAC;wBAC1C,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;4BACzB,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gCACvE,gEAAgE;gCAChE,MAAM,KAAK,CAAC,IAAI,CAAC;oCACf,WAAW,EAAE,UAAU;oCACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oCACpC,KAAK,EAAE;wCACL,EAAE,EAAE,WAAW;wCACf,WAAW,EAAE,UAAU;qCACxB;oCACD,cAAc,EAAE,WAAW;iCAC5B,CAAC,CAAC;gCAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5B,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;oBACD,IAAI,YAAY,IAAI,IAAI,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;wBACtD,eAAe,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAED,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBACpC,CAAC;oBACD,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;wBAClC,oBAAoB,EAAE,CAAC;wBACvB,IAAI,oBAAoB,IAAI,CAAC,EAAE,CAAC;4BAC9B,MAAM;wBACR,CAAC;wBACD,IAAI,oBAAoB,IAAI,CAAC,EAAE,CAAC;4BAC9B,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAE7B,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gCACvE,yDAAyD;gCACzD,MAAM,KAAK,CAAC,IAAI,CAAC;oCACf,WAAW,EAAE,UAAU;oCACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oCACpC,KAAK,EAAE;wCACL,EAAE,EAAE,WAAW;wCACf,WAAW,EAAE,UAAU;qCACxB;oCACD,cAAc,EAAE,WAAW;iCAC5B,CAAC,CAAC;gCAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5B,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;;;;;;;KAC9B,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;;;YACrE,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,MAAM;qBACpB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,EAAS;aAClD,CAAC,CAAC;YAEH,MAAM,KAAK,GAAU,EAAE,CAAC;YACxB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAE5B,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC9B,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEjB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC9C,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;wBAClC,mBAAmB,EAAE,CAAC;wBACtB,IAAI,mBAAmB,IAAI,CAAC,EAAE,CAAC;4BAC7B,kCAAkC;4BAClC,MAAM,aAAa,CAAC,4BAA4B,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;4BACzF,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gCACvE,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5B,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;QAE1B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;YACxC,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;QAEnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtF,MAAM,KAAK,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,UAAU;gBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;gBACpC,KAAK,EAAE;oBACL,EAAE,EAAE,IAAI;oBACR,WAAW,EAAE,gBAAgB;oBAC7B,SAAS,EAAE,qBAAqB;iBACjC;gBACD,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;YACjC,WAAW;YACX,aAAa;YACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;YACrE,MAAM,EAAE;gBACN,OAAO,EAAE,EAAE;gBACX,gBAAgB,EAAE,IAAI;gBACtB,QAAQ,EAAE,KAAK;aAChB;YACD,OAAO;YACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;SAC9C,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;QAChC,yEAAyE;QACzE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;;;YAC/B,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAS;aACzB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YACpD,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KAC1D,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YAC7D,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;CAKd;aACI,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBACvD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAS;aAC/C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAE,WAAW,CAAC,CAAC,CAA6B,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1G,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;YAEtC,WAAW;YACX,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CACH,WAAW,CAAC,CAAC,CAAiC,CAAC,eAAe,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACvG,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YACxD,MAAY,CAAC,kCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;CAKd;aACI,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBACvD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAS;aAC/C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAE,WAAW,CAAC,CAAC,CAA6B,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpG,kBAAkB;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;YAEtC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CACH,WAAW,CAAC,CAAC,CAAiC,CAAC,eAAe,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACvG,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YAC/D,MAAY,CAAC,mCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE;;;;;CAKd;aACI,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBACvD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAS;aAC/C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CACH,WAAW,CAAC,CAAC,CAAiC,CAAC,eAAe,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACvG,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YACvC,MAAY,CAAC,mCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC;YAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAS;aAC3B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;YAErC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;;YAChE,4EAA4E;YAC5E,0BAA0B;YAC1B,yEAAyE;YACzE,6DAA6D;YAE7D,MAAY,CAAC,mCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,QAAQ;qBACtB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC9C,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,gFAAgF;YAChF,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAE,IAAY,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC;YACnH,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvB,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAClC,UAAU,EAAE,GAAG;iBAChB,CAAC;aACH,CAAC,CAAC;YAEH,6DAA6D;YAC7D,wDAAwD;YAExD,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,SAAS;qBACvB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,SAAS;qBACvB;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAEjE,+CAA+C;YAC/C,uEAAuE;YACvE,gBAAgB;YAChB,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;YAEjC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC5B,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE;wBACJ,4DAA4D;wBAC5D,MAAM,CAAC,gBAAgB,CAAC;4BACtB,EAAE,EAAE,OAAO;yBACZ,CAAC;qBACH;iBACF,CAAC;aACH,CAAC,CAAC;YAEH,mEAAmE;YACnE,+BAA+B;YAE/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxB,eAAe,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBACvC,UAAU,EAAE,GAAG;iBAChB,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC5B,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE;wBACJ,MAAM,CAAC,gBAAgB,CAAC;4BACtB,EAAE,EAAE,KAAK;yBACV,CAAC;wBACF,MAAM,CAAC,gBAAgB,CAAC;4BACtB,EAAE,EAAE,KAAK;yBACV,CAAC;qBACH;iBACF,CAAC;aACH,CAAC,CAAC;YAEH,mCAAmC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxB,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC3C,UAAU,EAAE,GAAG;iBAChB,CAAC;aACH,CAAC,CAAC;;;;;;;;;;;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;;;YAClC,MAAY,CAAC,mCAAG,MAAM,OAAO,EAAE,OAAA,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,4CAA4C;gBAC5C,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,4BAA4B,CAAC;gBAClE,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;aACtB,CAAC,CAAC;YAEH,MAAM,MAAM,GAA8B;gBACxC,WAAW;gBACX,aAAa;gBACb,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrE,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO;gBACP,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBACtD,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAS;aAC3D,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAErD,oEAAoE;YACpE,gCAAgC;YAChC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC9B,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAClC,UAAU,EAAE,GAAG;oBACf,gBAAgB,EAAE,SAAS;iBAC5B,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvE,8CAA8C;gBAC9C,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,wEAAwE;YACxE,2CAA2C;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC9B,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAClC,UAAU,EAAE,GAAG;oBACf,gBAAgB,EAAE,GAAG,UAAU,EAAE;iBAClC,CAAC;aACH,CAAC,CAAC;;;;;;;;;;;KACJ,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAC5B,IAAsB,EACtB,OAA4D;IAE5D,IAAI,KAAK,GAAQ,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACzG,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjE,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM;YACR,CAAC;QACH,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAC/B,IAA4D,EAC5D,OAA+B;IAE/B,OAAO,eAAe,CAAC,IAAI,EAAE;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAE,IAAY,EAAE,mBAAmB;KACrD,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,QAAgE;IAEhE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACjF,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
|
-
"version": "0.9.
|
|
8
|
+
"version": "0.9.4",
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"license": "FSL-1.1-Apache-2.0",
|
|
11
11
|
"type": "module",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@powersync/service-core": "^1.
|
|
13
|
+
"@powersync/service-core": "^1.12.0",
|
|
14
14
|
"@powersync/service-jsonbig": "^0.17.10",
|
|
15
|
-
"@powersync/service-sync-rules": "^0.26.
|
|
15
|
+
"@powersync/service-sync-rules": "^0.26.1"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"vite-tsconfig-paths": "^5.1.4",
|
|
@@ -1878,4 +1878,54 @@ bucket_definitions:
|
|
|
1878
1878
|
}
|
|
1879
1879
|
});
|
|
1880
1880
|
});
|
|
1881
|
+
|
|
1882
|
+
test('op_id initialization edge case', async () => {
|
|
1883
|
+
// Test syncing a batch of data that is small in count,
|
|
1884
|
+
// but large enough in size to be split over multiple returned chunks.
|
|
1885
|
+
// Similar to the above test, but splits over 1MB chunks.
|
|
1886
|
+
const sync_rules = test_utils.testRules(
|
|
1887
|
+
`
|
|
1888
|
+
bucket_definitions:
|
|
1889
|
+
global:
|
|
1890
|
+
data:
|
|
1891
|
+
- SELECT id FROM test
|
|
1892
|
+
- SELECT id FROM test_ignore WHERE false
|
|
1893
|
+
`
|
|
1894
|
+
);
|
|
1895
|
+
await using factory = await generateStorageFactory();
|
|
1896
|
+
const bucketStorage = factory.getInstance(sync_rules);
|
|
1897
|
+
|
|
1898
|
+
const sourceTable = test_utils.makeTestTable('test', ['id']);
|
|
1899
|
+
const sourceTableIgnore = test_utils.makeTestTable('test_ignore', ['id']);
|
|
1900
|
+
|
|
1901
|
+
const result1 = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
1902
|
+
// This saves a record to current_data, but not bucket_data.
|
|
1903
|
+
// This causes a checkpoint to be created without increasing the op_id sequence.
|
|
1904
|
+
await batch.save({
|
|
1905
|
+
sourceTable: sourceTableIgnore,
|
|
1906
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
1907
|
+
after: {
|
|
1908
|
+
id: 'test1'
|
|
1909
|
+
},
|
|
1910
|
+
afterReplicaId: test_utils.rid('test1')
|
|
1911
|
+
});
|
|
1912
|
+
});
|
|
1913
|
+
|
|
1914
|
+
const checkpoint1 = result1!.flushed_op;
|
|
1915
|
+
|
|
1916
|
+
const result2 = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
1917
|
+
await batch.save({
|
|
1918
|
+
sourceTable: sourceTable,
|
|
1919
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
1920
|
+
after: {
|
|
1921
|
+
id: 'test2'
|
|
1922
|
+
},
|
|
1923
|
+
afterReplicaId: test_utils.rid('test2')
|
|
1924
|
+
});
|
|
1925
|
+
});
|
|
1926
|
+
|
|
1927
|
+
const checkpoint2 = result2!.flushed_op;
|
|
1928
|
+
// we expect 0n and 1n, or 1n and 2n.
|
|
1929
|
+
expect(checkpoint2).toBeGreaterThan(checkpoint1);
|
|
1930
|
+
});
|
|
1881
1931
|
}
|