@theia/dev-container 1.76.0-next.7 → 1.76.0

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 (58) hide show
  1. package/lib/electron-browser/container-connection-contribution.d.ts +2 -0
  2. package/lib/electron-browser/container-connection-contribution.d.ts.map +1 -1
  3. package/lib/electron-browser/container-connection-contribution.js +12 -1
  4. package/lib/electron-browser/container-connection-contribution.js.map +1 -1
  5. package/lib/electron-browser/container-output-provider.d.ts +5 -0
  6. package/lib/electron-browser/container-output-provider.d.ts.map +1 -1
  7. package/lib/electron-browser/container-output-provider.js +11 -0
  8. package/lib/electron-browser/container-output-provider.js.map +1 -1
  9. package/lib/electron-browser/dev-container-attach-screen.d.ts +52 -0
  10. package/lib/electron-browser/dev-container-attach-screen.d.ts.map +1 -0
  11. package/lib/electron-browser/dev-container-attach-screen.js +142 -0
  12. package/lib/electron-browser/dev-container-attach-screen.js.map +1 -0
  13. package/lib/electron-browser/dev-container-attach-screen.spec.d.ts +2 -0
  14. package/lib/electron-browser/dev-container-attach-screen.spec.d.ts.map +1 -0
  15. package/lib/electron-browser/dev-container-attach-screen.spec.js +51 -0
  16. package/lib/electron-browser/dev-container-attach-screen.spec.js.map +1 -0
  17. package/lib/electron-browser/dev-container-frontend-module.d.ts +1 -0
  18. package/lib/electron-browser/dev-container-frontend-module.d.ts.map +1 -1
  19. package/lib/electron-browser/dev-container-frontend-module.js +3 -0
  20. package/lib/electron-browser/dev-container-frontend-module.js.map +1 -1
  21. package/lib/electron-browser/dev-container-startup-contribution.d.ts +31 -1
  22. package/lib/electron-browser/dev-container-startup-contribution.d.ts.map +1 -1
  23. package/lib/electron-browser/dev-container-startup-contribution.js +114 -9
  24. package/lib/electron-browser/dev-container-startup-contribution.js.map +1 -1
  25. package/lib/electron-browser/dev-container-startup-contribution.spec.d.ts +2 -0
  26. package/lib/electron-browser/dev-container-startup-contribution.spec.d.ts.map +1 -0
  27. package/lib/electron-browser/dev-container-startup-contribution.spec.js +199 -0
  28. package/lib/electron-browser/dev-container-startup-contribution.spec.js.map +1 -0
  29. package/lib/electron-common/container-output-provider.d.ts +6 -0
  30. package/lib/electron-common/container-output-provider.d.ts.map +1 -1
  31. package/lib/electron-common/remote-container-connection-provider.d.ts +10 -0
  32. package/lib/electron-common/remote-container-connection-provider.d.ts.map +1 -1
  33. package/lib/electron-main/dev-container-claim-contribution.d.ts +13 -0
  34. package/lib/electron-main/dev-container-claim-contribution.d.ts.map +1 -0
  35. package/lib/electron-main/dev-container-claim-contribution.js +38 -0
  36. package/lib/electron-main/dev-container-claim-contribution.js.map +1 -0
  37. package/lib/electron-main/dev-container-electron-main-module.d.ts +4 -0
  38. package/lib/electron-main/dev-container-electron-main-module.d.ts.map +1 -0
  39. package/lib/electron-main/dev-container-electron-main-module.js +25 -0
  40. package/lib/electron-main/dev-container-electron-main-module.js.map +1 -0
  41. package/lib/electron-node/remote-container-connection-provider.d.ts +1 -1
  42. package/lib/electron-node/remote-container-connection-provider.d.ts.map +1 -1
  43. package/lib/electron-node/remote-container-connection-provider.js +10 -5
  44. package/lib/electron-node/remote-container-connection-provider.js.map +1 -1
  45. package/package.json +9 -8
  46. package/src/electron-browser/container-connection-contribution.ts +11 -1
  47. package/src/electron-browser/container-output-provider.ts +11 -0
  48. package/src/electron-browser/dev-container-attach-screen.spec.ts +60 -0
  49. package/src/electron-browser/dev-container-attach-screen.tsx +180 -0
  50. package/src/electron-browser/dev-container-frontend-module.ts +3 -0
  51. package/src/electron-browser/dev-container-startup-contribution.spec.ts +245 -0
  52. package/src/electron-browser/dev-container-startup-contribution.ts +113 -15
  53. package/src/electron-browser/style/dev-container-attach-screen.css +75 -0
  54. package/src/electron-common/container-output-provider.ts +6 -0
  55. package/src/electron-common/remote-container-connection-provider.ts +10 -0
  56. package/src/electron-main/dev-container-claim-contribution.ts +34 -0
  57. package/src/electron-main/dev-container-electron-main-module.ts +24 -0
  58. package/src/electron-node/remote-container-connection-provider.ts +10 -5
@@ -4,6 +4,7 @@ import { WorkspaceStorageService } from '@theia/workspace/lib/browser/workspace-
4
4
  import { Command, ILogger, MaybePromise, MessageService, QuickInputService, URI } from '@theia/core';
5
5
  import { WorkspaceInput, WorkspaceOpenHandlerContribution, WorkspaceService } from '@theia/workspace/lib/browser/workspace-service';
6
6
  import { ContainerOutputProvider } from './container-output-provider';
7
+ import { RemoteCliArgsCollector } from '@theia/remote/lib/electron-browser/remote-cli-args-collector';
7
8
  import { WorkspaceServer } from '@theia/workspace/lib/common';
8
9
  import { RemotePreferences } from '@theia/remote/lib/electron-common/remote-preferences';
9
10
  import { LocalStorageService } from '@theia/core/lib/browser';
@@ -23,6 +24,7 @@ export declare class ContainerConnectionContribution extends AbstractRemoteRegis
23
24
  protected readonly workspaceServer: WorkspaceServer;
24
25
  protected readonly quickInputService: QuickInputService;
25
26
  protected readonly containerOutputProvider: ContainerOutputProvider;
27
+ protected readonly remoteCliArgsCollector: RemoteCliArgsCollector;
26
28
  protected readonly devContainerPreferences: DevContainerPreferences;
27
29
  protected readonly logger: ILogger;
