@eclipse-docks/core 0.7.137 → 0.7.140

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.
Files changed (31) hide show
  1. package/dist/api/index.js +3 -3
  2. package/dist/{api-3h__hDci.js → api-BZXW896G.js} +122 -49
  3. package/dist/api-BZXW896G.js.map +1 -0
  4. package/dist/components/filebrowser.d.ts +12 -1
  5. package/dist/components/filebrowser.d.ts.map +1 -1
  6. package/dist/components/tasks.d.ts.map +1 -1
  7. package/dist/core/filesys/common.d.ts +1 -0
  8. package/dist/core/filesys/common.d.ts.map +1 -1
  9. package/dist/{filebrowser.de-LWsrI9xj.js → filebrowser.de-BfFcNr19.js} +13 -3
  10. package/dist/{filebrowser.de-LWsrI9xj.js.map → filebrowser.de-BfFcNr19.js.map} +1 -1
  11. package/dist/{filebrowser.en-C02vpzAs.js → filebrowser.en-CLd5Mccb.js} +13 -3
  12. package/dist/{filebrowser.en-C02vpzAs.js.map → filebrowser.en-CLd5Mccb.js.map} +1 -1
  13. package/dist/fs-access-B1bmJ5U0.js +2 -0
  14. package/dist/{fs-access-Cjcg0_Me.js → fs-access-CrktZo-_.js} +2 -1
  15. package/dist/fs-access-CrktZo-_.js.map +1 -0
  16. package/dist/index.js +3 -3
  17. package/dist/parts/index.js +1 -1
  18. package/dist/{parts-DMjNqL4o.js → parts-KvjEFJ7v.js} +4 -4
  19. package/dist/parts-KvjEFJ7v.js.map +1 -0
  20. package/dist/webawesome-C0Da7hPu.js.map +1 -1
  21. package/dist/widget-DUR6wxME.js.map +1 -1
  22. package/package.json +2 -2
  23. package/src/components/filebrowser.de.json +6 -1
  24. package/src/components/filebrowser.en.json +6 -1
  25. package/src/components/filebrowser.ts +120 -28
  26. package/src/components/tasks.ts +16 -15
  27. package/src/core/filesys/common.ts +2 -1
  28. package/dist/api-3h__hDci.js.map +0 -1
  29. package/dist/fs-access-Cjcg0_Me.js.map +0 -1
  30. package/dist/fs-access-Dp9Fwsxk.js +0 -2
  31. package/dist/parts-DMjNqL4o.js.map +0 -1
@@ -2,6 +2,17 @@ import { TemplateResult } from 'lit';
2
2
  import { DocksPart } from '../parts/part';
3
3
  import { Directory, Resource } from '../core/filesys';
4
4
  import { TreeNode } from '../core/tree-utils';
5
+ type DroppedUpload = {
6
+ relativePath: string;
7
+ file: globalThis.File;
8
+ };
9
+ type DroppedFileFound = (count: number) => void;
10
+ /**
11
+ * Folder structure is only exposed through `webkitGetAsEntry()`; `dataTransfer.files` lists a dropped
12
+ * folder as a single unreadable file. Entries must be captured before the first `await`, because the
13
+ * drag data store becomes inaccessible once the drop handler yields.
14
+ */
15
+ export declare function collectDroppedUploads(dataTransfer: DataTransfer, onFileFound?: DroppedFileFound): Promise<DroppedUpload[]>;
5
16
  export declare class DocksFileBrowser extends DocksPart {
6
17
  private static readonly SETTINGS_VERSION;
7
18
  private static readonly SETTINGS_KEY_SELECTED_PATH;
@@ -45,7 +56,6 @@ export declare class DocksFileBrowser extends DocksPart {
45
56
  private setupDragAndDrop;
46
57
  private handleWorkspaceDrop;
47
58
  private handleFilesDrop;
48
- private buildTargetPath;
49
59
  protected renderContent(): TemplateResult<1>;
50
60
  static styles: import('lit').CSSResult;
51
61
  }
@@ -54,4 +64,5 @@ declare global {
54
64
  'docks-filebrowser': DocksFileBrowser;
55
65
  }
56
66
  }
67
+ export {};
57
68
  //# sourceMappingURL=filebrowser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filebrowser.d.ts","sourceRoot":"","sources":["../../src/components/filebrowser.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,cAAc,EAAW,MAAM,KAAK,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACH,SAAS,EAET,QAAQ,EAKX,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,QAAQ,EAAsB,MAAM,oBAAoB,CAAC;AAkBlE,qBACa,gBAAiB,SAAQ,SAAS;IAE3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAkB;IACpE,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,IAAI,CAAC,CAAW;IACxB,OAAO,CAAC,YAAY,CAAC,CAAW;IAChC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,YAAY,CAAuB;IAC3C,gHAAgH;IAChH,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,0BAA0B,CAA4C;IAC9E,OAAO,CAAC,mBAAmB,CAAwB;IACnD,OAAO,CAAC,oBAAoB,CAAC,CAAkB;IAE/C,SAAS,CAAC,UAAU;IAapB,oBAAoB;IAWpB,SAAS,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAK1D,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;YAOvC,mBAAmB;IAKjC,SAAS,CAAC,aAAa;IAOvB,SAAS,CAAC,iBAAiB;IA6B3B,kBAAkB,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS;YAcxC,oBAAoB;IAM5B,oBAAoB,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS;IAKxD,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,YAAY,UAAQ;YAuBpD,mBAAmB;YAOnB,4BAA4B;YAiC5B,cAAc;YAWd,0BAA0B;YAW1B,iBAAiB;IAWzB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,UAAQ,EAAE,oBAAoB,UAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwEnH,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,UAAQ,GAAG,cAAc;IAmDjE,OAAO,CAAC,WAAW;YAsDL,UAAU;YAOV,gBAAgB;IA6CxB,mBAAmB,CAAC,KAAK,EAAE,KAAK;IAmBtC,kBAAkB,CAAC,KAAK,EAAE,KAAK;IAoB/B,OAAO,CAAC,iBAAiB,CAAC,CAAc;IAExC,OAAO,CAAC,+BAA+B;IAsBvC,OAAO,CAAC,qBAAqB,CAK3B;IAEF,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,gBAAgB;YA+GV,mBAAmB;YAkHnB,eAAe;IAsC7B,OAAO,CAAC,eAAe;IAKvB,SAAS,CAAC,aAAa;IAavB,MAAM,CAAC,MAAM,0BA4EX;CACL;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,gBAAgB,CAAA;KACxC;CACJ"}
