@filen/sync 0.1.3 → 0.1.5

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.
@@ -17,7 +17,8 @@ class RemoteFileSystem {
17
17
  this.getDirectoryTreeCache = {
18
18
  timestamp: 0,
19
19
  tree: {},
20
- uuids: {}
20
+ uuids: {},
21
+ ignored: []
21
22
  };
22
23
  this.previousTreeRawResponse = "";
23
24
  this.mutex = new semaphore_1.Semaphore(1);
@@ -64,7 +65,7 @@ class RemoteFileSystem {
64
65
  }
65
66
  return {
66
67
  result: this.getDirectoryTreeCache,
67
- ignored: [],
68
+ ignored: this.getDirectoryTreeCache.ignored,
68
69
  changed: false
69
70
  };
70
71
  }
@@ -74,7 +75,7 @@ class RemoteFileSystem {
74
75
  if (rawEx.length === 2 && this.previousTreeRawResponse === rawEx[0] && this.getDirectoryTreeCache.timestamp !== 0) {
75
76
  return {
76
77
  result: this.getDirectoryTreeCache,
77
- ignored: [],
78
+ ignored: this.getDirectoryTreeCache.ignored,
78
79
  changed: false
79
80
  };
80
81
  }
@@ -94,61 +95,60 @@ class RemoteFileSystem {
94
95
  for (const folder of dir.folders) {
95
96
  try {
96
97
  const decrypted = await this.sync.sdk.crypto().decrypt().folderMetadata({ metadata: folder[1] });
97
- if (folder[2] !== "base" && decrypted.name.length === 0) {
98
- continue;
99
- }
100
98
  const parentPath = folder[2] === "base" ? "" : `${folderNames[folder[2]]}/`;
101
99
  const folderPath = folder[2] === "base" ? "" : `${parentPath}${decrypted.name}`;
102
100
  const localPath = path_1.default.join(this.sync.syncPair.localPath, folderPath);
103
101
  folderNames[folder[0]] = folderPath;
104
- if (folderPath.startsWith(constants_1.LOCAL_TRASH_NAME) || decrypted.name.startsWith(constants_1.LOCAL_TRASH_NAME)) {
102
+ if (folderPath.startsWith(constants_1.LOCAL_TRASH_NAME) ||
103
+ decrypted.name.startsWith(constants_1.LOCAL_TRASH_NAME) ||
104
+ (folder[2] !== "base" && decrypted.name.length === 0)) {
105
105
  continue;
106
106
  }
107
- if (this.sync.remoteIgnorer.ignores(folderPath)) {
107
+ if ((0, utils_1.isPathOverMaxLength)(localPath)) {
108
108
  ignored.push({
109
109
  localPath,
110
110
  relativePath: folderPath,
111
- reason: "remoteIgnore"
111
+ reason: "pathLength"
112
112
  });
113
113
  continue;
114
114
  }
115
- if (this.sync.excludeDotFiles && decrypted.name.startsWith(".")) {
115
+ if ((0, utils_1.isNameOverMaxLength)(decrypted.name)) {
116
116
  ignored.push({
117
117
  localPath,
118
118
  relativePath: folderPath,
119
- reason: "dotFile"
119
+ reason: "nameLength"
120
120
  });
121
121
  continue;
122
122
  }
123
- if ((0, utils_1.isPathOverMaxLength)(localPath)) {
123
+ if (!(0, utils_1.isValidPath)(localPath)) {
124
124
  ignored.push({
125
125
  localPath,
126
126
  relativePath: folderPath,
127
- reason: "pathLength"
127
+ reason: "invalidPath"
128
128
  });
129
129
  continue;
130
130
  }
131
- if ((0, utils_1.isNameOverMaxLength)(decrypted.name)) {
131
+ if ((0, utils_1.isDirectoryPathIgnoredByDefault)(folderPath) || (0, utils_1.isRelativePathIgnoredByDefault)(folderPath)) {
132
132
  ignored.push({
133
133
  localPath,
134
134
  relativePath: folderPath,
135
- reason: "nameLength"
135
+ reason: "defaultIgnore"
136
136
  });
137
137
  continue;
138
138
  }
139
- if (!(0, utils_1.isValidPath)(localPath)) {
139
+ if (this.sync.remoteIgnorer.ignores(folderPath)) {
140
140
  ignored.push({
141
141
  localPath,
142
142
  relativePath: folderPath,
143
- reason: "invalidPath"
143
+ reason: "remoteIgnore"
144
144
  });
145
145
  continue;
146
146
  }
147
- if ((0, utils_1.isDirectoryPathIgnoredByDefault)(folderPath) || (0, utils_1.isRelativePathIgnoredByDefault)(folderPath)) {
147
+ if (this.sync.excludeDotFiles && (0, utils_1.pathIncludesDotFile)(folderPath)) {
148
148
  ignored.push({
149
149
  localPath,
150
150
  relativePath: folderPath,
151
- reason: "defaultIgnore"
151
+ reason: "dotFile"
152
152
  });
153
153
  continue;
154
154
  }
@@ -157,6 +157,9 @@ class RemoteFileSystem {
157
157
  continue;
158
158
  }
159
159
  pathsAdded[lowercasePath] = true;
160
+ if (folderPath.length === 0) {
161
+ continue;
162
+ }
160
163
  const item = {
161
164
  type: "directory",
162
165
  uuid: folder[0],
@@ -183,22 +186,14 @@ class RemoteFileSystem {
183
186
  const parentPath = folderNames[file[4]];
184
187
  const filePath = `${parentPath}/${decrypted.name}`;
185
188
  const localPath = path_1.default.join(this.sync.syncPair.localPath, filePath);
186
- if (filePath.startsWith(constants_1.LOCAL_TRASH_NAME) || decrypted.name.startsWith(constants_1.LOCAL_TRASH_NAME)) {
187
- return;
188
- }
189
- if (this.sync.remoteIgnorer.ignores(filePath)) {
190
- ignored.push({
191
- localPath,
192
- relativePath: filePath,
193
- reason: "remoteIgnore"
194
- });
189
+ if (filePath.startsWith(constants_1.LOCAL_TRASH_NAME) || decrypted.name.startsWith(constants_1.LOCAL_TRASH_NAME) || filePath.length === 0) {
195
190
  return;
196
191
  }
197
- if (this.sync.excludeDotFiles && decrypted.name.startsWith(".")) {
192
+ if (decrypted.size <= 0) {
198
193
  ignored.push({
199
194
  localPath,
200
195
  relativePath: filePath,
201
- reason: "dotFile"
196
+ reason: "empty"
202
197
  });
203
198
  return;
204
199
  }
@@ -234,6 +229,22 @@ class RemoteFileSystem {
234
229
  });
235
230
  return;
236
231
  }
232
+ if (this.sync.remoteIgnorer.ignores(filePath)) {
233
+ ignored.push({
234
+ localPath,
235
+ relativePath: filePath,
236
+ reason: "remoteIgnore"
237
+ });
238
+ return;
239
+ }
240
+ if (this.sync.excludeDotFiles && (0, utils_1.pathIncludesDotFile)(filePath)) {
241
+ ignored.push({
242
+ localPath,
243
+ relativePath: filePath,
244
+ reason: "dotFile"
245
+ });
246
+ return;
247
+ }
237
248
  const lowercasePath = filePath.toLowerCase();
238
249
  if (pathsAdded[lowercasePath]) {
239
250
  return;
@@ -266,12 +277,13 @@ class RemoteFileSystem {
266
277
  this.getDirectoryTreeCache = {
267
278
  timestamp: Date.now(),
268
279
  tree,
269
- uuids
280
+ uuids,
281
+ ignored
270
282
  };
271
283
  return {
272
284
  result: {
273
- tree,
274
- uuids
285
+ tree: this.getDirectoryTreeCache.tree,
286
+ uuids: this.getDirectoryTreeCache.uuids
275
287
  },
276
288
  ignored,
277
289
  changed: true
@@ -400,9 +412,28 @@ class RemoteFileSystem {
400
412
  * @returns {Promise<void>}
401
413
  */
402
414
  async unlink({ relativePath, type, permanent = false }) {
415
+ let uuid = null;
416
+ const cleanItemEntry = async () => {
417
+ if (!uuid) {
418
+ return;
419
+ }
420
+ await this.itemsMutex.acquire();
421
+ delete this.getDirectoryTreeCache.tree[relativePath];
422
+ delete this.getDirectoryTreeCache.uuids[uuid];
423
+ for (const entry in this.getDirectoryTreeCache.tree) {
424
+ if (entry.startsWith(relativePath + "/") || entry === relativePath) {
425
+ const entryItem = this.getDirectoryTreeCache.tree[entry];
426
+ if (entryItem) {
427
+ delete this.getDirectoryTreeCache.uuids[entryItem.uuid];
428
+ }
429
+ delete this.getDirectoryTreeCache.tree[entry];
430
+ }
431
+ }
432
+ this.itemsMutex.release();
433
+ };
403
434
  await this.mutex.acquire();
404
435
  try {
405
- const uuid = await this.pathToItemUUID({ relativePath });
436
+ uuid = await this.pathToItemUUID({ relativePath });
406
437
  const item = this.getDirectoryTreeCache.tree[relativePath];
407
438
  if (!uuid || !item) {
408
439
  return;
@@ -427,19 +458,15 @@ class RemoteFileSystem {
427
458
  await this.sync.sdk.cloud().trashFile({ uuid });
428
459
  }
429
460
  }
430
- await this.itemsMutex.acquire();
431
- delete this.getDirectoryTreeCache.tree[relativePath];
432
- delete this.getDirectoryTreeCache.uuids[uuid];
433
- for (const entry in this.getDirectoryTreeCache.tree) {
434
- if (entry.startsWith(relativePath + "/") || entry === relativePath) {
435
- const entryItem = this.getDirectoryTreeCache.tree[entry];
436
- if (entryItem) {
437
- delete this.getDirectoryTreeCache.uuids[entryItem.uuid];
438
- }
439
- delete this.getDirectoryTreeCache.tree[entry];
440
- }
461
+ await cleanItemEntry();
462
+ }
463
+ catch (e) {
464
+ if (e instanceof sdk_1.APIError && (e.code === "file_not_found" || e.code === "folder_not_found")) {
465
+ await cleanItemEntry();
466
+ }
467
+ else {
468
+ throw e;
441
469
  }
442
- this.itemsMutex.release();
443
470
  }
444
471
  finally {
445
472
  this.mutex.release();
@@ -460,7 +487,7 @@ class RemoteFileSystem {
460
487
  await this.mutex.acquire();
461
488
  try {
462
489
  if (fromRelativePath === "/" || fromRelativePath === toRelativePath) {
463
- return;
490
+ throw new Error("Invalid paths.");
464
491
  }
465
492
  const uuid = await this.pathToItemUUID({ relativePath: fromRelativePath });
466
493
  const item = this.getDirectoryTreeCache.tree[fromRelativePath];
@@ -486,7 +513,7 @@ class RemoteFileSystem {
486
513
  });
487
514
  if (newParentPath === currentParentPath) {
488
515
  if (toRelativePath === "/" || newBasename.length <= 0) {
489
- return;
516
+ throw new Error("Invalid paths.");
490
517
  }
491
518
  if (item.type === "directory") {
492
519
  await this.sync.sdk.cloud().renameDirectory({
@@ -504,7 +531,7 @@ class RemoteFileSystem {
504
531
  }
505
532
  else {
506
533
  if (toRelativePath.startsWith(fromRelativePath)) {
507
- return;
534
+ throw new Error("Invalid paths.");
508
535
  }
509
536
  if (oldBasename !== newBasename) {
510
537
  if (item.type === "directory") {
@@ -558,26 +585,26 @@ class RemoteFileSystem {
558
585
  });
559
586
  }
560
587
  }
561
- await this.itemsMutex.acquire();
562
- this.getDirectoryTreeCache.tree[toRelativePath] = Object.assign(Object.assign({}, item), { name: path_1.default.basename(toRelativePath), path: toRelativePath });
563
- this.getDirectoryTreeCache.uuids[item.uuid] = Object.assign(Object.assign({}, item), { name: path_1.default.basename(toRelativePath), path: toRelativePath });
564
- delete this.getDirectoryTreeCache.tree[fromRelativePath];
565
- for (const oldPath in this.getDirectoryTreeCache.tree) {
566
- if (oldPath.startsWith(fromRelativePath + "/") && oldPath !== fromRelativePath) {
567
- const newPath = oldPath.split(fromRelativePath).join(toRelativePath);
568
- const oldItem = this.getDirectoryTreeCache.tree[oldPath];
569
- if (oldItem) {
570
- this.getDirectoryTreeCache.tree[newPath] = Object.assign(Object.assign({}, oldItem), { name: path_1.default.basename(newPath), path: newPath });
571
- delete this.getDirectoryTreeCache.tree[oldPath];
572
- const oldItemUUID = this.getDirectoryTreeCache.uuids[oldItem.uuid];
573
- if (oldItemUUID) {
574
- this.getDirectoryTreeCache.uuids[oldItem.uuid] = Object.assign(Object.assign({}, oldItemUUID), { name: path_1.default.basename(newPath), path: newPath });
575
- }
588
+ }
589
+ await this.itemsMutex.acquire();
590
+ this.getDirectoryTreeCache.tree[toRelativePath] = Object.assign(Object.assign({}, item), { name: path_1.default.basename(toRelativePath), path: toRelativePath });
591
+ this.getDirectoryTreeCache.uuids[item.uuid] = Object.assign(Object.assign({}, item), { name: path_1.default.basename(toRelativePath), path: toRelativePath });
592
+ delete this.getDirectoryTreeCache.tree[fromRelativePath];
593
+ for (const oldPath in this.getDirectoryTreeCache.tree) {
594
+ if (oldPath.startsWith(fromRelativePath + "/") && oldPath !== fromRelativePath) {
595
+ const newPath = (0, utils_1.replacePathStartWithFromAndTo)(oldPath, fromRelativePath, toRelativePath);
596
+ const oldItem = this.getDirectoryTreeCache.tree[oldPath];
597
+ if (oldItem) {
598
+ this.getDirectoryTreeCache.tree[newPath] = Object.assign(Object.assign({}, oldItem), { name: path_1.default.basename(newPath), path: newPath });
599
+ delete this.getDirectoryTreeCache.tree[oldPath];
600
+ const oldItemUUID = this.getDirectoryTreeCache.uuids[oldItem.uuid];
601
+ if (oldItemUUID) {
602
+ this.getDirectoryTreeCache.uuids[oldItem.uuid] = Object.assign(Object.assign({}, oldItemUUID), { name: path_1.default.basename(newPath), path: newPath });
576
603
  }
577
604
  }
578
605
  }
579
- this.itemsMutex.release();
580
606
  }
607
+ this.itemsMutex.release();
581
608
  }
582
609
  finally {
583
610
  this.mutex.release();
@@ -598,6 +625,14 @@ class RemoteFileSystem {
598
625
  const localPath = path_1.default.posix.join(this.sync.syncPair.localPath, relativePath);
599
626
  const tmpLocalPath = path_1.default.join(this.sync.syncPair.localPath, constants_1.LOCAL_TRASH_NAME, (0, uuid_1.v4)());
600
627
  const signalKey = `upload:${relativePath}`;
628
+ const uuid = await this.pathToItemUUID({ relativePath });
629
+ const item = this.getDirectoryTreeCache.tree[relativePath];
630
+ if (!uuid || !item) {
631
+ throw new Error(`Could not download ${relativePath}: File not found.`);
632
+ }
633
+ if (item.type === "directory") {
634
+ throw new Error(`Could not download ${relativePath}: Not a file.`);
635
+ }
601
636
  if (!this.sync.pauseSignals[signalKey]) {
602
637
  this.sync.pauseSignals[signalKey] = new sdk_1.PauseSignal();
603
638
  }
@@ -611,18 +646,11 @@ class RemoteFileSystem {
611
646
  of: "download",
612
647
  type: "queued",
613
648
  relativePath,
614
- localPath
649
+ localPath,
650
+ size: item.size
615
651
  }
616
652
  });
617
653
  try {
618
- const uuid = await this.pathToItemUUID({ relativePath });
619
- const item = this.getDirectoryTreeCache.tree[relativePath];
620
- if (!uuid || !item) {
621
- throw new Error(`Could not download ${relativePath}: File not found.`);
622
- }
623
- if (item.type === "directory") {
624
- throw new Error(`Could not download ${relativePath}: Not a file.`);
625
- }
626
654
  await this.sync.sdk.cloud().downloadFileToLocal({
627
655
  uuid,
628
656
  bucket: item.bucket,
@@ -644,7 +672,8 @@ class RemoteFileSystem {
644
672
  type: "error",
645
673
  relativePath,
646
674
  localPath,
647
- error: (0, utils_1.serializeError)(err)
675
+ error: (0, utils_1.serializeError)(err),
676
+ size: item.size
648
677
  }
649
678
  });
650
679
  },
@@ -657,7 +686,8 @@ class RemoteFileSystem {
657
686
  type: "progress",
658
687
  relativePath,
659
688
  localPath,
660
- bytes
689
+ bytes,
690
+ size: item.size
661
691
  }
662
692
  });
663
693
  },
@@ -669,7 +699,8 @@ class RemoteFileSystem {
669
699
  of: "download",
670
700
  type: "started",
671
701
  relativePath,
672
- localPath
702
+ localPath,
703
+ size: item.size
673
704
  }
674
705
  });
675
706
  }
@@ -678,6 +709,19 @@ class RemoteFileSystem {
678
709
  await fs_extra_1.default.move(tmpLocalPath, localPath, {
679
710
  overwrite: true
680
711
  });
712
+ const stats = await fs_extra_1.default.stat(localPath);
713
+ const localItem = {
714
+ type: "file",
715
+ inode: parseInt(stats.ino), // Sometimes comes as a float, but we need an int
716
+ lastModified: parseInt(stats.mtimeMs), // Sometimes comes as a float, but we need an int
717
+ creation: parseInt(stats.birthtimeMs), // Sometimes comes as a float, but we need an int
718
+ size: parseInt(stats.size), // Sometimes comes as a float, but we need an int
719
+ path: relativePath
720
+ };
721
+ await this.sync.localFileSystem.itemsMutex.acquire();
722
+ this.sync.localFileSystem.getDirectoryTreeCache.tree[relativePath] = localItem;
723
+ this.sync.localFileSystem.getDirectoryTreeCache.inodes[localItem.inode] = localItem;
724
+ this.sync.localFileSystem.itemsMutex.release();
681
725
  (0, ipc_1.postMessageToMain)({
682
726
  type: "transfer",
683
727
  syncPair: this.sync.syncPair,
@@ -685,10 +729,11 @@ class RemoteFileSystem {
685
729
  of: "download",
686
730
  type: "finished",
687
731
  relativePath,
688
- localPath
732
+ localPath,
733
+ size: item.size
689
734
  }
690
735
  });
691
- return await fs_extra_1.default.stat(localPath);
736
+ return stats;
692
737
  }
693
738
  catch (e) {
694
739
  this.sync.worker.logger.log("error", e, "filesystems.remote.download");
@@ -701,7 +746,8 @@ class RemoteFileSystem {
701
746
  type: "error",
702
747
  relativePath,
703
748
  localPath,
704
- error: (0, utils_1.serializeError)(e)
749
+ error: (0, utils_1.serializeError)(e),
750
+ size: item.size
705
751
  }
706
752
  });
707
753
  }
@@ -712,6 +758,54 @@ class RemoteFileSystem {
712
758
  delete this.sync.abortControllers[signalKey];
713
759
  }
714
760
  }
761
+ async remoteDirPathExisting() {
762
+ try {
763
+ const present = await this.sync.sdk.api(3).dir().present({ uuid: this.sync.syncPair.remoteParentUUID });
764
+ if (!present.present || present.trash) {
765
+ return false;
766
+ }
767
+ return true;
768
+ }
769
+ catch (_a) {
770
+ return false;
771
+ }
772
+ }
773
+ async directoryExists(relativePath) {
774
+ try {
775
+ const item = this.getDirectoryTreeCache.tree[relativePath];
776
+ if (!item) {
777
+ return false;
778
+ }
779
+ const present = await this.sync.sdk.api(3).dir().present({ uuid: item.uuid });
780
+ if (!present.present || present.trash) {
781
+ return false;
782
+ }
783
+ return true;
784
+ }
785
+ catch (_a) {
786
+ return false;
787
+ }
788
+ }
789
+ async fileExists(relativePath) {
790
+ try {
791
+ const item = this.getDirectoryTreeCache.tree[relativePath];
792
+ const parent = this.getDirectoryTreeCache.tree[path_1.default.posix.dirname(relativePath)];
793
+ if (!item || !parent) {
794
+ return false;
795
+ }
796
+ const { exists, existsUUID } = await this.sync.sdk.api(3).file().exists({
797
+ name: item.name,
798
+ parent: parent.uuid
799
+ });
800
+ if (!exists || existsUUID !== item.uuid) {
801
+ return false;
802
+ }
803
+ return true;
804
+ }
805
+ catch (_a) {
806
+ return false;
807
+ }
808
+ }
715
809
  }
716
810
  exports.RemoteFileSystem = RemoteFileSystem;
717
811
  exports.default = RemoteFileSystem;
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/lib/filesystems/remote.ts"],"names":[],"mappings":";;;;;;AACA,oCAAqH;AACrH,gDAA6B;AAC7B,+CAA2C;AAC3C,wDAAyB;AAEzB,gCAA0C;AAC1C,uCASoB;AACpB,+BAAmC;AACnC,+CAAkD;AAelD,MAAa,gBAAgB;IAiB5B,YAAmB,IAAU;QAftB,0BAAqB,GAIxB;YACH,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;SACT,CAAA;QACM,4BAAuB,GAAW,EAAE,CAAA;QAC1B,UAAK,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAA;QACxB,eAAU,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAA;QAC9B,eAAU,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAA;QACrC,kBAAa,GAAW,EAAE,CAAA;QAGjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,aAAa,CAAA;QAC1B,CAAC;QAED,MAAM,YAAY,GAAG,cAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAE3F,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;QAEpD,IAAI,QAAQ,GAAW,EAAE,CAAA;QAEzB,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACtC,QAAQ,GAAG,IAAA,SAAM,GAAE,CAAA;YAEnB,MAAM,kBAAE,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,OAAO;aACjB,CAAC,CAAA;QACH,CAAC;aAAM,CAAC;YACP,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,YAAY,EAAE;gBAC1C,QAAQ,EAAE,OAAO;aACjB,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAA;QAE7B,OAAO,QAAQ,CAAA;IAChB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,YAAqB,KAAK;;QAKvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB;YACzC,QAAQ;YACR,SAAS;YACT,UAAU,EAAE,IAAI;SAChB,CAAC,CAAA;QAEF,iCAAiC;QACjC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBAChD,gFAAgF;gBAChF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACzC,CAAC;YAED,OAAO;gBACN,MAAM,EAAE,IAAI,CAAC,qBAAqB;gBAClC,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,KAAK;aACd,CAAA;QACF,CAAC;QAED,kCAAkC;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAE5C,gHAAgH;QAChH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACnH,OAAO;gBACN,MAAM,EAAE,IAAI,CAAC,qBAAqB;gBAClC,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,KAAK;aACd,CAAA;QACF,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEjC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC9C,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAEtC,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,WAAW,GAA2B,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;QACzD,MAAM,IAAI,GAAwB,EAAE,CAAA;QACpC,MAAM,KAAK,GAAyB,EAAE,CAAA;QACtC,MAAM,UAAU,GAA4B,EAAE,CAAA;QAC9C,MAAM,OAAO,GAAwB,EAAE,CAAA;QAEvC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC;gBACJ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAEhG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzD,SAAQ;gBACT,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;gBAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;gBAC/E,MAAM,SAAS,GAAG,cAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;gBAE3E,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;gBAEnC,IAAI,UAAU,CAAC,UAAU,CAAC,4BAAgB,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,4BAAgB,CAAC,EAAE,CAAC;oBAC5F,SAAQ;gBACT,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,UAAU;wBACxB,MAAM,EAAE,cAAc;qBACtB,CAAC,CAAA;oBAEF,SAAQ;gBACT,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjE,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,UAAU;wBACxB,MAAM,EAAE,SAAS;qBACjB,CAAC,CAAA;oBAEF,SAAQ;gBACT,CAAC;gBAED,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,EAAE,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,UAAU;wBACxB,MAAM,EAAE,YAAY;qBACpB,CAAC,CAAA;oBAEF,SAAQ;gBACT,CAAC;gBAED,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,UAAU;wBACxB,MAAM,EAAE,YAAY;qBACpB,CAAC,CAAA;oBAEF,SAAQ;gBACT,CAAC;gBAED,IAAI,CAAC,IAAA,mBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,UAAU;wBACxB,MAAM,EAAE,aAAa;qBACrB,CAAC,CAAA;oBAEF,SAAQ;gBACT,CAAC;gBAED,IAAI,IAAA,uCAA+B,EAAC,UAAU,CAAC,IAAI,IAAA,sCAA8B,EAAC,UAAU,CAAC,EAAE,CAAC;oBAC/F,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,UAAU;wBACxB,MAAM,EAAE,eAAe;qBACvB,CAAC,CAAA;oBAEF,SAAQ;gBACT,CAAC;gBAED,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;gBAE9C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/B,SAAQ;gBACT,CAAC;gBAED,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;gBAEhC,MAAM,IAAI,GAAe;oBACxB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;oBACf,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,UAAU;iBAChB,CAAA;gBAED,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;gBACvB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,qCAAqC,CAAC,CAAA;YAC/E,CAAC;QACF,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACnD,CAAC;QAED,MAAM,IAAA,gCAAwB,EAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YAC1B,IAAI,CAAC;gBACJ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAE5F,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,OAAM;gBACP,CAAC;gBAED,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvC,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,SAAS,CAAC,IAAI,EAAE,CAAA;gBAClD,MAAM,SAAS,GAAG,cAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;gBAEzE,IAAI,QAAQ,CAAC,UAAU,CAAC,4BAAgB,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,4BAAgB,CAAC,EAAE,CAAC;oBAC1F,OAAM;gBACP,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/C,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,QAAQ;wBACtB,MAAM,EAAE,cAAc;qBACtB,CAAC,CAAA;oBAEF,OAAM;gBACP,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjE,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,QAAQ;wBACtB,MAAM,EAAE,SAAS;qBACjB,CAAC,CAAA;oBAEF,OAAM;gBACP,CAAC;gBAED,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,EAAE,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,QAAQ;wBACtB,MAAM,EAAE,YAAY;qBACpB,CAAC,CAAA;oBAEF,OAAM;gBACP,CAAC;gBAED,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,QAAQ;wBACtB,MAAM,EAAE,YAAY;qBACpB,CAAC,CAAA;oBAEF,OAAM;gBACP,CAAC;gBAED,IAAI,CAAC,IAAA,mBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,QAAQ;wBACtB,MAAM,EAAE,aAAa;qBACrB,CAAC,CAAA;oBAEF,OAAM;gBACP,CAAC;gBAED,IAAI,IAAA,uCAA+B,EAAC,QAAQ,CAAC,IAAI,IAAA,sCAA8B,EAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3F,OAAO,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,YAAY,EAAE,QAAQ;wBACtB,MAAM,EAAE,eAAe;qBACvB,CAAC,CAAA;oBAEF,OAAM;gBACP,CAAC;gBAED,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;gBAE5C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/B,OAAM;gBACP,CAAC;gBAED,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;gBAEhC,MAAM,IAAI,GAAe;oBACxB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;oBACb,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,YAAY,EAAE,IAAA,4BAAoB,EAAC,SAAS,CAAC,YAAY,CAAC;oBAC1D,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBAChB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;oBACf,GAAG,EAAE,SAAS,CAAC,GAAG;oBAClB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;oBACf,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;oBACf,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,QAAQ;iBACd,CAAA;gBAED,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;gBACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,qCAAqC,CAAC,CAAA;YAC/E,CAAC;QACF,CAAC,CAAC,CACF,CAAA;QAED,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACvE,IAAI,CAAC,qBAAqB,GAAG;YAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI;YACJ,KAAK;SACL,CAAA;QAED,OAAO;YACN,MAAM,EAAE;gBACP,IAAI;gBACJ,KAAK;aACL;YACD,OAAO;YACP,OAAO,EAAE,IAAI;SACb,CAAA;IACF,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,IAAI,EAA+C;QAC9F,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,aAAa,GAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAEnH,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAA;QAC3C,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClI,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAE,CAAC,IAAI,CAAA;QAC3D,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,KAAK,CAAC,EAAE,YAAY,EAA4B;QAC5D,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;QAE/B,IAAI,CAAC;YACJ,IAAI,YAAY,KAAK,GAAG,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAA;YAC3C,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;YAE1D,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAA;YACd,CAAC;YAED,MAAM,UAAU,GAAG,cAAU,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACzD,MAAM,QAAQ,GAAG,cAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;YAExD,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAA;gBAEzH,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;gBAE/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG;oBAC/C,IAAI,EAAE,WAAW;oBACjB,IAAI;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,YAAY;iBAClB,CAAA;gBAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;oBACxC,IAAI,EAAE,WAAW;oBACjB,IAAI;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,YAAY;iBAClB,CAAA;gBAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;gBAEzB,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,SAAS,GAAG,GAAG,CAAA;YAEnB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACxB,SAAQ;gBACT,CAAC;gBAED,SAAS,GAAG,cAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;gBAElD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjD,MAAM,YAAY,GAAG,cAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACzD,MAAM,cAAc,GAAG,cAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;oBAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;oBAElE,IAAI,CAAC,UAAU,EAAE,CAAC;wBACjB,SAAQ;oBACT,CAAC;oBAED,MAAM,YAAY,GAAG,cAAc,KAAK,GAAG,IAAI,cAAc,KAAK,GAAG,IAAI,cAAc,KAAK,EAAE,CAAA;oBAC9F,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAA;oBACvF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;oBAEpG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;oBAE/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG;wBAC/C,IAAI,EAAE,WAAW;wBACjB,IAAI;wBACJ,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,YAAY;qBAClB,CAAA;oBAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;wBACxC,IAAI,EAAE,WAAW;wBACjB,IAAI;wBACJ,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,YAAY;qBAClB,CAAA;oBAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;gBAC1B,CAAC;YACF,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,GAAG,CAAC,CAAA;YACvE,CAAC;YAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAE,CAAC,IAAI,CAAA;QAC3D,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;IACF,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,MAAM,CAAC,EACnB,YAAY,EACZ,IAAI,EACJ,SAAS,GAAG,KAAK,EAKjB;QACA,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QAE1B,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAE1D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAM;YACP,CAAC;YAED,MAAM,aAAa,GAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAEnH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAM;YACP,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC/B,IAAI,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBACtD,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBACrD,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBACjD,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBAChD,CAAC;YACF,CAAC;YAED,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;YAE/B,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACpD,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAE7C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;gBACrD,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;oBACpE,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAExD,IAAI,SAAS,EAAE,CAAC;wBACf,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;oBACxD,CAAC;oBAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC9C,CAAC;YACF,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QACrB,CAAC;IACF,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAwD;QAC7G,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QAE1B,IAAI,CAAC;YACJ,IAAI,gBAAgB,KAAK,GAAG,IAAI,gBAAgB,KAAK,cAAc,EAAE,CAAC;gBACrE,OAAM;YACP,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAA;YAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE9D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,gBAAgB,OAAO,cAAc,mBAAmB,CAAC,CAAA;YAC9F,CAAC;YAED,MAAM,iBAAiB,GAAG,cAAU,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;YACpE,MAAM,aAAa,GAAG,cAAU,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;YAC9D,MAAM,WAAW,GAAG,cAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;YAC7D,MAAM,WAAW,GAAG,cAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;YAE/D,MAAM,YAAY,GACjB,IAAI,CAAC,IAAI,KAAK,MAAM;gBACnB,CAAC,CAAC,CAAC;oBACD,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,IAAI,CAAC,GAAG;iBACW,CAAC;gBAC3B,CAAC,CAAC,CAAC;oBACD,IAAI,EAAE,WAAW;iBACS,CAAC,CAAA;YAE/B,IAAI,aAAa,KAAK,iBAAiB,EAAE,CAAC;gBACzC,IAAI,cAAc,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvD,OAAM;gBACP,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC;wBAC3C,IAAI;wBACJ,IAAI,EAAE,WAAW;qBACjB,CAAC,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC;wBACtC,IAAI;wBACJ,QAAQ,EAAE,YAA4B;wBACtC,IAAI,EAAE,WAAW;qBACjB,CAAC,CAAA;gBACH,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjD,OAAM;gBACP,CAAC;gBAED,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC;4BAC3C,IAAI;4BACJ,IAAI,EAAE,WAAW;yBACjB,CAAC,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC;4BACtC,IAAI;4BACJ,QAAQ,EAAE,YAA4B;4BACtC,IAAI,EAAE,WAAW;yBACjB,CAAC,CAAA;oBACH,CAAC;gBACF,CAAC;gBAED,IAAI,aAAa,KAAK,GAAG,IAAI,aAAa,KAAK,GAAG,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;oBAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC;4BACzC,IAAI;4BACJ,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB;4BACvC,QAAQ,EAAE,YAA8B;yBACxC,CAAC,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC;4BACpC,IAAI;4BACJ,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB;4BACvC,QAAQ,EAAE,YAA4B;yBACtC,CAAC,CAAA;oBACH,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAA;oBAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBAEpE,IAAI,CAAC,aAAa,EAAE,CAAC;wBACpB,MAAM,IAAI,KAAK,CAAC,uBAAuB,aAAa,GAAG,CAAC,CAAA;oBACzD,CAAC;oBAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC;4BACzC,IAAI;4BACJ,EAAE,EAAE,aAAa,CAAC,IAAK;4BACvB,QAAQ,EAAE,YAA8B;yBACxC,CAAC,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC;4BACpC,IAAI;4BACJ,EAAE,EAAE,aAAa,CAAC,IAAI;4BACtB,QAAQ,EAAE,YAA4B;yBACtC,CAAC,CAAA;oBACH,CAAC;gBACF,CAAC;gBAED,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;gBAE/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,mCAC3C,IAAI,KACP,IAAI,EAAE,cAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EACzC,IAAI,EAAE,cAAc,GACpB,CAAA;gBAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mCACvC,IAAI,KACP,IAAI,EAAE,cAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EACzC,IAAI,EAAE,cAAc,GACpB,CAAA;gBAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;gBAExD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;oBACvD,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;wBAChF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;wBACpE,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBAExD,IAAI,OAAO,EAAE,CAAC;4BACb,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,mCACpC,OAAO,KACV,IAAI,EAAE,cAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAClC,IAAI,EAAE,OAAO,GACb,CAAA;4BAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;4BAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;4BAElE,IAAI,WAAW,EAAE,CAAC;gCACjB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mCAC1C,WAAW,KACd,IAAI,EAAE,cAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAClC,IAAI,EAAE,OAAO,GACb,CAAA;4BACF,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QACrB,CAAC;IACF,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,QAAQ,CAAC,EAAE,YAAY,EAA4B;;QAC/D,MAAM,SAAS,GAAG,cAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACnF,MAAM,YAAY,GAAG,cAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,4BAAgB,EAAE,IAAA,SAAM,GAAE,CAAC,CAAA;QAC9F,MAAM,SAAS,GAAG,UAAU,YAAY,EAAE,CAAA;QAE1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,iBAAW,EAAE,CAAA;QACtD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI,eAAe,EAAE,CAAA;QAC9D,CAAC;QAED,IAAA,uBAAiB,EAAC;YACjB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,IAAI,EAAE;gBACL,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,QAAQ;gBACd,YAAY;gBACZ,SAAS;aACT;SACD,CAAC,CAAA;QAEF,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAE1D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,mBAAmB,CAAC,CAAA;YACvE,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,eAAe,CAAC,CAAA;YACnE,CAAC;YAED,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC/C,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,EAAE,EAAE,YAAY;gBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;gBAC9C,WAAW,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,0CAAE,MAAM;gBAC1D,OAAO,EAAE,GAAG,CAAC,EAAE;oBACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,6BAA6B,CAAC,CAAA;oBAExE,IAAA,uBAAiB,EAAC;wBACjB,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;wBAC5B,IAAI,EAAE;4BACL,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,OAAO;4BACb,YAAY;4BACZ,SAAS;4BACT,KAAK,EAAE,IAAA,sBAAc,EAAC,GAAG,CAAC;yBAC1B;qBACD,CAAC,CAAA;gBACH,CAAC;gBACD,UAAU,EAAE,KAAK,CAAC,EAAE;oBACnB,IAAA,uBAAiB,EAAC;wBACjB,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;wBAC5B,IAAI,EAAE;4BACL,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,UAAU;4BAChB,YAAY;4BACZ,SAAS;4BACT,KAAK;yBACL;qBACD,CAAC,CAAA;gBACH,CAAC;gBACD,SAAS,EAAE,GAAG,EAAE;oBACf,IAAA,uBAAiB,EAAC;wBACjB,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;wBAC5B,IAAI,EAAE;4BACL,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,SAAS;4BACf,YAAY;4BACZ,SAAS;yBACT;qBACD,CAAC,CAAA;gBACH,CAAC;aACD,CAAC,CAAA;YAEF,MAAM,kBAAE,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,IAAA,4BAAoB,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAE5F,MAAM,kBAAE,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE;gBACtC,SAAS,EAAE,IAAI;aACf,CAAC,CAAA;YAEF,IAAA,uBAAiB,EAAC;gBACjB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAC5B,IAAI,EAAE;oBACL,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,UAAU;oBAChB,YAAY;oBACZ,SAAS;iBACT;aACD,CAAC,CAAA;YAEF,OAAO,MAAM,kBAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAA;YAEtE,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;gBACxB,IAAA,uBAAiB,EAAC;oBACjB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAC5B,IAAI,EAAE;wBACL,EAAE,EAAE,UAAU;wBACd,IAAI,EAAE,OAAO;wBACb,YAAY;wBACZ,SAAS;wBACT,KAAK,EAAE,IAAA,sBAAc,EAAC,CAAC,CAAC;qBACxB;iBACD,CAAC,CAAA;YACH,CAAC;YAED,MAAM,CAAC,CAAA;QACR,CAAC;gBAAS,CAAC;YACV,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YACxC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;QAC7C,CAAC;IACF,CAAC;CACD;AA51BD,4CA41BC;AAED,kBAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/lib/filesystems/remote.ts"],"names":[],"mappings":"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"}
package/dist/lib/ipc.js CHANGED
@@ -43,6 +43,10 @@ exports.throttlePostMessageToMain = throttlePostMessageToMain;
43
43
  */
44
44
  function postMessageToMain(message) {
45
45
  throttlePostMessageToMain(message, throttledMessage => {
46
+ if (process.onMessage) {
47
+ process.onMessage(message);
48
+ return;
49
+ }
46
50
  if (worker_threads_1.isMainThread || !worker_threads_1.parentPort) {
47
51
  if (process.send) {
48
52
  process.send(throttledMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/lib/ipc.ts"],"names":[],"mappings":";;;AAAA,mDAAyD;AAGzD,MAAM,iCAAiC,GAMnC,EAAE,CAAA;AAEN,mJAAmJ;AACnJ,uDAAuD;AACvD,SAAgB,yBAAyB,CAAC,OAAoB,EAAE,QAAwC;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrE,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAEnG,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,iCAAiC,CAAC,GAAG,CAAC,GAAG;gBACxC,IAAI,EAAE,CAAC;gBACP,WAAW,EAAE,CAAC;aACd,CAAA;QACF,CAAC;QAED,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA;QAEzE,IAAI,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACxD,OAAM;QACP,CAAC;QAED,OAAO,mCACH,OAAO,KACV,IAAI,kCACA,OAAO,CAAC,IAAI,KACf,KAAK,EAAE,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,MAE3D,CAAA;IACF,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAiC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7F,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,GAAG,CAAC,CAAA;QACvD,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;QAExD,IACC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC9B,wDAAwD;YACxD,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAC/B,CAAC;YACF,OAAO,iCAAiC,CAAC,GAAG,CAAC,CAAA;QAC9C,CAAC;IACF,CAAC;AACF,CAAC;AA5CD,8DA4CC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAAoB;IACrD,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE;QACrD,IAAI,6BAAY,IAAI,CAAC,2BAAU,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC/B,CAAC;YAED,OAAM;QACP,CAAC;QAED,2BAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACH,CAAC;AAZD,8CAYC"}
1
+ {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/lib/ipc.ts"],"names":[],"mappings":";;;AAAA,mDAAyD;AAGzD,MAAM,iCAAiC,GAMnC,EAAE,CAAA;AAEN,mJAAmJ;AACnJ,uDAAuD;AACvD,SAAgB,yBAAyB,CAAC,OAAoB,EAAE,QAAwC;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrE,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAEnG,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,iCAAiC,CAAC,GAAG,CAAC,GAAG;gBACxC,IAAI,EAAE,CAAC;gBACP,WAAW,EAAE,CAAC;aACd,CAAA;QACF,CAAC;QAED,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA;QAEzE,IAAI,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACxD,OAAM;QACP,CAAC;QAED,OAAO,mCACH,OAAO,KACV,IAAI,kCACA,OAAO,CAAC,IAAI,KACf,KAAK,EAAE,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,MAE3D,CAAA;IACF,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAiC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7F,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,GAAG,CAAC,CAAA;QACvD,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;QAExD,IACC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC9B,wDAAwD;YACxD,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAC/B,CAAC;YACF,OAAO,iCAAiC,CAAC,GAAG,CAAC,CAAA;QAC9C,CAAC;IACF,CAAC;AACF,CAAC;AA5CD,8DA4CC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAAoB;IACrD,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE;QACrD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAE1B,OAAM;QACP,CAAC;QAED,IAAI,6BAAY,IAAI,CAAC,2BAAU,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC/B,CAAC;YAED,OAAM;QACP,CAAC;QAED,2BAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACH,CAAC;AAlBD,8CAkBC"}
@@ -0,0 +1,13 @@
1
+ import type Sync from "./sync";
2
+ export declare class Lock {
3
+ private readonly sync;
4
+ private readonly resource;
5
+ private readonly lockUUID;
6
+ private lockAcquired;
7
+ private readonly mutex;
8
+ private lockRefreshInterval;
9
+ constructor(sync: Sync);
10
+ acquire(): Promise<void>;
11
+ release(): Promise<void>;
12
+ }
13
+ export default Lock;