28
30
  protected hasDevContainerFiles: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"container-connection-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/container-connection-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kCAAkC,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAC;AACrI,OAAO,EACH,gBAAgB,EAAqB,iCAAiC,EAEzE,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAO,iBAAiB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACpI,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,mBAAmB,SAIQ,CAAC;IAClC,MAAM,mBAAmB,SAIO,CAAC;IAEjC,MAAM,iBAAiB,SAIU,CAAC;CAC5C;AAWD,qBACa,+BAAgC,SAAQ,kCAAmC,YAAW,gCAAgC;IAG/H,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;IAGzE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,oBAAoB,UAAS;IAGvC,SAAS,CAAC,IAAI,IAAI,IAAI;cAWN,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB1D,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IActD,SAAS,CAAC,eAAe,IAAI,OAAO;IAIpC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;IAgBpC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB5E,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUxD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDjC,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5F,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsIzC,2BAA2B,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAyB7E"}
1
+ {"version":3,"file":"container-connection-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/container-connection-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kCAAkC,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAC;AACrI,OAAO,EACH,gBAAgB,EAAqB,iCAAiC,EAEzE,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAO,iBAAiB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACpI,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,mBAAmB,SAIQ,CAAC;IAClC,MAAM,mBAAmB,SAIO,CAAC;IAEjC,MAAM,iBAAiB,SAIU,CAAC;CAC5C;AAWD,qBACa,+BAAgC,SAAQ,kCAAmC,YAAW,gCAAgC;IAG/H,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;IAGzE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,oBAAoB,UAAS;IAGvC,SAAS,CAAC,IAAI,IAAI,IAAI;cAWN,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB1D,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IActD,SAAS,CAAC,eAAe,IAAI,OAAO;IAIpC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;IAgBpC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB5E,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUxD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDjC,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC5F,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyIzC,2BAA2B,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAyB7E"}
@@ -24,6 +24,7 @@ const workspace_storage_service_1 = require("@theia/workspace/lib/browser/worksp
24
24
  const core_1 = require("@theia/core");
25
25
  const workspace_service_1 = require("@theia/workspace/lib/browser/workspace-service");
26
26
  const container_output_provider_1 = require("./container-output-provider");
27
+ const remote_cli_args_collector_1 = require("@theia/remote/lib/electron-browser/remote-cli-args-collector");
27
28
  const common_1 = require("@theia/workspace/lib/common");
28
29
  const dev_container_workspaces_1 = require("../electron-common/dev-container-workspaces");
29
30
  const remote_preferences_1 = require("@theia/remote/lib/electron-common/remote-preferences");
@@ -202,7 +203,10 @@ let ContainerConnectionContribution = class ContainerConnectionContribution exte
202
203
  nodeDownloadTemplate: this.remotePreferences['remote.nodeDownloadTemplate'],
203
204
  lastContainerInfo,
204
205
  devcontainerFile: devcontainerFile.path,
205
- workspacePath: hostWorkspacePath
206
+ workspacePath: hostWorkspacePath,
207
+ // Forward per-window CLI options (e.g. session preferences of a second-instance window),
208
+ // consistent with the attach flows, so "Reopen in Container" applies the same overrides.
209
+ additionalArgs: await this.remoteCliArgsCollector.collect()
206
210
  });
207
211
  await this.storageService.setData(lastContainerInfoKey, {
208
212
  id: connectionResult.containerId,
@@ -312,6 +316,9 @@ let ContainerConnectionContribution = class ContainerConnectionContribution exte
312
316
  workspacePath: selectedPath,
313
317
  nodeDownloadTemplate: this.remotePreferences['remote.nodeDownloadTemplate'],
314
318
  devcontainerFile,
319
+ // Forward per-window CLI options (e.g. session preferences of a second-instance window),
320
+ // consistent with the CLI startup attach, so a manual attach applies the same overrides.
321
+ additionalArgs: await this.remoteCliArgsCollector.collect(),
315
322
  });
316
323
  // Store context so rebuild works from inside the container