1
+ {"version":3,"file":"filebrowser.d.ts","sourceRoot":"","sources":["../../src/components/filebrowser.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,cAAc,EAAW,MAAM,KAAK,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACH,SAAS,EAET,QAAQ,EAKX,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,QAAQ,EAAsB,MAAM,oBAAoB,CAAC;AAmBlE,KAAK,aAAa,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;CACzB,CAAC;AAwBF,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAmChD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACvC,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,aAAa,EAAE,CAAC,CAgB1B;AAED,qBACa,gBAAiB,SAAQ,SAAS;IAE3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAkB;IACpE,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,IAAI,CAAC,CAAW;IACxB,OAAO,CAAC,YAAY,CAAC,CAAW;IAChC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,YAAY,CAAuB;IAC3C,gHAAgH;IAChH,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,0BAA0B,CAA4C;IAC9E,OAAO,CAAC,mBAAmB,CAAwB;IACnD,OAAO,CAAC,oBAAoB,CAAC,CAAkB;IAE/C,SAAS,CAAC,UAAU;IAapB,oBAAoB;IAWpB,SAAS,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAK1D,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;YAOvC,mBAAmB;IAKjC,SAAS,CAAC,aAAa;IAOvB,SAAS,CAAC,iBAAiB;IA6B3B,kBAAkB,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS;YAcxC,oBAAoB;IAM5B,oBAAoB,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS;IAKxD,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,YAAY,UAAQ;YAuBpD,mBAAmB;YAOnB,4BAA4B;YAiC5B,cAAc;YAWd,0BAA0B;YAW1B,iBAAiB;IAWzB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,UAAQ,EAAE,oBAAoB,UAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwEnH,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,UAAQ,GAAG,cAAc;IAmDjE,OAAO,CAAC,WAAW;YAsDL,UAAU;YAOV,gBAAgB;IA6CxB,mBAAmB,CAAC,KAAK,EAAE,KAAK;IAmBtC,kBAAkB,CAAC,KAAK,EAAE,KAAK;IAoB/B,OAAO,CAAC,iBAAiB,CAAC,CAAc;IAExC,OAAO,CAAC,+BAA+B;IAsBvC,OAAO,CAAC,qBAAqB,CAK3B;IAEF,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,gBAAgB;YAmHV,mBAAmB;YAqHnB,eAAe;IAuC7B,SAAS,CAAC,aAAa;IAavB,MAAM,CAAC,MAAM,0BA4EX;CACL;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,gBAAgB,CAAA;KACxC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/components/tasks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA8LhD,qBACa,UAAW,SAAQ,YAAY;IACxC,MAAM,CAAC,MAAM,0BAwCZ;IAED,SAAS,CAAC,UAAU;IAQpB,OAAO,CAAC,oBAAoB;IAI5B,SAAS,CAAC,MAAM;CAoBnB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,aAAa,EAAE,UAAU,CAAA;KAC5B;CACJ"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/components/tasks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA+LhD,qBACa,UAAW,SAAQ,YAAY;IACxC,MAAM,CAAC,MAAM,0BAwCZ;IAED,SAAS,CAAC,UAAU;IAQpB,OAAO,CAAC,oBAAoB;IAI5B,SAAS,CAAC,MAAM;CAoBnB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,aAAa,EAAE,UAAU,CAAA;KAC5B;CACJ"}
@@ -213,6 +213,7 @@ export declare class WorkspaceService {
213
213
  copyResource(src: Resource, destDir: Directory, options?: {
214
214
  move?: boolean;
215
215
  newName?: string;
216
+ onFile?: (targetPath: string) => void;
216
217
  }): Promise<void>;
217
218
  }
218
219
  export declare const workspaceService: WorkspaceService;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/core/filesys/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/core/filesys/common.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,11 @@ var DROP_FILES_HERE = "📁 Dateien hier ablegen";
11
11
  var OPEN_WITH = "Öffnen mit...";
12
12
  var FOLDER_LOAD_FAILED = "Ordner konnte nicht geladen werden: {detail}";
13
13
  var FOLDER_UNAVAILABLE = "Dieser Arbeitsbereichsordner ist nicht verfügbar: {detail}";
14
+ var UNKNOWN_BACKEND = "unbekannt";
15
+ var DND_CROSS_CONNECTION_CONFIRM = "{count} Element(e) von \"{srcBackend}\" nach \"{destBackend}\" kopieren?";
16
+ var DROP_UPLOAD_TASK = "Abgelegte Dateien werden hochgeladen";
17
+ var DROP_SCANNING = "Wird durchsucht... {count} Datei(en) gefunden";
18
+ var DROP_COPY_TASK = "Abgelegte Elemente werden kopiert";
14
19
  var filebrowser_de_default = {
15
20
  CONNECT_WORKSPACE,
16
21
  REFRESH_RESOURCE,
@@ -23,9 +28,14 @@ var filebrowser_de_default = {
23
28
  DROP_FILES_HERE,
24
29
  OPEN_WITH,
25
30
  FOLDER_LOAD_FAILED,
26
- FOLDER_UNAVAILABLE
31
+ FOLDER_UNAVAILABLE,
32
+ UNKNOWN_BACKEND,
33
+ DND_CROSS_CONNECTION_CONFIRM,
34
+ DROP_UPLOAD_TASK,
35
+ DROP_SCANNING,
36
+ DROP_COPY_TASK
27
37
  };
28
38
  //#endregion
29
- export { CONNECT_WORKSPACE, CREATE_NEW, DROP_FILES_HERE, FILE, FILE_EXISTS_OVERWRITE, FOLDER, FOLDER_LOAD_FAILED, FOLDER_UNAVAILABLE, OPEN, OPEN_WITH, REFRESH_RESOURCE, SELECT_WORKSPACE, filebrowser_de_default as default };
39
+ export { CONNECT_WORKSPACE, CREATE_NEW, DND_CROSS_CONNECTION_CONFIRM, DROP_COPY_TASK, DROP_FILES_HERE, DROP_SCANNING, DROP_UPLOAD_TASK, FILE, FILE_EXISTS_OVERWRITE, FOLDER, FOLDER_LOAD_FAILED, FOLDER_UNAVAILABLE, OPEN, OPEN_WITH, REFRESH_RESOURCE, SELECT_WORKSPACE, UNKNOWN_BACKEND, filebrowser_de_default as default };
30
40
 
31
- //# sourceMappingURL=filebrowser.de-LWsrI9xj.js.map
41
+ //# sourceMappingURL=filebrowser.de-BfFcNr19.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filebrowser.de-LWsrI9xj.js","names":[],"sources":["../src/components/filebrowser.de.json"],"sourcesContent":["{\n \"CONNECT_WORKSPACE\": \"Arbeitsbereich verbinden...\",\n \"REFRESH_RESOURCE\": \"Ressource aktualisieren\",\n \"CREATE_NEW\": \"Neu erstellen...\",\n \"OPEN\": \"Öffnen\",\n \"FILE\": \"Datei\",\n \"FOLDER\": \"Ordner\",\n \"FILE_EXISTS_OVERWRITE\": \"Die Datei \\\"{fileName}\\\" existiert bereits. Möchten Sie sie überschreiben?\",\n \"SELECT_WORKSPACE\": \"Wählen Sie einen Arbeitsbereich aus.\",\n \"DROP_FILES_HERE\": \"📁 Dateien hier ablegen\",\n \"OPEN_WITH\": \"Öffnen mit...\",\n \"FOLDER_LOAD_FAILED\": \"Ordner konnte nicht geladen werden: {detail}\",\n \"FOLDER_UNAVAILABLE\": \"Dieser Arbeitsbereichsordner ist nicht verfügbar: {detail}\"\n}\n"],"mappings":""}
1
+ {"version":3,"file":"filebrowser.de-BfFcNr19.js","names":[],"sources":["../src/components/filebrowser.de.json"],"sourcesContent":["{\n \"CONNECT_WORKSPACE\": \"Arbeitsbereich verbinden...\",\n \"REFRESH_RESOURCE\": \"Ressource aktualisieren\",\n \"CREATE_NEW\": \"Neu erstellen...\",\n \"OPEN\": \"Öffnen\",\n \"FILE\": \"Datei\",\n \"FOLDER\": \"Ordner\",\n \"FILE_EXISTS_OVERWRITE\": \"Die Datei \\\"{fileName}\\\" existiert bereits. Möchten Sie sie überschreiben?\",\n \"SELECT_WORKSPACE\": \"Wählen Sie einen Arbeitsbereich aus.\",\n \"DROP_FILES_HERE\": \"📁 Dateien hier ablegen\",\n \"OPEN_WITH\": \"Öffnen mit...\",\n \"FOLDER_LOAD_FAILED\": \"Ordner konnte nicht geladen werden: {detail}\",\n \"FOLDER_UNAVAILABLE\": \"Dieser Arbeitsbereichsordner ist nicht verfügbar: {detail}\",\n \"UNKNOWN_BACKEND\": \"unbekannt\",\n \"DND_CROSS_CONNECTION_CONFIRM\": \"{count} Element(e) von \\\"{srcBackend}\\\" nach \\\"{destBackend}\\\" kopieren?\",\n \"DROP_UPLOAD_TASK\": \"Abgelegte Dateien werden hochgeladen\",\n \"DROP_SCANNING\": \"Wird durchsucht... {count} Datei(en) gefunden\",\n \"DROP_COPY_TASK\": \"Abgelegte Elemente werden kopiert\"\n}\n"],"mappings":""}
@@ -11,6 +11,11 @@ var DROP_FILES_HERE = "📁 Drop files here";
11
11
  var OPEN_WITH = "Open with...";
12
12
  var FOLDER_LOAD_FAILED = "Failed to load folder: {detail}";
13
13
  var FOLDER_UNAVAILABLE = "This workspace folder is unavailable: {detail}";
14
+ var UNKNOWN_BACKEND = "unknown";
15
+ var DND_CROSS_CONNECTION_CONFIRM = "Copy {count} item(s) from \"{srcBackend}\" to \"{destBackend}\"?";
16
+ var DROP_UPLOAD_TASK = "Uploading dropped files";
17
+ var DROP_SCANNING = "Scanning... {count} file(s) found";
18
+ var DROP_COPY_TASK = "Copying dropped items";
14
19
  var filebrowser_en_default = {
15
20
  CONNECT_WORKSPACE,
16
21
  REFRESH_RESOURCE,
@@ -23,9 +28,14 @@ var filebrowser_en_default = {
23
28
  DROP_FILES_HERE,
24
29
  OPEN_WITH,
25
30
  FOLDER_LOAD_FAILED,
26
- FOLDER_UNAVAILABLE
31
+ FOLDER_UNAVAILABLE,
32
+ UNKNOWN_BACKEND,
33
+ DND_CROSS_CONNECTION_CONFIRM,
34
+ DROP_UPLOAD_TASK,
35
+ DROP_SCANNING,
36
+ DROP_COPY_TASK
27
37
  };
28
38
  //#endregion
29
- export { CONNECT_WORKSPACE, CREATE_NEW, DROP_FILES_HERE, FILE, FILE_EXISTS_OVERWRITE, FOLDER, FOLDER_LOAD_FAILED, FOLDER_UNAVAILABLE, OPEN, OPEN_WITH, REFRESH_RESOURCE, SELECT_WORKSPACE, filebrowser_en_default as default };
39
+ export { CONNECT_WORKSPACE, CREATE_NEW, DND_CROSS_CONNECTION_CONFIRM, DROP_COPY_TASK, DROP_FILES_HERE, DROP_SCANNING, DROP_UPLOAD_TASK, FILE, FILE_EXISTS_OVERWRITE, FOLDER, FOLDER_LOAD_FAILED, FOLDER_UNAVAILABLE, OPEN, OPEN_WITH, REFRESH_RESOURCE, SELECT_WORKSPACE, UNKNOWN_BACKEND, filebrowser_en_default as default };
30
40
 
31
- //# sourceMappingURL=filebrowser.en-C02vpzAs.js.map
41
+ //# sourceMappingURL=filebrowser.en-CLd5Mccb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filebrowser.en-C02vpzAs.js","names":[],"sources":["../src/components/filebrowser.en.json"],"sourcesContent":["{\n \"CONNECT_WORKSPACE\": \"Connect Workspace...\",\n \"REFRESH_RESOURCE\": \"Refresh resource\",\n \"CREATE_NEW\": \"Create new...\",\n \"OPEN\": \"Open\",\n \"FILE\": \"File\",\n \"FOLDER\": \"Folder\",\n \"FILE_EXISTS_OVERWRITE\": \"File \\\"{fileName}\\\" already exists. Do you want to overwrite it?\",\n \"SELECT_WORKSPACE\": \"Select a workspace.\",\n \"DROP_FILES_HERE\": \"📁 Drop files here\",\n \"OPEN_WITH\": \"Open with...\",\n \"FOLDER_LOAD_FAILED\": \"Failed to load folder: {detail}\",\n \"FOLDER_UNAVAILABLE\": \"This workspace folder is unavailable: {detail}\"\n}\n"],"mappings":""}
1
+ {"version":3,"file":"filebrowser.en-CLd5Mccb.js","names":[],"sources":["../src/components/filebrowser.en.json"],"sourcesContent":["{\n \"CONNECT_WORKSPACE\": \"Connect Workspace...\",\n \"REFRESH_RESOURCE\": \"Refresh resource\",\n \"CREATE_NEW\": \"Create new...\",\n \"OPEN\": \"Open\",\n \"FILE\": \"File\",\n \"FOLDER\": \"Folder\",\n \"FILE_EXISTS_OVERWRITE\": \"File \\\"{fileName}\\\" already exists. Do you want to overwrite it?\",\n \"SELECT_WORKSPACE\": \"Select a workspace.\",\n \"DROP_FILES_HERE\": \"📁 Drop files here\",\n \"OPEN_WITH\": \"Open with...\",\n \"FOLDER_LOAD_FAILED\": \"Failed to load folder: {detail}\",\n \"FOLDER_UNAVAILABLE\": \"This workspace folder is unavailable: {detail}\",\n \"UNKNOWN_BACKEND\": \"unknown\",\n \"DND_CROSS_CONNECTION_CONFIRM\": \"Copy {count} item(s) from \\\"{srcBackend}\\\" to \\\"{destBackend}\\\"?\",\n \"DROP_UPLOAD_TASK\": \"Uploading dropped files\",\n \"DROP_SCANNING\": \"Scanning... {count} file(s) found\",\n \"DROP_COPY_TASK\": \"Copying dropped items\"\n}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { t as FileSysDirHandleResource } from "./fs-access-CrktZo-_.js";
2
+ export { FileSysDirHandleResource };
@@ -583,6 +583,7 @@ var WorkspaceService = class WorkspaceService {
583
583
  const destDirPath = destDir.getWorkspacePath();
584
584
  const targetBasePath = destDirPath ? `${destDirPath}/${targetName}` : targetName;
585
585
  const copyFileToPath = async (file, targetPath) => {
586
+ options?.onFile?.(targetPath);
586
587
  const contents = await file.getContents({ blob: true });
587
588
  const targetFile = await workspace.getResource(targetPath, { create: true });
588
589
  if (!targetFile) throw new Error(`Failed to create target file: ${targetPath}`);
@@ -812,4 +813,4 @@ workspaceService.registerContribution({
812
813
  //#endregion
813
814
  export { File as a, StringFile as c, UnavailableWorkspaceFolderDirectory as d, WorkspaceService as f, Directory as i, TOPIC_WORKSPACE_CHANGED as l, persistenceService as m, FileSysFileHandleResource as n, FileContentType as o, workspaceService as p, CompositeDirectory as r, Resource as s, FileSysDirHandleResource as t, TOPIC_WORKSPACE_CONNECTED as u };
814
815
 
815
- //# sourceMappingURL=fs-access-Cjcg0_Me.js.map
816
+ //# sourceMappingURL=fs-access-CrktZo-_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-access-CrktZo-_.js","names":[],"sources":["../src/core/persistenceservice.ts","../src/core/filesys/common.ts","../src/core/filesys/fs-access.ts"],"sourcesContent":["import {rootContext} from \"./di\";\n\nconst DB_NAME = 'eclipse-docks-persistence';\nconst STORE_NAME = 'keyval';\nconst DB_VERSION = 1;\n\nlet dbPromise: Promise<IDBDatabase> | null = null;\n\nfunction getDB(): Promise<IDBDatabase> {\n if (!dbPromise) {\n dbPromise = new Promise((resolve, reject) => {\n const request = indexedDB.open(DB_NAME, DB_VERSION);\n request.onerror = () => reject(request.error);\n request.onsuccess = () => resolve(request.result);\n request.onupgradeneeded = (e) => {\n (e.target as IDBOpenDBRequest).result.createObjectStore(STORE_NAME);\n };\n });\n }\n return dbPromise;\n}\n\nexport class PersistenceService {\n /**\n * Persists a value under the given key. When value is null or undefined,\n * the entry for that key is removed (delete semantics).\n */\n async persistObject(key: string, value: unknown): Promise<void> {\n const db = await getDB();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(STORE_NAME, 'readwrite');\n const store = tx.objectStore(STORE_NAME);\n const req =\n value === null || value === undefined\n ? store.delete(key)\n : store.put(value, key);\n req.onsuccess = () => resolve();\n req.onerror = () => reject(req.error);\n });\n }\n\n async getObject(key: string): Promise<any> {\n const db = await getDB();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(STORE_NAME, 'readonly');\n const req = tx.objectStore(STORE_NAME).get(key);\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n });\n }\n}\n\nexport const persistenceService = new PersistenceService();\nrootContext.put(\"persistenceService\", persistenceService);\n","import { persistenceService } from \"../persistenceservice\";\nimport { publish } from \"../events\";\nimport { rootContext } from \"../di\";\nimport { createLogger } from \"../logger\";\n\nexport const TOPIC_WORKSPACE_CHANGED = \"events/filesys/workspaceChanged\"\nexport const TOPIC_WORKSPACE_CONNECTED = \"events/filesys/workspaceConnected\"\n\nconst logger = createLogger('WorkspaceService');\n\nexport abstract class Resource {\n public state: { [p: string]: any } = {};\n\n public abstract getName(): string;\n\n public abstract getParent(): Directory | undefined;\n\n public abstract delete(name?: string, recursive?: boolean): Promise<void>;\n\n public abstract copyTo(targetPath: string): Promise<void>;\n\n public abstract rename(newName: string): Promise<void>;\n\n public getWorkspacePath(): string {\n const paths: string[] = []\n let current: Resource | undefined = this\n let root: Directory | undefined\n while (current) {\n paths.push(current.getName())\n const parent = current.getParent()\n if (!parent) root = current as Directory\n current = parent\n }\n paths.reverse()\n const workspace = typeof workspaceService?.getWorkspaceSync === 'function' ? workspaceService.getWorkspaceSync() : undefined\n if (workspace && root && 'isDirectChild' in workspace && typeof (workspace as any).isDirectChild === 'function' && (workspace as any).isDirectChild(root)) {\n const folderName = (workspace as any).getFolderNameForDirectory(root)\n if (folderName && paths.length > 0) return paths.length > 1 ? folderName + '/' + paths.slice(1).join('/') : folderName\n }\n paths.shift()\n return paths.join(\"/\");\n }\n\n public getWorkspace(): Directory {\n let current: Resource | undefined = this\n while (current) {\n const parent: any = current.getParent()\n if (parent) {\n current = parent\n } else {\n break\n }\n }\n return current as Directory\n }\n}\n\nexport const resourceComparator = (c1: Resource, c2: Resource) => {\n if (c1 instanceof Directory && c2 instanceof File) {\n return -1\n }\n if (c1 instanceof File && c2 instanceof Directory) {\n return 1\n }\n return c1.getName().localeCompare(c2.getName())\n}\n\nexport enum FileContentType {\n TEXT, BINARY\n}\n\nexport enum FileContentEncoding {\n BASE64\n}\n\n/**\n * Options for reading file contents. Backend implementors are encouraged to\n * preserve MIME information when possible – for example, by returning the\n * native Blob from remote HTTP/WebDAV responses (via response.blob()) and\n * passing it through unchanged for { blob: true } / { uri: true } usages,\n * instead of recreating typeless Blobs from raw ArrayBuffers.\n */\nexport interface FileContentsOptions {\n contentType?: FileContentType;\n encoding?: FileContentEncoding;\n uri?: boolean;\n blob?: boolean;\n}\n\nexport interface GetResourceOptions {\n /**\n * When true, missing path segments MUST be created.\n *\n * Creation intent is encoded in the path:\n * - `path` without trailing slash => file intent for the last segment\n * - `path/` with trailing slash => directory intent for the last segment\n *\n * Backend implementations MUST preserve this behavior so callers (e.g. `mkdir`)\n * can force directory creation consistently across all backends.\n */\n create?: boolean\n}\n\nexport abstract class File extends Resource {\n public abstract getContents(options?: FileContentsOptions): Promise<any>;\n\n public abstract saveContents(contents: any, options?: FileContentsOptions): Promise<void>;\n\n public abstract size(): Promise<number | null>;\n}\n\nexport abstract class Directory extends Resource {\n public abstract listChildren(forceRefresh: boolean): Promise<Resource[]>;\n\n /**\n * Resolve a resource relative to this directory.\n *\n * Contract for backend implementations:\n * - Empty/invalid input should throw (or return null by backend convention).\n * - With `{ create: true }`, missing segments must be created.\n * - Trailing slash (`path.endsWith('/')`) means directory intent for final segment.\n * - No trailing slash means file intent for final segment when creation is needed.\n * - If the resolved/created resource type conflicts with intent, return null.\n * - If creation mutates workspace contents, publish `TOPIC_WORKSPACE_CHANGED`.\n */\n public abstract getResource(path: string, options?: GetResourceOptions): Promise<Resource | null>;\n\n public abstract touch(): void;\n}\n\nexport class StringFile extends File {\n private contents: string;\n private name: string;\n\n constructor(contents: string, name: string) {\n super();\n this.contents = contents\n this.name = name\n }\n\n async getContents(_options?: FileContentsOptions): Promise<any> {\n return this.contents\n }\n\n async saveContents(contents: any, _options?: FileContentsOptions): Promise<void> {\n this.contents = contents\n }\n\n async size(): Promise<number | null> {\n return this.contents.length || null;\n }\n\n async copyTo(_targetPath: string): Promise<void> {\n throw Error(`Not supported`);\n }\n\n delete(_name?: string, _recursive?: boolean): Promise<void> {\n throw Error(`Not supported`);\n }\n\n async rename(_newName: string): Promise<void> {\n throw Error(`Not supported`);\n }\n\n getName(): string {\n return this.name;\n }\n\n getParent(): Directory | undefined {\n return undefined;\n }\n}\n\nexport interface ResourceMap {\n [key: string]: Resource;\n}\n\n\nexport class CompositeDirectory extends Directory {\n private readonly entriesByName: Map<string, Directory>;\n\n constructor(\n directories: Directory[],\n private readonly displayName: string = '/'\n ) {\n super();\n this.entriesByName = new Map(directories.map(d => [d.getName(), d]));\n }\n\n getFolderNameForDirectory(dir: Directory): string | undefined {\n for (const [name, d] of this.entriesByName) {\n if (d === dir) return name;\n }\n return undefined;\n }\n\n isDirectChild(dir: Directory): boolean {\n return this.getFolderNameForDirectory(dir) !== undefined;\n }\n\n getName(): string {\n return this.displayName;\n }\n\n getParent(): Directory | undefined {\n return undefined;\n }\n\n async listChildren(_forceRefresh: boolean): Promise<Resource[]> {\n return Array.from(this.entriesByName.values());\n }\n\n async getResource(path: string, options?: GetResourceOptions): Promise<Resource | null> {\n const normalized = path?.replace(/^\\/+/, \"\").trim();\n if (!normalized) {\n return null;\n }\n const idx = normalized.indexOf('/');\n const folderName = idx >= 0 ? normalized.slice(0, idx).trim() : normalized.trim();\n const rest = idx >= 0 ? normalized.slice(idx + 1).trim() : '';\n const dir = this.entriesByName.get(folderName);\n if (!dir) {\n return null;\n }\n if (!rest) {\n return dir;\n }\n return dir.getResource(rest, options);\n }\n\n touch(): void {\n for (const dir of this.entriesByName.values()) {\n dir.touch();\n }\n }\n\n async delete(_name?: string, _recursive?: boolean): Promise<void> {\n throw new Error('Delete not supported on workspace root');\n }\n\n async copyTo(_targetPath: string): Promise<void> {\n throw new Error('Copy not supported on workspace root');\n }\n\n async rename(_newName: string): Promise<void> {\n throw new Error('Rename not supported on workspace root');\n }\n\n getFolderByName(name: string): Directory | undefined {\n return this.entriesByName.get(name);\n }\n}\n\n/**\n * Placeholder directory used when a persisted workspace folder references\n * a backend type for which no contribution is currently registered.\n *\n * This allows the UI to surface a metadata node instead of silently\n * dropping the folder, and it can be replaced later once the real\n * contribution is loaded.\n */\nexport class MissingContributionDirectory extends Directory {\n private readonly backendType: string;\n private readonly persistedData: any;\n private readonly name: string;\n\n constructor(options: { backendType: string; name: string; data: any }) {\n super();\n this.backendType = options.backendType;\n this.persistedData = options.data;\n this.name = options.name;\n }\n\n getName(): string {\n return this.name;\n }\n\n getParent(): Directory | undefined {\n return undefined;\n }\n\n async listChildren(_forceRefresh: boolean): Promise<Resource[]> {\n return [];\n }\n\n async getResource(_path: string, _options?: GetResourceOptions): Promise<Resource | null> {\n throw new Error(`Workspace backend \"${this.backendType}\" is not available in this environment.`);\n }\n\n touch(): void {\n // No-op: without a real backend there is nothing to refresh.\n }\n\n async delete(_name?: string, _recursive?: boolean): Promise<void> {\n throw new Error(`Cannot modify workspace folder for missing backend \"${this.backendType}\".`);\n }\n\n async copyTo(_targetPath: string): Promise<void> {\n throw new Error(`Cannot copy from workspace folder for missing backend \"${this.backendType}\".`);\n }\n\n async rename(_newName: string): Promise<void> {\n throw new Error(`Cannot rename workspace folder for missing backend \"${this.backendType}\".`);\n }\n}\n\nfunction workspaceFolderDisplayNameFromPersisted(folder: { type: string; data: any }): string {\n const fromData =\n folder.data && typeof folder.data === 'object' && (folder.data as { name?: string }).name;\n if (typeof fromData === 'string' && fromData.length > 0) {\n return fromData;\n }\n return folder.type;\n}\n\nfunction formatRestoreFailureReason(error: unknown): string {\n if (error instanceof Error && error.message.trim()) {\n return error.message;\n }\n return 'Could not connect to this workspace folder.';\n}\n\nconst RESTORE_RETURNED_NOTHING = 'Could not restore this workspace folder.';\n\n/**\n * Placeholder when a contribution exists but restore/connect cannot produce a usable root\n * (network, auth, invalid persisted data). Treated like {@link MissingContributionDirectory}\n * for late registration retries via {@link isWorkspaceFolderPlaceholder}.\n */\nexport class UnavailableWorkspaceFolderDirectory extends Directory {\n private readonly backendType: string;\n private readonly name: string;\n private readonly reason: string;\n\n constructor(options: { backendType: string; name: string; data: any; reason: string }) {\n super();\n this.backendType = options.backendType;\n this.name = options.name;\n this.reason = options.reason;\n }\n\n getFailureReason(): string {\n return this.reason;\n }\n\n getName(): string {\n return this.name;\n }\n\n getParent(): Directory | undefined {\n return undefined;\n }\n\n async listChildren(_forceRefresh: boolean): Promise<Resource[]> {\n return [];\n }\n\n async getResource(_path: string, _options?: GetResourceOptions): Promise<Resource | null> {\n throw new Error(\n `Workspace folder \"${this.name}\" (${this.backendType}) is unavailable: ${this.reason}`\n );\n }\n\n touch(): void {\n // No-op\n }\n\n async delete(_name?: string, _recursive?: boolean): Promise<void> {\n throw new Error(`Cannot modify unavailable workspace folder \"${this.name}\" (${this.backendType}).`);\n }\n\n async copyTo(_targetPath: string): Promise<void> {\n throw new Error(`Cannot copy from unavailable workspace folder \"${this.name}\" (${this.backendType}).`);\n }\n\n async rename(_newName: string): Promise<void> {\n throw new Error(`Cannot rename unavailable workspace folder \"${this.name}\" (${this.backendType}).`);\n }\n}\n\nexport function isWorkspaceFolderPlaceholder(directory: Directory): boolean {\n return (\n directory instanceof MissingContributionDirectory ||\n directory instanceof UnavailableWorkspaceFolderDirectory\n );\n}\n\n/**\n * Runs a contribution's restore; returns a real directory or an {@link UnavailableWorkspaceFolderDirectory}.\n * Invokes onCaughtError only when restore threw (not when it returned undefined).\n */\nasync function restorePersistedFolderToDirectory(\n type: string,\n data: any,\n restore: (data: any) => Promise<Directory | undefined>,\n onCaughtError?: (error: unknown) => void\n): Promise<Directory> {\n const displayName = workspaceFolderDisplayNameFromPersisted({ type, data });\n try {\n const dir = await restore(data);\n if (dir) {\n return dir;\n }\n return new UnavailableWorkspaceFolderDirectory({\n backendType: type,\n name: displayName,\n data,\n reason: RESTORE_RETURNED_NOTHING\n });\n } catch (error) {\n onCaughtError?.(error);\n return new UnavailableWorkspaceFolderDirectory({\n backendType: type,\n name: displayName,\n data,\n reason: formatRestoreFailureReason(error)\n });\n }\n}\n\nexport interface WorkspaceContribution {\n type: string;\n name: string;\n canHandle(input: any): boolean;\n connect(input: any): Promise<Directory>;\n restore?(data: any): Promise<Directory | undefined>;\n persist?(workspace: Directory): Promise<any>;\n}\n\ninterface PersistedWorkspaceData {\n type?: string;\n data?: any;\n folders?: Array<{ type: string; data: any }>;\n}\n\nconst LEGACY_WORKSPACE_KEY = \"workspace_data\";\n\nexport class WorkspaceService {\n private workspace?: Promise<Directory | undefined>;\n private _currentWorkspace: Directory | undefined = undefined;\n private folders: Array<{ type: string; data: any; directory: Directory }> = [];\n private currentType?: string;\n private contributions: Map<string, WorkspaceContribution> = new Map();\n private initPromise: Promise<void>;\n private restoredTypes: Set<string> = new Set();\n\n getWorkspaceSync(): Directory | undefined {\n return this._currentWorkspace;\n }\n\n constructor() {\n let resolveInit!: () => void;\n this.initPromise = new Promise<void>((resolve) => {\n resolveInit = resolve;\n });\n this.loadPersistedWorkspace(resolveInit);\n }\n\n registerContribution(contribution: WorkspaceContribution): void {\n this.contributions.set(contribution.type, contribution);\n void this.tryRestoreForContribution(contribution);\n }\n\n getContributions(): WorkspaceContribution[] {\n return Array.from(this.contributions.values());\n }\n\n private static readonly DEFAULT_INDEXEDDB_FOLDER_NAME = 'My Folder';\n\n private async tryRestoreForContribution(contribution: WorkspaceContribution): Promise<void> {\n await this.initPromise;\n\n if (this.restoredTypes.has(contribution.type)) {\n return;\n }\n\n const existingForType = this.folders.filter(f => f.type === contribution.type);\n const hasRealFoldersForType = existingForType.some(f => !isWorkspaceFolderPlaceholder(f.directory));\n if (hasRealFoldersForType) {\n this.restoredTypes.add(contribution.type);\n return;\n }\n\n const raw = await persistenceService.getObject(LEGACY_WORKSPACE_KEY) as PersistedWorkspaceData | null;\n if (!raw?.folders || !Array.isArray(raw.folders)) {\n this.restoredTypes.add(contribution.type);\n return;\n }\n\n const toRestore = raw.folders.filter(f => f.type === contribution.type);\n if (toRestore.length === 0) {\n this.restoredTypes.add(contribution.type);\n return;\n }\n\n // Remove any placeholder folders for this type; we'll replace them with\n // real directories if restoration succeeds.\n this.folders = this.folders.filter(\n f => !(f.type === contribution.type && isWorkspaceFolderPlaceholder(f.directory))\n );\n\n for (const folder of toRestore) {\n if (!contribution.restore) {\n continue;\n }\n\n const directory = await restorePersistedFolderToDirectory(\n contribution.type,\n folder.data,\n contribution.restore,\n (error) =>\n logger.warn(\n `Failed to restore folder (${contribution.type}) on contribution registration:`,\n error\n )\n );\n this.folders.push({ type: contribution.type, data: folder.data, directory });\n }\n\n if (this.folders.length === 0) {\n this.restoredTypes.add(contribution.type);\n return;\n }\n\n const composite = this.buildComposite();\n this.workspace = Promise.resolve(composite);\n this._currentWorkspace = composite ?? undefined;\n await this.persistFolders();\n if (composite) {\n publish(TOPIC_WORKSPACE_CONNECTED, composite);\n logger.debug(`Workspace folders restored for contribution type: ${contribution.type}`);\n }\n\n this.restoredTypes.add(contribution.type);\n }\n\n private async loadPersistedWorkspace(resolveInit: () => void): Promise<void> {\n logger.debug('Restoring workspace from persistence');\n try {\n const raw = await persistenceService.getObject(LEGACY_WORKSPACE_KEY) as PersistedWorkspaceData | null;\n if (!raw) {\n this.workspace = Promise.resolve(undefined);\n this._currentWorkspace = undefined;\n }\n\n if (raw?.folders && Array.isArray(raw.folders) && raw.folders.length > 0) {\n const normalized = raw.folders.map((f: { type: string; data: any }) => ({ type: f.type, data: f.data }));\n await this.resolveFolders(normalized);\n const composite = this.buildComposite();\n this.workspace = Promise.resolve(composite);\n this._currentWorkspace = composite ?? undefined;\n if (composite) {\n publish(TOPIC_WORKSPACE_CONNECTED, composite);\n logger.debug('Workspace restored from persisted folders');\n }\n resolveInit();\n return;\n }\n\n if (raw && raw.type && raw.data !== undefined) {\n const contribution = this.contributions.get(raw.type);\n if (contribution?.restore) {\n try {\n const dir = await contribution.restore!(raw.data);\n if (dir) {\n this.folders = [{ type: raw.type, data: raw.data, directory: dir }];\n const comp = this.buildComposite();\n this.workspace = Promise.resolve(comp);\n this._currentWorkspace = comp ?? undefined;\n this.currentType = raw.type;\n await this.persistFolders();\n publish(TOPIC_WORKSPACE_CONNECTED, comp);\n logger.debug('Workspace restored from legacy format');\n }\n } catch (error) {\n logger.error('Failed to restore legacy workspace:', error);\n }\n }\n }\n if (!this.workspace) {\n this.workspace = Promise.resolve(undefined);\n this._currentWorkspace = undefined;\n }\n\n resolveInit();\n } finally {\n if (this.folders.length === 0) {\n try {\n await this.connectFolder({ indexeddb: true, name: WorkspaceService.DEFAULT_INDEXEDDB_FOLDER_NAME });\n logger.debug('Connected default IndexedDB workspace');\n } catch (e) {\n logger.warn('Failed to connect default IndexedDB folder', e);\n }\n }\n }\n }\n\n private async resolveFolders(persisted: Array<{ type: string; data: any }>): Promise<void> {\n this.folders = [];\n for (const folder of persisted) {\n const contribution = this.contributions.get(folder.type);\n if (!contribution?.restore) {\n const displayName =\n (folder.data && typeof folder.data === 'object' && (folder.data as any).name) ||\n `${folder.type} (missing)`;\n const placeholder = new MissingContributionDirectory({\n backendType: folder.type,\n name: displayName,\n data: folder.data\n });\n this.folders.push({ type: folder.type, data: folder.data, directory: placeholder });\n continue;\n }\n const directory = await restorePersistedFolderToDirectory(\n folder.type,\n folder.data,\n contribution.restore,\n (error) => logger.warn(`Failed to restore folder (${folder.type}):`, error)\n );\n this.folders.push({ type: folder.type, data: folder.data, directory });\n }\n }\n\n private buildComposite(): CompositeDirectory | undefined {\n if (this.folders.length === 0) {\n return undefined;\n }\n return new CompositeDirectory(this.folders.map(f => f.directory));\n }\n\n private async persistFolders(): Promise<void> {\n const toPersist = this.folders.length > 0\n ? { folders: this.folders.map(f => ({ type: f.type, data: f.data })) }\n : null;\n await persistenceService.persistObject(LEGACY_WORKSPACE_KEY, toPersist);\n await persistenceService.persistObject(\"workspace\", null);\n logger.debug(`Persisted ${this.folders.length} folder(s)`);\n }\n\n async getFolders(): Promise<Array<{ name: string; type: string }>> {\n await this.initPromise;\n return this.folders.map(f => ({ name: f.directory.getName(), type: f.type }));\n }\n\n async getFolderInfoForDirectory(directory: Directory): Promise<{ name: string; type: string; backendName: string } | undefined> {\n await this.initPromise;\n const folder = this.folders.find(f => f.directory === directory);\n if (!folder) {\n return undefined;\n }\n const name =\n (folder.data && typeof folder.data === 'object' && (folder.data as any).name) ||\n folder.directory.getName();\n const contribution = this.contributions.get(folder.type);\n const backendName = contribution?.name ?? folder.type;\n return { name, type: folder.type, backendName };\n }\n\n /**\n * Whether {@link resource} still belongs to the current workspace (walks up to the backend root).\n * After {@link disconnectFolder}, the root is no longer listed, so in-flight listChildren errors can be ignored.\n */\n async isResourceInCurrentWorkspace(resource: Resource): Promise<boolean> {\n await this.initPromise;\n let current: Resource | undefined = resource;\n while (current) {\n const parent = current.getParent();\n if (!parent) {\n if (!(current instanceof Directory)) {\n return false;\n }\n return this.folders.some(f => f.directory === current);\n }\n current = parent;\n }\n return false;\n }\n\n /**\n * Update persisted metadata for a workspace root directory.\n * Currently used to keep display names of roots (e.g. IndexedDB) in sync\n * with their in-memory Directory instances.\n */\n async updateFolderName(directory: Directory, name: string): Promise<void> {\n await this.initPromise;\n const folder = this.folders.find(f => f.directory === directory);\n if (!folder) {\n return;\n }\n if (folder.data && typeof folder.data === 'object') {\n folder.data = { ...(folder.data as any), name };\n } else {\n folder.data = { name };\n }\n await this.persistFolders();\n const composite = this.buildComposite();\n this.workspace = Promise.resolve(composite);\n this._currentWorkspace = composite ?? undefined;\n publish(TOPIC_WORKSPACE_CONNECTED, composite);\n logger.debug(`Updated folder name: ${name}`);\n }\n\n async connectFolder(input: any): Promise<Directory> {\n await this.initPromise;\n const contribution = Array.from(this.contributions.values()).find(c => c.canHandle(input));\n if (!contribution) {\n throw new Error('No workspace contribution can handle this input');\n }\n const name = (input?.name as string) ?? contribution.type;\n logger.debug(`Connecting workspace: ${contribution.type}, ${name}`);\n const directory = await contribution.connect(input);\n const data = contribution.persist ? await contribution.persist(directory) : input;\n this.folders.push({ type: contribution.type, data, directory });\n await this.persistFolders();\n this.currentType = this.folders.length === 1 ? contribution.type : undefined;\n const composite = this.buildComposite()!;\n this.workspace = Promise.resolve(composite);\n this._currentWorkspace = composite;\n publish(TOPIC_WORKSPACE_CONNECTED, composite);\n const displayName = directory.getName();\n logger.info(`Workspace connected: ${contribution.type} (${displayName})`);\n return composite;\n }\n\n async disconnectFolder(directory: Directory): Promise<void> {\n await this.initPromise;\n const idx = this.folders.findIndex(f => f.directory === directory);\n if (idx < 0) {\n return;\n }\n const folder = this.folders[idx];\n logger.debug(`Disconnecting folder: ${folder.directory.getName()} (${folder.type})`);\n this.folders.splice(idx, 1);\n await this.persistFolders();\n if (this.folders.length > 0) {\n this.currentType = this.folders[0].type;\n } else {\n this.currentType = undefined;\n logger.info('Workspace disconnected');\n }\n const composite = this.buildComposite();\n this.workspace = Promise.resolve(composite);\n this._currentWorkspace = composite ?? undefined;\n publish(TOPIC_WORKSPACE_CONNECTED, composite);\n }\n\n async connectWorkspace(input: any): Promise<Directory> {\n return this.connectFolder(input);\n }\n\n public async getWorkspace(): Promise<Directory | undefined> {\n await this.initPromise;\n if (!this.workspace) {\n throw new Error('No workspace connected.');\n }\n return await this.workspace;\n }\n\n public isConnected(): boolean {\n return this.folders.length > 0;\n }\n\n public getWorkspaceType(): string | undefined {\n return this.currentType;\n }\n\n public async disconnectWorkspace(): Promise<void> {\n await this.initPromise;\n this.workspace = Promise.resolve(undefined);\n this._currentWorkspace = undefined;\n this.folders = [];\n this.currentType = undefined;\n await this.persistFolders();\n publish(TOPIC_WORKSPACE_CONNECTED, undefined as any);\n logger.info('Workspace disconnected');\n }\n\n /**\n * Copy (and optionally move) a resource into a target directory within the\n * current workspace. This helper is connection-agnostic: it always resolves\n * paths via the composite workspace root so it can copy across different\n * backend folders.\n */\n public async copyResource(\n src: Resource,\n destDir: Directory,\n options?: { move?: boolean; newName?: string; onFile?: (targetPath: string) => void }\n ): Promise<void> {\n await this.initPromise;\n const workspace = this._currentWorkspace;\n if (!workspace) {\n throw new Error('No workspace connected.');\n }\n\n const targetName = options?.newName ?? src.getName();\n const destDirPath = destDir.getWorkspacePath();\n const targetBasePath = destDirPath ? `${destDirPath}/${targetName}` : targetName;\n\n const copyFileToPath = async (file: File, targetPath: string): Promise<void> => {\n options?.onFile?.(targetPath);\n const contents = await file.getContents({ blob: true });\n const targetFile = await workspace.getResource(targetPath, { create: true }) as File | null;\n if (!targetFile) {\n throw new Error(`Failed to create target file: ${targetPath}`);\n }\n await targetFile.saveContents(contents);\n };\n\n const copyDirectoryToPath = async (dir: Directory, targetPath: string): Promise<void> => {\n for (const child of await dir.listChildren(false)) {\n const childTargetPath = `${targetPath}/${child.getName()}`;\n if (child instanceof File) {\n await copyFileToPath(child, childTargetPath);\n } else if (child instanceof Directory) {\n await copyDirectoryToPath(child, childTargetPath);\n }\n }\n };\n\n if (src instanceof File) {\n await copyFileToPath(src, targetBasePath);\n } else if (src instanceof Directory) {\n await copyDirectoryToPath(src, targetBasePath);\n } else {\n throw new Error('Unsupported resource type for copy operation.');\n }\n\n if (options?.move) {\n await src.delete(undefined, true);\n }\n }\n}\n\nexport const workspaceService = new WorkspaceService();\nrootContext.put(\"workspaceService\", workspaceService);\n\n\n","import { publish } from \"../events\";\nimport {\n File,\n Directory,\n FileContentType,\n FileContentEncoding,\n type FileContentsOptions,\n type GetResourceOptions,\n type Resource,\n type ResourceMap,\n TOPIC_WORKSPACE_CHANGED,\n workspaceService,\n} from \"./common\";\n\nexport class FileSysFileHandleResource extends File {\n private fileHandle: FileSystemFileHandle;\n private parent: Directory;\n\n constructor(fileHandle: FileSystemFileHandle, parent: Directory) {\n super();\n this.fileHandle = fileHandle;\n this.parent = parent;\n }\n\n getName(): string {\n return this.fileHandle.name;\n }\n\n getParent(): Directory {\n return this.parent;\n }\n\n async delete() {\n return this.getParent().delete(this.getName());\n }\n\n async getContents(options?: FileContentsOptions): Promise<any> {\n const file = await this.fileHandle.getFile();\n\n if (!options || options?.contentType == FileContentType.TEXT) {\n return await file.text();\n }\n\n if (options?.encoding == FileContentEncoding.BASE64 || options?.uri) {\n return URL.createObjectURL(file);\n }\n\n if (options?.blob) {\n return file;\n }\n\n return file.stream();\n }\n\n async size(): Promise<number | null> {\n try {\n const file = await this.fileHandle.getFile();\n return file.size;\n } catch {\n return null;\n }\n }\n\n async saveContents(contents: any, _options?: FileContentsOptions): Promise<void> {\n const writable = await this.fileHandle.createWritable();\n\n if (contents && typeof contents.pipeTo === 'function') {\n await contents.pipeTo(writable);\n } else {\n const writer = writable.getWriter();\n try {\n await writer.write(contents);\n } finally {\n await writer.close();\n }\n }\n publish(TOPIC_WORKSPACE_CHANGED, workspaceService.getWorkspaceSync() ?? this.getWorkspace());\n }\n\n async copyTo(targetPath: string): Promise<void> {\n const contents = await this.getContents({ blob: true });\n const targetFile = await this.getWorkspace().getResource(targetPath, { create: true }) as File;\n await targetFile.saveContents(contents);\n }\n\n async rename(newName: string): Promise<void> {\n const parent = this.getParent() as FileSysDirHandleResource;\n if (!parent) {\n throw new Error('Cannot rename root resource');\n }\n\n if (this.getName() === newName) {\n return;\n }\n\n if (!('move' in this.fileHandle) || typeof (this.fileHandle as any).move !== 'function') {\n throw new Error('File rename not supported in this browser. Please use a browser with File System Access API move() support.');\n }\n\n try {\n await (this.fileHandle as any).move(newName);\n } catch (error: any) {\n if (error.name === 'NotAllowedError' ||\n error.message?.includes('not allowed') ||\n error.message?.includes('user agent')) {\n throw new Error('File rename failed: The operation took too long and user activation expired. Please try again.');\n }\n throw error;\n }\n\n await parent.listChildren(true);\n publish(TOPIC_WORKSPACE_CHANGED, workspaceService.getWorkspaceSync() ?? this.getWorkspace());\n }\n}\n\nexport class FileSysDirHandleResource extends Directory {\n private dirHandle: FileSystemDirectoryHandle;\n private files?: ResourceMap;\n private parent?: Directory;\n private loadingPromise?: Promise<Resource[]>;\n\n constructor(dirHandle: FileSystemDirectoryHandle, parent?: Directory) {\n super();\n this.dirHandle = dirHandle;\n this.parent = parent;\n }\n\n getHandle() {\n return this.dirHandle;\n }\n\n getParent(): Directory | undefined {\n return this.parent;\n }\n\n getName(): string {\n return this.dirHandle.name;\n }\n\n async listChildren(forceRefresh: boolean = false): Promise<Resource[]> {\n if (forceRefresh || !this.files) {\n if (this.loadingPromise) {\n return this.loadingPromise;\n }\n\n this.loadingPromise = (async () => {\n try {\n const files: ResourceMap = {};\n\n try {\n // @ts-ignore -- TS 6 lib.dom provides `values()` via merged FileSystemDirectoryHandle declarations;\n // IDE/lint can miss the merge and falsely report it missing while tsc is correct.\n for await (const entry of this.dirHandle.values()) {\n const child =\n entry.kind === \"file\"\n ? new FileSysFileHandleResource(entry, this)\n : new FileSysDirHandleResource(entry, this);\n files[child.getName()] = child;\n }\n } catch (error: any) {\n if (error.name === 'NotFoundError') {\n this.files = {};\n return [];\n }\n throw error;\n }\n\n this.files = files;\n return Object.values(this.files);\n } finally {\n this.loadingPromise = undefined;\n }\n })();\n\n return this.loadingPromise;\n }\n return Object.values(this.files);\n }\n\n async getResource(path: string, options?: GetResourceOptions): Promise<Resource | null> {\n if (!path) {\n throw new Error(\"No path provided\");\n }\n const segments = path.split(\"/\").filter(s => s.trim());\n let currentResource: Resource = this;\n let workspaceChanged = false;\n try {\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i].trim();\n if (currentResource instanceof FileSysDirHandleResource) {\n await currentResource.listChildren();\n if (!currentResource.files) {\n return null;\n }\n const next = currentResource.files[segment];\n if (!next) {\n if (options?.create) {\n workspaceChanged = true;\n if (i < segments.length - 1) {\n try {\n const newDirHandle = await currentResource.dirHandle.getDirectoryHandle(segment, { create: true });\n const nextResource = new FileSysDirHandleResource(newDirHandle, currentResource);\n currentResource.files[segment] = nextResource;\n currentResource = nextResource;\n if (currentResource instanceof FileSysDirHandleResource) {\n await currentResource.listChildren();\n }\n continue;\n } catch (error: any) {\n if (error.name === 'NotFoundError') {\n throw new Error(`Directory not found or not accessible: ${segments.slice(0, i + 1).join('/')}`);\n }\n throw error;\n }\n } else {\n try {\n const newFileHandle = await currentResource.dirHandle.getFileHandle(segment, { create: true });\n const nextResource = new FileSysFileHandleResource(newFileHandle, currentResource);\n currentResource.files[segment] = nextResource;\n return nextResource;\n } catch (error: any) {\n if (error.name === 'NotFoundError') {\n throw new Error(`File not found or not accessible: ${segments.join('/')}`);\n }\n throw error;\n }\n }\n } else {\n return null;\n }\n } else {\n currentResource = next;\n }\n } else {\n return null;\n }\n }\n } finally {\n if (workspaceChanged) {\n publish(TOPIC_WORKSPACE_CHANGED, workspaceService.getWorkspaceSync() ?? this.getWorkspace());\n }\n }\n return currentResource;\n }\n\n public touch() {\n publish(TOPIC_WORKSPACE_CHANGED, workspaceService.getWorkspaceSync() ?? this.getWorkspace());\n }\n\n async delete(name?: string, recursive: boolean = true) {\n if (!name) {\n const parent = this.getParent();\n if (parent instanceof FileSysDirHandleResource) {\n await parent.listChildren();\n if (parent.files) {\n delete parent.files[this.getName()];\n }\n }\n this.files = undefined;\n this.loadingPromise = undefined;\n return parent?.delete(this.getName());\n }\n return this.dirHandle.removeEntry(name, {\n recursive: recursive\n }).then(async () => {\n if (this.files) {\n delete this.files[name];\n }\n publish(TOPIC_WORKSPACE_CHANGED, workspaceService.getWorkspaceSync() ?? this.getWorkspace());\n });\n }\n\n async copyTo(targetPath: string) {\n for (const resource of (await this.listChildren())) {\n const targetResourceName = [targetPath, resource.getName()].join(\"/\");\n await resource.copyTo(targetResourceName);\n }\n }\n\n async rename(newName: string): Promise<void> {\n const parent = this.getParent() as FileSysDirHandleResource;\n if (!parent) {\n throw new Error('Cannot rename workspace root');\n }\n\n if (this.getName() === newName) {\n return;\n }\n\n if (!('move' in this.dirHandle) || typeof (this.dirHandle as any).move !== 'function') {\n throw new Error('Directory rename not supported in this browser. Please use a browser with File System Access API move() support.');\n }\n\n try {\n await (this.dirHandle as any).move(newName);\n } catch (error: any) {\n if (error.name === 'NotAllowedError' ||\n error.message?.includes('not allowed') ||\n error.message?.includes('user agent')) {\n throw new Error('Directory rename failed: The operation took too long and user activation expired. Please try again.');\n }\n throw error;\n }\n\n await parent.listChildren(true);\n publish(TOPIC_WORKSPACE_CHANGED, workspaceService.getWorkspaceSync() ?? this.getWorkspace());\n }\n}\n\n// Register default filesystem contribution\nworkspaceService.registerContribution({\n type: 'filesystem',\n name: 'fs',\n\n canHandle(input: any): boolean {\n return input && 'kind' in input && input.kind === 'directory';\n },\n\n async connect(input: FileSystemDirectoryHandle): Promise<Directory> {\n return new FileSysDirHandleResource(input);\n },\n\n async restore(data: any): Promise<Directory | undefined> {\n if (data && 'kind' in data && data.kind === 'directory') {\n return new FileSysDirHandleResource(data, undefined);\n }\n return undefined;\n },\n\n async persist(workspace: Directory): Promise<any> {\n if (workspace instanceof FileSysDirHandleResource) {\n return workspace.getHandle();\n }\n return null;\n }\n});\n\n"],"mappings":";;;AAEA,IAAM,UAAU;AAChB,IAAM,aAAa;AACnB,IAAM,aAAa;AAEnB,IAAI,YAAyC;AAE7C,SAAS,QAA8B;CACrC,IAAI,CAAC,WACH,YAAY,IAAI,SAAS,SAAS,WAAW;EAC3C,MAAM,UAAU,UAAU,KAAK,SAAS,UAAU;EAClD,QAAQ,gBAAgB,OAAO,QAAQ,KAAK;EAC5C,QAAQ,kBAAkB,QAAQ,QAAQ,MAAM;EAChD,QAAQ,mBAAmB,MAAM;GAC/B,EAAG,OAA4B,OAAO,kBAAkB,UAAU;EACpE;CACF,CAAC;CAEH,OAAO;AACT;AAEA,IAAa,qBAAb,MAAgC;;;;;CAK9B,MAAM,cAAc,KAAa,OAA+B;EAC9D,MAAM,KAAK,MAAM,MAAM;EACvB,OAAO,IAAI,SAAS,SAAS,WAAW;GAEtC,MAAM,QADK,GAAG,YAAY,YAAY,WACxB,CAAA,CAAG,YAAY,UAAU;GACvC,MAAM,MACJ,UAAU,QAAQ,UAAU,KAAA,IACxB,MAAM,OAAO,GAAG,IAChB,MAAM,IAAI,OAAO,GAAG;GAC1B,IAAI,kBAAkB,QAAQ;GAC9B,IAAI,gBAAgB,OAAO,IAAI,KAAK;EACtC,CAAC;CACH;CAEA,MAAM,UAAU,KAA2B;EACzC,MAAM,KAAK,MAAM,MAAM;EACvB,OAAO,IAAI,SAAS,SAAS,WAAW;GAEtC,MAAM,MADK,GAAG,YAAY,YAAY,UAC1B,CAAA,CAAG,YAAY,UAAU,CAAC,CAAC,IAAI,GAAG;GAC9C,IAAI,kBAAkB,QAAQ,IAAI,MAAM;GACxC,IAAI,gBAAgB,OAAO,IAAI,KAAK;EACtC,CAAC;CACH;AACF;AAEA,IAAa,qBAAqB,IAAI,mBAAmB;AACzD,YAAY,IAAI,sBAAsB,kBAAkB;;;AChDxD,IAAa,0BAA0B;AACvC,IAAa,4BAA4B;AAEzC,IAAM,SAAS,aAAa,kBAAkB;AAE9C,IAAsB,WAAtB,MAA+B;;EACU,KAAA,QAAA,CAAC;;CAYtC,mBAAkC;EAC9B,MAAM,QAAkB,CAAC;EACzB,IAAI,UAAgC;EACpC,IAAI;EACJ,OAAO,SAAS;GACZ,MAAM,KAAK,QAAQ,QAAQ,CAAC;GAC5B,MAAM,SAAS,QAAQ,UAAU;GACjC,IAAI,CAAC,QAAQ,OAAO;GACpB,UAAU;EACd;EACA,MAAM,QAAQ;EACd,MAAM,YAAY,OAAO,kBAAkB,qBAAqB,aAAa,iBAAiB,iBAAiB,IAAI,KAAA;EACnH,IAAI,aAAa,QAAQ,mBAAmB,aAAa,OAAQ,UAAkB,kBAAkB,cAAe,UAAkB,cAAc,IAAI,GAAG;GACvJ,MAAM,aAAc,UAAkB,0BAA0B,IAAI;GACpE,IAAI,cAAc,MAAM,SAAS,GAAG,OAAO,MAAM,SAAS,IAAI,aAAa,MAAM,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI;EAChH;EACA,MAAM,MAAM;EACZ,OAAO,MAAM,KAAK,GAAG;CACzB;CAEA,eAAiC;EAC7B,IAAI,UAAgC;EACpC,OAAO,SAAS;GACZ,MAAM,SAAc,QAAQ,UAAU;GACtC,IAAI,QACA,UAAU;QAEV;EAER;EACA,OAAO;CACX;AACJ;AAYA,IAAY,kBAAL,yBAAA,iBAAA;CACH,gBAAA,gBAAA,UAAA,KAAA;CAAM,gBAAA,gBAAA,YAAA,KAAA;;AACV,EAAA,CAAA,CAAA;AAEA,IAAY,sBAAL,yBAAA,qBAAA;CACH,oBAAA,oBAAA,YAAA,KAAA;;AACJ,EAAA,CAAA,CAAA;AA8BA,IAAsB,OAAtB,cAAmC,SAAS,CAM5C;AAEA,IAAsB,YAAtB,cAAwC,SAAS,CAiBjD;AAEA,IAAa,aAAb,cAAgC,KAAK;CAIjC,YAAY,UAAkB,MAAc;EACxC,MAAM;EACN,KAAK,WAAW;EAChB,KAAK,OAAO;CAChB;CAEA,MAAM,YAAY,UAA8C;EAC5D,OAAO,KAAK;CAChB;CAEA,MAAM,aAAa,UAAe,UAA+C;EAC7E,KAAK,WAAW;CACpB;CAEA,MAAM,OAA+B;EACjC,OAAO,KAAK,SAAS,UAAU;CACnC;CAEA,MAAM,OAAO,aAAoC;EAC7C,MAAM,MAAM,eAAe;CAC/B;CAEA,OAAO,OAAgB,YAAqC;EACxD,MAAM,MAAM,eAAe;CAC/B;CAEA,MAAM,OAAO,UAAiC;EAC1C,MAAM,MAAM,eAAe;CAC/B;CAEA,UAAkB;EACd,OAAO,KAAK;CAChB;CAEA,YAAmC,CAEnC;AACJ;AAOA,IAAa,qBAAb,cAAwC,UAAU;CAG9C,YACI,aACA,cAAuC,KACzC;EACE,MAAM;EAFW,KAAA,cAAA;EAGjB,KAAK,gBAAgB,IAAI,IAAI,YAAY,KAAI,MAAK,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;CACvE;CAEA,0BAA0B,KAAoC;EAC1D,KAAK,MAAM,CAAC,MAAM,MAAM,KAAK,eACzB,IAAI,MAAM,KAAK,OAAO;CAG9B;CAEA,cAAc,KAAyB;EACnC,OAAO,KAAK,0BAA0B,GAAG,MAAM,KAAA;CACnD;CAEA,UAAkB;EACd,OAAO,KAAK;CAChB;CAEA,YAAmC,CAEnC;CAEA,MAAM,aAAa,eAA6C;EAC5D,OAAO,MAAM,KAAK,KAAK,cAAc,OAAO,CAAC;CACjD;CAEA,MAAM,YAAY,MAAc,SAAwD;EACpF,MAAM,aAAa,MAAM,QAAQ,QAAQ,EAAE,CAAC,CAAC,KAAK;EAClD,IAAI,CAAC,YACD,OAAO;EAEX,MAAM,MAAM,WAAW,QAAQ,GAAG;EAClC,MAAM,aAAa,OAAO,IAAI,WAAW,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,WAAW,KAAK;EAChF,MAAM,OAAO,OAAO,IAAI,WAAW,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;EAC3D,MAAM,MAAM,KAAK,cAAc,IAAI,UAAU;EAC7C,IAAI,CAAC,KACD,OAAO;EAEX,IAAI,CAAC,MACD,OAAO;EAEX,OAAO,IAAI,YAAY,MAAM,OAAO;CACxC;CAEA,QAAc;EACV,KAAK,MAAM,OAAO,KAAK,cAAc,OAAO,GACxC,IAAI,MAAM;CAElB;CAEA,MAAM,OAAO,OAAgB,YAAqC;EAC9D,MAAM,IAAI,MAAM,wCAAwC;CAC5D;CAEA,MAAM,OAAO,aAAoC;EAC7C,MAAM,IAAI,MAAM,sCAAsC;CAC1D;CAEA,MAAM,OAAO,UAAiC;EAC1C,MAAM,IAAI,MAAM,wCAAwC;CAC5D;CAEA,gBAAgB,MAAqC;EACjD,OAAO,KAAK,cAAc,IAAI,IAAI;CACtC;AACJ;;;;;;;;;AAUA,IAAa,+BAAb,cAAkD,UAAU;CAKxD,YAAY,SAA2D;EACnE,MAAM;EACN,KAAK,cAAc,QAAQ;EAC3B,KAAK,gBAAgB,QAAQ;EAC7B,KAAK,OAAO,QAAQ;CACxB;CAEA,UAAkB;EACd,OAAO,KAAK;CAChB;CAEA,YAAmC,CAEnC;CAEA,MAAM,aAAa,eAA6C;EAC5D,OAAO,CAAC;CACZ;CAEA,MAAM,YAAY,OAAe,UAAyD;EACtF,MAAM,IAAI,MAAM,sBAAsB,KAAK,YAAY,wCAAwC;CACnG;CAEA,QAAc,CAEd;CAEA,MAAM,OAAO,OAAgB,YAAqC;EAC9D,MAAM,IAAI,MAAM,uDAAuD,KAAK,YAAY,GAAG;CAC/F;CAEA,MAAM,OAAO,aAAoC;EAC7C,MAAM,IAAI,MAAM,0DAA0D,KAAK,YAAY,GAAG;CAClG;CAEA,MAAM,OAAO,UAAiC;EAC1C,MAAM,IAAI,MAAM,uDAAuD,KAAK,YAAY,GAAG;CAC/F;AACJ;AAEA,SAAS,wCAAwC,QAA6C;CAC1F,MAAM,WACF,OAAO,QAAQ,OAAO,OAAO,SAAS,YAAa,OAAO,KAA2B;CACzF,IAAI,OAAO,aAAa,YAAY,SAAS,SAAS,GAClD,OAAO;CAEX,OAAO,OAAO;AAClB;AAEA,SAAS,2BAA2B,OAAwB;CACxD,IAAI,iBAAiB,SAAS,MAAM,QAAQ,KAAK,GAC7C,OAAO,MAAM;CAEjB,OAAO;AACX;AAEA,IAAM,2BAA2B;;;;;;AAOjC,IAAa,sCAAb,cAAyD,UAAU;CAK/D,YAAY,SAA2E;EACnF,MAAM;EACN,KAAK,cAAc,QAAQ;EAC3B,KAAK,OAAO,QAAQ;EACpB,KAAK,SAAS,QAAQ;CAC1B;CAEA,mBAA2B;EACvB,OAAO,KAAK;CAChB;CAEA,UAAkB;EACd,OAAO,KAAK;CAChB;CAEA,YAAmC,CAEnC;CAEA,MAAM,aAAa,eAA6C;EAC5D,OAAO,CAAC;CACZ;CAEA,MAAM,YAAY,OAAe,UAAyD;EACtF,MAAM,IAAI,MACN,qBAAqB,KAAK,KAAK,KAAK,KAAK,YAAY,oBAAoB,KAAK,QAClF;CACJ;CAEA,QAAc,CAEd;CAEA,MAAM,OAAO,OAAgB,YAAqC;EAC9D,MAAM,IAAI,MAAM,+CAA+C,KAAK,KAAK,KAAK,KAAK,YAAY,GAAG;CACtG;CAEA,MAAM,OAAO,aAAoC;EAC7C,MAAM,IAAI,MAAM,kDAAkD,KAAK,KAAK,KAAK,KAAK,YAAY,GAAG;CACzG;CAEA,MAAM,OAAO,UAAiC;EAC1C,MAAM,IAAI,MAAM,+CAA+C,KAAK,KAAK,KAAK,KAAK,YAAY,GAAG;CACtG;AACJ;AAEA,SAAgB,6BAA6B,WAA+B;CACxE,OACI,qBAAqB,gCACrB,qBAAqB;AAE7B;;;;;AAMA,eAAe,kCACX,MACA,MACA,SACA,eACkB;CAClB,MAAM,cAAc,wCAAwC;EAAE;EAAM;CAAK,CAAC;CAC1E,IAAI;EACA,MAAM,MAAM,MAAM,QAAQ,IAAI;EAC9B,IAAI,KACA,OAAO;EAEX,OAAO,IAAI,oCAAoC;GAC3C,aAAa;GACb,MAAM;GACN;GACA,QAAQ;EACZ,CAAC;CACL,SAAS,OAAO;EACZ,gBAAgB,KAAK;EACrB,OAAO,IAAI,oCAAoC;GAC3C,aAAa;GACb,MAAM;GACN;GACA,QAAQ,2BAA2B,KAAK;EAC5C,CAAC;CACL;AACJ;AAiBA,IAAM,uBAAuB;AAE7B,IAAa,mBAAb,MAAa,iBAAiB;CAS1B,mBAA0C;EACtC,OAAO,KAAK;CAChB;CAEA,cAAc;EAXqC,KAAA,oBAAA,KAAA;EACyB,KAAA,UAAA,CAAC;EAEjB,KAAA,gCAAA,IAAI,IAAI;EAE/B,KAAA,gCAAA,IAAI,IAAI;EAOzC,IAAI;EACJ,KAAK,cAAc,IAAI,SAAe,YAAY;GAC9C,cAAc;EAClB,CAAC;EACD,KAAK,uBAAuB,WAAW;CAC3C;CAEA,qBAAqB,cAA2C;EAC5D,KAAK,cAAc,IAAI,aAAa,MAAM,YAAY;EACtD,KAAU,0BAA0B,YAAY;CACpD;CAEA,mBAA4C;EACxC,OAAO,MAAM,KAAK,KAAK,cAAc,OAAO,CAAC;CACjD;;EAEwD,KAAA,gCAAA;;CAExD,MAAc,0BAA0B,cAAoD;EACxF,MAAM,KAAK;EAEX,IAAI,KAAK,cAAc,IAAI,aAAa,IAAI,GACxC;EAKJ,IAFwB,KAAK,QAAQ,QAAO,MAAK,EAAE,SAAS,aAAa,IAC3C,CAAA,CAAgB,MAAK,MAAK,CAAC,6BAA6B,EAAE,SAAS,CAC7F,GAAuB;GACvB,KAAK,cAAc,IAAI,aAAa,IAAI;GACxC;EACJ;EAEA,MAAM,MAAM,MAAM,mBAAmB,UAAU,oBAAoB;EACnE,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,QAAQ,IAAI,OAAO,GAAG;GAC9C,KAAK,cAAc,IAAI,aAAa,IAAI;GACxC;EACJ;EAEA,MAAM,YAAY,IAAI,QAAQ,QAAO,MAAK,EAAE,SAAS,aAAa,IAAI;EACtE,IAAI,UAAU,WAAW,GAAG;GACxB,KAAK,cAAc,IAAI,aAAa,IAAI;GACxC;EACJ;EAIA,KAAK,UAAU,KAAK,QAAQ,QACxB,MAAK,EAAE,EAAE,SAAS,aAAa,QAAQ,6BAA6B,EAAE,SAAS,EACnF;EAEA,KAAK,MAAM,UAAU,WAAW;GAC5B,IAAI,CAAC,aAAa,SACd;GAGJ,MAAM,YAAY,MAAM,kCACpB,aAAa,MACb,OAAO,MACP,aAAa,UACZ,UACG,OAAO,KACH,6BAA6B,aAAa,KAAK,kCAC/C,KACJ,CACR;GACA,KAAK,QAAQ,KAAK;IAAE,MAAM,aAAa;IAAM,MAAM,OAAO;IAAM;GAAU,CAAC;EAC/E;EAEA,IAAI,KAAK,QAAQ,WAAW,GAAG;GAC3B,KAAK,cAAc,IAAI,aAAa,IAAI;GACxC;EACJ;EAEA,MAAM,YAAY,KAAK,eAAe;EACtC,KAAK,YAAY,QAAQ,QAAQ,SAAS;EAC1C,KAAK,oBAAoB,aAAa,KAAA;EACtC,MAAM,KAAK,eAAe;EAC1B,IAAI,WAAW;GACX,QAAQ,2BAA2B,SAAS;GAC5C,OAAO,MAAM,qDAAqD,aAAa,MAAM;EACzF;EAEA,KAAK,cAAc,IAAI,aAAa,IAAI;CAC5C;CAEA,MAAc,uBAAuB,aAAwC;EACzE,OAAO,MAAM,sCAAsC;EACnD,IAAI;GACA,MAAM,MAAM,MAAM,mBAAmB,UAAU,oBAAoB;GACnE,IAAI,CAAC,KAAK;IACN,KAAK,YAAY,QAAQ,QAAQ,KAAA,CAAS;IAC1C,KAAK,oBAAoB,KAAA;GAC7B;GAEA,IAAI,KAAK,WAAW,MAAM,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,SAAS,GAAG;IACtE,MAAM,aAAa,IAAI,QAAQ,KAAK,OAAoC;KAAE,MAAM,EAAE;KAAM,MAAM,EAAE;IAAK,EAAE;IACvG,MAAM,KAAK,eAAe,UAAU;IACpC,MAAM,YAAY,KAAK,eAAe;IACtC,KAAK,YAAY,QAAQ,QAAQ,SAAS;IAC1C,KAAK,oBAAoB,aAAa,KAAA;IACtC,IAAI,WAAW;KACX,QAAQ,2BAA2B,SAAS;KAC5C,OAAO,MAAM,2CAA2C;IAC5D;IACA,YAAY;IACZ;GACJ;GAEA,IAAI,OAAO,IAAI,QAAQ,IAAI,SAAS,KAAA,GAAW;IAC3C,MAAM,eAAe,KAAK,cAAc,IAAI,IAAI,IAAI;IACpD,IAAI,cAAc,SACd,IAAI;KACA,MAAM,MAAM,MAAM,aAAa,QAAS,IAAI,IAAI;KAChD,IAAI,KAAK;MACL,KAAK,UAAU,CAAC;OAAE,MAAM,IAAI;OAAM,MAAM,IAAI;OAAM,WAAW;MAAI,CAAC;MAClE,MAAM,OAAO,KAAK,eAAe;MACjC,KAAK,YAAY,QAAQ,QAAQ,IAAI;MACrC,KAAK,oBAAoB,QAAQ,KAAA;MACjC,KAAK,cAAc,IAAI;MACvB,MAAM,KAAK,eAAe;MAC1B,QAAQ,2BAA2B,IAAI;MACvC,OAAO,MAAM,uCAAuC;KACxD;IACJ,SAAS,OAAO;KACZ,OAAO,MAAM,uCAAuC,KAAK;IAC7D;GAER;GACA,IAAI,CAAC,KAAK,WAAW;IACjB,KAAK,YAAY,QAAQ,QAAQ,KAAA,CAAS;IAC1C,KAAK,oBAAoB,KAAA;GAC7B;GAEA,YAAY;EAChB,UAAU;GACN,IAAI,KAAK,QAAQ,WAAW,GACxB,IAAI;IACA,MAAM,KAAK,cAAc;KAAE,WAAW;KAAM,MAAM,iBAAiB;IAA8B,CAAC;IAClG,OAAO,MAAM,uCAAuC;GACxD,SAAS,GAAG;IACR,OAAO,KAAK,8CAA8C,CAAC;GAC/D;EAER;CACJ;CAEA,MAAc,eAAe,WAA8D;EACvF,KAAK,UAAU,CAAC;EAChB,KAAK,MAAM,UAAU,WAAW;GAC5B,MAAM,eAAe,KAAK,cAAc,IAAI,OAAO,IAAI;GACvD,IAAI,CAAC,cAAc,SAAS;IACxB,MAAM,cACD,OAAO,QAAQ,OAAO,OAAO,SAAS,YAAa,OAAO,KAAa,QACxE,GAAG,OAAO,KAAK;IACnB,MAAM,cAAc,IAAI,6BAA6B;KACjD,aAAa,OAAO;KACpB,MAAM;KACN,MAAM,OAAO;IACjB,CAAC;IACD,KAAK,QAAQ,KAAK;KAAE,MAAM,OAAO;KAAM,MAAM,OAAO;KAAM,WAAW;IAAY,CAAC;IAClF;GACJ;GACA,MAAM,YAAY,MAAM,kCACpB,OAAO,MACP,OAAO,MACP,aAAa,UACZ,UAAU,OAAO,KAAK,6BAA6B,OAAO,KAAK,KAAK,KAAK,CAC9E;GACA,KAAK,QAAQ,KAAK;IAAE,MAAM,OAAO;IAAM,MAAM,OAAO;IAAM;GAAU,CAAC;EACzE;CACJ;CAEA,iBAAyD;EACrD,IAAI,KAAK,QAAQ,WAAW,GACxB;EAEJ,OAAO,IAAI,mBAAmB,KAAK,QAAQ,KAAI,MAAK,EAAE,SAAS,CAAC;CACpE;CAEA,MAAc,iBAAgC;EAC1C,MAAM,YAAY,KAAK,QAAQ,SAAS,IAClC,EAAE,SAAS,KAAK,QAAQ,KAAI,OAAM;GAAE,MAAM,EAAE;GAAM,MAAM,EAAE;EAAK,EAAE,EAAE,IACnE;EACN,MAAM,mBAAmB,cAAc,sBAAsB,SAAS;EACtE,MAAM,mBAAmB,cAAc,aAAa,IAAI;EACxD,OAAO,MAAM,aAAa,KAAK,QAAQ,OAAO,WAAW;CAC7D;CAEA,MAAM,aAA6D;EAC/D,MAAM,KAAK;EACX,OAAO,KAAK,QAAQ,KAAI,OAAM;GAAE,MAAM,EAAE,UAAU,QAAQ;GAAG,MAAM,EAAE;EAAK,EAAE;CAChF;CAEA,MAAM,0BAA0B,WAAgG;EAC5H,MAAM,KAAK;EACX,MAAM,SAAS,KAAK,QAAQ,MAAK,MAAK,EAAE,cAAc,SAAS;EAC/D,IAAI,CAAC,QACD;EAEJ,MAAM,OACD,OAAO,QAAQ,OAAO,OAAO,SAAS,YAAa,OAAO,KAAa,QACxE,OAAO,UAAU,QAAQ;EAE7B,MAAM,cADe,KAAK,cAAc,IAAI,OAAO,IAC/B,CAAA,EAAc,QAAQ,OAAO;EACjD,OAAO;GAAE;GAAM,MAAM,OAAO;GAAM;EAAY;CAClD;;;;;CAMA,MAAM,6BAA6B,UAAsC;EACrE,MAAM,KAAK;EACX,IAAI,UAAgC;EACpC,OAAO,SAAS;GACZ,MAAM,SAAS,QAAQ,UAAU;GACjC,IAAI,CAAC,QAAQ;IACT,IAAI,EAAE,mBAAmB,YACrB,OAAO;IAEX,OAAO,KAAK,QAAQ,MAAK,MAAK,EAAE,cAAc,OAAO;GACzD;GACA,UAAU;EACd;EACA,OAAO;CACX;;;;;;CAOA,MAAM,iBAAiB,WAAsB,MAA6B;EACtE,MAAM,KAAK;EACX,MAAM,SAAS,KAAK,QAAQ,MAAK,MAAK,EAAE,cAAc,SAAS;EAC/D,IAAI,CAAC,QACD;EAEJ,IAAI,OAAO,QAAQ,OAAO,OAAO,SAAS,UACtC,OAAO,OAAO;GAAE,GAAI,OAAO;GAAc;EAAK;OAE9C,OAAO,OAAO,EAAE,KAAK;EAEzB,MAAM,KAAK,eAAe;EAC1B,MAAM,YAAY,KAAK,eAAe;EACtC,KAAK,YAAY,QAAQ,QAAQ,SAAS;EAC1C,KAAK,oBAAoB,aAAa,KAAA;EACtC,QAAQ,2BAA2B,SAAS;EAC5C,OAAO,MAAM,wBAAwB,MAAM;CAC/C;CAEA,MAAM,cAAc,OAAgC;EAChD,MAAM,KAAK;EACX,MAAM,eAAe,MAAM,KAAK,KAAK,cAAc,OAAO,CAAC,CAAC,CAAC,MAAK,MAAK,EAAE,UAAU,KAAK,CAAC;EACzF,IAAI,CAAC,cACD,MAAM,IAAI,MAAM,iDAAiD;EAErE,MAAM,OAAQ,OAAO,QAAmB,aAAa;EACrD,OAAO,MAAM,yBAAyB,aAAa,KAAK,IAAI,MAAM;EAClE,MAAM,YAAY,MAAM,aAAa,QAAQ,KAAK;EAClD,MAAM,OAAO,aAAa,UAAU,MAAM,aAAa,QAAQ,SAAS,IAAI;EAC5E,KAAK,QAAQ,KAAK;GAAE,MAAM,aAAa;GAAM;GAAM;EAAU,CAAC;EAC9D,MAAM,KAAK,eAAe;EAC1B,KAAK,cAAc,KAAK,QAAQ,WAAW,IAAI,aAAa,OAAO,KAAA;EACnE,MAAM,YAAY,KAAK,eAAe;EACtC,KAAK,YAAY,QAAQ,QAAQ,SAAS;EAC1C,KAAK,oBAAoB;EACzB,QAAQ,2BAA2B,SAAS;EAC5C,MAAM,cAAc,UAAU,QAAQ;EACtC,OAAO,KAAK,wBAAwB,aAAa,KAAK,IAAI,YAAY,EAAE;EACxE,OAAO;CACX;CAEA,MAAM,iBAAiB,WAAqC;EACxD,MAAM,KAAK;EACX,MAAM,MAAM,KAAK,QAAQ,WAAU,MAAK,EAAE,cAAc,SAAS;EACjE,IAAI,MAAM,GACN;EAEJ,MAAM,SAAS,KAAK,QAAQ;EAC5B,OAAO,MAAM,yBAAyB,OAAO,UAAU,QAAQ,EAAE,IAAI,OAAO,KAAK,EAAE;EACnF,KAAK,QAAQ,OAAO,KAAK,CAAC;EAC1B,MAAM,KAAK,eAAe;EAC1B,IAAI,KAAK,QAAQ,SAAS,GACtB,KAAK,cAAc,KAAK,QAAQ,EAAE,CAAC;OAChC;GACH,KAAK,cAAc,KAAA;GACnB,OAAO,KAAK,wBAAwB;EACxC;EACA,MAAM,YAAY,KAAK,eAAe;EACtC,KAAK,YAAY,QAAQ,QAAQ,SAAS;EAC1C,KAAK,oBAAoB,aAAa,KAAA;EACtC,QAAQ,2BAA2B,SAAS;CAChD;CAEA,MAAM,iBAAiB,OAAgC;EACnD,OAAO,KAAK,cAAc,KAAK;CACnC;CAEA,MAAa,eAA+C;EACxD,MAAM,KAAK;EACX,IAAI,CAAC,KAAK,WACN,MAAM,IAAI,MAAM,yBAAyB;EAE7C,OAAO,MAAM,KAAK;CACtB;CAEA,cAA8B;EAC1B,OAAO,KAAK,QAAQ,SAAS;CACjC;CAEA,mBAA8C;EAC1C,OAAO,KAAK;CAChB;CAEA,MAAa,sBAAqC;EAC9C,MAAM,KAAK;EACX,KAAK,YAAY,QAAQ,QAAQ,KAAA,CAAS;EAC1C,KAAK,oBAAoB,KAAA;EACzB,KAAK,UAAU,CAAC;EAChB,KAAK,cAAc,KAAA;EACnB,MAAM,KAAK,eAAe;EAC1B,QAAQ,2BAA2B,KAAA,CAAgB;EACnD,OAAO,KAAK,wBAAwB;CACxC;;;;;;;CAQA,MAAa,aACT,KACA,SACA,SACa;EACb,MAAM,KAAK;EACX,MAAM,YAAY,KAAK;EACvB,IAAI,CAAC,WACD,MAAM,IAAI,MAAM,yBAAyB;EAG7C,MAAM,aAAa,SAAS,WAAW,IAAI,QAAQ;EACnD,MAAM,cAAc,QAAQ,iBAAiB;EAC7C,MAAM,iBAAiB,cAAc,GAAG,YAAY,GAAG,eAAe;EAEtE,MAAM,iBAAiB,OAAO,MAAY,eAAsC;GAC5E,SAAS,SAAS,UAAU;GAC5B,MAAM,WAAW,MAAM,KAAK,YAAY,EAAE,MAAM,KAAK,CAAC;GACtD,MAAM,aAAa,MAAM,UAAU,YAAY,YAAY,EAAE,QAAQ,KAAK,CAAC;GAC3E,IAAI,CAAC,YACD,MAAM,IAAI,MAAM,iCAAiC,YAAY;GAEjE,MAAM,WAAW,aAAa,QAAQ;EAC1C;EAEA,MAAM,sBAAsB,OAAO,KAAgB,eAAsC;GACrF,KAAK,MAAM,SAAS,MAAM,IAAI,aAAa,KAAK,GAAG;IAC/C,MAAM,kBAAkB,GAAG,WAAW,GAAG,MAAM,QAAQ;IACvD,IAAI,iBAAiB,MACjB,MAAM,eAAe,OAAO,eAAe;SACxC,IAAI,iBAAiB,WACxB,MAAM,oBAAoB,OAAO,eAAe;GAExD;EACJ;EAEA,IAAI,eAAe,MACf,MAAM,eAAe,KAAK,cAAc;OACrC,IAAI,eAAe,WACtB,MAAM,oBAAoB,KAAK,cAAc;OAE7C,MAAM,IAAI,MAAM,+CAA+C;EAGnE,IAAI,SAAS,MACT,MAAM,IAAI,OAAO,KAAA,GAAW,IAAI;CAExC;AACJ;AAEA,IAAa,mBAAmB,IAAI,iBAAiB;AACrD,YAAY,IAAI,oBAAoB,gBAAgB;;;ACpzBpD,IAAa,4BAAb,cAA+C,KAAK;CAIhD,YAAY,YAAkC,QAAmB;EAC7D,MAAM;EACN,KAAK,aAAa;EAClB,KAAK,SAAS;CAClB;CAEA,UAAkB;EACd,OAAO,KAAK,WAAW;CAC3B;CAEA,YAAuB;EACnB,OAAO,KAAK;CAChB;CAEA,MAAM,SAAS;EACX,OAAO,KAAK,UAAU,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;CACjD;CAEA,MAAM,YAAY,SAA6C;EAC3D,MAAM,OAAO,MAAM,KAAK,WAAW,QAAQ;EAE3C,IAAI,CAAC,WAAW,SAAS,eAAe,gBAAgB,MACpD,OAAO,MAAM,KAAK,KAAK;EAG3B,IAAI,SAAS,YAAY,oBAAoB,UAAU,SAAS,KAC5D,OAAO,IAAI,gBAAgB,IAAI;EAGnC,IAAI,SAAS,MACT,OAAO;EAGX,OAAO,KAAK,OAAO;CACvB;CAEA,MAAM,OAA+B;EACjC,IAAI;GAEA,QAAO,MADY,KAAK,WAAW,QAAQ,EAAA,CAC/B;EAChB,QAAQ;GACJ,OAAO;EACX;CACJ;CAEA,MAAM,aAAa,UAAe,UAA+C;EAC7E,MAAM,WAAW,MAAM,KAAK,WAAW,eAAe;EAEtD,IAAI,YAAY,OAAO,SAAS,WAAW,YACvC,MAAM,SAAS,OAAO,QAAQ;OAC3B;GACH,MAAM,SAAS,SAAS,UAAU;GAClC,IAAI;IACA,MAAM,OAAO,MAAM,QAAQ;GAC/B,UAAU;IACN,MAAM,OAAO,MAAM;GACvB;EACJ;EACA,QAAQ,yBAAyB,iBAAiB,iBAAiB,KAAK,KAAK,aAAa,CAAC;CAC/F;CAEA,MAAM,OAAO,YAAmC;EAC5C,MAAM,WAAW,MAAM,KAAK,YAAY,EAAE,MAAM,KAAK,CAAC;EAEtD,OAAM,MADmB,KAAK,aAAa,CAAC,CAAC,YAAY,YAAY,EAAE,QAAQ,KAAK,CAAC,EAAA,CACpE,aAAa,QAAQ;CAC1C;CAEA,MAAM,OAAO,SAAgC;EACzC,MAAM,SAAS,KAAK,UAAU;EAC9B,IAAI,CAAC,QACD,MAAM,IAAI,MAAM,6BAA6B;EAGjD,IAAI,KAAK,QAAQ,MAAM,SACnB;EAGJ,IAAI,EAAE,UAAU,KAAK,eAAe,OAAQ,KAAK,WAAmB,SAAS,YACzE,MAAM,IAAI,MAAM,6GAA6G;EAGjI,IAAI;GACA,MAAO,KAAK,WAAmB,KAAK,OAAO;EAC/C,SAAS,OAAY;GACjB,IAAI,MAAM,SAAS,qBACf,MAAM,SAAS,SAAS,aAAa,KACrC,MAAM,SAAS,SAAS,YAAY,GACpC,MAAM,IAAI,MAAM,gGAAgG;GAEpH,MAAM;EACV;EAEA,MAAM,OAAO,aAAa,IAAI;EAC9B,QAAQ,yBAAyB,iBAAiB,iBAAiB,KAAK,KAAK,aAAa,CAAC;CAC/F;AACJ;AAEA,IAAa,2BAAb,MAAa,iCAAiC,UAAU;CAMpD,YAAY,WAAsC,QAAoB;EAClE,MAAM;EACN,KAAK,YAAY;EACjB,KAAK,SAAS;CAClB;CAEA,YAAY;EACR,OAAO,KAAK;CAChB;CAEA,YAAmC;EAC/B,OAAO,KAAK;CAChB;CAEA,UAAkB;EACd,OAAO,KAAK,UAAU;CAC1B;CAEA,MAAM,aAAa,eAAwB,OAA4B;EACnE,IAAI,gBAAgB,CAAC,KAAK,OAAO;GAC7B,IAAI,KAAK,gBACL,OAAO,KAAK;GAGhB,KAAK,kBAAkB,YAAY;IAC/B,IAAI;KACA,MAAM,QAAqB,CAAC;KAE5B,IAAI;MAGA,WAAW,MAAM,SAAS,KAAK,UAAU,OAAO,GAAG;OAC/C,MAAM,QACF,MAAM,SAAS,SACT,IAAI,0BAA0B,OAAO,IAAI,IACzC,IAAI,yBAAyB,OAAO,IAAI;OAClD,MAAM,MAAM,QAAQ,KAAK;MAC7B;KACJ,SAAS,OAAY;MACjB,IAAI,MAAM,SAAS,iBAAiB;OAChC,KAAK,QAAQ,CAAC;OACd,OAAO,CAAC;MACZ;MACA,MAAM;KACV;KAEA,KAAK,QAAQ;KACb,OAAO,OAAO,OAAO,KAAK,KAAK;IACnC,UAAU;KACN,KAAK,iBAAiB,KAAA;IAC1B;GACJ,EAAA,CAAG;GAEH,OAAO,KAAK;EAChB;EACA,OAAO,OAAO,OAAO,KAAK,KAAK;CACnC;CAEA,MAAM,YAAY,MAAc,SAAwD;EACpF,IAAI,CAAC,MACD,MAAM,IAAI,MAAM,kBAAkB;EAEtC,MAAM,WAAW,KAAK,MAAM,GAAG,CAAC,CAAC,QAAO,MAAK,EAAE,KAAK,CAAC;EACrD,IAAI,kBAA4B;EAChC,IAAI,mBAAmB;EACvB,IAAI;GACA,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;IACtC,MAAM,UAAU,SAAS,EAAE,CAAC,KAAK;IACjC,IAAI,2BAA2B,0BAA0B;KACrD,MAAM,gBAAgB,aAAa;KACnC,IAAI,CAAC,gBAAgB,OACjB,OAAO;KAEX,MAAM,OAAO,gBAAgB,MAAM;KACnC,IAAI,CAAC,MAAM;MACP,IAAI,SAAS,QAAQ;OACjB,mBAAmB;OACnB,IAAI,IAAI,SAAS,SAAS,GACtB,IAAI;QACA,MAAM,eAAe,MAAM,gBAAgB,UAAU,mBAAmB,SAAS,EAAE,QAAQ,KAAK,CAAC;QACjG,MAAM,eAAe,IAAI,yBAAyB,cAAc,eAAe;QAC/E,gBAAgB,MAAM,WAAW;QACjC,kBAAkB;QAClB,IAAI,2BAA2B,0BAC3B,MAAM,gBAAgB,aAAa;QAEvC;OACJ,SAAS,OAAY;QACjB,IAAI,MAAM,SAAS,iBACf,MAAM,IAAI,MAAM,0CAA0C,SAAS,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG;QAElG,MAAM;OACV;YAEA,IAAI;QAEA,MAAM,eAAe,IAAI,0BAA0B,MADvB,gBAAgB,UAAU,cAAc,SAAS,EAAE,QAAQ,KAAK,CAAC,GAC3B,eAAe;QACjF,gBAAgB,MAAM,WAAW;QACjC,OAAO;OACX,SAAS,OAAY;QACjB,IAAI,MAAM,SAAS,iBACf,MAAM,IAAI,MAAM,qCAAqC,SAAS,KAAK,GAAG,GAAG;QAE7E,MAAM;OACV;MAER,OACI,OAAO;KAEf,OACI,kBAAkB;IAE1B,OACI,OAAO;GAEf;EACJ,UAAU;GACN,IAAI,kBACA,QAAQ,yBAAyB,iBAAiB,iBAAiB,KAAK,KAAK,aAAa,CAAC;EAEnG;EACA,OAAO;CACX;CAEA,QAAe;EACX,QAAQ,yBAAyB,iBAAiB,iBAAiB,KAAK,KAAK,aAAa,CAAC;CAC/F;CAEA,MAAM,OAAO,MAAe,YAAqB,MAAM;EACnD,IAAI,CAAC,MAAM;GACP,MAAM,SAAS,KAAK,UAAU;GAC9B,IAAI,kBAAkB,0BAA0B;IAC5C,MAAM,OAAO,aAAa;IAC1B,IAAI,OAAO,OACP,OAAO,OAAO,MAAM,KAAK,QAAQ;GAEzC;GACA,KAAK,QAAQ,KAAA;GACb,KAAK,iBAAiB,KAAA;GACtB,OAAO,QAAQ,OAAO,KAAK,QAAQ,CAAC;EACxC;EACA,OAAO,KAAK,UAAU,YAAY,MAAM,EACzB,UACf,CAAC,CAAC,CAAC,KAAK,YAAY;GAChB,IAAI,KAAK,OACL,OAAO,KAAK,MAAM;GAEtB,QAAQ,yBAAyB,iBAAiB,iBAAiB,KAAK,KAAK,aAAa,CAAC;EAC/F,CAAC;CACL;CAEA,MAAM,OAAO,YAAoB;EAC7B,KAAK,MAAM,YAAa,MAAM,KAAK,aAAa,GAAI;GAChD,MAAM,qBAAqB,CAAC,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;GACpE,MAAM,SAAS,OAAO,kBAAkB;EAC5C;CACJ;CAEA,MAAM,OAAO,SAAgC;EACzC,MAAM,SAAS,KAAK,UAAU;EAC9B,IAAI,CAAC,QACD,MAAM,IAAI,MAAM,8BAA8B;EAGlD,IAAI,KAAK,QAAQ,MAAM,SACnB;EAGJ,IAAI,EAAE,UAAU,KAAK,cAAc,OAAQ,KAAK,UAAkB,SAAS,YACvE,MAAM,IAAI,MAAM,kHAAkH;EAGtI,IAAI;GACA,MAAO,KAAK,UAAkB,KAAK,OAAO;EAC9C,SAAS,OAAY;GACjB,IAAI,MAAM,SAAS,qBACf,MAAM,SAAS,SAAS,aAAa,KACrC,MAAM,SAAS,SAAS,YAAY,GACpC,MAAM,IAAI,MAAM,qGAAqG;GAEzH,MAAM;EACV;EAEA,MAAM,OAAO,aAAa,IAAI;EAC9B,QAAQ,yBAAyB,iBAAiB,iBAAiB,KAAK,KAAK,aAAa,CAAC;CAC/F;AACJ;AAGA,iBAAiB,qBAAqB;CAClC,MAAM;CACN,MAAM;CAEN,UAAU,OAAqB;EAC3B,OAAO,SAAS,UAAU,SAAS,MAAM,SAAS;CACtD;CAEA,MAAM,QAAQ,OAAsD;EAChE,OAAO,IAAI,yBAAyB,KAAK;CAC7C;CAEA,MAAM,QAAQ,MAA2C;EACrD,IAAI,QAAQ,UAAU,QAAQ,KAAK,SAAS,aACxC,OAAO,IAAI,yBAAyB,MAAM,KAAA,CAAS;CAG3D;CAEA,MAAM,QAAQ,WAAoC;EAC9C,IAAI,qBAAqB,0BACrB,OAAO,UAAU,UAAU;EAE/B,OAAO;CACX;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { $ as COMMAND_SAVE, A as VIEW_LOG_TERMINAL, C as TOOLBAR_FULLSCREEN, D as TOOLBAR_TASKS, E as TOOLBAR_LAYOUT_SWITCHER, F as formDialog, G as sanitizeHtml, H as DocksDialogContent, I as formDialogRequired, J as extensionRegistry, L as validateFormDialogFields, M as navigableInfoDialog, N as confirmDialog, O as TOOLBAR_THEME_SWITCHER, P as infoDialog, Q as appSettings, R as promptDialog, S as TOOLBAR_FAST_VIEWS, T as TOOLBAR_LANGUAGE_SELECTOR, U as DocksElement, V as dialogService, W as parseMarkdownHtml, X as taskService, Y as esmShService, Z as TOPIC_SETTINGS_CHANGED, _ as CTXMENU_FILEBROWSER_DELETE, _t as TOOLBAR_MAIN, a as renderDropdownItem, at as PANEL_BOTTOM, b as SYSTEM_DEFAULT_FILE_ICONS, c as parseIconSpec, ct as SIDEBAR_MAIN, d as DocksContainer, dt as SYSTEM_ATTRIBUTIONS, et as HIDE_DOT_RESOURCE, f as ABOUT_TAB_ATTRIBUTIONS, ft as SYSTEM_LAYOUTS, g as ATTRIBUTION_FONT_AWESOME, gt as TOOLBAR_BOTTOM_END, h as ATTRIBUTION_ECLIPSE_DOCKS, ht as TOOLBAR_BOTTOM_CENTER, i as renderDropdownContributions, it as EDITOR_AREA_MAIN, j as filebrowserDialog, k as VIEW_FILEBROWSER, l as versionInfoDialog, lt as SIDEBAR_MAIN_BOTTOM, m as ABOUT_TAB_RELEASE, mt as TOOLBAR_BOTTOM, n as renderCommandContribution, o as renderDropdownSubmenu, ot as SIDEBAR_AUXILIARY, p as ABOUT_TAB_PACKAGES, pt as SYSTEM_VIEWS, r as renderDropdownContribution, rt as ABOUT_TABS, s as icon, st as SIDEBAR_AUXILIARY_BOTTOM, t as handleDropdownWaSelect, tt as MouseButton, u as DocksPart, ut as SIDEBAR_MAIN_TOOLBAR, v as CTXMENU_FILEBROWSER_RENAME, vt as TOOLBAR_MAIN_CENTER, w as TOOLBAR_INFO, x as TOOLBAR_ACTIVE_PART_NAME, y as SIDEBAR_TOOLBAR_EXTENSIONS, yt as TOOLBAR_MAIN_RIGHT, z as appLoaderService } from "./parts-DMjNqL4o.js";
1
+ import { $ as COMMAND_SAVE, A as VIEW_LOG_TERMINAL, C as TOOLBAR_FULLSCREEN, D as TOOLBAR_TASKS, E as TOOLBAR_LAYOUT_SWITCHER, F as formDialog, G as sanitizeHtml, H as DocksDialogContent, I as formDialogRequired, J as extensionRegistry, L as validateFormDialogFields, M as navigableInfoDialog, N as confirmDialog, O as TOOLBAR_THEME_SWITCHER, P as infoDialog, Q as appSettings, R as promptDialog, S as TOOLBAR_FAST_VIEWS, T as TOOLBAR_LANGUAGE_SELECTOR, U as DocksElement, V as dialogService, W as parseMarkdownHtml, X as taskService, Y as esmShService, Z as TOPIC_SETTINGS_CHANGED, _ as CTXMENU_FILEBROWSER_DELETE, _t as TOOLBAR_MAIN, a as renderDropdownItem, at as PANEL_BOTTOM, b as SYSTEM_DEFAULT_FILE_ICONS, c as parseIconSpec, ct as SIDEBAR_MAIN, d as DocksContainer, dt as SYSTEM_ATTRIBUTIONS, et as HIDE_DOT_RESOURCE, f as ABOUT_TAB_ATTRIBUTIONS, ft as SYSTEM_LAYOUTS, g as ATTRIBUTION_FONT_AWESOME, gt as TOOLBAR_BOTTOM_END, h as ATTRIBUTION_ECLIPSE_DOCKS, ht as TOOLBAR_BOTTOM_CENTER, i as renderDropdownContributions, it as EDITOR_AREA_MAIN, j as filebrowserDialog, k as VIEW_FILEBROWSER, l as versionInfoDialog, lt as SIDEBAR_MAIN_BOTTOM, m as ABOUT_TAB_RELEASE, mt as TOOLBAR_BOTTOM, n as renderCommandContribution, o as renderDropdownSubmenu, ot as SIDEBAR_AUXILIARY, p as ABOUT_TAB_PACKAGES, pt as SYSTEM_VIEWS, r as renderDropdownContribution, rt as ABOUT_TABS, s as icon, st as SIDEBAR_AUXILIARY_BOTTOM, t as handleDropdownWaSelect, tt as MouseButton, u as DocksPart, ut as SIDEBAR_MAIN_TOOLBAR, v as CTXMENU_FILEBROWSER_RENAME, vt as TOOLBAR_MAIN_CENTER, w as TOOLBAR_INFO, x as TOOLBAR_ACTIVE_PART_NAME, y as SIDEBAR_TOOLBAR_EXTENSIONS, yt as TOOLBAR_MAIN_RIGHT, z as appLoaderService } from "./parts-KvjEFJ7v.js";
2
2
  import { i as setLogLevel, n as defaultLogger, o as rootContext, s as uiContext, t as createLogger } from "./logger-CiT0Cc4g.js";
3
3
  import { C as overrideContributionTargets, E as toastWarning, S as listContributionNameRemaps, T as toastInfo, a as TOPIC_COMMAND_REGISTERED, b as applyConfigNameRemaps, c as EMPTY_SIGNALPORT, d as activeSelectionSignal, f as activeTasksSignal, g as contributionRegistry, h as TOPIC_CONTRIBUTEIONS_CHANGED, i as CommandStack, l as activeEditorSignal, m as perspectiveSwitchedSignal, n as watchSignal, o as commandRegistry, p as partDirtySignal, r as CommandRegistry, s as registerAll, t as DocksWidget, u as activePartSignal, w as toastError, x as contributionTargetMappingRegistry } from "./widget-DUR6wxME.js";
4
4
  import { n as subscribe, r as unsubscribe, t as publish } from "./events-BAE5R6TH.js";
5
- import { a as File, c as StringFile, f as WorkspaceService, i as Directory, l as TOPIC_WORKSPACE_CHANGED, m as persistenceService, o as FileContentType, p as workspaceService, r as CompositeDirectory, t as FileSysDirHandleResource, u as TOPIC_WORKSPACE_CONNECTED } from "./fs-access-Cjcg0_Me.js";
6
- import { _ as createLazyLabel, a as DocksStandardLayout, c as LAYOUT_PANEL_OPTIONS, d as findStandardLayout, f as layoutIdToPanelVisibility, g as editorRegistry, h as treeNodeComparator, i as createJsRuntime, l as LAYOUT_PANEL_SETTINGS_KEY, m as resolveStoredPanelVisibility, n as getFrameworkConfig, o as registerLicenseAttribution, p as resolveInitialPanelVisibilityFromApp, r as runJavaScriptCode, s as DEFAULT_LAYOUT_PANEL_VISIBILITY, t as configureFramework, u as LEGACY_PREFERRED_LAYOUT_KEY, v as i18n } from "./api-3h__hDci.js";
5
+ import { a as File, c as StringFile, f as WorkspaceService, i as Directory, l as TOPIC_WORKSPACE_CHANGED, m as persistenceService, o as FileContentType, p as workspaceService, r as CompositeDirectory, t as FileSysDirHandleResource, u as TOPIC_WORKSPACE_CONNECTED } from "./fs-access-CrktZo-_.js";
6
+ import { _ as createLazyLabel, a as DocksStandardLayout, c as LAYOUT_PANEL_OPTIONS, d as findStandardLayout, f as layoutIdToPanelVisibility, g as editorRegistry, h as treeNodeComparator, i as createJsRuntime, l as LAYOUT_PANEL_SETTINGS_KEY, m as resolveStoredPanelVisibility, n as getFrameworkConfig, o as registerLicenseAttribution, p as resolveInitialPanelVisibilityFromApp, r as runJavaScriptCode, s as DEFAULT_LAYOUT_PANEL_VISIBILITY, t as configureFramework, u as LEGACY_PREFERRED_LAYOUT_KEY, v as i18n } from "./api-BZXW896G.js";
7
7
  export { ABOUT_TABS, ABOUT_TAB_ATTRIBUTIONS, ABOUT_TAB_PACKAGES, ABOUT_TAB_RELEASE, ATTRIBUTION_ECLIPSE_DOCKS, ATTRIBUTION_FONT_AWESOME, COMMAND_SAVE, CTXMENU_FILEBROWSER_DELETE, CTXMENU_FILEBROWSER_RENAME, CommandRegistry, CommandStack, CompositeDirectory, DEFAULT_LAYOUT_PANEL_VISIBILITY, Directory, DocksContainer, DocksDialogContent, DocksElement, DocksPart, DocksStandardLayout, DocksWidget, EDITOR_AREA_MAIN, EMPTY_SIGNALPORT, File, FileContentType, FileSysDirHandleResource, HIDE_DOT_RESOURCE, LAYOUT_PANEL_OPTIONS, LAYOUT_PANEL_SETTINGS_KEY, LEGACY_PREFERRED_LAYOUT_KEY, MouseButton, PANEL_BOTTOM, SIDEBAR_AUXILIARY, SIDEBAR_AUXILIARY_BOTTOM, SIDEBAR_MAIN, SIDEBAR_MAIN_BOTTOM, SIDEBAR_MAIN_TOOLBAR, SIDEBAR_TOOLBAR_EXTENSIONS, SYSTEM_ATTRIBUTIONS, SYSTEM_DEFAULT_FILE_ICONS, SYSTEM_LAYOUTS, SYSTEM_VIEWS, StringFile, TOOLBAR_ACTIVE_PART_NAME, TOOLBAR_BOTTOM, TOOLBAR_BOTTOM_CENTER, TOOLBAR_BOTTOM_END, TOOLBAR_FAST_VIEWS, TOOLBAR_FULLSCREEN, TOOLBAR_INFO, TOOLBAR_LANGUAGE_SELECTOR, TOOLBAR_LAYOUT_SWITCHER, TOOLBAR_MAIN, TOOLBAR_MAIN_CENTER, TOOLBAR_MAIN_RIGHT, TOOLBAR_TASKS, TOOLBAR_THEME_SWITCHER, TOPIC_COMMAND_REGISTERED, TOPIC_CONTRIBUTEIONS_CHANGED, TOPIC_SETTINGS_CHANGED, TOPIC_WORKSPACE_CHANGED, TOPIC_WORKSPACE_CONNECTED, VIEW_FILEBROWSER, VIEW_LOG_TERMINAL, WorkspaceService, activeEditorSignal, activePartSignal, activeSelectionSignal, activeTasksSignal, appLoaderService, appSettings, applyConfigNameRemaps, commandRegistry, configureFramework, confirmDialog, contributionRegistry, contributionTargetMappingRegistry, createJsRuntime, createLazyLabel, createLogger, dialogService, editorRegistry, esmShService, extensionRegistry, filebrowserDialog, findStandardLayout, formDialog, formDialogRequired, getFrameworkConfig, handleDropdownWaSelect, i18n, icon, infoDialog, layoutIdToPanelVisibility, listContributionNameRemaps, defaultLogger as logger, navigableInfoDialog, overrideContributionTargets, parseIconSpec, parseMarkdownHtml, partDirtySignal, persistenceService, perspectiveSwitchedSignal, promptDialog, publish, registerAll, registerLicenseAttribution, renderCommandContribution, renderDropdownContribution, renderDropdownContributions, renderDropdownItem, renderDropdownSubmenu, resolveInitialPanelVisibilityFromApp, resolveStoredPanelVisibility, rootContext, runJavaScriptCode, sanitizeHtml, setLogLevel, subscribe, taskService, toastError, toastInfo, toastWarning, treeNodeComparator, uiContext, unsubscribe, validateFormDialogFields, versionInfoDialog, watchSignal, workspaceService };
@@ -1 +1 @@
1
- import "../parts-DMjNqL4o.js";
1
+ import "../parts-KvjEFJ7v.js";
@@ -1,7 +1,7 @@
1
1
  import { n as defaultLogger, o as rootContext, s as uiContext, t as createLogger } from "./logger-CiT0Cc4g.js";
2
2
  import { T as toastInfo, _ as getContributionDisabled, a as TOPIC_COMMAND_REGISTERED, f as activeTasksSignal, g as contributionRegistry, h as TOPIC_CONTRIBUTEIONS_CHANGED, l as activeEditorSignal, n as watchSignal, o as commandRegistry, p as partDirtySignal, t as DocksWidget, u as activePartSignal, v as getContributionVisible, w as toastError, x as contributionTargetMappingRegistry, y as readReactiveBoolean } from "./widget-DUR6wxME.js";
3
3
  import { n as subscribe, t as publish } from "./events-BAE5R6TH.js";
4
- import { a as File, i as Directory, l as TOPIC_WORKSPACE_CHANGED, m as persistenceService, o as FileContentType, p as workspaceService } from "./fs-access-Cjcg0_Me.js";
4
+ import { a as File, i as Directory, l as TOPIC_WORKSPACE_CHANGED, m as persistenceService, o as FileContentType, p as workspaceService } from "./fs-access-CrktZo-_.js";
5
5
  import "./webawesome-C0Da7hPu.js";
6
6
  import { css, html, nothing, render } from "lit";
7
7
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
@@ -1337,13 +1337,13 @@ workspaceService.registerContribution({
1337
1337
  },
1338
1338
  async connect(_input) {
1339
1339
  const root = await getOPFSRoot();
1340
- const FileSysDirHandleResource = (await import("./fs-access-Dp9Fwsxk.js")).FileSysDirHandleResource;
1340
+ const FileSysDirHandleResource = (await import("./fs-access-B1bmJ5U0.js")).FileSysDirHandleResource;
1341
1341
  return new OPFSRootDirectory(new FileSysDirHandleResource(root));
1342
1342
  },
1343
1343
  async restore(data) {
1344
1344
  if (data && typeof data === "object" && data.opfs === true) {
1345
1345
  const root = await getOPFSRoot();
1346
- const FileSysDirHandleResource = (await import("./fs-access-Dp9Fwsxk.js")).FileSysDirHandleResource;
1346
+ const FileSysDirHandleResource = (await import("./fs-access-B1bmJ5U0.js")).FileSysDirHandleResource;
1347
1347
  return new OPFSRootDirectory(new FileSysDirHandleResource(root));
1348
1348
  }
1349
1349
  },
@@ -5246,4 +5246,4 @@ installOpenDropdownNativeContextMenuGuard();
5246
5246
  //#endregion
5247
5247
  export { COMMAND_SAVE as $, VIEW_LOG_TERMINAL as A, deleteIndexedDbWorkspaceData as B, TOOLBAR_FULLSCREEN as C, TOOLBAR_TASKS as D, TOOLBAR_LAYOUT_SWITCHER as E, formDialog as F, sanitizeHtml as G, DocksDialogContent as H, formDialogRequired as I, extensionRegistry as J, keyBindingManager as K, validateFormDialogFields as L, navigableInfoDialog as M, confirmDialog as N, TOOLBAR_THEME_SWITCHER as O, infoDialog as P, appSettings as Q, promptDialog as R, TOOLBAR_FAST_VIEWS as S, TOOLBAR_LANGUAGE_SELECTOR as T, DocksElement as U, dialogService as V, parseMarkdownHtml as W, taskService as X, esmShService as Y, TOPIC_SETTINGS_CHANGED as Z, CTXMENU_FILEBROWSER_DELETE as _, TOOLBAR_MAIN as _t, renderDropdownItem as a, PANEL_BOTTOM as at, SYSTEM_DEFAULT_FILE_ICONS as b, parseIconSpec as c, SIDEBAR_MAIN as ct, DocksContainer as d, SYSTEM_ATTRIBUTIONS as dt, HIDE_DOT_RESOURCE as et, ABOUT_TAB_ATTRIBUTIONS as f, SYSTEM_LAYOUTS as ft, ATTRIBUTION_FONT_AWESOME as g, TOOLBAR_BOTTOM_END as gt, ATTRIBUTION_ECLIPSE_DOCKS as h, TOOLBAR_BOTTOM_CENTER as ht, renderDropdownContributions as i, EDITOR_AREA_MAIN as it, filebrowserDialog as j, VIEW_FILEBROWSER as k, versionInfoDialog as l, SIDEBAR_MAIN_BOTTOM as lt, ABOUT_TAB_RELEASE as m, TOOLBAR_BOTTOM as mt, renderCommandContribution as n, constants_exports as nt, renderDropdownSubmenu as o, SIDEBAR_AUXILIARY as ot, ABOUT_TAB_PACKAGES as p, SYSTEM_VIEWS as pt, TOPIC_EXTENSIONS_CHANGED as q, renderDropdownContribution as r, ABOUT_TABS as rt, icon as s, SIDEBAR_AUXILIARY_BOTTOM as st, handleDropdownWaSelect as t, MouseButton as tt, DocksPart as u, SIDEBAR_MAIN_TOOLBAR as ut, CTXMENU_FILEBROWSER_RENAME as v, TOOLBAR_MAIN_CENTER as vt, TOOLBAR_INFO as w, TOOLBAR_ACTIVE_PART_NAME as x, SIDEBAR_TOOLBAR_EXTENSIONS as y, TOOLBAR_MAIN_RIGHT as yt, appLoaderService as z };
5248
5248
 
5249
- //# sourceMappingURL=parts-DMjNqL4o.js.map
5249
+ //# sourceMappingURL=parts-KvjEFJ7v.js.map