317
324
  await this.storageService.setData(ACTIVE_DEV_CONTAINER_CONTEXT, {
@@ -391,6 +398,10 @@ tslib_1.__decorate([
391
398
  (0, inversify_1.inject)(container_output_provider_1.ContainerOutputProvider),
392
399
  tslib_1.__metadata("design:type", container_output_provider_1.ContainerOutputProvider)
393
400
  ], ContainerConnectionContribution.prototype, "containerOutputProvider", void 0);
401
+ tslib_1.__decorate([
402
+ (0, inversify_1.inject)(remote_cli_args_collector_1.RemoteCliArgsCollector),
403
+ tslib_1.__metadata("design:type", remote_cli_args_collector_1.RemoteCliArgsCollector)
404
+ ], ContainerConnectionContribution.prototype, "remoteCliArgsCollector", void 0);
394
405
  tslib_1.__decorate([
395
406
  (0, inversify_1.inject)(dev_container_preferences_1.DevContainerPreferences),
396
407
  tslib_1.__metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"container-connection-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/container-connection-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAwF;AACxF,kHAAqI;AACrI,kHAGiE;AACjE,sGAAiG;AACjG,sCAA0G;AAC1G,sFAAoI;AACpI,2EAAsE;AACtE,wDAA8D;AAC9D,0FAAuH;AACvH,6FAAyF;AACzF,qDAA8D;AAC9D,6DAAwE;AACxE,4FAAuF;AAEvF,IAAiB,uBAAuB,CAiBvC;AAjBD,WAAiB,uBAAuB;IACvB,2CAAmB,GAAG,cAAO,CAAC,kBAAkB,CAAC;QAC1D,EAAE,EAAE,mCAAmC;QACvC,KAAK,EAAE,qBAAqB;QAC5B,QAAQ,EAAE,eAAe;KAC5B,EAAE,oCAAoC,CAAC,CAAC;IAC5B,2CAAmB,GAAG,cAAO,CAAC,kBAAkB,CAAC;QAC1D,EAAE,EAAE,mCAAmC;QACvC,KAAK,EAAE,6BAA6B;QACpC,QAAQ,EAAE,eAAe;KAC5B,EAAE,mCAAmC,CAAC,CAAC;IAE3B,yCAAiB,GAAG,cAAO,CAAC,kBAAkB,CAAC;QACxD,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,eAAe;KAC5B,EAAE,oCAAoC,CAAC,CAAC;AAC7C,CAAC,EAjBgB,uBAAuB,uCAAvB,uBAAuB,QAiBvC;AAED,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAChD,MAAM,4BAA4B,GAAG,2BAA2B,CAAC;AAS1D,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,iEAAkC;IAAhF;;QAmCO,yBAAoB,GAAG,KAAK,CAAC;IA2V3C,CAAC;IAxVa,IAAI;QACV,oEAAoE;QACpE,iEAAiE;QACjE,6DAA6D;QAC7D,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACzB,cAAc,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;IACrF,CAAC;IAES,KAAK,CAAC,yBAAyB;QACrC,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,OAAO;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,4DAA4D;YAC5D,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACtC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,QAAwB;QAC3C,QAAQ,CAAC,eAAe,CAAC,uBAAuB,CAAC,mBAAmB,EAAE;YAClE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;YACrC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,oBAAoB;SACxE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,uBAAuB,CAAC,iBAAiB,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACtC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;SAC1C,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,uBAAuB,CAAC,mBAAmB,EAAE;YAClE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;SACjD,CAAC,CAAC;IACP,CAAC;IAES,eAAe;QACrB,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,SAAS,CAAC,GAAQ;QACd,IAAI,GAAG,CAAC,MAAM,KAAK,yDAA8B,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,oEAAoE;QACpE,qEAAqE;QACrE,iEAAiE;QACjE,iCAAiC;QACjC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACnE,IAAI,SAAS,EAAE,CAAC;YACZ,cAAc,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAQ,EAAE,OAAoC;QAC9D,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,mDAAwB,CAAC,CAAC;QAE9E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EAAE,8CAA8C,CAAC,CAAC,CAAC;QACrI,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAEhF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAAE,iDAAiD,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/I,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAQ;QAC5B,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,mDAAwB,CAAC,CAAC;QACvF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAAA,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtF,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QAC7E,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,oBAAoB,gBAAgB,EAAE,IAAI,GAAG,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACpD,IAAI,EAAE,UAAG,CAAC,QAAQ,CAAC,uCAAuC,EAAE,0BAA0B,CAAC;SAC1F,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,qEAAqE;YACrE,mEAAmE;YACnE,gDAAgD;YAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAkC,4BAA4B,CAAC,CAAC;YAC7G,IAAI,GAAG,EAAE,CAAC;gBACN,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAG,CAAC,QAAQ,CAAC,0CAA0C,EAAE,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBACpH,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;gBAChF,CAAC;gBACD,MAAM,gBAAgB,GAAG,GAAG,mBAAmB,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;gBAC9E,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;gBAC/D,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,iBAAiB,CAClB,EAAE,IAAI,EAAE,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,GAAG,CAAC,oBAAoB,EAAE,EAClE,GAAG,CAAC,iBAAiB,CACxB,CAAC;gBACF,OAAO;YACX,CAAC;YAED,0DAA0D;YAC1D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,OAAO;YACX,CAAC;YACD,MAAM,oBAAoB,GAAG,GAAG,mBAAmB,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC/E,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAgC,oBAAoB,CAAC,CAAC;YACjH,IAAI,iBAAiB,EAAE,CAAC;gBACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAG,CAAC,QAAQ,CAAC,0CAA0C,EAAE,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBACpH,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;gBAChF,CAAC;gBACD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;YACvE,CAAC;YACD,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAG,CAAC,QAAQ,CAAC,qCAAqC,EAAE,kCAAkC,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7I,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,gBAAkC,EAAE,aAAsB;QAC9E,MAAM,oBAAoB,GAAG,GAAG,mBAAmB,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC/E,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAgC,oBAAoB,CAAC,CAAC;QAEjH,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;QAE3C,MAAM,iBAAiB,GAAG,aAAa,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAErG,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;YACtE,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CAAC;YAC3E,iBAAiB;YACjB,gBAAgB,EAAE,gBAAgB,CAAC,IAAI;YACvC,aAAa,EAAE,iBAAiB;SACnC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAoB,oBAAoB,EAAE;YACvE,EAAE,EAAE,gBAAgB,CAAC,WAAW;YAChC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACvB,CAAC,CAAC;QAEH,gEAAgE;QAChE,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAsB,4BAA4B,EAAE;YACjF,oBAAoB,EAAE,gBAAgB,CAAC,IAAI;YAC3C,oBAAoB,EAAE,gBAAgB,CAAC,IAAI;YAC3C,iBAAiB,EAAE,iBAAiB,IAAI,EAAE;YAC1C,WAAW,EAAE,gBAAgB,CAAC,WAAW;SAC5C,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,CACnD,GAAG,yDAA8B,IAAI,iBAAiB,IAAI,mDAAwB,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnH,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC1B,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,uBAAa,CAAC;gBACtC,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAAE,qBAAqB,CAAC;gBAC3F,GAAG,EAAE,UAAG,CAAC,QAAQ,CAAC,0CAA0C,EACxD,yGAAyG,CAAC;gBAC9G,EAAE,EAAE,UAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC;gBACrC,MAAM,EAAE,gBAAM,CAAC,MAAM;aACxB,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO;YACX,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;YACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CACpB,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,8BAA8B,CAAC,CACjG,CAAC;gBACF,OAAO;YACX,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAChF,IAAI,EAAE,MAAe;gBACrB,KAAK,EAAE,SAAS,CAAC,IAAI;gBACrB,WAAW,EAAE,SAAS,CAAC,KAAK;gBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,SAAS;aACZ,CAAC,CAAC,EAAE;gBACD,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,yCAAyC,CAAC;aAC/G,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,OAAO;YACX,CAAC;YAED,MAAM,iBAAiB,GAAyB,YAAY,CAAC,SAAS,CAAC;YAEvE,MAAM,UAAU,GAAyB,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEpH,MAAM,YAAY,GAAG,iBAAiB,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAC/C,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC5B,IAAI,EAAE,MAAe;oBACrB,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,WAAW,EAAE,SAAS,CAAC,MAAM;iBAChC,CAAC,CAAC;gBACH;oBACI,IAAI,EAAE,MAAe;oBACrB,EAAE,EAAE,YAAY;oBAChB,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,sBAAsB,CAAC;oBACzF,WAAW,EAAE,EAAE;iBAClB;aACJ,EAAE;gBACC,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,8CAA8C,CAAC;aACxH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAO;YACX,CAAC;YAED,IAAI,YAAgC,CAAC;YACrC,IAAI,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC;gBACnD,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;oBAC9C,MAAM,EAAE,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAAE,+CAA+C,CAAC;oBACtH,KAAK,EAAE,GAAG;iBACb,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClC,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,OAAO;YACX,CAAC;YAED,IAAI,gBAAoC,CAAC;YACzC,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,sCAAsC,CAAC,CAAC;YAE7F,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;gBAChH,IAAI,WAAW,EAAE,CAAC;oBACd,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;wBAC/B,gBAAgB,GAAG,WAAW,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACJ,QAAQ;wBACR,MAAM,WAAW,GAAG,MAAM,IAAI,uBAAa,CAAC;4BACxC,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,6CAA6C,EAAE,mCAAmC,CAAC;4BACvG,GAAG,EAAE,UAAG,CAAC,QAAQ,CAAC,2CAA2C,EACzD,6HAA6H,EAC7H,WAAW,CAAC;4BAChB,EAAE,EAAE,UAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC;4BAClC,MAAM,EAAE,gBAAM,CAAC,MAAM;yBACxB,CAAC,CAAC,IAAI,EAAE,CAAC;wBACV,IAAI,WAAW,EAAE,CAAC;4BACd,gBAAgB,GAAG,WAAW,CAAC;wBACnC,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;YAE3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;gBACpD,IAAI,EAAE,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EAAE,wBAAwB,CAAC;aACvF,CAAC,CAAC;YAEH,IAAI,CAAC;gBACD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;oBACrE,WAAW,EAAE,iBAAiB,CAAC,EAAE;oBACjC,aAAa,EAAE,YAAY;oBAC3B,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CAAC;oBAC3E,gBAAgB;iBACnB,CAAC,CAAC;gBAEH,2DAA2D;gBAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAsB,4BAA4B,EAAE;oBACjF,oBAAoB,EAAE,gBAAgB,IAAI,EAAE;oBAC5C,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC1F,iBAAiB,EAAE,EAAE;oBACrB,WAAW,EAAE,gBAAgB,CAAC,WAAW;iBAC5C,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAClF,CAAC;oBAAS,CAAC;gBACP,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAG,CAAC,QAAQ,CAClC,wCAAwC,EACxC,oCAAoC,EACpC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAC7C,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO;QACX,CAAC;QACD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEjH,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,mCAAmC;YACnC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,oIAAoI,CAAC,CAAC,CAAC;YAChO,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI;SACb,CAAC,CAAC,EAAE;YACD,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAAE,iCAAiC,CAAC;SAC1G,CAAC,CAAC,EAAE,IAAI,CAAC;IACd,CAAC;CAEJ,CAAA;AA9XY,0EAA+B;AAGrB;IADlB,IAAA,kBAAM,EAAC,wEAAiC,CAAC;;2EAC+B;AAGtD;IADlB,IAAA,kBAAM,EAAC,sCAAiB,CAAC;;0EAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,qBAAc,CAAC;sCACY,qBAAc;uEAAC;AAG/B;IADlB,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACY,mDAAuB;gFAAC;AAGjD;IADlB,IAAA,kBAAM,EAAC,6BAAmB,CAAC;sCACO,6BAAmB;uEAAC;AAGpC;IADlB,IAAA,kBAAM,EAAC,oCAAgB,CAAC;sCACY,oCAAgB;yEAAC;AAGnC;IADlB,IAAA,kBAAM,EAAC,wBAAe,CAAC;;wEAC4B;AAGjC;IADlB,IAAA,kBAAM,EAAC,wBAAiB,CAAC;;0EAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACY,mDAAuB;gFAAC;AAGjD;IADlB,IAAA,kBAAM,EAAC,mDAAuB,CAAC;;gFACoC;AAGjD;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,+CAA+C,CAAC;;+DACrC;AAKzB;IADT,IAAA,yBAAa,GAAE;;;;2DAUf;0CA/CQ,+BAA+B;IAD3C,IAAA,sBAAU,GAAE;GACA,+BAA+B,CA8X3C"}
1
+ {"version":3,"file":"container-connection-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/container-connection-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
+ import { Emitter, Event } from '@theia/core';
1
2
  import { OutputChannel, OutputChannelManager } from '@theia/output/lib/browser/output-channel';
2
3
  export declare class ContainerOutputProvider implements ContainerOutputProvider {
3
4
  protected readonly outputChannelManager: OutputChannelManager;
4
5
  protected currentChannel?: OutputChannel;
6
+ protected readonly onDidReportStatusEmitter: Emitter<string>;
7
+ /** Fires with each curated attach status message (from {@link RemoteStatusReport}). */
8
+ readonly onDidReportStatus: Event<string>;
5
9
  openChannel(): void;
6
10
  onRemoteOutput(output: string): void;
11
+ onRemoteStatus(message: string): void;
7
12
  }
8
13
  //# sourceMappingURL=container-output-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-output-provider.d.ts","sourceRoot":"","sources":["../../src/electron-browser/container-output-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAE/F,qBACa,uBAAwB,YAAW,uBAAuB;IAGnE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAEzC,WAAW,IAAI,IAAI;IAKnB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAKvC"}
1
+ {"version":3,"file":"container-output-provider.d.ts","sourceRoot":"","sources":["../../src/electron-browser/container-output-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAE/F,qBACa,uBAAwB,YAAW,uBAAuB;IAGnE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAEzC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,kBAAyB;IACpE,uFAAuF;IACvF,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuC;IAEhF,WAAW,IAAI,IAAI;IAKnB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMpC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAKxC"}
@@ -18,8 +18,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ContainerOutputProvider = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("@theia/core/shared/inversify");
21
+ const core_1 = require("@theia/core");
21
22
  const output_channel_1 = require("@theia/output/lib/browser/output-channel");
22
23
  let ContainerOutputProvider = class ContainerOutputProvider {
24
+ constructor() {
25
+ this.onDidReportStatusEmitter = new core_1.Emitter();
26
+ /** Fires with each curated attach status message (from {@link RemoteStatusReport}). */
27
+ this.onDidReportStatus = this.onDidReportStatusEmitter.event;
28
+ }
23
29
  openChannel() {
24
30
  this.currentChannel = this.outputChannelManager.getChannel('Container');
25
31
  this.currentChannel.show();
@@ -30,6 +36,11 @@ let ContainerOutputProvider = class ContainerOutputProvider {
30
36
  this.currentChannel?.appendLine(output);
31
37
  }
32
38
  }
39
+ onRemoteStatus(message) {
40
+ if (message) {
41
+ this.onDidReportStatusEmitter.fire(message);
42
+ }
43
+ }
33
44
  };
34
45
  exports.ContainerOutputProvider = ContainerOutputProvider;
35
46
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"container-output-provider.js","sourceRoot":"","sources":["../../src/electron-browser/container-output-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,6EAA+F;AAGxF,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAOhC,WAAW;QACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,cAAc,CAAC,MAAc;QACzB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;CACJ,CAAA;AAjBY,0DAAuB;AAGb;IADlB,IAAA,kBAAM,EAAC,qCAAoB,CAAC;sCACY,qCAAoB;qEAAC;kCAHrD,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAiBnC"}
1
+ {"version":3,"file":"container-output-provider.js","sourceRoot":"","sources":["../../src/electron-browser/container-output-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,sCAA6C;AAC7C,6EAA+F;AAGxF,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QAOgB,6BAAwB,GAAG,IAAI,cAAO,EAAU,CAAC;QACpE,uFAAuF;QAC9E,sBAAiB,GAAkB,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAkBpF,CAAC;IAhBG,WAAW;QACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,cAAc,CAAC,MAAc;QACzB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,cAAc,CAAC,OAAe;QAC1B,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;CACJ,CAAA;AA3BY,0DAAuB;AAGb;IADlB,IAAA,kBAAM,EAAC,qCAAoB,CAAC;sCACY,qCAAoB;qEAAC;kCAHrD,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CA2BnC"}
@@ -0,0 +1,52 @@
1
+ import * as React from '@theia/core/shared/react';
2
+ import { ReactWidget } from '@theia/core/lib/browser';
3
+ import { MaybePromise } from '@theia/core';
4
+ export interface AttachScreenErrorActions {
5
+ /** Re-run the attach. May be asynchronous; callers/tests can await it, the button handler ignores the result. */
6
+ retry: () => MaybePromise<void>;
7
+ /** Dismiss the screen and reveal the (empty) local window. */
8
+ close: () => void;
9
+ }
10
+ /**
11
+ * Full-window, interaction-blocking "attaching" screen shown during a CLI-driven dev-container
12
+ * attach. It hides the transient local workbench (which is discarded once the window reloads into
13
+ * the container) so the user is never left interacting with the wrong window, and it surfaces the
14
+ * attach progress and any failure with a clear retry/close choice.
15
+ */
16
+ export declare class DevContainerAttachScreen extends ReactWidget {
17
+ static readonly ID = "dev-container-attach-screen";
18
+ protected containerName: string | undefined;
19
+ protected stage: string;
20
+ protected error: {
21
+ message: string;
22
+ actions: AttachScreenErrorActions;
23
+ } | undefined;
24
+ /** URL of the application's configured splash image, reused here for consistent startup branding. */
25
+ protected splashUrl: string | undefined;
26
+ protected splashFailed: boolean;
27
+ protected init(): void;
28
+ /** Shows the screen (attaching it to the document on first use) and optionally sets the target name. */
29
+ showAttaching(containerName?: string): void;
30
+ /** Updates the current progress line, e.g. from a {@link RemoteStatusReport} message. */
31
+ reportStage(message: string): void;
32
+ /** Switches the screen to an error state offering retry and close. */
33
+ reportError(message: string, actions: AttachScreenErrorActions): void;
34
+ dispose(): void;
35
+ protected render(): React.ReactNode;
36
+ protected renderSplash(): React.ReactNode;
37
+ protected onSplashError: () => void;
38
+ protected renderProgress(): React.ReactNode;
39
+ protected renderError(message: string, actions: AttachScreenErrorActions): React.ReactNode;
40
+ }
41
+ export declare namespace DevContainerAttachScreen {
42
+ /**
43
+ * Resolves the application's splash screen `content` (as configured in
44
+ * `electron.splashScreenOptions`) to a URL loadable from the frontend, given the frontend
45
+ * document's `baseHref`. A relative path is resolved against the application root: the frontend
46
+ * HTML lives at `<appRoot>/lib/frontend/`, so it is two levels up. An absolute path or an
47
+ * already-absolute URL is used as-is (mirroring the main process, which passes `content` through
48
+ * `path.resolve`). Returns `undefined` when no content is configured or the URL cannot be built.
49
+ */
50
+ function resolveSplashUrl(content: string | undefined, baseHref: string): string | undefined;
51
+ }
52
+ //# sourceMappingURL=dev-container-attach-screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-container-attach-screen.d.ts","sourceRoot":"","sources":["../../src/electron-browser/dev-container-attach-screen.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAW,WAAW,EAAU,MAAM,yBAAyB,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAO,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,wBAAwB;IACrC,iHAAiH;IACjH,KAAK,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,8DAA8D;IAC9D,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBACa,wBAAyB,SAAQ,WAAW;IAErD,MAAM,CAAC,QAAQ,CAAC,EAAE,iCAAiC;IAEnD,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,KAAK,EAAE,MAAM,CAA+F;IACtH,SAAS,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,wBAAwB,CAAA;KAAE,GAAG,SAAS,CAAC;IAEpF,qGAAqG;IACrG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,YAAY,UAAS;IAG/B,SAAS,CAAC,IAAI,IAAI,IAAI;IAStB,wGAAwG;IACxG,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAW3C,yFAAyF;IACzF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOlC,sEAAsE;IACtE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAQ5D,OAAO,IAAI,IAAI;IAOxB,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS;IAOnC,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS;IAOzC,SAAS,CAAC,aAAa,aAIrB;IAEF,SAAS,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS;IAe3C,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,KAAK,CAAC,SAAS;CAoB7F;AAED,yBAAiB,wBAAwB,CAAC;IACtC;;;;;;;OAOG;IACH,SAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYlG;CAMJ"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var DevContainerAttachScreen_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DevContainerAttachScreen = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
7
+ // *****************************************************************************
8
+ // Copyright (C) 2026 EclipseSource GmbH and others.
9
+ //
10
+ // This program and the accompanying materials are made available under the
11
+ // terms of the Eclipse Public License v. 2.0 which is available at
12
+ // http://www.eclipse.org/legal/epl-2.0.
13
+ //
14
+ // This Source Code may also be made available under the following Secondary
15
+ // Licenses when the conditions for such availability set forth in the Eclipse
16
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
17
+ // with the GNU Classpath Exception which is available at
18
+ // https://www.gnu.org/software/classpath/license.html.
19
+ //
20
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
21
+ // *****************************************************************************
22
+ const React = require("@theia/core/shared/react");
23
+ const inversify_1 = require("@theia/core/shared/inversify");
24
+ const browser_1 = require("@theia/core/lib/browser");
25
+ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
26
+ const alert_message_1 = require("@theia/core/lib/browser/widgets/alert-message");
27
+ const core_1 = require("@theia/core");
28
+ /**
29
+ * Full-window, interaction-blocking "attaching" screen shown during a CLI-driven dev-container
30
+ * attach. It hides the transient local workbench (which is discarded once the window reloads into
31
+ * the container) so the user is never left interacting with the wrong window, and it surfaces the
32
+ * attach progress and any failure with a clear retry/close choice.
33
+ */
34
+ let DevContainerAttachScreen = class DevContainerAttachScreen extends browser_1.ReactWidget {
35
+ constructor() {
36
+ super(...arguments);
37
+ this.stage = core_1.nls.localize('theia/remote/dev-container/attachScreen/preparing', 'Preparing to attach...');
38
+ this.splashFailed = false;
39
+ this.onSplashError = () => {
40
+ // The image may be blocked (e.g. by CSP) or the content may not be an image; fall back to the spinner only.
41
+ this.splashFailed = true;
42
+ this.update();
43
+ };
44
+ }
45
+ static { DevContainerAttachScreen_1 = this; }
46
+ static { this.ID = 'dev-container-attach-screen'; }
47
+ init() {
48
+ this.id = DevContainerAttachScreen_1.ID;
49
+ this.addClass('theia-dev-container-attach-screen');
50
+ this.splashUrl = DevContainerAttachScreen_1.resolveSplashUrl(frontend_application_config_provider_1.FrontendApplicationConfigProvider.get().electron?.splashScreenOptions?.content, location.href);
51
+ }
52
+ /** Shows the screen (attaching it to the document on first use) and optionally sets the target name. */
53
+ showAttaching(containerName) {
54
+ if (containerName) {
55
+ this.containerName = containerName;
56
+ }
57
+ this.error = undefined;
58
+ if (!this.isAttached) {
59
+ browser_1.Widget.attach(this, document.body);
60
+ }
61
+ this.update();
62
+ }
63
+ /** Updates the current progress line, e.g. from a {@link RemoteStatusReport} message. */
64
+ reportStage(message) {
65
+ if (message) {
66
+ this.stage = message;
67
+ this.update();
68
+ }
69
+ }
70
+ /** Switches the screen to an error state offering retry and close. */
71
+ reportError(message, actions) {
72
+ this.error = { message, actions };
73
+ if (!this.isAttached) {
74
+ browser_1.Widget.attach(this, document.body);
75
+ }
76
+ this.update();
77
+ }
78
+ dispose() {
79
+ if (this.isAttached) {
80
+ browser_1.Widget.detach(this);
81
+ }
82
+ super.dispose();
83
+ }
84
+ render() {
85
+ return (0, jsx_runtime_1.jsxs)("div", { className: 'theia-dev-container-attach-screen-content', children: [this.renderSplash(), this.error ? this.renderError(this.error.message, this.error.actions) : this.renderProgress()] });
86
+ }
87
+ renderSplash() {
88
+ if (!this.splashUrl || this.splashFailed) {
89
+ return undefined;
90
+ }
91
+ return (0, jsx_runtime_1.jsx)("img", { className: 'theia-dev-container-attach-screen-logo', src: this.splashUrl, alt: '', onError: this.onSplashError });
92
+ }
93
+ renderProgress() {
94
+ const title = this.containerName
95
+ ? core_1.nls.localize('theia/remote/dev-container/attachScreen/titleNamed', 'Attaching to {0}', this.containerName)
96
+ : core_1.nls.localize('theia/remote/dev-container/attachScreen/title', 'Attaching to container');
97
+ return (0, jsx_runtime_1.jsxs)(React.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('loading')} theia-animation-spin theia-dev-container-attach-screen-spinner` }), (0, jsx_runtime_1.jsx)("h1", { className: 'theia-dev-container-attach-screen-title', children: title }), (0, jsx_runtime_1.jsx)("div", { className: 'theia-dev-container-attach-screen-stage', children: this.stage }), (0, jsx_runtime_1.jsx)("div", { className: 'theia-dev-container-attach-screen-note', children: core_1.nls.localize('theia/remote/dev-container/attachScreen/firstStartNote', 'The first start for a container can take a minute or two. Later starts are much faster.') })] });
98
+ }
99
+ renderError(message, actions) {
100
+ return (0, jsx_runtime_1.jsxs)(React.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: 'theia-dev-container-attach-screen-alert', children: (0, jsx_runtime_1.jsx)(alert_message_1.AlertMessage, { type: 'ERROR', header: core_1.nls.localize('theia/remote/dev-container/attachScreen/errorHeader', 'Failed to attach to container'), children: message }) }), (0, jsx_runtime_1.jsxs)("div", { className: 'theia-dev-container-attach-screen-actions', children: [(0, jsx_runtime_1.jsx)("button", { className: 'theia-button', onClick: actions.retry, children: core_1.nls.localizeByDefault('Retry') }), (0, jsx_runtime_1.jsx)("button", { className: 'theia-button secondary', onClick: actions.close, children: core_1.nls.localizeByDefault('Close') })] })] });
101
+ }
102
+ };
103
+ exports.DevContainerAttachScreen = DevContainerAttachScreen;
104
+ tslib_1.__decorate([
105
+ (0, inversify_1.postConstruct)(),
106
+ tslib_1.__metadata("design:type", Function),
107
+ tslib_1.__metadata("design:paramtypes", []),
108
+ tslib_1.__metadata("design:returntype", void 0)
109
+ ], DevContainerAttachScreen.prototype, "init", null);
110
+ exports.DevContainerAttachScreen = DevContainerAttachScreen = DevContainerAttachScreen_1 = tslib_1.__decorate([
111
+ (0, inversify_1.injectable)()
112
+ ], DevContainerAttachScreen);
113
+ (function (DevContainerAttachScreen) {
114
+ /**
115
+ * Resolves the application's splash screen `content` (as configured in
116
+ * `electron.splashScreenOptions`) to a URL loadable from the frontend, given the frontend
117
+ * document's `baseHref`. A relative path is resolved against the application root: the frontend
118
+ * HTML lives at `<appRoot>/lib/frontend/`, so it is two levels up. An absolute path or an
119
+ * already-absolute URL is used as-is (mirroring the main process, which passes `content` through
120
+ * `path.resolve`). Returns `undefined` when no content is configured or the URL cannot be built.
121
+ */
122
+ function resolveSplashUrl(content, baseHref) {
123
+ if (!content) {
124
+ return undefined;
125
+ }
126
+ // A relative path is anchored below `lib/frontend/`; anything already absolute (an absolute
127
+ // filesystem path or a full URL) must not get the `../../` prefix or it would be mangled.
128
+ const specifier = isAbsolute(content) ? content : `../../${content}`;
129
+ try {
130
+ return new URL(specifier, baseHref).toString();
131
+ }
132
+ catch {
133
+ return undefined;
134
+ }
135
+ }
136
+ DevContainerAttachScreen.resolveSplashUrl = resolveSplashUrl;
137
+ function isAbsolute(content) {
138
+ // POSIX/UNC path, Windows drive path (e.g. `C:\...`), or a URL with a scheme (e.g. `file:`, `https:`, `data:`).
139
+ return content.startsWith('/') || content.startsWith('\\') || /^[a-zA-Z]:[\\/]/.test(content) || /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(content);
140
+ }
141
+ })(DevContainerAttachScreen || (exports.DevContainerAttachScreen = DevContainerAttachScreen = {}));
142
+ //# sourceMappingURL=dev-container-attach-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-container-attach-screen.js","sourceRoot":"","sources":["../../src/electron-browser/dev-container-attach-screen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dev-container-attach-screen.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-container-attach-screen.spec.d.ts","sourceRoot":"","sources":["../../src/electron-browser/dev-container-attach-screen.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource GmbH and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
19
+ let disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ const chai_1 = require("chai");
21
+ const dev_container_attach_screen_1 = require("./dev-container-attach-screen");
22
+ disableJSDOM();
23
+ describe('DevContainerAttachScreen.resolveSplashUrl', () => {
24
+ before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
25
+ after(() => disableJSDOM());
26
+ // The frontend HTML lives at `<appRoot>/lib/frontend/index.html`; splash content is resolved
27
+ // from `<appRoot>`, i.e. two levels up.
28
+ const base = 'file:///app/lib/frontend/index.html?port=3000#!empty';
29
+ it('resolves the splash content relative to the application root', () => {
30
+ (0, chai_1.expect)(dev_container_attach_screen_1.DevContainerAttachScreen.resolveSplashUrl('resources/theia-logo.svg', base))
31
+ .to.equal('file:///app/resources/theia-logo.svg');
32
+ });
33
+ it('uses an absolute path as-is, without the "../../" prefix', () => {
34
+ (0, chai_1.expect)(dev_container_attach_screen_1.DevContainerAttachScreen.resolveSplashUrl('/opt/app/logo.svg', base))
35
+ .to.equal('file:///opt/app/logo.svg');
36
+ });
37
+ it('uses an already-absolute URL as-is', () => {
38
+ (0, chai_1.expect)(dev_container_attach_screen_1.DevContainerAttachScreen.resolveSplashUrl('https://example.com/logo.svg', base))
39
+ .to.equal('https://example.com/logo.svg');
40
+ (0, chai_1.expect)(dev_container_attach_screen_1.DevContainerAttachScreen.resolveSplashUrl('data:image/svg+xml,<svg/>', base))
41
+ .to.equal('data:image/svg+xml,<svg/>');
42
+ });
43
+ it('returns undefined when no splash content is configured', () => {
44
+ (0, chai_1.expect)(dev_container_attach_screen_1.DevContainerAttachScreen.resolveSplashUrl(undefined, base)).to.be.undefined;
45
+ (0, chai_1.expect)(dev_container_attach_screen_1.DevContainerAttachScreen.resolveSplashUrl('', base)).to.be.undefined;
46
+ });
47
+ it('returns undefined when the base href is not a valid URL', () => {
48
+ (0, chai_1.expect)(dev_container_attach_screen_1.DevContainerAttachScreen.resolveSplashUrl('resources/logo.svg', 'not a url')).to.be.undefined;
49
+ });
50
+ });
51
+ //# sourceMappingURL=dev-container-attach-screen.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-container-attach-screen.spec.js","sourceRoot":"","sources":["../../src/electron-browser/dev-container-attach-screen.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,8DAAiE;AAEjE,IAAI,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AAEjC,+BAA8B;AAC9B,+EAAyE;AAEzE,YAAY,EAAE,CAAC;AAEf,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IAEvD,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAE5B,6FAA6F;IAC7F,wCAAwC;IACxC,MAAM,IAAI,GAAG,sDAAsD,CAAC;IAEpE,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,IAAA,aAAM,EAAC,sDAAwB,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;aAC9E,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAChE,IAAA,aAAM,EAAC,sDAAwB,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;aACvE,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,IAAA,aAAM,EAAC,sDAAwB,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;aAClF,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,sDAAwB,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;aAC/E,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,IAAA,aAAM,EAAC,sDAAwB,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QACnF,IAAA,aAAM,EAAC,sDAAwB,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,IAAA,aAAM,EAAC,sDAAwB,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IACzG,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import '../../src/electron-browser/style/dev-container-attach-screen.css';
1
2
  import { ContainerModule } from '@theia/core/shared/inversify';
2
3
  declare const _default: ContainerModule;
3
4
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"dev-container-frontend-module.d.ts","sourceRoot":"","sources":["../../src/electron-browser/dev-container-frontend-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAc/D,wBAuBG"}
1
+ {"version":3,"file":"dev-container-frontend-module.d.ts","sourceRoot":"","sources":["../../src/electron-browser/dev-container-frontend-module.ts"],"names":[],"mappings":"AAeA,OAAO,kEAAkE,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAe/D,wBAwBG"}
@@ -15,8 +15,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  //
16
16
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
17
17
  // *****************************************************************************
18
+ require("../../src/electron-browser/style/dev-container-attach-screen.css");
18
19
  const inversify_1 = require("@theia/core/shared/inversify");
19
20
  const remote_registry_contribution_1 = require("@theia/remote/lib/electron-browser/remote-registry-contribution");
21
+ const dev_container_attach_screen_1 = require("./dev-container-attach-screen");
20
22
  const remote_container_connection_provider_1 = require("../electron-common/remote-container-connection-provider");
21
23
  const container_connection_contribution_1 = require("./container-connection-contribution");
22
24
  const service_connection_provider_1 = require("@theia/core/lib/browser/messaging/service-connection-provider");
@@ -44,6 +46,7 @@ exports.default = new inversify_1.ContainerModule(bind => {
44
46
  bind(browser_1.LabelProviderContribution).toService(container_info_contribution_1.ContainerInfoContribution);
45
47
  bind(dev_container_suggestion_contribution_1.DevContainerSuggestionContribution).toSelf().inSingletonScope();
46
48
  bind(browser_1.FrontendApplicationContribution).toService(dev_container_suggestion_contribution_1.DevContainerSuggestionContribution);
49
+ bind(dev_container_attach_screen_1.DevContainerAttachScreen).toSelf().inSingletonScope();
47
50
  bind(dev_container_startup_contribution_1.DevContainerStartupContribution).toSelf().inSingletonScope();
48
51
  bind(browser_1.FrontendApplicationContribution).toService(dev_container_startup_contribution_1.DevContainerStartupContribution);
49
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dev-container-frontend-module.js","sourceRoot":"","sources":["../../src/electron-browser/dev-container-frontend-module.ts"],"names":[],"mappings":";;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4DAA+D;AAC/D,kHAA6G;AAC7G,kHAAmJ;AACnJ,2FAAsF;AACtF,+GAA0G;AAC1G,2EAAsE;AACtE,+EAA0E;AAC1E,qDAAqG;AACrG,sFAAkG;AAClG,8FAA8F;AAC9F,mGAA6F;AAC7F,4FAA2F;AAC3F,6FAAuF;AAEvF,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,mEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,yDAA0B,CAAC,CAAC,SAAS,CAAC,mEAA+B,CAAC,CAAC;IAC5E,IAAI,CAAC,oDAAgC,CAAC,CAAC,SAAS,CAAC,mEAA+B,CAAC,CAAC;IAElF,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAA,uDAA2B,EAAC,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,wEAAiC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QACzD,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,mDAAuB,CAAC,CAAC;QAClE,OAAO,uDAAyB,CAAC,gBAAgB,CAAoC,GAAG,CAAC,SAAS,EAAE,4EAAqC,EAAE,cAAc,CAAC,CAAC;IAC/J,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEtB,IAAI,CAAC,uDAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IAC3E,IAAI,CAAC,8CAAuB,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IACnE,IAAI,CAAC,mCAAyB,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IAErE,IAAI,CAAC,0EAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,0EAAkC,CAAC,CAAC;IAEpF,IAAI,CAAC,oEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,oEAA+B,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"dev-container-frontend-module.js","sourceRoot":"","sources":["../../src/electron-browser/dev-container-frontend-module.ts"],"names":[],"mappings":";;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4EAA0E;AAC1E,4DAA+D;AAC/D,kHAA6G;AAC7G,+EAAyE;AACzE,kHAAmJ;AACnJ,2FAAsF;AACtF,+GAA0G;AAC1G,2EAAsE;AACtE,+EAA0E;AAC1E,qDAAqG;AACrG,sFAAkG;AAClG,8FAA8F;AAC9F,mGAA6F;AAC7F,4FAA2F;AAC3F,6FAAuF;AAEvF,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,mEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,yDAA0B,CAAC,CAAC,SAAS,CAAC,mEAA+B,CAAC,CAAC;IAC5E,IAAI,CAAC,oDAAgC,CAAC,CAAC,SAAS,CAAC,mEAA+B,CAAC,CAAC;IAElF,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAA,uDAA2B,EAAC,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,wEAAiC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QACzD,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,mDAAuB,CAAC,CAAC;QAClE,OAAO,uDAAyB,CAAC,gBAAgB,CAAoC,GAAG,CAAC,SAAS,EAAE,4EAAqC,EAAE,cAAc,CAAC,CAAC;IAC/J,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEtB,IAAI,CAAC,uDAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IAC3E,IAAI,CAAC,8CAAuB,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IACnE,IAAI,CAAC,mCAAyB,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IAErE,IAAI,CAAC,0EAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,0EAAkC,CAAC,CAAC;IAEpF,IAAI,CAAC,sDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,oEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,oEAA+B,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC"}
@@ -1,15 +1,45 @@
1
1
  import { FrontendApplicationContribution } from '@theia/core/lib/browser';
2
- import { RemoteContainerConnectionProvider } from '../electron-common/remote-container-connection-provider';
2
+ import { AttachContainerArgs, RemoteContainerConnectionProvider } from '../electron-common/remote-container-connection-provider';
3
3
  import { AbstractRemoteRegistryContribution } from '@theia/remote/lib/electron-browser/remote-registry-contribution';
4
4
  import { ILogger, MessageService } from '@theia/core';
5
+ import { WindowLaunchArgs } from '@theia/core/lib/browser/window/window-launch-args';
5
6
  import { RemotePreferences } from '@theia/remote/lib/electron-common/remote-preferences';
7
+ import { ContainerOutputProvider } from './container-output-provider';
8
+ import { DevContainerAttachScreen } from './dev-container-attach-screen';
9
+ import { RemoteCliArgsCollector } from '@theia/remote/lib/electron-browser/remote-cli-args-collector';
6
10
  export declare class DevContainerStartupContribution extends AbstractRemoteRegistryContribution implements FrontendApplicationContribution {
7
11
  protected readonly connectionProvider: RemoteContainerConnectionProvider;
8
12
  protected readonly logger: ILogger;
9
13
  protected readonly messageService: MessageService;
10
14
  protected readonly remotePreferences: RemotePreferences;
15
+ protected readonly remoteCliArgsCollector: RemoteCliArgsCollector;
16
+ protected readonly containerOutputProvider: ContainerOutputProvider;
17
+ protected readonly attachScreen: DevContainerAttachScreen;
18
+ protected readonly launchArgs: WindowLaunchArgs;
11
19
  registerRemoteCommands(): void;
12
20
  onStart(): void;
13
21
  protected handleStartupAttach(): Promise<void>;
22
+ protected runStartupAttach(args: AttachContainerArgs): Promise<void>;
23
+ /**
24
+ * Whether this window was opened for a CLI-driven attach. Decided from the window's own launch
25
+ * options, which are available synchronously from the first paint, rather than from a flag in
26
+ * the URL: only `@theia/dev-container` knows what `--attach-container` means.
27
+ */
28
+ protected isAttachPending(): boolean;
29
+ /**
30
+ * Disposes the attach screen, but only when it is actually on screen. The screen is a singleton,
31
+ * so disposing it on the many windows that never attach would leave a disposed widget behind
32
+ * that a later {@link DevContainerAttachScreen.showAttaching} could no longer attach.
33
+ */
34
+ protected disposeAttachScreen(): void;
35
+ /**
36
+ * Resolves the container to attach to on startup.
37
+ *
38
+ * A forwarded (second-instance) launch carries its CLI options, provided by the trusted main
39
+ * process. For such windows those options are the only source, because the shared backend still
40
+ * reflects the original cold-start launch and cannot distinguish between windows. A cold-start
41
+ * window has no forwarded options and reads them from the backend instead.
42
+ */
43
+ protected resolveAttachArgs(): Promise<AttachContainerArgs | undefined>;
14
44
  }
15
45
  //# sourceMappingURL=dev-container-startup-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev-container-startup-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/dev-container-startup-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAC5G,OAAO,EAAE,kCAAkC,EAAE,MAAM,iEAAiE,CAAC;AACrH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAO,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AAEzF,qBACa,+BAAgC,SAAQ,kCAAmC,YAAW,+BAA+B;IAG9H,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;IAGzE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,sBAAsB,IAAI,IAAI;IAI9B,OAAO,IAAI,IAAI;cAIC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoDvD"}
1
+ {"version":3,"file":"dev-container-startup-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/dev-container-startup-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AACjI,OAAO,EAAE,kCAAkC,EAAE,MAAM,iEAAiE,CAAC;AACrH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAO,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AAEtG,qBACa,+BAAgC,SAAQ,kCAAmC,YAAW,+BAA+B;IAG9H,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;IAGzE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEhD,sBAAsB,IAAI,IAAI;IAI9B,OAAO,IAAI,IAAI;cAWC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;cA8BpC,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD1E;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,OAAO;IAKpC;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAMrC;;;;;;;OAOG;cACa,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;CAYhF"}