@c8y/ngx-components 1017.0.338 → 1017.0.345

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 (28) hide show
  1. package/core/common/date.pipe.d.ts +2 -2
  2. package/core/common/stringify-object.pipe.d.ts +2 -1
  3. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts +6 -5
  4. package/ecosystem/shared/ecosystem.constants.d.ts +2 -0
  5. package/ecosystem/shared/ecosystem.model.d.ts +3 -1
  6. package/ecosystem/shared/ecosystem.service.d.ts +11 -5
  7. package/esm2020/core/common/date.pipe.mjs +12 -7
  8. package/esm2020/core/common/stringify-object.pipe.mjs +11 -8
  9. package/esm2020/ecosystem/application-properties/application-properties.component.mjs +3 -3
  10. package/esm2020/ecosystem/applications/install-from-package/install-from-package.component.mjs +2 -2
  11. package/esm2020/ecosystem/packages/deploy-application/deploy-application.component.mjs +26 -81
  12. package/esm2020/ecosystem/shared/ecosystem.constants.mjs +5 -3
  13. package/esm2020/ecosystem/shared/ecosystem.model.mjs +3 -1
  14. package/esm2020/ecosystem/shared/ecosystem.service.mjs +121 -24
  15. package/fesm2015/c8y-ngx-components-ecosystem-shared.mjs +139 -27
  16. package/fesm2015/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  17. package/fesm2015/c8y-ngx-components-ecosystem.mjs +23 -77
  18. package/fesm2015/c8y-ngx-components-ecosystem.mjs.map +1 -1
  19. package/fesm2015/c8y-ngx-components.mjs +20 -13
  20. package/fesm2015/c8y-ngx-components.mjs.map +1 -1
  21. package/fesm2020/c8y-ngx-components-ecosystem-shared.mjs +126 -25
  22. package/fesm2020/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  23. package/fesm2020/c8y-ngx-components-ecosystem.mjs +23 -78
  24. package/fesm2020/c8y-ngx-components-ecosystem.mjs.map +1 -1
  25. package/fesm2020/c8y-ngx-components.mjs +20 -13
  26. package/fesm2020/c8y-ngx-components.mjs.map +1 -1
  27. package/locales/locales.pot +15 -3
  28. package/package.json +2 -2
@@ -128,7 +128,7 @@ export class InstallFromPackageComponent {
128
128
  this.canDeploy = true;
129
129
  }
130
130
  async selectPackage(selectedPackage) {
131
- const apps = (await this.ecosystemService.getApplications()).data;
131
+ const apps = await this.ecosystemService.getHostedAndPackageApplications();
132
132
  this.newAppConfig = this.ecosystemService.getUniqueAppConfig(selectedPackage, apps);
133
133
  this.selectedPackage = selectedPackage;
134
134
  this.loadSelectedPackageVersions();
@@ -184,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
184
184
  type: ViewChild,
185
185
  args: [ApplicationPropertiesFormComponent]
186
186
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC1mcm9tLXBhY2thZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL2FwcGxpY2F0aW9ucy9pbnN0YWxsLWZyb20tcGFja2FnZS9pbnN0YWxsLWZyb20tcGFja2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9lY29zeXN0ZW0vYXBwbGljYXRpb25zL2luc3RhbGwtZnJvbS1wYWNrYWdlL2luc3RhbGwtZnJvbS1wYWNrYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxrQkFBa0IsRUFHbEIsZ0JBQWdCLEVBRWpCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7QUFNMUYsTUFBTSxPQUFPLDJCQUEyQjtJQW9CdEMsWUFDVSxnQkFBa0MsRUFDbEMsa0JBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGdCQUFrQztRQUpsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixxQkFBZ0IsR0FBaEIs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QUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDOzt3SEEzTVUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsMkhBaUIzQixrQ0FBa0MsZ0RDbkMvQyxvdExBcUtBOzJGRG5KYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMEJBQTBCO2tPQXFCcEMseUJBQXlCO3NCQUR4QixTQUFTO3VCQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uU2VydmljZSxcbiAgSUFwcGxpY2F0aW9uLFxuICBJQXBwbGljYXRpb25WZXJzaW9uLFxuICBJbnZlbnRvcnlTZXJ2aWNlLFxuICBJUmVzdWx0TGlzdFxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBQbHVnaW5zU2VydmljZSwgV2l6YXJkQ29tcG9uZW50IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFY29zeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9lY29zeXN0ZW0vc2hhcmVkJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uUHJvcGVydGllc0Zvcm1Db21wb25lbnQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Vjb3N5c3RlbS9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktaW5zdGFsbC1mcm9tLXBhY2thZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5zdGFsbC1mcm9tLXBhY2thZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEluc3RhbGxGcm9tUGFja2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG5ld0FwcENvbmZpZzogSUFwcGxpY2F0aW9uO1xuICBzZWxlY3RlZFBhY2thZ2U6IElBcHBsaWNhdGlvbjtcbiAgcGFja2FnZXM6IElBcHBsaWNhdGlvbltdO1xuICBpblByb2dyZXNzOiBib29sZWFuO1xuICBkZXBsb3llZFdpdGhTdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRGVwbG95ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RlbCA9IHtcbiAgICBzZWxlY3RlZDogdW5kZWZpbmVkLFxuICAgIGJpbmFyeToge1xuICAgICAgaWQ6IHVuZGVmaW5lZFxuICAgIH1cbiAgfTtcbiAgY2FuRGVwbG95OiBib29sZWFuID0gZmFsc2U7XG4gIG9uSW5wdXQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgdmVyc2lvbnMkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PElBcHBsaWNhdGlvblZlcnNpb24+PjtcbiAgQFZpZXdDaGlsZChBcHBsaWNhdGlvblByb3BlcnRpZXNGb3JtQ29tcG9uZW50KVxuICBhcHBsaWNhdGlvblByb3BlcnRpZXNGb3JtOiBBcHBsaWNhdGlvblByb3BlcnRpZXNGb3JtQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWNvc3lzdGVtU2VydmljZTogRWNvc3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIGFwcGxpY2F0aW9uU2VydmljZTogQXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgd2l6YXJkQ29tcG9uZW50OiBXaXphcmRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBwbHVnaW5zU2VydmljZTogUGx1Z2luc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnlTZXJ2aWNlOiBJbnZlbnRvcnlTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRQYWNrYWdlcygpO1xuICB9XG5cbiAgYmFjaygpIHtcbiAgICB0aGlzLndpemFyZENvbXBvbmVudC5yZXNldCgpO1xuICB9XG5cbiAgY2xlYW4oKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhY2thZ2UgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy52ZXJzaW9ucyQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5tb2RlbCA9IHtcbiAgICAgIHNlbGVjdGVkOiB1bmRlZmluZWQsXG4gICAgICBiaW5hcnk6IHtcbiAgICAgICAgaWQ6IHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy53aXphcmRDb21wb25lbnQuY2xvc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGRlcGxveUFwcCgpIHtcbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gdGhpcy5hcHBsaWNhdGlvblByb3BlcnRpZXNGb3JtLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgLy8gQ3JlYXRlIG5ldyBhcHAgY29uZmlnXG4gICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmNyZWF0ZUNvbmZpZyh0aGlzLnNlbGVjdGVkUGFja2FnZSwgZm9ybUdyb3VwVmFsdWUpO1xuICAgIGNvbmZpZy52ZXJzaW9uID0gdGhpcy5tb2RlbC5zZWxlY3RlZC52ZXJzaW9uO1xuICAgIGNvbmZpZy5pc1NldHVwID0gdHJ1ZTtcbiAgICBpZiAoIWNvbmZpZy5tYW5pZmVzdCkge1xuICAgICAgY29uZmlnLm1hbmlmZXN0ID0ge307XG4gICAgfVxuICAgIGNvbmZpZy5tYW5pZmVzdC5pc1BhY2thZ2UgPSBmYWxzZTtcbiAgICBjb25maWcubWFuaWZlc3Quc291cmNlID0gdGhpcy5zZWxlY3RlZFBhY2thZ2UuaWQ7XG4gICAgY29uZmlnLm1hbmlmZXN0LnBhY2thZ2UgPSAnYmx1ZXByaW50JztcbiAgICBjb25maWcucmVzb3VyY2VzVXJsID0gJy8nO1xuXG4gICAgLy8gQ3JlYXRlIG5ldyBhcHBcbiAgICBjb25zdCBuZXdBcHAgPSAoYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuY3JlYXRlKGNvbmZpZykpLmRhdGE7XG4gICAgLy8gQmluYXJ5XG4gICAgdHJ5IHtcbiAgICAgIC8vIEdldCBiaW5hcnkgZGV0YWlsc1xuICAgICAgY29uc3QgeyBkYXRhOiBiaW5hcnlEZXRhaWxzIH0gPSBhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGV0YWlsKFxuICAgICAgICB0aGlzLm1vZGVsLnNlbGVjdGVkLmJpbmFyeUlkXG4gICAgICApO1xuXG4gICAgICAvLyBHZXQgYmluYXJ5IGZyb20gc3BlY2lmaWMgcGFja2FnZSB2ZXJzaW9uXG4gICAgICBjb25zdCBiaW5hcnkgPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZ2V0QmluYXJ5KHRoaXMuc2VsZWN0ZWRQYWNrYWdlLCB7XG4gICAgICAgIGlkOiB0aGlzLm1vZGVsLnNlbGVjdGVkLmJpbmFyeUlkXG4gICAgICB9KTtcbiAgICAgIC8vIENyZWF0ZSB6aXBcbiAgICAgIGNvbnN0IGZpbGVCaW5hcnkgPSBuZXcgQmxvYihbYmluYXJ5XSwgeyB0eXBlOiBiaW5hcnlEZXRhaWxzLmNvbnRlbnRUeXBlIH0pO1xuICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtmaWxlQmluYXJ5XSwgYmluYXJ5RGV0YWlscy5uYW1lLCB7XG4gICAgICAgIHR5cGU6IGJpbmFyeURldGFpbHMuY29udGVudFR5cGVcbiAgICAgIH0pO1xuXG4gICAgICAvLyBVcGxvYWQgYmluYXJ5IHRvIG5ldyBhcHBcbiAgICAgIGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS51cGxvYWRBcmNoaXZlVG9BcHAoZmlsZSwgbmV3QXBwKTtcbiAgICAgIC8vIFVwZGF0ZSBtYW5pZmVzdFxuICAgICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLnVwZGF0ZUFwcE1hbmlmZXN0KG5ld0FwcCwgdGhpcy5zZWxlY3RlZFBhY2thZ2UpO1xuXG4gICAgICB0aGlzLmRlcGxveWVkV2l0aFN1Y2Nlc3MgPSB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3I/LnJlcz8uc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZGVsZXRlKG5ld0FwcC5pZCk7XG4gICAgICAgIGF3YWl0IHRoaXMuZmFsbGJhY2tUb0Nsb25lTGF0ZXN0KGNvbmZpZyk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubWFya0FzRGVwbG95ZWQoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBmYWxsYmFja1RvQ2xvbmVMYXRlc3QoY29uZmlnKSB7XG4gICAgbGV0IGNsb25lZFBrZztcbiAgICB0cnkge1xuICAgICAgY2xvbmVkUGtnID0gKGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmNsb25lKHRoaXMuc2VsZWN0ZWRQYWNrYWdlKSkuZGF0YTtcblxuICAgICAgLy8gY2xlYW4gb3V0IGFsbCBmYWxzZWx5IGNsb25lZCBhcHBsaWNhdGlvblZlcnNpb25zLCB3ZSBkb24ndCBuZWVkIHRoZW1cbiAgICAgIGZvciAoY29uc3QgYXBwVmVyc2lvbiBvZiBjbG9uZWRQa2cuYXBwbGljYXRpb25WZXJzaW9ucyBhcyBJQXBwbGljYXRpb25WZXJzaW9uW10pIHtcbiAgICAgICAgaWYgKGFwcFZlcnNpb24udGFncy5pbmNsdWRlcygnbGF0ZXN0JykpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2Uuc2V0UGFja2FnZVZlcnNpb25UYWcoY2xvbmVkUGtnLCBhcHBWZXJzaW9uLnZlcnNpb24sIFtdKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZGVsZXRlUGFja2FnZVZlcnNpb24oY2xvbmVkUGtnLCB7XG4gICAgICAgICAgdmVyc2lvbjogYXBwVmVyc2lvbi52ZXJzaW9uXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZGVsZXRlIGNvbmZpZy50eXBlO1xuICAgICAgY29uZmlnLmlzUGFja2FnZSA9IGZhbHNlO1xuICAgICAgY29uc3QgeyBkYXRhOiBuZXdBcHAgfSA9IGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS51cGRhdGVBcHAoXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogY2xvbmVkUGtnLmlkLFxuICAgICAgICAgIGFjdGl2ZVZlcnNpb25JZDogY2xvbmVkUGtnLmFjdGl2ZVZlcnNpb25JZCxcbiAgICAgICAgICAuLi5jb25maWdcbiAgICAgICAgfSxcbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudXBkYXRlQXBwTWFuaWZlc3QobmV3QXBwLCB0aGlzLnNlbGVjdGVkUGFja2FnZSk7XG4gICAgICB0aGlzLmRlcGxveWVkV2l0aFN1Y2Nlc3MgPSB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZGVsZXRlQXBwKGNsb25lZFBrZy5pZCwgdHJ1ZSk7XG4gICAgfVxuICAgIHRoaXMubWFya0FzRGVwbG95ZWQoKTtcbiAgfVxuXG4gIG9uQXBwVmVyc2lvblNlbGVjdChhcHBWZXJzaW9uOiBJQXBwbGljYXRpb25WZXJzaW9uKSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLCB7XG4gICAgICBzZWxlY3RlZDogYXBwVmVyc2lvblxuICAgIH0pO1xuICAgIHRoaXMuY2FuRGVwbG95ID0gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHNlbGVjdFBhY2thZ2Uoc2VsZWN0ZWRQYWNrYWdlOiBJQXBwbGljYXRpb24pIHtcbiAgICBjb25zdCBhcHBzID0gKGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS5nZXRBcHBsaWNhdGlvbnMoKSkuZGF0YTtcbiAgICB0aGlzLm5ld0FwcENvbmZpZyA9IHRoaXMuZWNvc3lzdGVtU2VydmljZS5nZXRVbmlxdWVBcHBDb25maWcoc2VsZWN0ZWRQYWNrYWdlLCBhcHBzKTtcbiAgICB0aGlzLnNlbGVjdGVkUGFja2FnZSA9IHNlbGVjdGVkUGFja2FnZTtcblxuICAgIHRoaXMubG9hZFNlbGVjdGVkUGFja2FnZVZlcnNpb25zKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRTZWxlY3RlZFBhY2thZ2VWZXJzaW9ucygpIHtcbiAgICB0aGlzLnZlcnNpb25zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5nZXRBcHBWZXJzaW9ucyh0aGlzLnNlbGVjdFBhY2thZ2UpLFxuICAgICAgdGhpcy5vbklucHV0LmFzT2JzZXJ2YWJsZSgpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3VsdExpc3QsIGZpbHRlclN0cl0pID0+IHtcbiAgICAgICAgdGhpcy5jYW5EZXBsb3kgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgdmVyc2lvbnNGaWx0ZXJlZEJ5U3RyID0gdGhpcy5maWx0ZXJBcHBWZXJzaW9ucyhyZXN1bHRMaXN0LmRhdGEsIGZpbHRlclN0cik7XG4gICAgICAgIGNvbnN0IHNvcnRlZEFwcFZlcnNpb25zID0gdGhpcy5wbHVnaW5zU2VydmljZS5zb3J0VmVyc2lvbnMoXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGlzdDogdmVyc2lvbnNGaWx0ZXJlZEJ5U3RyLFxuICAgICAgICAgICAgcGF0aDogWyd2ZXJzaW9uJ11cbiAgICAgICAgICB9LFxuICAgICAgICAgICdkZXNjJ1xuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlRm9ySW5wdXQoc29ydGVkQXBwVmVyc2lvbnMpO1xuICAgICAgICByZXR1cm4geyBkYXRhOiBzb3J0ZWRBcHBWZXJzaW9ucywgcmVzOiByZXN1bHRMaXN0LnJlcyB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBcHBWZXJzaW9ucyhtbzogSUFwcGxpY2F0aW9uKSB7XG4gICAgY29uc3QgdmVyc2lvbnMgPSBtbz8uYXBwbGljYXRpb25WZXJzaW9ucztcbiAgICByZXR1cm4gdmVyc2lvbnMgJiYgdmVyc2lvbnMubGVuZ3RoID4gMFxuICAgICAgPyBvZih7IGRhdGE6IHZlcnNpb25zLCByZXM6IHVuZGVmaW5lZCB9KVxuICAgICAgOiBmcm9tKHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmxpc3RWZXJzaW9ucyh0aGlzLnNlbGVjdGVkUGFja2FnZS5pZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbml0aWFsVmFsdWVGb3JJbnB1dCh2ZXJzaW9uczogSUFwcGxpY2F0aW9uVmVyc2lvbltdKSB7XG4gICAgaWYgKCF0aGlzLm1vZGVsLnNlbGVjdGVkICYmIHZlcnNpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxhdGVzdCA9IHZlcnNpb25zLmZpbmQodiA9PiB2LnRhZ3MuaW5jbHVkZXMoJ2xhdGVzdCcpKTtcbiAgICAgIHRoaXMubW9kZWwuc2VsZWN0ZWQgPSBsYXRlc3QgfHwgdmVyc2lvbnNbMF07XG4gICAgICB0aGlzLmNhbkRlcGxveSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJBcHBWZXJzaW9ucyhcbiAgICBhcHBWZXJzaW9uczogSUFwcGxpY2F0aW9uVmVyc2lvbltdLFxuICAgIGZpbHRlclN0cjogc3RyaW5nXG4gICk6IElBcHBsaWNhdGlvblZlcnNpb25bXSB7XG4gICAgcmV0dXJuIGZpbHRlclN0ciA9PT0gJydcbiAgICAgID8gYXBwVmVyc2lvbnNcbiAgICAgIDogYXBwVmVyc2lvbnMuZmlsdGVyKGFwcFZlcnNpb24gPT4gYXBwVmVyc2lvbi52ZXJzaW9uLmluY2x1ZGVzKGZpbHRlclN0cikpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrQXNEZXBsb3llZCgpIHtcbiAgICB0aGlzLmlzRGVwbG95ZWQgPSB0cnVlO1xuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkUGFja2FnZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYXBwbGljYXRpb25zID0gYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldFBhY2thZ2VBcHBsaWNhdGlvbnMoKTtcbiAgICB0aGlzLnBhY2thZ2VzID0gYXBwbGljYXRpb25zLmZpbHRlcihhcHAgPT4gdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmlzUGFja2FnZUJsdWVwcmludChhcHApKTtcbiAgfVxufVxuIiwiPGM4eS13aXphcmQtaGVhZGVyPlxuICA8aSBbYzh5SWNvbl09XCInYmlnLXBhcmNlbCdcIj48L2k+XG4gIDxoNCBpZD1cIm1vZGFsLXRpdGxlXCIgdHJhbnNsYXRlPkluc3RhbGwgZnJvbSBwYWNrYWdlPC9oND5cbjwvYzh5LXdpemFyZC1oZWFkZXI+XG48Yzh5LXdpemFyZC1ib2R5PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGVkUGFja2FnZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1pbm5lci1zY3JvbGxcIiBpZD1cIm1vZGFsLWJvZHlcIj5cbiAgICAgIDxwIGNsYXNzPVwicC0xNiB0ZXh0LW1lZGl1bSB0ZXh0LWNlbnRlciBzZXBhcmF0b3ItYm90dG9tIHN0aWNreS10b3AgYmctbGV2ZWwtMFwiPlxuICAgICAgICB7eyAnU2VsZWN0IGZyb20gYXZhaWxhYmxlIHBhY2thZ2VzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9wPlxuXG4gICAgICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgICAgICpuZ0lmPVwiIXBhY2thZ2VzPy5sZW5ndGhcIlxuICAgICAgICBbaWNvbl09XCInYmlnLXBhcmNlbCdcIlxuICAgICAgICBbdGl0bGVdPVwiJ05vIHBhY2thZ2VzIHRvIGRpc3BsYXkuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtob3Jpem9udGFsXT1cInRydWVcIlxuICAgICAgPjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwicGFja2FnZXM/Lmxlbmd0aFwiIGNsYXNzPVwiYzh5LXdpemFyZC1saXN0LW5hdlwiIHN0eWxlPVwibWluLWhlaWdodDogMjU3cHhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIHRleHQtdHJ1bmNhdGVcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBwYWNrYWdlIG9mIHBhY2thZ2VzXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGFja2FnZShwYWNrYWdlKVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBwYWNrYWdlLm5hbWUgfX1cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgYzh5SWNvbj1cImJpZy1wYXJjZWxcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3BhbiBbaW5uZXJUZXh0XT1cInBhY2thZ2UubmFtZVwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNEZXBsb3llZCAmJiBzZWxlY3RlZFBhY2thZ2VcIj5cbiAgICA8cCBjbGFzcz1cInAtMTYgdGV4dC1jZW50ZXIgdGV4dC1tZWRpdW0gc2VwYXJhdG9yLWJvdHRvbSBzdGlja3ktdG9wIGJnLWxldmVsLTBcIj5cbiAgICAgIHt7ICdQcm92aWRlIGFwcGxpY2F0aW9uIGRldGFpbHMnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZC1jb2wgYS1pLWNlbnRlciBqLWMtY2VudGVyXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAyNTdweFwiPlxuICAgICAgPGM4eS1hcHBsaWNhdGlvbi1wcm9wZXJ0aWVzLWZvcm1cbiAgICAgICAgKm5nSWY9XCIhaW5Qcm9ncmVzc1wiXG4gICAgICAgIFthcHBsaWNhdGlvbl09XCJuZXdBcHBDb25maWdcIlxuICAgICAgICBjbGFzcz1cImQtYmxvY2sgZml0LXdcIlxuICAgICAgPjwvYzh5LWFwcGxpY2F0aW9uLXByb3BlcnRpZXMtZm9ybT5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpblByb2dyZXNzXCI+XG4gICAgICAgIDxkaXYgW25nU3R5bGVdPVwieyBwYWRkaW5nOiAnMCAxNnB4JyB9XCIgY2xhc3M9XCJkLWJsb2NrIGZpdC13IGJnLWdyYXktd2hpdGVcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwicGFja2FnZVZlcnNpb25cIiB0cmFuc2xhdGU+VXNlIHBhY2thZ2UgdmVyc2lvbjwvbGFiZWw+XG4gICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgPGM4eS10eXBlYWhlYWRcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJwYWNrYWdlVmVyc2lvblwiXG4gICAgICAgICAgICAgIChvblNlYXJjaCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ1NlbGVjdCBvciBlbnRlcicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBbZGlzcGxheVByb3BlcnR5XT1cIid2ZXJzaW9uJ1wiXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2hpZGVOZXddPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtjb250YWluZXJdPVwiJ2JvZHknXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGM4eS1saVxuICAgICAgICAgICAgICAgICpjOHlGb3I9XCJsZXQgdmVyc2lvbiBvZiB2ZXJzaW9ucyQ7IGxvYWRNb3JlOiAnYXV0byc7IG5vdEZvdW5kOiBub3RGb3VuZFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BcHBWZXJzaW9uU2VsZWN0KHZlcnNpb24pXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtbC04IHAtci04IGM4eS1saXN0X19pdGVtLS1saW5rXCJcbiAgICAgICAgICAgICAgICBbYWN0aXZlXT1cIm1vZGVsLnNlbGVjdGVkID09PSB2ZXJzaW9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxjOHktbGktaWNvbiBpY29uPVwiYmlnLXBhcmNlbFwiPjwvYzh5LWxpLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAnZmxleC1kaXJlY3Rpb24nOiAncm93JyxcbiAgICAgICAgICAgICAgICAgICAgJ2FsaWduLWNvbnRlbnQnOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgJ2p1c3RpZnktY29udGVudCc6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICAgICAgICAgICAgJ2FsaWduLWl0ZW1zJzogJ2NlbnRlcidcbiAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxjOHktaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cInZlcnNpb24udmVyc2lvbiB8fCAnLS0nXCJcbiAgICAgICAgICAgICAgICAgICAgW3BhdHRlcm5dPVwib25JbnB1dCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgID48L2M4eS1oaWdobGlnaHQ+XG5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGFnIG9mIHZlcnNpb24udGFnc1wiIGNsYXNzPVwibGFiZWwgbGFiZWwtaW5mbyBtLWwtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHRhZyB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2M4eS1saT5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RGb3VuZFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxjOHktbGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmctZ3JheS1saWdodGVyIHAtOFwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIihvbklucHV0IHwgYXN5bmMpPy5sZW5ndGggPiAwICYmICh2ZXJzaW9ucyQgfCBhc3luYyk/LmRhdGE/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPk5vIG1hdGNoIGZvdW5kLjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2M4eS1saT5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYzh5LXR5cGVhaGVhZD5cbiAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8Yzh5LXByb2dyZXNzLWJhclxuICAgICAgICBbbWVzc2FnZV09XCInSW5zdGFsbGluZ+KApicgfCB0cmFuc2xhdGVcIlxuICAgICAgICBjbGFzcz1cInRleHQtY2VudGVyIGQtYmxvY2tcIlxuICAgICAgICAqbmdJZj1cImluUHJvZ3Jlc3NcIlxuICAgICAgPjwvYzh5LXByb2dyZXNzLWJhcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRGVwbG95ZWRcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImRlcGxveWVkV2l0aFN1Y2Nlc3M7IGVsc2UgZmFpbGVkRGVwbG95XCJcbiAgICAgIGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXIgai1jLWNlbnRlclwiXG4gICAgICBzdHlsZT1cIm1pbi1oZWlnaHQ6IDI1N3B4XCJcbiAgICA+XG4gICAgICA8Yzh5LW9wZXJhdGlvbi1yZXN1bHRcbiAgICAgICAgdGV4dD1cInt7ICdBcHBsaWNhdGlvbiBjcmVhdGVkJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIFtzaXplXT1cIjg0XCJcbiAgICAgICAgW3ZlcnRpY2FsXT1cInRydWVcIlxuICAgICAgICB0eXBlPVwic3VjY2Vzc1wiXG4gICAgICAgIGNsYXNzPVwibGVhZFwiXG4gICAgICA+PC9jOHktb3BlcmF0aW9uLXJlc3VsdD5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI2ZhaWxlZERlcGxveT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlciBqLWMtY2VudGVyXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAyNTdweFwiPlxuICAgICAgICA8Yzh5LW9wZXJhdGlvbi1yZXN1bHRcbiAgICAgICAgICB0ZXh0PVwie3sgJ0FwcGxpY2F0aW9uIGNyZWF0aW9uIGZhaWxlZCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtzaXplXT1cIjg0XCJcbiAgICAgICAgICBbdmVydGljYWxdPVwidHJ1ZVwiXG4gICAgICAgICAgdHlwZT1cImVycm9yXCJcbiAgICAgICAgICBjbGFzcz1cImxlYWRcIlxuICAgICAgICA+PC9jOHktb3BlcmF0aW9uLXJlc3VsdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9jOHktd2l6YXJkLWJvZHk+XG5cbjxjOHktd2l6YXJkLWZvb3Rlcj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiIWlzRGVwbG95ZWRcIlxuICAgIChjbGljayk9XCJzZWxlY3RlZFBhY2thZ2UgPyBjbGVhbigpIDogYmFjaygpXCJcbiAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgdGl0bGU9XCJ7eyAnQmFjaycgfCB0cmFuc2xhdGUgfX1cIlxuICAgIFtkaXNhYmxlZF09XCJpblByb2dyZXNzXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgPlxuICAgIHt7ICdCYWNrJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIHRpdGxlPVwie3sgaXNEZXBsb3llZCAmJiBkZXBsb3llZFdpdGhTdWNjZXNzID8gKCdDbG9zZScgfCB0cmFuc2xhdGUpIDogKCdDYW5jZWwnIHwgdHJhbnNsYXRlKSB9fVwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gID5cbiAgICB7eyBpc0RlcGxveWVkICYmIGRlcGxveWVkV2l0aFN1Y2Nlc3MgPyAoJ0Nsb3NlJyB8IHRyYW5zbGF0ZSkgOiAoJ0NhbmNlbCcgfCB0cmFuc2xhdGUpIH19XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b25cbiAgICB0aXRsZT1cInt7ICdJbnN0YWxsJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJkZXBsb3lBcHAoKVwiXG4gICAgW2Rpc2FibGVkXT1cImluUHJvZ3Jlc3MgfHwgIXBhY2thZ2VzPy5sZW5ndGhcIlxuICAgICpuZ0lmPVwiIWlzRGVwbG95ZWRcIlxuICA+XG4gICAge3sgJ0luc3RhbGwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9jOHktd2l6YXJkLWZvb3Rlcj5cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC1mcm9tLXBhY2thZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL2FwcGxpY2F0aW9ucy9pbnN0YWxsLWZyb20tcGFja2FnZS9pbnN0YWxsLWZyb20tcGFja2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9lY29zeXN0ZW0vYXBwbGljYXRpb25zL2luc3RhbGwtZnJvbS1wYWNrYWdlL2luc3RhbGwtZnJvbS1wYWNrYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxrQkFBa0IsRUFHbEIsZ0JBQWdCLEVBRWpCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7QUFNMUYsTUFBTSxPQUFPLDJCQUEyQjtJQW9CdEMsWUFDVSxnQkFBa0MsRUFDbEMsa0JBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGdCQUFrQztRQUpsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixxQkFBZ0IsR0FBaEIs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Q0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDOzt3SEEzTVUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsMkhBaUIzQixrQ0FBa0MsZ0RDbkMvQyxvdExBcUtBOzJGRG5KYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMEJBQTBCO2tPQXFCcEMseUJBQXlCO3NCQUR4QixTQUFTO3VCQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uU2VydmljZSxcbiAgSUFwcGxpY2F0aW9uLFxuICBJQXBwbGljYXRpb25WZXJzaW9uLFxuICBJbnZlbnRvcnlTZXJ2aWNlLFxuICBJUmVzdWx0TGlzdFxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBQbHVnaW5zU2VydmljZSwgV2l6YXJkQ29tcG9uZW50IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFY29zeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9lY29zeXN0ZW0vc2hhcmVkJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uUHJvcGVydGllc0Zvcm1Db21wb25lbnQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Vjb3N5c3RlbS9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktaW5zdGFsbC1mcm9tLXBhY2thZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5zdGFsbC1mcm9tLXBhY2thZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEluc3RhbGxGcm9tUGFja2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG5ld0FwcENvbmZpZzogSUFwcGxpY2F0aW9uO1xuICBzZWxlY3RlZFBhY2thZ2U6IElBcHBsaWNhdGlvbjtcbiAgcGFja2FnZXM6IElBcHBsaWNhdGlvbltdO1xuICBpblByb2dyZXNzOiBib29sZWFuO1xuICBkZXBsb3llZFdpdGhTdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRGVwbG95ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RlbCA9IHtcbiAgICBzZWxlY3RlZDogdW5kZWZpbmVkLFxuICAgIGJpbmFyeToge1xuICAgICAgaWQ6IHVuZGVmaW5lZFxuICAgIH1cbiAgfTtcbiAgY2FuRGVwbG95OiBib29sZWFuID0gZmFsc2U7XG4gIG9uSW5wdXQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgdmVyc2lvbnMkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PElBcHBsaWNhdGlvblZlcnNpb24+PjtcbiAgQFZpZXdDaGlsZChBcHBsaWNhdGlvblByb3BlcnRpZXNGb3JtQ29tcG9uZW50KVxuICBhcHBsaWNhdGlvblByb3BlcnRpZXNGb3JtOiBBcHBsaWNhdGlvblByb3BlcnRpZXNGb3JtQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWNvc3lzdGVtU2VydmljZTogRWNvc3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIGFwcGxpY2F0aW9uU2VydmljZTogQXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgd2l6YXJkQ29tcG9uZW50OiBXaXphcmRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBwbHVnaW5zU2VydmljZTogUGx1Z2luc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnlTZXJ2aWNlOiBJbnZlbnRvcnlTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRQYWNrYWdlcygpO1xuICB9XG5cbiAgYmFjaygpIHtcbiAgICB0aGlzLndpemFyZENvbXBvbmVudC5yZXNldCgpO1xuICB9XG5cbiAgY2xlYW4oKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhY2thZ2UgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy52ZXJzaW9ucyQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5tb2RlbCA9IHtcbiAgICAgIHNlbGVjdGVkOiB1bmRlZmluZWQsXG4gICAgICBiaW5hcnk6IHtcbiAgICAgICAgaWQ6IHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy53aXphcmRDb21wb25lbnQuY2xvc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGRlcGxveUFwcCgpIHtcbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gdGhpcy5hcHBsaWNhdGlvblByb3BlcnRpZXNGb3JtLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgLy8gQ3JlYXRlIG5ldyBhcHAgY29uZmlnXG4gICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmNyZWF0ZUNvbmZpZyh0aGlzLnNlbGVjdGVkUGFja2FnZSwgZm9ybUdyb3VwVmFsdWUpO1xuICAgIGNvbmZpZy52ZXJzaW9uID0gdGhpcy5tb2RlbC5zZWxlY3RlZC52ZXJzaW9uO1xuICAgIGNvbmZpZy5pc1NldHVwID0gdHJ1ZTtcbiAgICBpZiAoIWNvbmZpZy5tYW5pZmVzdCkge1xuICAgICAgY29uZmlnLm1hbmlmZXN0ID0ge307XG4gICAgfVxuICAgIGNvbmZpZy5tYW5pZmVzdC5pc1BhY2thZ2UgPSBmYWxzZTtcbiAgICBjb25maWcubWFuaWZlc3Quc291cmNlID0gdGhpcy5zZWxlY3RlZFBhY2thZ2UuaWQ7XG4gICAgY29uZmlnLm1hbmlmZXN0LnBhY2thZ2UgPSAnYmx1ZXByaW50JztcbiAgICBjb25maWcucmVzb3VyY2VzVXJsID0gJy8nO1xuXG4gICAgLy8gQ3JlYXRlIG5ldyBhcHBcbiAgICBjb25zdCBuZXdBcHAgPSAoYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuY3JlYXRlKGNvbmZpZykpLmRhdGE7XG4gICAgLy8gQmluYXJ5XG4gICAgdHJ5IHtcbiAgICAgIC8vIEdldCBiaW5hcnkgZGV0YWlsc1xuICAgICAgY29uc3QgeyBkYXRhOiBiaW5hcnlEZXRhaWxzIH0gPSBhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGV0YWlsKFxuICAgICAgICB0aGlzLm1vZGVsLnNlbGVjdGVkLmJpbmFyeUlkXG4gICAgICApO1xuXG4gICAgICAvLyBHZXQgYmluYXJ5IGZyb20gc3BlY2lmaWMgcGFja2FnZSB2ZXJzaW9uXG4gICAgICBjb25zdCBiaW5hcnkgPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZ2V0QmluYXJ5KHRoaXMuc2VsZWN0ZWRQYWNrYWdlLCB7XG4gICAgICAgIGlkOiB0aGlzLm1vZGVsLnNlbGVjdGVkLmJpbmFyeUlkXG4gICAgICB9KTtcbiAgICAgIC8vIENyZWF0ZSB6aXBcbiAgICAgIGNvbnN0IGZpbGVCaW5hcnkgPSBuZXcgQmxvYihbYmluYXJ5XSwgeyB0eXBlOiBiaW5hcnlEZXRhaWxzLmNvbnRlbnRUeXBlIH0pO1xuICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtmaWxlQmluYXJ5XSwgYmluYXJ5RGV0YWlscy5uYW1lLCB7XG4gICAgICAgIHR5cGU6IGJpbmFyeURldGFpbHMuY29udGVudFR5cGVcbiAgICAgIH0pO1xuXG4gICAgICAvLyBVcGxvYWQgYmluYXJ5IHRvIG5ldyBhcHBcbiAgICAgIGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS51cGxvYWRBcmNoaXZlVG9BcHAoZmlsZSwgbmV3QXBwKTtcbiAgICAgIC8vIFVwZGF0ZSBtYW5pZmVzdFxuICAgICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLnVwZGF0ZUFwcE1hbmlmZXN0KG5ld0FwcCwgdGhpcy5zZWxlY3RlZFBhY2thZ2UpO1xuXG4gICAgICB0aGlzLmRlcGxveWVkV2l0aFN1Y2Nlc3MgPSB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3I/LnJlcz8uc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZGVsZXRlKG5ld0FwcC5pZCk7XG4gICAgICAgIGF3YWl0IHRoaXMuZmFsbGJhY2tUb0Nsb25lTGF0ZXN0KGNvbmZpZyk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubWFya0FzRGVwbG95ZWQoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBmYWxsYmFja1RvQ2xvbmVMYXRlc3QoY29uZmlnKSB7XG4gICAgbGV0IGNsb25lZFBrZztcbiAgICB0cnkge1xuICAgICAgY2xvbmVkUGtnID0gKGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmNsb25lKHRoaXMuc2VsZWN0ZWRQYWNrYWdlKSkuZGF0YTtcblxuICAgICAgLy8gY2xlYW4gb3V0IGFsbCBmYWxzZWx5IGNsb25lZCBhcHBsaWNhdGlvblZlcnNpb25zLCB3ZSBkb24ndCBuZWVkIHRoZW1cbiAgICAgIGZvciAoY29uc3QgYXBwVmVyc2lvbiBvZiBjbG9uZWRQa2cuYXBwbGljYXRpb25WZXJzaW9ucyBhcyBJQXBwbGljYXRpb25WZXJzaW9uW10pIHtcbiAgICAgICAgaWYgKGFwcFZlcnNpb24udGFncy5pbmNsdWRlcygnbGF0ZXN0JykpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2Uuc2V0UGFja2FnZVZlcnNpb25UYWcoY2xvbmVkUGtnLCBhcHBWZXJzaW9uLnZlcnNpb24sIFtdKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZGVsZXRlUGFja2FnZVZlcnNpb24oY2xvbmVkUGtnLCB7XG4gICAgICAgICAgdmVyc2lvbjogYXBwVmVyc2lvbi52ZXJzaW9uXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZGVsZXRlIGNvbmZpZy50eXBlO1xuICAgICAgY29uZmlnLmlzUGFja2FnZSA9IGZhbHNlO1xuICAgICAgY29uc3QgeyBkYXRhOiBuZXdBcHAgfSA9IGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS51cGRhdGVBcHAoXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogY2xvbmVkUGtnLmlkLFxuICAgICAgICAgIGFjdGl2ZVZlcnNpb25JZDogY2xvbmVkUGtnLmFjdGl2ZVZlcnNpb25JZCxcbiAgICAgICAgICAuLi5jb25maWdcbiAgICAgICAgfSxcbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudXBkYXRlQXBwTWFuaWZlc3QobmV3QXBwLCB0aGlzLnNlbGVjdGVkUGFja2FnZSk7XG4gICAgICB0aGlzLmRlcGxveWVkV2l0aFN1Y2Nlc3MgPSB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZGVsZXRlQXBwKGNsb25lZFBrZy5pZCwgdHJ1ZSk7XG4gICAgfVxuICAgIHRoaXMubWFya0FzRGVwbG95ZWQoKTtcbiAgfVxuXG4gIG9uQXBwVmVyc2lvblNlbGVjdChhcHBWZXJzaW9uOiBJQXBwbGljYXRpb25WZXJzaW9uKSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLCB7XG4gICAgICBzZWxlY3RlZDogYXBwVmVyc2lvblxuICAgIH0pO1xuICAgIHRoaXMuY2FuRGVwbG95ID0gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHNlbGVjdFBhY2thZ2Uoc2VsZWN0ZWRQYWNrYWdlOiBJQXBwbGljYXRpb24pIHtcbiAgICBjb25zdCBhcHBzID0gYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldEhvc3RlZEFuZFBhY2thZ2VBcHBsaWNhdGlvbnMoKTtcbiAgICB0aGlzLm5ld0FwcENvbmZpZyA9IHRoaXMuZWNvc3lzdGVtU2VydmljZS5nZXRVbmlxdWVBcHBDb25maWcoc2VsZWN0ZWRQYWNrYWdlLCBhcHBzKTtcbiAgICB0aGlzLnNlbGVjdGVkUGFja2FnZSA9IHNlbGVjdGVkUGFja2FnZTtcblxuICAgIHRoaXMubG9hZFNlbGVjdGVkUGFja2FnZVZlcnNpb25zKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRTZWxlY3RlZFBhY2thZ2VWZXJzaW9ucygpIHtcbiAgICB0aGlzLnZlcnNpb25zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5nZXRBcHBWZXJzaW9ucyh0aGlzLnNlbGVjdFBhY2thZ2UpLFxuICAgICAgdGhpcy5vbklucHV0LmFzT2JzZXJ2YWJsZSgpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3VsdExpc3QsIGZpbHRlclN0cl0pID0+IHtcbiAgICAgICAgdGhpcy5jYW5EZXBsb3kgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgdmVyc2lvbnNGaWx0ZXJlZEJ5U3RyID0gdGhpcy5maWx0ZXJBcHBWZXJzaW9ucyhyZXN1bHRMaXN0LmRhdGEsIGZpbHRlclN0cik7XG4gICAgICAgIGNvbnN0IHNvcnRlZEFwcFZlcnNpb25zID0gdGhpcy5wbHVnaW5zU2VydmljZS5zb3J0VmVyc2lvbnMoXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGlzdDogdmVyc2lvbnNGaWx0ZXJlZEJ5U3RyLFxuICAgICAgICAgICAgcGF0aDogWyd2ZXJzaW9uJ11cbiAgICAgICAgICB9LFxuICAgICAgICAgICdkZXNjJ1xuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlRm9ySW5wdXQoc29ydGVkQXBwVmVyc2lvbnMpO1xuICAgICAgICByZXR1cm4geyBkYXRhOiBzb3J0ZWRBcHBWZXJzaW9ucywgcmVzOiByZXN1bHRMaXN0LnJlcyB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBcHBWZXJzaW9ucyhtbzogSUFwcGxpY2F0aW9uKSB7XG4gICAgY29uc3QgdmVyc2lvbnMgPSBtbz8uYXBwbGljYXRpb25WZXJzaW9ucztcbiAgICByZXR1cm4gdmVyc2lvbnMgJiYgdmVyc2lvbnMubGVuZ3RoID4gMFxuICAgICAgPyBvZih7IGRhdGE6IHZlcnNpb25zLCByZXM6IHVuZGVmaW5lZCB9KVxuICAgICAgOiBmcm9tKHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmxpc3RWZXJzaW9ucyh0aGlzLnNlbGVjdGVkUGFja2FnZS5pZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbml0aWFsVmFsdWVGb3JJbnB1dCh2ZXJzaW9uczogSUFwcGxpY2F0aW9uVmVyc2lvbltdKSB7XG4gICAgaWYgKCF0aGlzLm1vZGVsLnNlbGVjdGVkICYmIHZlcnNpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxhdGVzdCA9IHZlcnNpb25zLmZpbmQodiA9PiB2LnRhZ3MuaW5jbHVkZXMoJ2xhdGVzdCcpKTtcbiAgICAgIHRoaXMubW9kZWwuc2VsZWN0ZWQgPSBsYXRlc3QgfHwgdmVyc2lvbnNbMF07XG4gICAgICB0aGlzLmNhbkRlcGxveSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJBcHBWZXJzaW9ucyhcbiAgICBhcHBWZXJzaW9uczogSUFwcGxpY2F0aW9uVmVyc2lvbltdLFxuICAgIGZpbHRlclN0cjogc3RyaW5nXG4gICk6IElBcHBsaWNhdGlvblZlcnNpb25bXSB7XG4gICAgcmV0dXJuIGZpbHRlclN0ciA9PT0gJydcbiAgICAgID8gYXBwVmVyc2lvbnNcbiAgICAgIDogYXBwVmVyc2lvbnMuZmlsdGVyKGFwcFZlcnNpb24gPT4gYXBwVmVyc2lvbi52ZXJzaW9uLmluY2x1ZGVzKGZpbHRlclN0cikpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrQXNEZXBsb3llZCgpIHtcbiAgICB0aGlzLmlzRGVwbG95ZWQgPSB0cnVlO1xuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkUGFja2FnZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYXBwbGljYXRpb25zID0gYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldFBhY2thZ2VBcHBsaWNhdGlvbnMoKTtcbiAgICB0aGlzLnBhY2thZ2VzID0gYXBwbGljYXRpb25zLmZpbHRlcihhcHAgPT4gdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmlzUGFja2FnZUJsdWVwcmludChhcHApKTtcbiAgfVxufVxuIiwiPGM4eS13aXphcmQtaGVhZGVyPlxuICA8aSBbYzh5SWNvbl09XCInYmlnLXBhcmNlbCdcIj48L2k+XG4gIDxoNCBpZD1cIm1vZGFsLXRpdGxlXCIgdHJhbnNsYXRlPkluc3RhbGwgZnJvbSBwYWNrYWdlPC9oND5cbjwvYzh5LXdpemFyZC1oZWFkZXI+XG48Yzh5LXdpemFyZC1ib2R5PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGVkUGFja2FnZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1pbm5lci1zY3JvbGxcIiBpZD1cIm1vZGFsLWJvZHlcIj5cbiAgICAgIDxwIGNsYXNzPVwicC0xNiB0ZXh0LW1lZGl1bSB0ZXh0LWNlbnRlciBzZXBhcmF0b3ItYm90dG9tIHN0aWNreS10b3AgYmctbGV2ZWwtMFwiPlxuICAgICAgICB7eyAnU2VsZWN0IGZyb20gYXZhaWxhYmxlIHBhY2thZ2VzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9wPlxuXG4gICAgICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgICAgICpuZ0lmPVwiIXBhY2thZ2VzPy5sZW5ndGhcIlxuICAgICAgICBbaWNvbl09XCInYmlnLXBhcmNlbCdcIlxuICAgICAgICBbdGl0bGVdPVwiJ05vIHBhY2thZ2VzIHRvIGRpc3BsYXkuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtob3Jpem9udGFsXT1cInRydWVcIlxuICAgICAgPjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwicGFja2FnZXM/Lmxlbmd0aFwiIGNsYXNzPVwiYzh5LXdpemFyZC1saXN0LW5hdlwiIHN0eWxlPVwibWluLWhlaWdodDogMjU3cHhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIHRleHQtdHJ1bmNhdGVcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBwYWNrYWdlIG9mIHBhY2thZ2VzXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGFja2FnZShwYWNrYWdlKVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBwYWNrYWdlLm5hbWUgfX1cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgYzh5SWNvbj1cImJpZy1wYXJjZWxcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3BhbiBbaW5uZXJUZXh0XT1cInBhY2thZ2UubmFtZVwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNEZXBsb3llZCAmJiBzZWxlY3RlZFBhY2thZ2VcIj5cbiAgICA8cCBjbGFzcz1cInAtMTYgdGV4dC1jZW50ZXIgdGV4dC1tZWRpdW0gc2VwYXJhdG9yLWJvdHRvbSBzdGlja3ktdG9wIGJnLWxldmVsLTBcIj5cbiAgICAgIHt7ICdQcm92aWRlIGFwcGxpY2F0aW9uIGRldGFpbHMnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZC1jb2wgYS1pLWNlbnRlciBqLWMtY2VudGVyXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAyNTdweFwiPlxuICAgICAgPGM4eS1hcHBsaWNhdGlvbi1wcm9wZXJ0aWVzLWZvcm1cbiAgICAgICAgKm5nSWY9XCIhaW5Qcm9ncmVzc1wiXG4gICAgICAgIFthcHBsaWNhdGlvbl09XCJuZXdBcHBDb25maWdcIlxuICAgICAgICBjbGFzcz1cImQtYmxvY2sgZml0LXdcIlxuICAgICAgPjwvYzh5LWFwcGxpY2F0aW9uLXByb3BlcnRpZXMtZm9ybT5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpblByb2dyZXNzXCI+XG4gICAgICAgIDxkaXYgW25nU3R5bGVdPVwieyBwYWRkaW5nOiAnMCAxNnB4JyB9XCIgY2xhc3M9XCJkLWJsb2NrIGZpdC13IGJnLWdyYXktd2hpdGVcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwicGFja2FnZVZlcnNpb25cIiB0cmFuc2xhdGU+VXNlIHBhY2thZ2UgdmVyc2lvbjwvbGFiZWw+XG4gICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgPGM4eS10eXBlYWhlYWRcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJwYWNrYWdlVmVyc2lvblwiXG4gICAgICAgICAgICAgIChvblNlYXJjaCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ1NlbGVjdCBvciBlbnRlcicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBbZGlzcGxheVByb3BlcnR5XT1cIid2ZXJzaW9uJ1wiXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2hpZGVOZXddPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtjb250YWluZXJdPVwiJ2JvZHknXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGM4eS1saVxuICAgICAgICAgICAgICAgICpjOHlGb3I9XCJsZXQgdmVyc2lvbiBvZiB2ZXJzaW9ucyQ7IGxvYWRNb3JlOiAnYXV0byc7IG5vdEZvdW5kOiBub3RGb3VuZFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BcHBWZXJzaW9uU2VsZWN0KHZlcnNpb24pXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtbC04IHAtci04IGM4eS1saXN0X19pdGVtLS1saW5rXCJcbiAgICAgICAgICAgICAgICBbYWN0aXZlXT1cIm1vZGVsLnNlbGVjdGVkID09PSB2ZXJzaW9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxjOHktbGktaWNvbiBpY29uPVwiYmlnLXBhcmNlbFwiPjwvYzh5LWxpLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAnZmxleC1kaXJlY3Rpb24nOiAncm93JyxcbiAgICAgICAgICAgICAgICAgICAgJ2FsaWduLWNvbnRlbnQnOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgJ2p1c3RpZnktY29udGVudCc6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICAgICAgICAgICAgJ2FsaWduLWl0ZW1zJzogJ2NlbnRlcidcbiAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxjOHktaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cInZlcnNpb24udmVyc2lvbiB8fCAnLS0nXCJcbiAgICAgICAgICAgICAgICAgICAgW3BhdHRlcm5dPVwib25JbnB1dCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgID48L2M4eS1oaWdobGlnaHQ+XG5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGFnIG9mIHZlcnNpb24udGFnc1wiIGNsYXNzPVwibGFiZWwgbGFiZWwtaW5mbyBtLWwtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHRhZyB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2M4eS1saT5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RGb3VuZFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxjOHktbGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmctZ3JheS1saWdodGVyIHAtOFwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIihvbklucHV0IHwgYXN5bmMpPy5sZW5ndGggPiAwICYmICh2ZXJzaW9ucyQgfCBhc3luYyk/LmRhdGE/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPk5vIG1hdGNoIGZvdW5kLjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2M4eS1saT5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYzh5LXR5cGVhaGVhZD5cbiAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8Yzh5LXByb2dyZXNzLWJhclxuICAgICAgICBbbWVzc2FnZV09XCInSW5zdGFsbGluZ+KApicgfCB0cmFuc2xhdGVcIlxuICAgICAgICBjbGFzcz1cInRleHQtY2VudGVyIGQtYmxvY2tcIlxuICAgICAgICAqbmdJZj1cImluUHJvZ3Jlc3NcIlxuICAgICAgPjwvYzh5LXByb2dyZXNzLWJhcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRGVwbG95ZWRcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImRlcGxveWVkV2l0aFN1Y2Nlc3M7IGVsc2UgZmFpbGVkRGVwbG95XCJcbiAgICAgIGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXIgai1jLWNlbnRlclwiXG4gICAgICBzdHlsZT1cIm1pbi1oZWlnaHQ6IDI1N3B4XCJcbiAgICA+XG4gICAgICA8Yzh5LW9wZXJhdGlvbi1yZXN1bHRcbiAgICAgICAgdGV4dD1cInt7ICdBcHBsaWNhdGlvbiBjcmVhdGVkJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIFtzaXplXT1cIjg0XCJcbiAgICAgICAgW3ZlcnRpY2FsXT1cInRydWVcIlxuICAgICAgICB0eXBlPVwic3VjY2Vzc1wiXG4gICAgICAgIGNsYXNzPVwibGVhZFwiXG4gICAgICA+PC9jOHktb3BlcmF0aW9uLXJlc3VsdD5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI2ZhaWxlZERlcGxveT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlciBqLWMtY2VudGVyXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAyNTdweFwiPlxuICAgICAgICA8Yzh5LW9wZXJhdGlvbi1yZXN1bHRcbiAgICAgICAgICB0ZXh0PVwie3sgJ0FwcGxpY2F0aW9uIGNyZWF0aW9uIGZhaWxlZCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtzaXplXT1cIjg0XCJcbiAgICAgICAgICBbdmVydGljYWxdPVwidHJ1ZVwiXG4gICAgICAgICAgdHlwZT1cImVycm9yXCJcbiAgICAgICAgICBjbGFzcz1cImxlYWRcIlxuICAgICAgICA+PC9jOHktb3BlcmF0aW9uLXJlc3VsdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9jOHktd2l6YXJkLWJvZHk+XG5cbjxjOHktd2l6YXJkLWZvb3Rlcj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiIWlzRGVwbG95ZWRcIlxuICAgIChjbGljayk9XCJzZWxlY3RlZFBhY2thZ2UgPyBjbGVhbigpIDogYmFjaygpXCJcbiAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgdGl0bGU9XCJ7eyAnQmFjaycgfCB0cmFuc2xhdGUgfX1cIlxuICAgIFtkaXNhYmxlZF09XCJpblByb2dyZXNzXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgPlxuICAgIHt7ICdCYWNrJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIHRpdGxlPVwie3sgaXNEZXBsb3llZCAmJiBkZXBsb3llZFdpdGhTdWNjZXNzID8gKCdDbG9zZScgfCB0cmFuc2xhdGUpIDogKCdDYW5jZWwnIHwgdHJhbnNsYXRlKSB9fVwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gID5cbiAgICB7eyBpc0RlcGxveWVkICYmIGRlcGxveWVkV2l0aFN1Y2Nlc3MgPyAoJ0Nsb3NlJyB8IHRyYW5zbGF0ZSkgOiAoJ0NhbmNlbCcgfCB0cmFuc2xhdGUpIH19XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b25cbiAgICB0aXRsZT1cInt7ICdJbnN0YWxsJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJkZXBsb3lBcHAoKVwiXG4gICAgW2Rpc2FibGVkXT1cImluUHJvZ3Jlc3MgfHwgIXBhY2thZ2VzPy5sZW5ndGhcIlxuICAgICpuZ0lmPVwiIWlzRGVwbG95ZWRcIlxuICA+XG4gICAge3sgJ0luc3RhbGwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9jOHktd2l6YXJkLWZvb3Rlcj5cbiJdfQ==
@@ -1,23 +1,22 @@
1
1
  import { Component, ViewChild } from '@angular/core';
2
- import { ApplicationService, InventoryService } from '@c8y/client';
3
- import { GainsightService, WizardComponent, gettext } from '@c8y/ngx-components';
2
+ import { Router } from '@angular/router';
3
+ import { GainsightService, ViewContext, WizardComponent, gettext } from '@c8y/ngx-components';
4
4
  import { ApplicationPropertiesFormComponent, EcosystemService, PRODUCT_EXPERIENCE } from '@c8y/ngx-components/ecosystem/shared';
5
5
  import { TranslateService } from '@ngx-translate/core';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@c8y/ngx-components/ecosystem/shared";
8
- import * as i2 from "@c8y/client";
9
- import * as i3 from "@c8y/ngx-components";
10
- import * as i4 from "@ngx-translate/core";
8
+ import * as i2 from "@c8y/ngx-components";
9
+ import * as i3 from "@ngx-translate/core";
10
+ import * as i4 from "@angular/router";
11
11
  import * as i5 from "@angular/common";
12
12
  import * as i6 from "@angular/forms";
13
13
  export class DeployApplicationComponent {
14
- constructor(ecosystemService, applicationService, wizardComponent, translate, inventoryService, gainsightService) {
14
+ constructor(ecosystemService, wizardComponent, translate, gainsightService, router) {
15
15
  this.ecosystemService = ecosystemService;
16
- this.applicationService = applicationService;
17
16
  this.wizardComponent = wizardComponent;
18
17
  this.translate = translate;
19
- this.inventoryService = inventoryService;
20
18
  this.gainsightService = gainsightService;
19
+ this.router = router;
21
20
  this.CURRENT_LOCATION = location.href;
22
21
  this.inProgress = true;
23
22
  this.isDeployed = false;
@@ -36,7 +35,7 @@ export class DeployApplicationComponent {
36
35
  this.package = this.wizardComponent.package;
37
36
  }
38
37
  async ngOnInit() {
39
- const apps = (await this.ecosystemService.getApplications()).data;
38
+ const apps = await this.ecosystemService.getHostedAndPackageApplications();
40
39
  this.newAppConfig = this.ecosystemService.getUniqueAppConfig(this.package, apps);
41
40
  this.headerText = this.getHeaderText();
42
41
  this.inProgress = false;
@@ -44,36 +43,9 @@ export class DeployApplicationComponent {
44
43
  async deployApp() {
45
44
  this.inProgress = true;
46
45
  const formGroupValue = this.applicationPropertiesForm.formGroup.getRawValue();
47
- // Create new app config
48
- const config = await this.ecosystemService.createConfig(this.package, formGroupValue);
49
- config.version = this.model.selected.version;
50
- config.isSetup = true;
51
- if (!config.manifest) {
52
- config.manifest = {};
53
- }
54
- config.manifest.isPackage = false;
55
- config.manifest.source = this.package.id;
56
- config.manifest.package = 'blueprint';
57
- config.resourcesUrl = '/';
58
- // Create new app
59
- const newApp = (await this.applicationService.create(config)).data;
60
- // Binary
46
+ this.package.manifest.version = this.model.selected.version;
61
47
  try {
62
- // Get binary details
63
- const { data: binaryDetails } = await this.inventoryService.detail(this.model.selected.binaryId);
64
- // Get binary from specific package version
65
- const binary = await this.ecosystemService.getBinary(this.package, {
66
- id: this.model.selected.binaryId
67
- });
68
- // Create zip
69
- const fileBinary = new Blob([binary], { type: binaryDetails.contentType });
70
- const file = new File([fileBinary], binaryDetails.name, {
71
- type: binaryDetails.contentType
72
- });
73
- // Upload binary to new app
74
- await this.ecosystemService.uploadArchiveToApp(file, newApp);
75
- // Update manifest
76
- await this.ecosystemService.updateAppManifest(newApp, this.package);
48
+ this.deployedApp = await this.ecosystemService.deployApp(this.package, formGroupValue, this.model);
77
49
  this.deployedWithSuccess = true;
78
50
  this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.APPLICATIONS.EVENTS.DEPLOY_APPLICATION, {
79
51
  component: PRODUCT_EXPERIENCE.APPLICATIONS.COMPONENTS.DEPLOY_APPLICATION,
@@ -83,49 +55,18 @@ export class DeployApplicationComponent {
83
55
  });
84
56
  }
85
57
  catch (error) {
86
- if (error?.res?.status === 404) {
87
- await this.applicationService.delete(newApp.id);
88
- await this.fallbackToCloneLatest(config);
89
- this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.APPLICATIONS.EVENTS.DEPLOY_APPLICATION, {
90
- component: PRODUCT_EXPERIENCE.APPLICATIONS.COMPONENTS.DEPLOY_APPLICATION,
91
- action: PRODUCT_EXPERIENCE.APPLICATIONS.ACTIONS.DEPLOY_APPLICATION,
92
- result: PRODUCT_EXPERIENCE.APPLICATIONS.RESULTS.SERVER_FAILURE,
93
- url: this.CURRENT_LOCATION
94
- });
95
- }
58
+ this.ecosystemService.alertError(error);
59
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.APPLICATIONS.EVENTS.DEPLOY_APPLICATION, {
60
+ component: PRODUCT_EXPERIENCE.APPLICATIONS.COMPONENTS.DEPLOY_APPLICATION,
61
+ action: PRODUCT_EXPERIENCE.APPLICATIONS.ACTIONS.DEPLOY_APPLICATION,
62
+ result: PRODUCT_EXPERIENCE.APPLICATIONS.RESULTS.SERVER_FAILURE,
63
+ url: this.CURRENT_LOCATION
64
+ });
96
65
  }
97
66
  finally {
98
67
  this.markAsDeployed();
99
68
  }
100
69
  }
101
- async fallbackToCloneLatest(config) {
102
- let clonedPkg;
103
- try {
104
- clonedPkg = (await this.applicationService.clone(this.package)).data;
105
- // clean out all falsely cloned applicationVersions, we don't need them
106
- for (const appVersion of clonedPkg.applicationVersions) {
107
- if (appVersion.tags.includes('latest')) {
108
- await this.ecosystemService.setPackageVersionTag(clonedPkg, appVersion.version, []);
109
- }
110
- await this.ecosystemService.deletePackageVersion(clonedPkg, {
111
- version: appVersion.version
112
- });
113
- }
114
- delete config.type;
115
- config.isPackage = false;
116
- const { data: newApp } = await this.ecosystemService.updateApp({
117
- id: clonedPkg.id,
118
- activeVersionId: clonedPkg.activeVersionId,
119
- ...config
120
- }, false);
121
- await this.ecosystemService.updateAppManifest(newApp, this.package);
122
- this.deployedWithSuccess = true;
123
- }
124
- catch (error) {
125
- await this.ecosystemService.deleteApp(clonedPkg.id, true);
126
- }
127
- this.markAsDeployed();
128
- }
129
70
  cancel() {
130
71
  this.wizardComponent.close();
131
72
  }
@@ -135,6 +76,10 @@ export class DeployApplicationComponent {
135
76
  });
136
77
  this.canDeploy = true;
137
78
  }
79
+ open() {
80
+ this.router.navigateByUrl(ViewContext.Application.replace(':id', `${this.deployedApp.id}`));
81
+ this.cancel();
82
+ }
138
83
  markAsDeployed() {
139
84
  this.isDeployed = true;
140
85
  this.inProgress = false;
@@ -145,13 +90,13 @@ export class DeployApplicationComponent {
145
90
  });
146
91
  }
147
92
  }
148
- DeployApplicationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DeployApplicationComponent, deps: [{ token: i1.EcosystemService }, { token: i2.ApplicationService }, { token: i3.WizardComponent }, { token: i4.TranslateService }, { token: i2.InventoryService }, { token: i3.GainsightService }], target: i0.ɵɵFactoryTarget.Component });
149
- DeployApplicationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DeployApplicationComponent, selector: "c8y-deploy-application", viewQueries: [{ propertyName: "applicationPropertiesForm", first: true, predicate: ApplicationPropertiesFormComponent, descendants: true }], ngImport: i0, template: "<c8y-wizard-header>\n <div class=\"modal-header dialog-header\">\n <i c8yIcon=\"output\"></i>\n <h4 id=\"modal-title\">{{ 'Deploy application' | translate }}</h4>\n </div>\n</c8y-wizard-header>\n\n<c8y-wizard-body id=\"modal-body\">\n <ng-container *ngIf=\"!isDeployed\">\n <div class=\"fadeIn animated d-flex a-i-center j-c-center d-col\" style=\"min-height: 309px\">\n <p\n class=\"bg-level-0 fit-w p-16 text-center text-medium sticky-top bg-level-0 separator-bottom\"\n *ngIf=\"!inProgress\"\n >\n {{ headerText | translate }}\n </p>\n <c8y-application-properties-form\n *ngIf=\"!inProgress\"\n [application]=\"newAppConfig\"\n class=\"d-block fit-w bg-level-1\"\n ></c8y-application-properties-form>\n\n <ng-container *ngIf=\"!inProgress\">\n <div [ngStyle]=\"{ padding: '0 16px' }\" class=\"d-block fit-w bg-gray-white\">\n <c8y-package-version-select [ngModel]=\"model.selected\" (ngModelChange)=\"onAppVersionSelect($event)\" [packageId]=\"package?.id\" [label]=\"'Use package version' | translate\"></c8y-package-version-select>\n </div>\n </ng-container>\n\n <c8y-progress-bar\n *ngIf=\"inProgress\"\n [message]=\"'Deploying\u2026' | translate\"\n class=\"text-center\"\n ></c8y-progress-bar>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isDeployed\">\n <div\n *ngIf=\"deployedWithSuccess; else failedDeploy\"\n class=\"modal-body fadeIn animated\"\n style=\"min-height: 309px\"\n >\n <div class=\"d-flex a-i-center j-c-center d-col\">\n <c8y-operation-result\n type=\"success\"\n [size]=\"84\"\n [vertical]=\"true\"\n [text]=\"successMessageTemplate | translate: { packageName: package.name }\"\n class=\"lead d-block m-b-16\"\n ></c8y-operation-result>\n </div>\n </div>\n <ng-template #failedDeploy>\n <div class=\"modal-body fadeIn animated text-center\" style=\"min-height: 257px\">\n <c8y-operation-result\n type=\"error\"\n [size]=\"84\"\n [vertical]=\"true\"\n text=\"{{ 'Application creation failed' | translate }}\"\n class=\"lead\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n </ng-container>\n</c8y-wizard-body>\n\n<c8y-wizard-footer>\n <button\n (click)=\"cancel()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ (isDeployed && deployedWithSuccess ? doneLabel : cancelLabel) | translate }}\"\n >\n {{ (isDeployed && deployedWithSuccess ? doneLabel : cancelLabel) | translate }}\n </button>\n\n <button\n (click)=\"deployApp()\"\n *ngIf=\"!isDeployed\"\n [disabled]=\"inProgress || !canDeploy\"\n [ngClass]=\"{ 'btn-pending': inProgress }\"\n class=\"btn btn-primary\"\n type=\"button\"\n title=\"{{ 'Deploy' | translate }}\"\n >\n {{ 'Deploy' | translate }}\n </button>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.ProgressBarComponent, selector: "c8y-progress-bar", inputs: ["message", "progress"] }, { kind: "component", type: i3.OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.WizardHeaderComponent, selector: "c8y-wizard-header" }, { kind: "component", type: i3.WizardBodyComponent, selector: "c8y-wizard-body" }, { kind: "component", type: i3.WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "component", type: i1.ApplicationPropertiesFormComponent, selector: "c8y-application-properties-form", inputs: ["application", "disabled"] }, { kind: "component", type: i1.PackageVersionSelectComponent, selector: "c8y-package-version-select", inputs: ["label", "packageContextPath", "packageId"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] });
93
+ DeployApplicationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DeployApplicationComponent, deps: [{ token: i1.EcosystemService }, { token: i2.WizardComponent }, { token: i3.TranslateService }, { token: i2.GainsightService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
94
+ DeployApplicationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DeployApplicationComponent, selector: "c8y-deploy-application", viewQueries: [{ propertyName: "applicationPropertiesForm", first: true, predicate: ApplicationPropertiesFormComponent, descendants: true }], ngImport: i0, template: "<c8y-wizard-header>\n <div class=\"modal-header dialog-header\">\n <i c8yIcon=\"output\"></i>\n <h4 id=\"modal-title\">{{ 'Deploy application' | translate }}</h4>\n </div>\n</c8y-wizard-header>\n\n<c8y-wizard-body id=\"modal-body\">\n <ng-container *ngIf=\"!isDeployed\">\n <div class=\"fadeIn animated d-flex a-i-center j-c-center d-col\" style=\"min-height: 309px\">\n <p\n class=\"bg-level-0 fit-w p-16 text-center text-medium sticky-top bg-level-0 separator-bottom\"\n *ngIf=\"!inProgress\"\n >\n {{ headerText | translate }}\n </p>\n <c8y-application-properties-form\n *ngIf=\"!inProgress\"\n [application]=\"newAppConfig\"\n class=\"d-block fit-w bg-level-1\"\n ></c8y-application-properties-form>\n\n <ng-container *ngIf=\"!inProgress\">\n <div [ngStyle]=\"{ padding: '0 16px' }\" class=\"d-block fit-w bg-gray-white\">\n <c8y-package-version-select [ngModel]=\"model.selected\" (ngModelChange)=\"onAppVersionSelect($event)\" [packageId]=\"package?.id\" [label]=\"'Use package version' | translate\"></c8y-package-version-select>\n </div>\n </ng-container>\n\n <c8y-progress-bar\n *ngIf=\"inProgress\"\n [message]=\"'Deploying\u2026' | translate\"\n class=\"text-center\"\n ></c8y-progress-bar>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isDeployed\">\n <div\n *ngIf=\"deployedWithSuccess; else failedDeploy\"\n class=\"modal-body fadeIn animated\"\n style=\"min-height: 309px\"\n >\n <div class=\"d-flex a-i-center j-c-center d-col\">\n <c8y-operation-result\n type=\"success\"\n [size]=\"84\"\n [vertical]=\"true\"\n [text]=\"successMessageTemplate | translate: { packageName: package.name }\"\n class=\"lead d-block m-b-16\"\n ></c8y-operation-result>\n </div>\n </div>\n <ng-template #failedDeploy>\n <div class=\"modal-body fadeIn animated text-center\" style=\"min-height: 257px\">\n <c8y-operation-result\n type=\"error\"\n [size]=\"84\"\n [vertical]=\"true\"\n text=\"{{ 'Application creation failed' | translate }}\"\n class=\"lead\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n </ng-container>\n</c8y-wizard-body>\n\n<c8y-wizard-footer>\n <button\n (click)=\"cancel()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ (isDeployed && deployedWithSuccess ? doneLabel : cancelLabel) | translate }}\"\n >\n {{ (isDeployed && deployedWithSuccess ? doneLabel : cancelLabel) | translate }}\n </button>\n\n <button\n (click)=\"deployApp()\"\n *ngIf=\"!isDeployed\"\n [disabled]=\"inProgress || !canDeploy\"\n [ngClass]=\"{ 'btn-pending': inProgress }\"\n class=\"btn btn-primary\"\n type=\"button\"\n title=\"{{ 'Deploy' | translate }}\"\n >\n {{ 'Deploy' | translate }}\n </button>\n\n <button\n (click)=\"open()\"\n type=\"button\"\n class=\"btn btn-primary\"\n *ngIf=\"isDeployed && deployedWithSuccess\"\n title=\"{{ 'Open the application details' | translate }}\"\n translate\n >\n Open\n </button>\n</c8y-wizard-footer>\n", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.ProgressBarComponent, selector: "c8y-progress-bar", inputs: ["message", "progress"] }, { kind: "component", type: i2.OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.WizardHeaderComponent, selector: "c8y-wizard-header" }, { kind: "component", type: i2.WizardBodyComponent, selector: "c8y-wizard-body" }, { kind: "component", type: i2.WizardFooterComponent, selector: "c8y-wizard-footer" }, { kind: "component", type: i1.ApplicationPropertiesFormComponent, selector: "c8y-application-properties-form", inputs: ["application", "disabled"] }, { kind: "component", type: i1.PackageVersionSelectComponent, selector: "c8y-package-version-select", inputs: ["label", "packageContextPath", "packageId"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] });
150
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DeployApplicationComponent, decorators: [{
151
96
  type: Component,
152
- args: [{ selector: 'c8y-deploy-application', template: "<c8y-wizard-header>\n <div class=\"modal-header dialog-header\">\n <i c8yIcon=\"output\"></i>\n <h4 id=\"modal-title\">{{ 'Deploy application' | translate }}</h4>\n </div>\n</c8y-wizard-header>\n\n<c8y-wizard-body id=\"modal-body\">\n <ng-container *ngIf=\"!isDeployed\">\n <div class=\"fadeIn animated d-flex a-i-center j-c-center d-col\" style=\"min-height: 309px\">\n <p\n class=\"bg-level-0 fit-w p-16 text-center text-medium sticky-top bg-level-0 separator-bottom\"\n *ngIf=\"!inProgress\"\n >\n {{ headerText | translate }}\n </p>\n <c8y-application-properties-form\n *ngIf=\"!inProgress\"\n [application]=\"newAppConfig\"\n class=\"d-block fit-w bg-level-1\"\n ></c8y-application-properties-form>\n\n <ng-container *ngIf=\"!inProgress\">\n <div [ngStyle]=\"{ padding: '0 16px' }\" class=\"d-block fit-w bg-gray-white\">\n <c8y-package-version-select [ngModel]=\"model.selected\" (ngModelChange)=\"onAppVersionSelect($event)\" [packageId]=\"package?.id\" [label]=\"'Use package version' | translate\"></c8y-package-version-select>\n </div>\n </ng-container>\n\n <c8y-progress-bar\n *ngIf=\"inProgress\"\n [message]=\"'Deploying\u2026' | translate\"\n class=\"text-center\"\n ></c8y-progress-bar>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isDeployed\">\n <div\n *ngIf=\"deployedWithSuccess; else failedDeploy\"\n class=\"modal-body fadeIn animated\"\n style=\"min-height: 309px\"\n >\n <div class=\"d-flex a-i-center j-c-center d-col\">\n <c8y-operation-result\n type=\"success\"\n [size]=\"84\"\n [vertical]=\"true\"\n [text]=\"successMessageTemplate | translate: { packageName: package.name }\"\n class=\"lead d-block m-b-16\"\n ></c8y-operation-result>\n </div>\n </div>\n <ng-template #failedDeploy>\n <div class=\"modal-body fadeIn animated text-center\" style=\"min-height: 257px\">\n <c8y-operation-result\n type=\"error\"\n [size]=\"84\"\n [vertical]=\"true\"\n text=\"{{ 'Application creation failed' | translate }}\"\n class=\"lead\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n </ng-container>\n</c8y-wizard-body>\n\n<c8y-wizard-footer>\n <button\n (click)=\"cancel()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ (isDeployed && deployedWithSuccess ? doneLabel : cancelLabel) | translate }}\"\n >\n {{ (isDeployed && deployedWithSuccess ? doneLabel : cancelLabel) | translate }}\n </button>\n\n <button\n (click)=\"deployApp()\"\n *ngIf=\"!isDeployed\"\n [disabled]=\"inProgress || !canDeploy\"\n [ngClass]=\"{ 'btn-pending': inProgress }\"\n class=\"btn btn-primary\"\n type=\"button\"\n title=\"{{ 'Deploy' | translate }}\"\n >\n {{ 'Deploy' | translate }}\n </button>\n</c8y-wizard-footer>\n" }]
153
- }], ctorParameters: function () { return [{ type: i1.EcosystemService }, { type: i2.ApplicationService }, { type: i3.WizardComponent }, { type: i4.TranslateService }, { type: i2.InventoryService }, { type: i3.GainsightService }]; }, propDecorators: { applicationPropertiesForm: [{
97
+ args: [{ selector: 'c8y-deploy-application', template: "<c8y-wizard-header>\n <div class=\"modal-header dialog-header\">\n <i c8yIcon=\"output\"></i>\n <h4 id=\"modal-title\">{{ 'Deploy application' | translate }}</h4>\n </div>\n</c8y-wizard-header>\n\n<c8y-wizard-body id=\"modal-body\">\n <ng-container *ngIf=\"!isDeployed\">\n <div class=\"fadeIn animated d-flex a-i-center j-c-center d-col\" style=\"min-height: 309px\">\n <p\n class=\"bg-level-0 fit-w p-16 text-center text-medium sticky-top bg-level-0 separator-bottom\"\n *ngIf=\"!inProgress\"\n >\n {{ headerText | translate }}\n </p>\n <c8y-application-properties-form\n *ngIf=\"!inProgress\"\n [application]=\"newAppConfig\"\n class=\"d-block fit-w bg-level-1\"\n ></c8y-application-properties-form>\n\n <ng-container *ngIf=\"!inProgress\">\n <div [ngStyle]=\"{ padding: '0 16px' }\" class=\"d-block fit-w bg-gray-white\">\n <c8y-package-version-select [ngModel]=\"model.selected\" (ngModelChange)=\"onAppVersionSelect($event)\" [packageId]=\"package?.id\" [label]=\"'Use package version' | translate\"></c8y-package-version-select>\n </div>\n </ng-container>\n\n <c8y-progress-bar\n *ngIf=\"inProgress\"\n [message]=\"'Deploying\u2026' | translate\"\n class=\"text-center\"\n ></c8y-progress-bar>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isDeployed\">\n <div\n *ngIf=\"deployedWithSuccess; else failedDeploy\"\n class=\"modal-body fadeIn animated\"\n style=\"min-height: 309px\"\n >\n <div class=\"d-flex a-i-center j-c-center d-col\">\n <c8y-operation-result\n type=\"success\"\n [size]=\"84\"\n [vertical]=\"true\"\n [text]=\"successMessageTemplate | translate: { packageName: package.name }\"\n class=\"lead d-block m-b-16\"\n ></c8y-operation-result>\n </div>\n </div>\n <ng-template #failedDeploy>\n <div class=\"modal-body fadeIn animated text-center\" style=\"min-height: 257px\">\n <c8y-operation-result\n type=\"error\"\n [size]=\"84\"\n [vertical]=\"true\"\n text=\"{{ 'Application creation failed' | translate }}\"\n class=\"lead\"\n ></c8y-operation-result>\n </div>\n </ng-template>\n </ng-container>\n</c8y-wizard-body>\n\n<c8y-wizard-footer>\n <button\n (click)=\"cancel()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ (isDeployed && deployedWithSuccess ? doneLabel : cancelLabel) | translate }}\"\n >\n {{ (isDeployed && deployedWithSuccess ? doneLabel : cancelLabel) | translate }}\n </button>\n\n <button\n (click)=\"deployApp()\"\n *ngIf=\"!isDeployed\"\n [disabled]=\"inProgress || !canDeploy\"\n [ngClass]=\"{ 'btn-pending': inProgress }\"\n class=\"btn btn-primary\"\n type=\"button\"\n title=\"{{ 'Deploy' | translate }}\"\n >\n {{ 'Deploy' | translate }}\n </button>\n\n <button\n (click)=\"open()\"\n type=\"button\"\n class=\"btn btn-primary\"\n *ngIf=\"isDeployed && deployedWithSuccess\"\n title=\"{{ 'Open the application details' | translate }}\"\n translate\n >\n Open\n </button>\n</c8y-wizard-footer>\n" }]
98
+ }], ctorParameters: function () { return [{ type: i1.EcosystemService }, { type: i2.WizardComponent }, { type: i3.TranslateService }, { type: i2.GainsightService }, { type: i4.Router }]; }, propDecorators: { applicationPropertiesForm: [{
154
99
  type: ViewChild,
155
100
  args: [ApplicationPropertiesFormComponent]
156
101
  }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9kZXBsb3ktYXBwbGljYXRpb24vZGVwbG95LWFwcGxpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9kZXBsb3ktYXBwbGljYXRpb24vZGVwbG95LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxrQkFBa0IsRUFHbEIsZ0JBQWdCLEVBQ2pCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ25CLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBTXZELE1BQU0sT0FBTywwQkFBMEI7SUE0QnJDLFlBQ1UsZ0JBQWtDLEVBQ2xDLGtCQUFzQyxFQUN0QyxlQUFnQyxFQUNoQyxTQUEyQixFQUMzQixnQkFBa0MsRUFDbEMsZ0JBQWtDO1FBTGxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBakM1QyxxQkFBZ0IsR0FBRyxRQUFRLENBQUMsSUFBSSxD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Q0wsQ0FBQzs7dUhBdktVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHlIQWlCMUIsa0NBQWtDLGdEQ3BDL0MsazhGQXdGQTsyRkRyRWEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHdCQUF3QjttUUFxQmxDLHlCQUF5QjtzQkFEeEIsU0FBUzt1QkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvblNlcnZpY2UsXG4gIElBcHBsaWNhdGlvbixcbiAgSUFwcGxpY2F0aW9uVmVyc2lvbixcbiAgSW52ZW50b3J5U2VydmljZVxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBHYWluc2lnaHRTZXJ2aWNlLCBXaXphcmRDb21wb25lbnQsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUHJvcGVydGllc0Zvcm1Db21wb25lbnQsXG4gIEVjb3N5c3RlbVNlcnZpY2UsXG4gIFBST0RVQ1RfRVhQRVJJRU5DRVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Vjb3N5c3RlbS9zaGFyZWQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGVwbG95LWFwcGxpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlcGxveS1hcHBsaWNhdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGVwbG95QXBwbGljYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBDVVJSRU5UX0xPQ0FUSU9OID0gbG9jYXRpb24uaHJlZjtcblxuICBpblByb2dyZXNzOiBib29sZWFuID0gdHJ1ZTtcbiAgcGFja2FnZTogSUFwcGxpY2F0aW9uO1xuICBpc0RlcGxveWVkOiBib29sZWFuID0gZmFsc2U7XG4gIGRlcGxveWVkV2l0aFN1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbmV3QXBwQ29uZmlnOiBJQXBwbGljYXRpb247XG5cbiAgbW9kZWwgPSB7XG4gICAgc2VsZWN0ZWQ6IHVuZGVmaW5lZCxcbiAgICBiaW5hcnk6IHtcbiAgICAgIGlkOiB1bmRlZmluZWRcbiAgICB9XG4gIH07XG4gIGNhbkRlcGxveTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoQXBwbGljYXRpb25Qcm9wZXJ0aWVzRm9ybUNvbXBvbmVudClcbiAgYXBwbGljYXRpb25Qcm9wZXJ0aWVzRm9ybTogQXBwbGljYXRpb25Qcm9wZXJ0aWVzRm9ybUNvbXBvbmVudDtcblxuICByZWFkb25seSBkZXNjcmlwdGlvblRlbXBsYXRlOiBzdHJpbmcgPSBnZXR0ZXh0KFxuICAgICdEZXBsb3kgYXBwbGljYXRpb24gdXNpbmcgXCJ7eyBwYWNrYWdlTmFtZSB9fVwiIHBhY2thZ2UnXG4gICk7XG4gIHJlYWRvbmx5IHN1Y2Nlc3NNZXNzYWdlVGVtcGxhdGUgPSBnZXR0ZXh0KCdBcHBsaWNhdGlvbiBcInt7IHBhY2thZ2VOYW1lIH19XCIgY3JlYXRlZCcpO1xuICByZWFkb25seSBkb25lTGFiZWwgPSBnZXR0ZXh0KCdEb25lJyk7XG4gIHJlYWRvbmx5IGNhbmNlbExhYmVsID0gZ2V0dGV4dCgnQ2FuY2VsJyk7XG4gIGhlYWRlclRleHQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVjb3N5c3RlbVNlcnZpY2U6IEVjb3N5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvblNlcnZpY2U6IEFwcGxpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHdpemFyZENvbXBvbmVudDogV2l6YXJkQ29tcG9uZW50LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGdhaW5zaWdodFNlcnZpY2U6IEdhaW5zaWdodFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5wYWNrYWdlID0gKHRoaXMud2l6YXJkQ29tcG9uZW50IGFzIGFueSkucGFja2FnZTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGFwcHMgPSAoYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldEFwcGxpY2F0aW9ucygpKS5kYXRhO1xuICAgIHRoaXMubmV3QXBwQ29uZmlnID0gdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldFVuaXF1ZUFwcENvbmZpZyh0aGlzLnBhY2thZ2UsIGFwcHMpO1xuICAgIHRoaXMuaGVhZGVyVGV4dCA9IHRoaXMuZ2V0SGVhZGVyVGV4dCgpO1xuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgZGVwbG95QXBwKCkge1xuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgY29uc3QgZm9ybUdyb3VwVmFsdWUgPSB0aGlzLmFwcGxpY2F0aW9uUHJvcGVydGllc0Zvcm0uZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG5cbiAgICAvLyBDcmVhdGUgbmV3IGFwcCBjb25maWdcbiAgICBjb25zdCBjb25maWcgPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuY3JlYXRlQ29uZmlnKHRoaXMucGFja2FnZSwgZm9ybUdyb3VwVmFsdWUpO1xuICAgIGNvbmZpZy52ZXJzaW9uID0gdGhpcy5tb2RlbC5zZWxlY3RlZC52ZXJzaW9uO1xuICAgIGNvbmZpZy5pc1NldHVwID0gdHJ1ZTtcbiAgICBpZiAoIWNvbmZpZy5tYW5pZmVzdCkge1xuICAgICAgY29uZmlnLm1hbmlmZXN0ID0ge307XG4gICAgfVxuICAgIGNvbmZpZy5tYW5pZmVzdC5pc1BhY2thZ2UgPSBmYWxzZTtcbiAgICBjb25maWcubWFuaWZlc3Quc291cmNlID0gdGhpcy5wYWNrYWdlLmlkO1xuICAgIGNvbmZpZy5tYW5pZmVzdC5wYWNrYWdlID0gJ2JsdWVwcmludCc7XG4gICAgY29uZmlnLnJlc291cmNlc1VybCA9ICcvJztcblxuICAgIC8vIENyZWF0ZSBuZXcgYXBwXG4gICAgY29uc3QgbmV3QXBwID0gKGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmNyZWF0ZShjb25maWcpKS5kYXRhO1xuICAgIC8vIEJpbmFyeVxuICAgIHRyeSB7XG4gICAgICAvLyBHZXQgYmluYXJ5IGRldGFpbHNcbiAgICAgIGNvbnN0IHsgZGF0YTogYmluYXJ5RGV0YWlscyB9ID0gYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRldGFpbChcbiAgICAgICAgdGhpcy5tb2RlbC5zZWxlY3RlZC5iaW5hcnlJZFxuICAgICAgKTtcblxuICAgICAgLy8gR2V0IGJpbmFyeSBmcm9tIHNwZWNpZmljIHBhY2thZ2UgdmVyc2lvblxuICAgICAgY29uc3QgYmluYXJ5ID0gYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldEJpbmFyeSh0aGlzLnBhY2thZ2UsIHtcbiAgICAgICAgaWQ6IHRoaXMubW9kZWwuc2VsZWN0ZWQuYmluYXJ5SWRcbiAgICAgIH0pO1xuICAgICAgLy8gQ3JlYXRlIHppcFxuICAgICAgY29uc3QgZmlsZUJpbmFyeSA9IG5ldyBCbG9iKFtiaW5hcnldLCB7IHR5cGU6IGJpbmFyeURldGFpbHMuY29udGVudFR5cGUgfSk7XG4gICAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW2ZpbGVCaW5hcnldLCBiaW5hcnlEZXRhaWxzLm5hbWUsIHtcbiAgICAgICAgdHlwZTogYmluYXJ5RGV0YWlscy5jb250ZW50VHlwZVxuICAgICAgfSk7XG5cbiAgICAgIC8vIFVwbG9hZCBiaW5hcnkgdG8gbmV3IGFwcFxuICAgICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLnVwbG9hZEFyY2hpdmVUb0FwcChmaWxlLCBuZXdBcHApO1xuICAgICAgLy8gVXBkYXRlIG1hbmlmZXN0XG4gICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudXBkYXRlQXBwTWFuaWZlc3QobmV3QXBwLCB0aGlzLnBhY2thZ2UpO1xuXG4gICAgICB0aGlzLmRlcGxveWVkV2l0aFN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChcbiAgICAgICAgUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5FVkVOVFMuREVQTE9ZX0FQUExJQ0FUSU9OLFxuICAgICAgICB7XG4gICAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkNPTVBPTkVOVFMuREVQTE9ZX0FQUExJQ0FUSU9OLFxuICAgICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5BQ1RJT05TLkRFUExPWV9BUFBMSUNBVElPTixcbiAgICAgICAgICByZXN1bHQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuUkVTVUxUUy5ERVBMT1lFRCxcbiAgICAgICAgICB1cmw6IHRoaXMuQ1VSUkVOVF9MT0NBVElPTlxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3I/LnJlcz8uc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZGVsZXRlKG5ld0FwcC5pZCk7XG4gICAgICAgIGF3YWl0IHRoaXMuZmFsbGJhY2tUb0Nsb25lTGF0ZXN0KGNvbmZpZyk7XG4gICAgICAgIHRoaXMuZ2FpbnNpZ2h0U2VydmljZS50cmlnZ2VyRXZlbnQoXG4gICAgICAgICAgUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5FVkVOVFMuREVQTE9ZX0FQUExJQ0FUSU9OLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLkRFUExPWV9BUFBMSUNBVElPTixcbiAgICAgICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5BQ1RJT05TLkRFUExPWV9BUFBMSUNBVElPTixcbiAgICAgICAgICAgIHJlc3VsdDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5SRVNVTFRTLlNFUlZFUl9GQUlMVVJFLFxuICAgICAgICAgICAgdXJsOiB0aGlzLkNVUlJFTlRfTE9DQVRJT05cbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubWFya0FzRGVwbG95ZWQoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBmYWxsYmFja1RvQ2xvbmVMYXRlc3QoY29uZmlnKSB7XG4gICAgbGV0IGNsb25lZFBrZztcbiAgICB0cnkge1xuICAgICAgY2xvbmVkUGtnID0gKGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmNsb25lKHRoaXMucGFja2FnZSkpLmRhdGE7XG5cbiAgICAgIC8vIGNsZWFuIG91dCBhbGwgZmFsc2VseSBjbG9uZWQgYXBwbGljYXRpb25WZXJzaW9ucywgd2UgZG9uJ3QgbmVlZCB0aGVtXG4gICAgICBmb3IgKGNvbnN0IGFwcFZlcnNpb24gb2YgY2xvbmVkUGtnLmFwcGxpY2F0aW9uVmVyc2lvbnMgYXMgSUFwcGxpY2F0aW9uVmVyc2lvbltdKSB7XG4gICAgICAgIGlmIChhcHBWZXJzaW9uLnRhZ3MuaW5jbHVkZXMoJ2xhdGVzdCcpKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLnNldFBhY2thZ2VWZXJzaW9uVGFnKGNsb25lZFBrZywgYXBwVmVyc2lvbi52ZXJzaW9uLCBbXSk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmRlbGV0ZVBhY2thZ2VWZXJzaW9uKGNsb25lZFBrZywge1xuICAgICAgICAgIHZlcnNpb246IGFwcFZlcnNpb24udmVyc2lvblxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSBjb25maWcudHlwZTtcbiAgICAgIGNvbmZpZy5pc1BhY2thZ2UgPSBmYWxzZTtcbiAgICAgIGNvbnN0IHsgZGF0YTogbmV3QXBwIH0gPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudXBkYXRlQXBwKFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6IGNsb25lZFBrZy5pZCxcbiAgICAgICAgICBhY3RpdmVWZXJzaW9uSWQ6IGNsb25lZFBrZy5hY3RpdmVWZXJzaW9uSWQsXG4gICAgICAgICAgLi4uY29uZmlnXG4gICAgICAgIH0sXG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLnVwZGF0ZUFwcE1hbmlmZXN0KG5ld0FwcCwgdGhpcy5wYWNrYWdlKTtcbiAgICAgIHRoaXMuZGVwbG95ZWRXaXRoU3VjY2VzcyA9IHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS5kZWxldGVBcHAoY2xvbmVkUGtnLmlkLCB0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5tYXJrQXNEZXBsb3llZCgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMud2l6YXJkQ29tcG9uZW50LmNsb3NlKCk7XG4gIH1cblxuICBvbkFwcFZlcnNpb25TZWxlY3QoYXBwVmVyc2lvbjogSUFwcGxpY2F0aW9uVmVyc2lvbikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcy5tb2RlbCwge1xuICAgICAgc2VsZWN0ZWQ6IGFwcFZlcnNpb25cbiAgICB9KTtcbiAgICB0aGlzLmNhbkRlcGxveSA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIG1hcmtBc0RlcGxveWVkKCkge1xuICAgIHRoaXMuaXNEZXBsb3llZCA9IHRydWU7XG4gICAgdGhpcy5pblByb2dyZXNzID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGdldEhlYWRlclRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5kZXNjcmlwdGlvblRlbXBsYXRlLCB7XG4gICAgICBwYWNrYWdlTmFtZTogdGhpcy5wYWNrYWdlLm5hbWVcbiAgICB9KTtcbiAgfVxufVxuIiwiPGM4eS13aXphcmQtaGVhZGVyPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIGRpYWxvZy1oZWFkZXJcIj5cbiAgICA8aSBjOHlJY29uPVwib3V0cHV0XCI+PC9pPlxuICAgIDxoNCBpZD1cIm1vZGFsLXRpdGxlXCI+e3sgJ0RlcGxveSBhcHBsaWNhdGlvbicgfCB0cmFuc2xhdGUgfX08L2g0PlxuICA8L2Rpdj5cbjwvYzh5LXdpemFyZC1oZWFkZXI+XG5cbjxjOHktd2l6YXJkLWJvZHkgaWQ9XCJtb2RhbC1ib2R5XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNEZXBsb3llZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmYWRlSW4gYW5pbWF0ZWQgZC1mbGV4IGEtaS1jZW50ZXIgai1jLWNlbnRlciBkLWNvbFwiIHN0eWxlPVwibWluLWhlaWdodDogMzA5cHhcIj5cbiAgICAgIDxwXG4gICAgICAgIGNsYXNzPVwiYmctbGV2ZWwtMCBmaXQtdyBwLTE2IHRleHQtY2VudGVyIHRleHQtbWVkaXVtIHN0aWNreS10b3AgYmctbGV2ZWwtMCBzZXBhcmF0b3ItYm90dG9tXCJcbiAgICAgICAgKm5nSWY9XCIhaW5Qcm9ncmVzc1wiXG4gICAgICA+XG4gICAgICAgIHt7IGhlYWRlclRleHQgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxjOHktYXBwbGljYXRpb24tcHJvcGVydGllcy1mb3JtXG4gICAgICAgICpuZ0lmPVwiIWluUHJvZ3Jlc3NcIlxuICAgICAgICBbYXBwbGljYXRpb25dPVwibmV3QXBwQ29uZmlnXCJcbiAgICAgICAgY2xhc3M9XCJkLWJsb2NrIGZpdC13IGJnLWxldmVsLTFcIlxuICAgICAgPjwvYzh5LWFwcGxpY2F0aW9uLXByb3BlcnRpZXMtZm9ybT5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpblByb2dyZXNzXCI+XG4gICAgICAgIDxkaXYgW25nU3R5bGVdPVwieyBwYWRkaW5nOiAnMCAxNnB4JyB9XCIgY2xhc3M9XCJkLWJsb2NrIGZpdC13IGJnLWdyYXktd2hpdGVcIj5cbiAgICAgICAgICA8Yzh5LXBhY2thZ2UtdmVyc2lvbi1zZWxlY3QgW25nTW9kZWxdPVwibW9kZWwuc2VsZWN0ZWRcIiAobmdNb2RlbENoYW5nZSk9XCJvbkFwcFZlcnNpb25TZWxlY3QoJGV2ZW50KVwiIFtwYWNrYWdlSWRdPVwicGFja2FnZT8uaWRcIiBbbGFiZWxdPVwiJ1VzZSBwYWNrYWdlIHZlcnNpb24nIHwgdHJhbnNsYXRlXCI+PC9jOHktcGFja2FnZS12ZXJzaW9uLXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGM4eS1wcm9ncmVzcy1iYXJcbiAgICAgICAgKm5nSWY9XCJpblByb2dyZXNzXCJcbiAgICAgICAgW21lc3NhZ2VdPVwiJ0RlcGxveWluZ+KApicgfCB0cmFuc2xhdGVcIlxuICAgICAgICBjbGFzcz1cInRleHQtY2VudGVyXCJcbiAgICAgID48L2M4eS1wcm9ncmVzcy1iYXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0RlcGxveWVkXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJkZXBsb3llZFdpdGhTdWNjZXNzOyBlbHNlIGZhaWxlZERlcGxveVwiXG4gICAgICBjbGFzcz1cIm1vZGFsLWJvZHkgZmFkZUluIGFuaW1hdGVkXCJcbiAgICAgIHN0eWxlPVwibWluLWhlaWdodDogMzA5cHhcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlciBqLWMtY2VudGVyIGQtY29sXCI+XG4gICAgICAgIDxjOHktb3BlcmF0aW9uLXJlc3VsdFxuICAgICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcbiAgICAgICAgICBbc2l6ZV09XCI4NFwiXG4gICAgICAgICAgW3ZlcnRpY2FsXT1cInRydWVcIlxuICAgICAgICAgIFt0ZXh0XT1cInN1Y2Nlc3NNZXNzYWdlVGVtcGxhdGUgfCB0cmFuc2xhdGU6IHsgcGFja2FnZU5hbWU6IHBhY2thZ2UubmFtZSB9XCJcbiAgICAgICAgICBjbGFzcz1cImxlYWQgZC1ibG9jayBtLWItMTZcIlxuICAgICAgICA+PC9jOHktb3BlcmF0aW9uLXJlc3VsdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjZmFpbGVkRGVwbG95PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgZmFkZUluIGFuaW1hdGVkIHRleHQtY2VudGVyXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAyNTdweFwiPlxuICAgICAgICA8Yzh5LW9wZXJhdGlvbi1yZXN1bHRcbiAgICAgICAgICB0eXBlPVwiZXJyb3JcIlxuICAgICAgICAgIFtzaXplXT1cIjg0XCJcbiAgICAgICAgICBbdmVydGljYWxdPVwidHJ1ZVwiXG4gICAgICAgICAgdGV4dD1cInt7ICdBcHBsaWNhdGlvbiBjcmVhdGlvbiBmYWlsZWQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBjbGFzcz1cImxlYWRcIlxuICAgICAgICA+PC9jOHktb3BlcmF0aW9uLXJlc3VsdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9jOHktd2l6YXJkLWJvZHk+XG5cbjxjOHktd2l6YXJkLWZvb3Rlcj5cbiAgPGJ1dHRvblxuICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgIHRpdGxlPVwie3sgKGlzRGVwbG95ZWQgJiYgZGVwbG95ZWRXaXRoU3VjY2VzcyA/IGRvbmVMYWJlbCA6IGNhbmNlbExhYmVsKSB8IHRyYW5zbGF0ZSB9fVwiXG4gID5cbiAgICB7eyAoaXNEZXBsb3llZCAmJiBkZXBsb3llZFdpdGhTdWNjZXNzID8gZG9uZUxhYmVsIDogY2FuY2VsTGFiZWwpIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b25cbiAgICAoY2xpY2spPVwiZGVwbG95QXBwKClcIlxuICAgICpuZ0lmPVwiIWlzRGVwbG95ZWRcIlxuICAgIFtkaXNhYmxlZF09XCJpblByb2dyZXNzIHx8ICFjYW5EZXBsb3lcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2J0bi1wZW5kaW5nJzogaW5Qcm9ncmVzcyB9XCJcbiAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgdGl0bGU9XCJ7eyAnRGVwbG95JyB8IHRyYW5zbGF0ZSB9fVwiXG4gID5cbiAgICB7eyAnRGVwbG95JyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYzh5LXdpemFyZC1mb290ZXI+XG4iXX0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9kZXBsb3ktYXBwbGljYXRpb24vZGVwbG95LWFwcGxpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9kZXBsb3ktYXBwbGljYXRpb24vZGVwbG95LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RixPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbkIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFNdkQsTUFBTSxPQUFPLDBCQUEwQjtJQTZCckMsWUFDVSxnQkFBa0MsRUFDbEMsZUFBZ0MsRUFDaEMsU0FBMkIsRUFDM0IsZ0JBQWtDLEVBQ2xDLE1BQWM7UUFKZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqQ3hCLHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFFakMsZUFBVSxHQUFZLElBQUksQ0FBQztRQUUzQixlQUFVLEdBQVksS0FBSyxDQUFDO1FB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S0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGtCQUFrQixDQUFDLFVBQStCO1FBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN4QixRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUN0RCxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7O3VIQTVHVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix5SEFrQjFCLGtDQUFrQyxnRENqQy9DLHVyR0FtR0E7MkZEcEZhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSx3QkFBd0I7d05Bc0JsQyx5QkFBeUI7c0JBRHhCLFNBQVM7dUJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElBcHBsaWNhdGlvbiwgSUFwcGxpY2F0aW9uVmVyc2lvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEdhaW5zaWdodFNlcnZpY2UsIFZpZXdDb250ZXh0LCBXaXphcmRDb21wb25lbnQsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUHJvcGVydGllc0Zvcm1Db21wb25lbnQsXG4gIEVjb3N5c3RlbVNlcnZpY2UsXG4gIFBST0RVQ1RfRVhQRVJJRU5DRVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Vjb3N5c3RlbS9zaGFyZWQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGVwbG95LWFwcGxpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlcGxveS1hcHBsaWNhdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGVwbG95QXBwbGljYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBDVVJSRU5UX0xPQ0FUSU9OID0gbG9jYXRpb24uaHJlZjtcblxuICBpblByb2dyZXNzOiBib29sZWFuID0gdHJ1ZTtcbiAgcGFja2FnZTogSUFwcGxpY2F0aW9uO1xuICBpc0RlcGxveWVkOiBib29sZWFuID0gZmFsc2U7XG4gIGRlcGxveWVkV2l0aFN1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbmV3QXBwQ29uZmlnOiBJQXBwbGljYXRpb247XG4gIGRlcGxveWVkQXBwOiBJQXBwbGljYXRpb247XG5cbiAgbW9kZWwgPSB7XG4gICAgc2VsZWN0ZWQ6IHVuZGVmaW5lZCxcbiAgICBiaW5hcnk6IHtcbiAgICAgIGlkOiB1bmRlZmluZWRcbiAgICB9XG4gIH07XG4gIGNhbkRlcGxveTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoQXBwbGljYXRpb25Qcm9wZXJ0aWVzRm9ybUNvbXBvbmVudClcbiAgYXBwbGljYXRpb25Qcm9wZXJ0aWVzRm9ybTogQXBwbGljYXRpb25Qcm9wZXJ0aWVzRm9ybUNvbXBvbmVudDtcblxuICByZWFkb25seSBkZXNjcmlwdGlvblRlbXBsYXRlOiBzdHJpbmcgPSBnZXR0ZXh0KFxuICAgICdEZXBsb3kgYXBwbGljYXRpb24gdXNpbmcgXCJ7eyBwYWNrYWdlTmFtZSB9fVwiIHBhY2thZ2UnXG4gICk7XG4gIHJlYWRvbmx5IHN1Y2Nlc3NNZXNzYWdlVGVtcGxhdGUgPSBnZXR0ZXh0KCdBcHBsaWNhdGlvbiBcInt7IHBhY2thZ2VOYW1lIH19XCIgY3JlYXRlZCcpO1xuICByZWFkb25seSBkb25lTGFiZWwgPSBnZXR0ZXh0KCdEb25lJyk7XG4gIHJlYWRvbmx5IGNhbmNlbExhYmVsID0gZ2V0dGV4dCgnQ2FuY2VsJyk7XG4gIGhlYWRlclRleHQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVjb3N5c3RlbVNlcnZpY2U6IEVjb3N5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aXphcmRDb21wb25lbnQ6IFdpemFyZENvbXBvbmVudCxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGdhaW5zaWdodFNlcnZpY2U6IEdhaW5zaWdodFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICB0aGlzLnBhY2thZ2UgPSAodGhpcy53aXphcmRDb21wb25lbnQgYXMgYW55KS5wYWNrYWdlO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgYXBwcyA9IGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS5nZXRIb3N0ZWRBbmRQYWNrYWdlQXBwbGljYXRpb25zKCk7XG4gICAgdGhpcy5uZXdBcHBDb25maWcgPSB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZ2V0VW5pcXVlQXBwQ29uZmlnKHRoaXMucGFja2FnZSwgYXBwcyk7XG4gICAgdGhpcy5oZWFkZXJUZXh0ID0gdGhpcy5nZXRIZWFkZXJUZXh0KCk7XG4gICAgdGhpcy5pblByb2dyZXNzID0gZmFsc2U7XG4gIH1cblxuICBhc3luYyBkZXBsb3lBcHAoKSB7XG4gICAgdGhpcy5pblByb2dyZXNzID0gdHJ1ZTtcbiAgICBjb25zdCBmb3JtR3JvdXBWYWx1ZSA9IHRoaXMuYXBwbGljYXRpb25Qcm9wZXJ0aWVzRm9ybS5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICB0aGlzLnBhY2thZ2UubWFuaWZlc3QudmVyc2lvbiA9IHRoaXMubW9kZWwuc2VsZWN0ZWQudmVyc2lvbjtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLmRlcGxveWVkQXBwID0gYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmRlcGxveUFwcChcbiAgICAgICAgdGhpcy5wYWNrYWdlLFxuICAgICAgICBmb3JtR3JvdXBWYWx1ZSxcbiAgICAgICAgdGhpcy5tb2RlbFxuICAgICAgKTtcbiAgICAgIHRoaXMuZGVwbG95ZWRXaXRoU3VjY2VzcyA9IHRydWU7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFxuICAgICAgICBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkVWRU5UUy5ERVBMT1lfQVBQTElDQVRJT04sXG4gICAgICAgIHtcbiAgICAgICAgICBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuQ09NUE9ORU5UUy5ERVBMT1lfQVBQTElDQVRJT04sXG4gICAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkFDVElPTlMuREVQTE9ZX0FQUExJQ0FUSU9OLFxuICAgICAgICAgIHJlc3VsdDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5SRVNVTFRTLkRFUExPWUVELFxuICAgICAgICAgIHVybDogdGhpcy5DVVJSRU5UX0xPQ0FUSU9OXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuZWNvc3lzdGVtU2VydmljZS5hbGVydEVycm9yKGVycm9yKTtcbiAgICAgIHRoaXMuZ2FpbnNpZ2h0U2VydmljZS50cmlnZ2VyRXZlbnQoXG4gICAgICAgIFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuRVZFTlRTLkRFUExPWV9BUFBMSUNBVElPTixcbiAgICAgICAge1xuICAgICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLkRFUExPWV9BUFBMSUNBVElPTixcbiAgICAgICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuQUNUSU9OUy5ERVBMT1lfQVBQTElDQVRJT04sXG4gICAgICAgICAgcmVzdWx0OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLlJFU1VMVFMuU0VSVkVSX0ZBSUxVUkUsXG4gICAgICAgICAgdXJsOiB0aGlzLkNVUlJFTlRfTE9DQVRJT05cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5tYXJrQXNEZXBsb3llZCgpO1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLndpemFyZENvbXBvbmVudC5jbG9zZSgpO1xuICB9XG5cbiAgb25BcHBWZXJzaW9uU2VsZWN0KGFwcFZlcnNpb246IElBcHBsaWNhdGlvblZlcnNpb24pIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMubW9kZWwsIHtcbiAgICAgIHNlbGVjdGVkOiBhcHBWZXJzaW9uXG4gICAgfSk7XG4gICAgdGhpcy5jYW5EZXBsb3kgPSB0cnVlO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKFZpZXdDb250ZXh0LkFwcGxpY2F0aW9uLnJlcGxhY2UoJzppZCcsIGAke3RoaXMuZGVwbG95ZWRBcHAuaWR9YCkpO1xuICAgIHRoaXMuY2FuY2VsKCk7XG4gIH1cblxuICBwcml2YXRlIG1hcmtBc0RlcGxveWVkKCkge1xuICAgIHRoaXMuaXNEZXBsb3llZCA9IHRydWU7XG4gICAgdGhpcy5pblByb2dyZXNzID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGdldEhlYWRlclRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5kZXNjcmlwdGlvblRlbXBsYXRlLCB7XG4gICAgICBwYWNrYWdlTmFtZTogdGhpcy5wYWNrYWdlLm5hbWVcbiAgICB9KTtcbiAgfVxufVxuIiwiPGM4eS13aXphcmQtaGVhZGVyPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIGRpYWxvZy1oZWFkZXJcIj5cbiAgICA8aSBjOHlJY29uPVwib3V0cHV0XCI+PC9pPlxuICAgIDxoNCBpZD1cIm1vZGFsLXRpdGxlXCI+e3sgJ0RlcGxveSBhcHBsaWNhdGlvbicgfCB0cmFuc2xhdGUgfX08L2g0PlxuICA8L2Rpdj5cbjwvYzh5LXdpemFyZC1oZWFkZXI+XG5cbjxjOHktd2l6YXJkLWJvZHkgaWQ9XCJtb2RhbC1ib2R5XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNEZXBsb3llZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmYWRlSW4gYW5pbWF0ZWQgZC1mbGV4IGEtaS1jZW50ZXIgai1jLWNlbnRlciBkLWNvbFwiIHN0eWxlPVwibWluLWhlaWdodDogMzA5cHhcIj5cbiAgICAgIDxwXG4gICAgICAgIGNsYXNzPVwiYmctbGV2ZWwtMCBmaXQtdyBwLTE2IHRleHQtY2VudGVyIHRleHQtbWVkaXVtIHN0aWNreS10b3AgYmctbGV2ZWwtMCBzZXBhcmF0b3ItYm90dG9tXCJcbiAgICAgICAgKm5nSWY9XCIhaW5Qcm9ncmVzc1wiXG4gICAgICA+XG4gICAgICAgIHt7IGhlYWRlclRleHQgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxjOHktYXBwbGljYXRpb24tcHJvcGVydGllcy1mb3JtXG4gICAgICAgICpuZ0lmPVwiIWluUHJvZ3Jlc3NcIlxuICAgICAgICBbYXBwbGljYXRpb25dPVwibmV3QXBwQ29uZmlnXCJcbiAgICAgICAgY2xhc3M9XCJkLWJsb2NrIGZpdC13IGJnLWxldmVsLTFcIlxuICAgICAgPjwvYzh5LWFwcGxpY2F0aW9uLXByb3BlcnRpZXMtZm9ybT5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpblByb2dyZXNzXCI+XG4gICAgICAgIDxkaXYgW25nU3R5bGVdPVwieyBwYWRkaW5nOiAnMCAxNnB4JyB9XCIgY2xhc3M9XCJkLWJsb2NrIGZpdC13IGJnLWdyYXktd2hpdGVcIj5cbiAgICAgICAgICA8Yzh5LXBhY2thZ2UtdmVyc2lvbi1zZWxlY3QgW25nTW9kZWxdPVwibW9kZWwuc2VsZWN0ZWRcIiAobmdNb2RlbENoYW5nZSk9XCJvbkFwcFZlcnNpb25TZWxlY3QoJGV2ZW50KVwiIFtwYWNrYWdlSWRdPVwicGFja2FnZT8uaWRcIiBbbGFiZWxdPVwiJ1VzZSBwYWNrYWdlIHZlcnNpb24nIHwgdHJhbnNsYXRlXCI+PC9jOHktcGFja2FnZS12ZXJzaW9uLXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGM4eS1wcm9ncmVzcy1iYXJcbiAgICAgICAgKm5nSWY9XCJpblByb2dyZXNzXCJcbiAgICAgICAgW21lc3NhZ2VdPVwiJ0RlcGxveWluZ+KApicgfCB0cmFuc2xhdGVcIlxuICAgICAgICBjbGFzcz1cInRleHQtY2VudGVyXCJcbiAgICAgID48L2M4eS1wcm9ncmVzcy1iYXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0RlcGxveWVkXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJkZXBsb3llZFdpdGhTdWNjZXNzOyBlbHNlIGZhaWxlZERlcGxveVwiXG4gICAgICBjbGFzcz1cIm1vZGFsLWJvZHkgZmFkZUluIGFuaW1hdGVkXCJcbiAgICAgIHN0eWxlPVwibWluLWhlaWdodDogMzA5cHhcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlciBqLWMtY2VudGVyIGQtY29sXCI+XG4gICAgICAgIDxjOHktb3BlcmF0aW9uLXJlc3VsdFxuICAgICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcbiAgICAgICAgICBbc2l6ZV09XCI4NFwiXG4gICAgICAgICAgW3ZlcnRpY2FsXT1cInRydWVcIlxuICAgICAgICAgIFt0ZXh0XT1cInN1Y2Nlc3NNZXNzYWdlVGVtcGxhdGUgfCB0cmFuc2xhdGU6IHsgcGFja2FnZU5hbWU6IHBhY2thZ2UubmFtZSB9XCJcbiAgICAgICAgICBjbGFzcz1cImxlYWQgZC1ibG9jayBtLWItMTZcIlxuICAgICAgICA+PC9jOHktb3BlcmF0aW9uLXJlc3VsdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjZmFpbGVkRGVwbG95PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgZmFkZUluIGFuaW1hdGVkIHRleHQtY2VudGVyXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAyNTdweFwiPlxuICAgICAgICA8Yzh5LW9wZXJhdGlvbi1yZXN1bHRcbiAgICAgICAgICB0eXBlPVwiZXJyb3JcIlxuICAgICAgICAgIFtzaXplXT1cIjg0XCJcbiAgICAgICAgICBbdmVydGljYWxdPVwidHJ1ZVwiXG4gICAgICAgICAgdGV4dD1cInt7ICdBcHBsaWNhdGlvbiBjcmVhdGlvbiBmYWlsZWQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBjbGFzcz1cImxlYWRcIlxuICAgICAgICA+PC9jOHktb3BlcmF0aW9uLXJlc3VsdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9jOHktd2l6YXJkLWJvZHk+XG5cbjxjOHktd2l6YXJkLWZvb3Rlcj5cbiAgPGJ1dHRvblxuICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgIHRpdGxlPVwie3sgKGlzRGVwbG95ZWQgJiYgZGVwbG95ZWRXaXRoU3VjY2VzcyA/IGRvbmVMYWJlbCA6IGNhbmNlbExhYmVsKSB8IHRyYW5zbGF0ZSB9fVwiXG4gID5cbiAgICB7eyAoaXNEZXBsb3llZCAmJiBkZXBsb3llZFdpdGhTdWNjZXNzID8gZG9uZUxhYmVsIDogY2FuY2VsTGFiZWwpIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b25cbiAgICAoY2xpY2spPVwiZGVwbG95QXBwKClcIlxuICAgICpuZ0lmPVwiIWlzRGVwbG95ZWRcIlxuICAgIFtkaXNhYmxlZF09XCJpblByb2dyZXNzIHx8ICFjYW5EZXBsb3lcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2J0bi1wZW5kaW5nJzogaW5Qcm9ncmVzcyB9XCJcbiAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgdGl0bGU9XCJ7eyAnRGVwbG95JyB8IHRyYW5zbGF0ZSB9fVwiXG4gID5cbiAgICB7eyAnRGVwbG95JyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uXG4gICAgKGNsaWNrKT1cIm9wZW4oKVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICpuZ0lmPVwiaXNEZXBsb3llZCAmJiBkZXBsb3llZFdpdGhTdWNjZXNzXCJcbiAgICB0aXRsZT1cInt7ICdPcGVuIHRoZSBhcHBsaWNhdGlvbiBkZXRhaWxzJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHJhbnNsYXRlXG4gID5cbiAgICBPcGVuXG4gIDwvYnV0dG9uPlxuPC9jOHktd2l6YXJkLWZvb3Rlcj5cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { ERROR_TYPE } from './ecosystem.model';
2
2
  import { gettext } from '@c8y/ngx-components';
3
3
  export const ERROR_MESSAGES = {
4
+ [ERROR_TYPE.ALREADY_EXIST]: gettext('Could not deploy the application, as the application with the same name, context-path or key exist already.'),
4
5
  [ERROR_TYPE.TYPE_VALIDATION]: gettext('Wrong file format. Expected a *.zip file with a valid manifest.'),
5
6
  [ERROR_TYPE.ALREADY_SUBSCRIBED]: gettext('Could not subscribe to the microservice because another application with the same context path is already subscribed.'),
6
7
  [ERROR_TYPE.NO_MANIFEST_FILE]: gettext('Could not find a manifest.'),
@@ -9,7 +10,8 @@ export const ERROR_MESSAGES = {
9
10
  [ERROR_TYPE.INTERNAL_ERROR]: gettext('An internal error occurred, try to upload again.'),
10
11
  [ERROR_TYPE.MICROSERVICE_NAME_TOO_LONG]: gettext('Microservice name "{{ name }}" must not be longer than {{ maxChars }} characters.'),
11
12
  [ERROR_TYPE.APPLICATION_CREATION_FAILED]: gettext('Application creation failed.'),
12
- [ERROR_TYPE.KEY_OR_CONTEXT_PATH_MISMATCH]: gettext('The contextPath or key of the uploaded archive do not match with the existing app.')
13
+ [ERROR_TYPE.KEY_OR_CONTEXT_PATH_MISMATCH]: gettext('The "contextPath`KEEP_ORIGINAL`" or "key`KEEP_ORIGINAL`" of the uploaded archive do not match with the existing application.'),
14
+ [ERROR_TYPE.VERSION_NOT_FOUND]: gettext('The selected version was not found on the server.')
13
15
  };
14
16
  export const APP_STATE = {
15
17
  SUBSCRIBED: {
@@ -39,7 +41,7 @@ export const APP_STATE = {
39
41
  };
40
42
  export const packageProperties = [
41
43
  {
42
- label: gettext('Version'),
44
+ label: gettext('Latest version'),
43
45
  key: 'version'
44
46
  },
45
47
  {
@@ -72,4 +74,4 @@ export const packageProperties = [
72
74
  key: 'license'
73
75
  }
74
76
  ];
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNvc3lzdGVtLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9zaGFyZWQvZWNvc3lzdGVtLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBc0IsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxDQUNuQyxpRUFBaUUsQ0FDbEU7SUFDRCxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FDdEMsdUhBQXVILENBQ3hIO0lBQ0QsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUMsNEJBQTRCLENBQUM7SUFDcEUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0lBQy9FLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO0lBQ3ZGLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxrREFBa0QsQ0FBQztJQUN4RixDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLE9BQU8sQ0FDOUMsbUZBQW1GLENBQ3BGO0lBQ0QsQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsRUFBRSxPQUFPLENBQUMsOEJBQThCLENBQUM7SUFDakYsQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsRUFBRSxPQUFPLENBQ2hELG9GQUFvRixDQUNyRjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDdkIsVUFBVSxFQUFFO1FBQ1YsS0FBSyxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztRQUN6QyxLQUFLLEVBQUUsZUFBZTtLQUN2QjtJQUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxPQUFPLENBQUMscUJBQXFCLENBQUM7UUFDckMsS0FBSyxFQUFFLFlBQVk7S0FDcEI7SUFDRCxRQUFRLEVBQUU7UUFDUixLQUFLLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixDQUFDO1FBQ3ZDLEtBQUssRUFBRSxlQUFlO0tBQ3ZCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsS0FBSyxFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztRQUN2QyxLQUFLLEVBQUUsZUFBZTtLQUN2QjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzNCLEtBQUssRUFBRSxlQUFlO0tBQ3ZCO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDekIsS0FBSyxFQUFFLFlBQVk7S0FDcEI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXlCO0lBQ3JEO1FBQ0UsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDekIsR0FBRyxFQUFFLFNBQVM7S0FDZjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDeEIsR0FBRyxFQUFFLFFBQVE7S0FDZDtJQUNEO1FBQ0UsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDMUIsR0FBRyxFQUFFLFVBQVU7S0FDaEI7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3hCLEdBQUcsRUFBRSxZQUFZO1FBQ2pCLFNBQVMsRUFBRSxDQUFDLFVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDL0UsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUscUJBQXFCLENBQUM7S0FDaEY7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzFCLEdBQUcsRUFBRSxVQUFVO1FBQ2YsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUscUJBQXFCLENBQUM7S0FDaEY7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsMkJBQTJCLENBQUM7UUFDM0MsR0FBRyxFQUFFLHlCQUF5QjtLQUMvQjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDekIsR0FBRyxFQUFFLFNBQVM7S0FDZjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFUlJPUl9UWVBFIH0gZnJvbSAnLi9lY29zeXN0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgZ2V0dGV4dCwgUHJvcGVydGllc0xpc3RJdGVtIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9NRVNTQUdFUyA9IHtcbiAgW0VSUk9SX1RZUEUuVFlQRV9WQUxJREFUSU9OXTogZ2V0dGV4dChcbiAgICAnV3JvbmcgZmlsZSBmb3JtYXQuIEV4cGVjdGVkIGEgKi56aXAgZmlsZSB3aXRoIGEgdmFsaWQgbWFuaWZlc3QuJ1xuICApLFxuICBbRVJST1JfVFlQRS5BTFJFQURZX1NVQlNDUklCRURdOiBnZXR0ZXh0KFxuICAgICdDb3VsZCBub3Qgc3Vic2NyaWJlIHRvIHRoZSBtaWNyb3NlcnZpY2UgYmVjYXVzZSBhbm90aGVyIGFwcGxpY2F0aW9uIHdpdGggdGhlIHNhbWUgY29udGV4dCBwYXRoIGlzIGFscmVhZHkgc3Vic2NyaWJlZC4nXG4gICksXG4gIFtFUlJPUl9UWVBFLk5PX01BTklGRVNUX0ZJTEVdOiBnZXR0ZXh0KCdDb3VsZCBub3QgZmluZCBhIG1hbmlmZXN0LicpLFxuICBbRVJST1JfVFlQRS5JTlZBTElEX1BBQ0tBR0VdOiBnZXR0ZXh0KCdZb3UgaGF2ZSBub3QgdXBsb2FkZWQgYSB2YWxpZCBwYWNrYWdlLicpLFxuICBbRVJST1JfVFlQRS5JTlZBTElEX0FQUExJQ0FUSU9OXTogZ2V0dGV4dCgnWW91IGhhdmUgbm90IHVwbG9hZGVkIGEgdmFsaWQgYXBwbGljYXRpb24uJyksXG4gIFtFUlJPUl9UWVBFLklOVEVSTkFMX0VSUk9SXTogZ2V0dGV4dCgnQW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQsIHRyeSB0byB1cGxvYWQgYWdhaW4uJyksXG4gIFtFUlJPUl9UWVBFLk1JQ1JPU0VSVklDRV9OQU1FX1RPT19MT05HXTogZ2V0dGV4dChcbiAgICAnTWljcm9zZXJ2aWNlIG5hbWUgXCJ7eyBuYW1lIH19XCIgbXVzdCBub3QgYmUgbG9uZ2VyIHRoYW4ge3sgbWF4Q2hhcnMgfX0gY2hhcmFjdGVycy4nXG4gICksXG4gIFtFUlJPUl9UWVBFLkFQUExJQ0FUSU9OX0NSRUFUSU9OX0ZBSUxFRF06IGdldHRleHQoJ0FwcGxpY2F0aW9uIGNyZWF0aW9uIGZhaWxlZC4nKSxcbiAgW0VSUk9SX1RZUEUuS0VZX09SX0NPTlRFWFRfUEFUSF9NSVNNQVRDSF06IGdldHRleHQoXG4gICAgJ1RoZSBjb250ZXh0UGF0aCBvciBrZXkgb2YgdGhlIHVwbG9hZGVkIGFyY2hpdmUgZG8gbm90IG1hdGNoIHdpdGggdGhlIGV4aXN0aW5nIGFwcC4nXG4gIClcbn07XG5cbmV4cG9ydCBjb25zdCBBUFBfU1RBVEUgPSB7XG4gIFNVQlNDUklCRUQ6IHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnU3Vic2NyaWJlZGBhcHBsaWNhdGlvbmAnKSxcbiAgICBjbGFzczogJ2xhYmVsLXByaW1hcnknXG4gIH0sXG4gIENVU1RPTToge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdDdXN0b21gYXBwbGljYXRpb25gJyksXG4gICAgY2xhc3M6ICdsYWJlbC1pbmZvJ1xuICB9LFxuICBFWFRFUk5BTDoge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdFeHRlcm5hbGBhcHBsaWNhdGlvbmAnKSxcbiAgICBjbGFzczogJ2xhYmVsLXdhcm5pbmcnXG4gIH0sXG4gIFVOUEFDS0VEOiB7XG4gICAgbGFiZWw6IGdldHRleHQoJ1VucGFja2VkYGFwcGxpY2F0aW9uYCcpLFxuICAgIGNsYXNzOiAnbGFiZWwtc3VjY2VzcydcbiAgfSxcbiAgUEFDS0FHRV9CTFVFUFJJTlQ6IHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnQmx1ZXByaW50JyksXG4gICAgY2xhc3M6ICdsYWJlbC1zdWNjZXNzJ1xuICB9LFxuICBQQUNLQUdFX1BMVUdJTjoge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdQbHVnaW5zJyksXG4gICAgY2xhc3M6ICdsYWJlbC1pbmZvJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFja2FnZVByb3BlcnRpZXM6IFByb3BlcnRpZXNMaXN0SXRlbVtdID0gW1xuICB7XG4gICAgbGFiZWw6IGdldHRleHQoJ1ZlcnNpb24nKSxcbiAgICBrZXk6ICd2ZXJzaW9uJ1xuICB9LFxuICB7XG4gICAgbGFiZWw6IGdldHRleHQoJ0F1dGhvcicpLFxuICAgIGtleTogJ2F1dGhvcidcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdLZXl3b3JkcycpLFxuICAgIGtleTogJ2tleXdvcmRzJ1xuICB9LFxuICB7XG4gICAgbGFiZWw6IGdldHRleHQoJ1NvdXJjZScpLFxuICAgIGtleTogJ3JlcG9zaXRvcnknLFxuICAgIHRyYW5zZm9ybTogKHJlcG9zaXRvcnk6IGFueSkgPT4gKHJlcG9zaXRvcnk/LnVybCA/IHJlcG9zaXRvcnkudXJsIDogcmVwb3NpdG9yeSksXG4gICAgdHlwZTogJ2xpbmsnLFxuICAgIGFjdGlvbjogKGUsIGxpbms6IHN0cmluZykgPT4gd2luZG93Lm9wZW4obGluaywgJ19ibGFuaycsICdub29wZW5lcixub3JlZmVycmVyJylcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdIb21lcGFnZScpLFxuICAgIGtleTogJ2hvbWVwYWdlJyxcbiAgICB0eXBlOiAnbGluaycsXG4gICAgYWN0aW9uOiAoZSwgbGluazogc3RyaW5nKSA9PiB3aW5kb3cub3BlbihsaW5rLCAnX2JsYW5rJywgJ25vb3BlbmVyLG5vcmVmZXJyZXInKVxuICB9LFxuICB7XG4gICAgbGFiZWw6IGdldHRleHQoJ1JlcXVpcmVkIHBsYXRmb3JtIHZlcnNpb24nKSxcbiAgICBrZXk6ICdyZXF1aXJlZFBsYXRmb3JtVmVyc2lvbidcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdMaWNlbnNlJyksXG4gICAga2V5OiAnbGljZW5zZSdcbiAgfVxuXTtcbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNvc3lzdGVtLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9zaGFyZWQvZWNvc3lzdGVtLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBc0IsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUNqQyw2R0FBNkcsQ0FDOUc7SUFDRCxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLENBQ25DLGlFQUFpRSxDQUNsRTtJQUNELENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUN0Qyx1SEFBdUgsQ0FDeEg7SUFDRCxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQztJQUNwRSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUMsd0NBQXdDLENBQUM7SUFDL0UsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUMsNENBQTRDLENBQUM7SUFDdkYsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLGtEQUFrRCxDQUFDO0lBQ3hGLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsT0FBTyxDQUM5QyxtRkFBbUYsQ0FDcEY7SUFDRCxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQztJQUNqRixDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLE9BQU8sQ0FDaEQsOEhBQThILENBQy9IO0lBQ0QsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxPQUFPLENBQUMsbURBQW1ELENBQUM7Q0FDN0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUN2QixVQUFVLEVBQUU7UUFDVixLQUFLLEVBQUUsT0FBTyxDQUFDLHlCQUF5QixDQUFDO1FBQ3pDLEtBQUssRUFBRSxlQUFlO0tBQ3ZCO0lBQ0QsTUFBTSxFQUFFO1FBQ04sS0FBSyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztRQUNyQyxLQUFLLEVBQUUsWUFBWTtLQUNwQjtJQUNELFFBQVEsRUFBRTtRQUNSLEtBQUssRUFBRSxPQUFPLENBQUMsdUJBQXVCLENBQUM7UUFDdkMsS0FBSyxFQUFFLGVBQWU7S0FDdkI7SUFDRCxRQUFRLEVBQUU7UUFDUixLQUFLLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixDQUFDO1FBQ3ZDLEtBQUssRUFBRSxlQUFlO0tBQ3ZCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDM0IsS0FBSyxFQUFFLGVBQWU7S0FDdkI7SUFDRCxjQUFjLEVBQUU7UUFDZCxLQUFLLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUN6QixLQUFLLEVBQUUsWUFBWTtLQUNwQjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBeUI7SUFDckQ7UUFDRSxLQUFLLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQ2hDLEdBQUcsRUFBRSxTQUFTO0tBQ2Y7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3hCLEdBQUcsRUFBRSxRQUFRO0tBQ2Q7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzFCLEdBQUcsRUFBRSxVQUFVO0tBQ2hCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUN4QixHQUFHLEVBQUUsWUFBWTtRQUNqQixTQUFTLEVBQUUsQ0FBQyxVQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQy9FLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQVksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixDQUFDO0tBQ2hGO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUMxQixHQUFHLEVBQUUsVUFBVTtRQUNmLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQVksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixDQUFDO0tBQ2hGO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsT0FBTyxDQUFDLDJCQUEyQixDQUFDO1FBQzNDLEdBQUcsRUFBRSx5QkFBeUI7S0FDL0I7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3pCLEdBQUcsRUFBRSxTQUFTO0tBQ2Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRVJST1JfVFlQRSB9IGZyb20gJy4vZWNvc3lzdGVtLm1vZGVsJztcbmltcG9ydCB7IGdldHRleHQsIFByb3BlcnRpZXNMaXN0SXRlbSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgY29uc3QgRVJST1JfTUVTU0FHRVMgPSB7XG4gIFtFUlJPUl9UWVBFLkFMUkVBRFlfRVhJU1RdOiBnZXR0ZXh0KFxuICAgICdDb3VsZCBub3QgZGVwbG95IHRoZSBhcHBsaWNhdGlvbiwgYXMgdGhlIGFwcGxpY2F0aW9uIHdpdGggdGhlIHNhbWUgbmFtZSwgY29udGV4dC1wYXRoIG9yIGtleSBleGlzdCBhbHJlYWR5LidcbiAgKSxcbiAgW0VSUk9SX1RZUEUuVFlQRV9WQUxJREFUSU9OXTogZ2V0dGV4dChcbiAgICAnV3JvbmcgZmlsZSBmb3JtYXQuIEV4cGVjdGVkIGEgKi56aXAgZmlsZSB3aXRoIGEgdmFsaWQgbWFuaWZlc3QuJ1xuICApLFxuICBbRVJST1JfVFlQRS5BTFJFQURZX1NVQlNDUklCRURdOiBnZXR0ZXh0KFxuICAgICdDb3VsZCBub3Qgc3Vic2NyaWJlIHRvIHRoZSBtaWNyb3NlcnZpY2UgYmVjYXVzZSBhbm90aGVyIGFwcGxpY2F0aW9uIHdpdGggdGhlIHNhbWUgY29udGV4dCBwYXRoIGlzIGFscmVhZHkgc3Vic2NyaWJlZC4nXG4gICksXG4gIFtFUlJPUl9UWVBFLk5PX01BTklGRVNUX0ZJTEVdOiBnZXR0ZXh0KCdDb3VsZCBub3QgZmluZCBhIG1hbmlmZXN0LicpLFxuICBbRVJST1JfVFlQRS5JTlZBTElEX1BBQ0tBR0VdOiBnZXR0ZXh0KCdZb3UgaGF2ZSBub3QgdXBsb2FkZWQgYSB2YWxpZCBwYWNrYWdlLicpLFxuICBbRVJST1JfVFlQRS5JTlZBTElEX0FQUExJQ0FUSU9OXTogZ2V0dGV4dCgnWW91IGhhdmUgbm90IHVwbG9hZGVkIGEgdmFsaWQgYXBwbGljYXRpb24uJyksXG4gIFtFUlJPUl9UWVBFLklOVEVSTkFMX0VSUk9SXTogZ2V0dGV4dCgnQW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQsIHRyeSB0byB1cGxvYWQgYWdhaW4uJyksXG4gIFtFUlJPUl9UWVBFLk1JQ1JPU0VSVklDRV9OQU1FX1RPT19MT05HXTogZ2V0dGV4dChcbiAgICAnTWljcm9zZXJ2aWNlIG5hbWUgXCJ7eyBuYW1lIH19XCIgbXVzdCBub3QgYmUgbG9uZ2VyIHRoYW4ge3sgbWF4Q2hhcnMgfX0gY2hhcmFjdGVycy4nXG4gICksXG4gIFtFUlJPUl9UWVBFLkFQUExJQ0FUSU9OX0NSRUFUSU9OX0ZBSUxFRF06IGdldHRleHQoJ0FwcGxpY2F0aW9uIGNyZWF0aW9uIGZhaWxlZC4nKSxcbiAgW0VSUk9SX1RZUEUuS0VZX09SX0NPTlRFWFRfUEFUSF9NSVNNQVRDSF06IGdldHRleHQoXG4gICAgJ1RoZSBcImNvbnRleHRQYXRoYEtFRVBfT1JJR0lOQUxgXCIgb3IgXCJrZXlgS0VFUF9PUklHSU5BTGBcIiBvZiB0aGUgdXBsb2FkZWQgYXJjaGl2ZSBkbyBub3QgbWF0Y2ggd2l0aCB0aGUgZXhpc3RpbmcgYXBwbGljYXRpb24uJ1xuICApLFxuICBbRVJST1JfVFlQRS5WRVJTSU9OX05PVF9GT1VORF06IGdldHRleHQoJ1RoZSBzZWxlY3RlZCB2ZXJzaW9uIHdhcyBub3QgZm91bmQgb24gdGhlIHNlcnZlci4nKVxufTtcblxuZXhwb3J0IGNvbnN0IEFQUF9TVEFURSA9IHtcbiAgU1VCU0NSSUJFRDoge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdTdWJzY3JpYmVkYGFwcGxpY2F0aW9uYCcpLFxuICAgIGNsYXNzOiAnbGFiZWwtcHJpbWFyeSdcbiAgfSxcbiAgQ1VTVE9NOiB7XG4gICAgbGFiZWw6IGdldHRleHQoJ0N1c3RvbWBhcHBsaWNhdGlvbmAnKSxcbiAgICBjbGFzczogJ2xhYmVsLWluZm8nXG4gIH0sXG4gIEVYVEVSTkFMOiB7XG4gICAgbGFiZWw6IGdldHRleHQoJ0V4dGVybmFsYGFwcGxpY2F0aW9uYCcpLFxuICAgIGNsYXNzOiAnbGFiZWwtd2FybmluZydcbiAgfSxcbiAgVU5QQUNLRUQ6IHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnVW5wYWNrZWRgYXBwbGljYXRpb25gJyksXG4gICAgY2xhc3M6ICdsYWJlbC1zdWNjZXNzJ1xuICB9LFxuICBQQUNLQUdFX0JMVUVQUklOVDoge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdCbHVlcHJpbnQnKSxcbiAgICBjbGFzczogJ2xhYmVsLXN1Y2Nlc3MnXG4gIH0sXG4gIFBBQ0tBR0VfUExVR0lOOiB7XG4gICAgbGFiZWw6IGdldHRleHQoJ1BsdWdpbnMnKSxcbiAgICBjbGFzczogJ2xhYmVsLWluZm8nXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYWNrYWdlUHJvcGVydGllczogUHJvcGVydGllc0xpc3RJdGVtW10gPSBbXG4gIHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnTGF0ZXN0IHZlcnNpb24nKSxcbiAgICBrZXk6ICd2ZXJzaW9uJ1xuICB9LFxuICB7XG4gICAgbGFiZWw6IGdldHRleHQoJ0F1dGhvcicpLFxuICAgIGtleTogJ2F1dGhvcidcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdLZXl3b3JkcycpLFxuICAgIGtleTogJ2tleXdvcmRzJ1xuICB9LFxuICB7XG4gICAgbGFiZWw6IGdldHRleHQoJ1NvdXJjZScpLFxuICAgIGtleTogJ3JlcG9zaXRvcnknLFxuICAgIHRyYW5zZm9ybTogKHJlcG9zaXRvcnk6IGFueSkgPT4gKHJlcG9zaXRvcnk/LnVybCA/IHJlcG9zaXRvcnkudXJsIDogcmVwb3NpdG9yeSksXG4gICAgdHlwZTogJ2xpbmsnLFxuICAgIGFjdGlvbjogKGUsIGxpbms6IHN0cmluZykgPT4gd2luZG93Lm9wZW4obGluaywgJ19ibGFuaycsICdub29wZW5lcixub3JlZmVycmVyJylcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdIb21lcGFnZScpLFxuICAgIGtleTogJ2hvbWVwYWdlJyxcbiAgICB0eXBlOiAnbGluaycsXG4gICAgYWN0aW9uOiAoZSwgbGluazogc3RyaW5nKSA9PiB3aW5kb3cub3BlbihsaW5rLCAnX2JsYW5rJywgJ25vb3BlbmVyLG5vcmVmZXJyZXInKVxuICB9LFxuICB7XG4gICAgbGFiZWw6IGdldHRleHQoJ1JlcXVpcmVkIHBsYXRmb3JtIHZlcnNpb24nKSxcbiAgICBrZXk6ICdyZXF1aXJlZFBsYXRmb3JtVmVyc2lvbidcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdMaWNlbnNlJyksXG4gICAga2V5OiAnbGljZW5zZSdcbiAgfVxuXTtcbiJdfQ==
@@ -8,6 +8,7 @@ export var ERROR_TYPE;
8
8
  (function (ERROR_TYPE) {
9
9
  ERROR_TYPE["TYPE_VALIDATION"] = "TYPE_VALIDATION";
10
10
  ERROR_TYPE["ALREADY_SUBSCRIBED"] = "ALREADY_SUBSCRIBED";
11
+ ERROR_TYPE["ALREADY_EXIST"] = "ALREADY_EXIST";
11
12
  ERROR_TYPE["INTERNAL_ERROR"] = "INTERNAL_ERROR";
12
13
  ERROR_TYPE["NO_MANIFEST_FILE"] = "NO_MANIFEST_FILE";
13
14
  ERROR_TYPE["INVALID_PACKAGE"] = "INVALID_PACKAGE";
@@ -15,6 +16,7 @@ export var ERROR_TYPE;
15
16
  ERROR_TYPE["MICROSERVICE_NAME_TOO_LONG"] = "MICROSERVICE_NAME_TOO_LONG";
16
17
  ERROR_TYPE["APPLICATION_CREATION_FAILED"] = "APPLICATION_CREATION_FAILED";
17
18
  ERROR_TYPE["KEY_OR_CONTEXT_PATH_MISMATCH"] = "KEY_OR_CONTEXT_PATH_MISMATCH";
19
+ ERROR_TYPE["VERSION_NOT_FOUND"] = "VERSION_NOT_FOUND";
18
20
  })(ERROR_TYPE || (ERROR_TYPE = {}));
19
21
  export const PRODUCT_EXPERIENCE = {
20
22
  APPLICATIONS: {
@@ -65,4 +67,4 @@ export const PRODUCT_EXPERIENCE = {
65
67
  }
66
68
  }
67
69
  };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNvc3lzdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZWNvc3lzdGVtL3NoYXJlZC9lY29zeXN0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0Esb0JBQW9CO0FBQ3BCLE1BQU0sQ0FBTixJQUFZLE9BR1g7QUFIRCxXQUFZLE9BQU87SUFDakIsbURBQXdDLENBQUE7SUFDeEMscURBQTBDLENBQUE7QUFDNUMsQ0FBQyxFQUhXLE9BQU8sS0FBUCxPQUFPLFFBR2xCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFVWDtBQVZELFdBQVksVUFBVTtJQUNwQixpREFBbUMsQ0FBQTtJQUNuQyx1REFBeUMsQ0FBQTtJQUN6QywrQ0FBaUMsQ0FBQTtJQUNqQyxtREFBcUMsQ0FBQTtJQUNyQyxpREFBbUMsQ0FBQTtJQUNuQyx5REFBMkMsQ0FBQTtJQUMzQyx1RUFBeUQsQ0FBQTtJQUN6RCx5RUFBMkQsQ0FBQTtJQUMzRCwyRUFBNkQsQ0FBQTtBQUMvRCxDQUFDLEVBVlcsVUFBVSxLQUFWLFVBQVUsUUFVckI7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUU7WUFDTixZQUFZLEVBQUUsY0FBYztZQUM1QixnQkFBZ0IsRUFBRSxpQkFBaUI7WUFDbkMsc0JBQXNCLEVBQUUsdUJBQXVCO1lBQy9DLGtCQUFrQixFQUFFLG1CQUFtQjtZQUN2QyxxQkFBcUIsRUFBRSxzQkFBc0I7WUFDN0MsaUJBQWlCLEVBQUUsa0JBQWtCO1lBQ3JDLGVBQWUsRUFBRSxnQkFBZ0I7WUFDakMsZ0JBQWdCLEVBQUUsaUJBQWlCO1NBQ3BDO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsZ0JBQWdCLEVBQUUsa0JBQWtCO1lBQ3BDLG1CQUFtQixFQUFFLHFCQUFxQjtZQUMxQyxzQkFBc0IsRUFBRSx3QkFBd0I7WUFDaEQsa0JBQWtCLEVBQUUsb0JBQW9CO1lBQ3hDLGdDQUFnQyxFQUFFLGtDQUFrQztZQUNwRSxXQUFXLEVBQUUsYUFBYTtZQUMxQixnQkFBZ0IsRUFBRSx1QkFBdUI7WUFDekMsb0JBQW9CLEVBQUUsc0JBQXNCO1NBQzdDO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsbUJBQW1CLEVBQUUsb0JBQW9CO1lBQ3pDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEtBQUssRUFBRSxPQUFPO1lBQ2QscUJBQXFCLEVBQUUscUJBQXFCO1lBQzVDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLGtCQUFrQixFQUFFLG1CQUFtQjtZQUN2QyxJQUFJLEVBQUUsTUFBTTtZQUNaLGNBQWMsRUFBRSxlQUFlO1lBQy9CLGVBQWUsRUFBRSxnQkFBZ0I7WUFDakMsY0FBYyxFQUFFLGVBQWU7WUFDL0IsYUFBYSxFQUFFLGFBQWE7WUFDNUIsZ0JBQWdCLEVBQUUsaUJBQWlCO1lBQ25DLE1BQU0sRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsUUFBUSxFQUFFLFVBQVU7WUFDcEIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsZ0JBQWdCLEVBQUUsaUJBQWlCO1lBQ25DLGNBQWMsRUFBRSxlQUFlO1lBQy9CLHNCQUFzQixFQUFFLHNCQUFzQjtZQUM5QyxjQUFjLEVBQUUsZUFBZTtZQUMvQixPQUFPLEVBQUUsU0FBUztTQUNuQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25TdGF0ZSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGNsYXNzOiBzdHJpbmc7XG59XG5cbi8qKiBXaXphcmQgdHlwZXMgICovXG5leHBvcnQgZW51bSBXaXphcmRzIHtcbiAgQVBQTElDQVRJT05fVVBMT0FEID0gJ2FwcGxpY2F0aW9uVXBsb2FkJyxcbiAgTUlDUk9TRVJWSUNFX1VQTE9BRCA9ICdtaWNyb3NlcnZpY2VVcGxvYWQnXG59XG5cbmV4cG9ydCBlbnVtIEVSUk9SX1RZUEUge1xuICBUWVBFX1ZBTElEQVRJT04gPSAnVFlQRV9WQUxJREFUSU9OJyxcbiAgQUxSRUFEWV9TVUJTQ1JJQkVEID0gJ0FMUkVBRFlfU1VCU0NSSUJFRCcsXG4gIElOVEVSTkFMX0VSUk9SID0gJ0lOVEVSTkFMX0VSUk9SJyxcbiAgTk9fTUFOSUZFU1RfRklMRSA9ICdOT19NQU5JRkVTVF9GSUxFJyxcbiAgSU5WQUxJRF9QQUNLQUdFID0gJ0lOVkFMSURfUEFDS0FHRScsXG4gIElOVkFMSURfQVBQTElDQVRJT04gPSAnSU5WQUxJRF9BUFBMSUNBVElPTicsXG4gIE1JQ1JPU0VSVklDRV9OQU1FX1RPT19MT05HID0gJ01JQ1JPU0VSVklDRV9OQU1FX1RPT19MT05HJyxcbiAgQVBQTElDQVRJT05fQ1JFQVRJT05fRkFJTEVEID0gJ0FQUExJQ0FUSU9OX0NSRUFUSU9OX0ZBSUxFRCcsXG4gIEtFWV9PUl9DT05URVhUX1BBVEhfTUlTTUFUQ0ggPSAnS0VZX09SX0NPTlRFWFRfUEFUSF9NSVNNQVRDSCdcbn1cblxuZXhwb3J0IGNvbnN0IFBST0RVQ1RfRVhQRVJJRU5DRSA9IHtcbiAgQVBQTElDQVRJT05TOiB7XG4gICAgRVZFTlRTOiB7XG4gICAgICBBVkFJTEFCSUxJVFk6ICdhdmFpbGFiaWxpdHknLFxuICAgICAgQVBQTElDQVRJT05fQ0FSRDogJ2FwcGxpY2F0aW9uQ2FyZCcsXG4gICAgICBBUFBMSUNBVElPTl9QUk9QRVJUSUVTOiAnYXBwbGljYXRpb25Qcm9wZXJ0aWVzJyxcbiAgICAgIERFUExPWV9BUFBMSUNBVElPTjogJ2RlcGxveUFwcGxpY2F0aW9uJyxcbiAgICAgIERVUExJQ0FURV9BUFBMSUNBVElPTjogJ2R1cGxpY2F0ZUFwcGxpY2F0aW9uJyxcbiAgICAgIElOU1RBTExFRF9QTFVHSU5TOiAnaW5zdGFsbGVkUGx1Z2lucycsXG4gICAgICBQQUNLQUdFX1BMVUdJTlM6ICdwYWNrYWdlUGx1Z2lucycsXG4gICAgICBQQUNLQUdFX1ZFUlNJT05TOiAncGFja2FnZVZlcnNpb25zJ1xuICAgIH0sXG4gICAgQ09NUE9ORU5UUzoge1xuICAgICAgQVBQTElDQVRJT05fQ0FSRDogJ2FwcGxpY2F0aW9uLWNhcmQnLFxuICAgICAgQVBQTElDQVRJT05fUExVR0lOUzogJ2FwcGxpY2F0aW9uLXBsdWdpbnMnLFxuICAgICAgQVBQTElDQVRJT05fUFJPUEVSVElFUzogJ2FwcGxpY2F0aW9uLXByb3BlcnRpZXMnLFxuICAgICAgREVQTE9ZX0FQUExJQ0FUSU9OOiAnZGVwbG95LWFwcGxpY2F0aW9uJyxcbiAgICAgIERVUExJQ0FURV9BUFBMSUNBVElPTl9QUk9QRVJUSUVTOiAnZHVwbGljYXRlLWFwcGxpY2F0aW9uLXByb3BlcnRpZXMnLFxuICAgICAgUExVR0lOX0xJU1Q6ICdwbHVnaW4tbGlzdCcsXG4gICAgICBQQUNLQUdFX1ZFUlNJT05TOiAncGFja2FnZS12ZXJzaW9ucy1saXN0JyxcbiAgICAgIFVQREFURV9QTFVHSU5fT0ZfQVBQOiAndXBkYXRlLXBsdWdpbi1vZi1hcHAnXG4gICAgfSxcbiAgICBBQ1RJT05TOiB7XG4gICAgICBBVkFJTEFCSUxJVFlfQ0hBTkdFOiAnYXZhaWxhYmlsaXR5Q2hhbmdlJyxcbiAgICAgIENBTkNFTDogJ2NhbmNlbCcsXG4gICAgICBDTE9ORTogJ2Nsb25lJyxcbiAgICAgIENIQU5HRV9QTFVHSU5fVkVSU0lPTjogJ2NoYW5nZVBsdWdpblZlcnNpb24nLFxuICAgICAgREVMRVRFOiAnZGVsZXRlJyxcbiAgICAgIERPV05MT0FEOiAnZG93bmxvYWQnLFxuICAgICAgREVQTE9ZX0FQUExJQ0FUSU9OOiAnZGVwbG95QXBwbGljYXRpb24nLFxuICAgICAgRURJVDogJ2VkaXQnLFxuICAgICAgSU5TVEFMTF9QTFVHSU46ICdpbnN0YWxsUGx1Z2luJyxcbiAgICAgIElOU1RBTExfUExVR0lOUzogJ2luc3RhbGxQbHVnaW5zJyxcbiAgICAgIFNFTEVDVF9WRVJTSU9OOiAnc2VsZWN0VmVyc2lvbicsXG4gICAgICBTRVRfQVNfTEFURVNUOiAnc2V0QXNMYXRlc3QnLFxuICAgICAgVVBEQVRFX0FWQUlMQUJMRTogJ3VwZGF0ZUF2YWlsYWJsZScsXG4gICAgICBVUExPQUQ6ICd1cGxvYWQnXG4gICAgfSxcbiAgICBSRVNVTFRTOiB7XG4gICAgICBERVBMT1lFRDogJ2RlcGxveWVkJyxcbiAgICAgIERVUExJQ0FURUQ6ICdkdXBsaWNhdGVkJyxcbiAgICAgIFBMVUdJTl9JTlNUQUxMRUQ6ICdwbHVnaW5JbnN0YWxsZWQnLFxuICAgICAgUExVR0lOX1JFTU9WRUQ6ICdwbHVnaW5SZW1vdmVkJyxcbiAgICAgIFBMVUdJTl9WRVJTSU9OX0NIQU5HRUQ6ICdwbHVnaW5WZXJzaW9uQ2hhbmdlZCcsXG4gICAgICBTRVJWRVJfRkFJTFVSRTogJ3NlcnZlckZhaWx1cmUnLFxuICAgICAgU1VDQ0VTUzogJ3N1Y2Nlc3MnXG4gICAgfVxuICB9XG59O1xuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNvc3lzdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZWNvc3lzdGVtL3NoYXJlZC9lY29zeXN0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0Esb0JBQW9CO0FBQ3BCLE1BQU0sQ0FBTixJQUFZLE9BR1g7QUFIRCxXQUFZLE9BQU87SUFDakIsbURBQXdDLENBQUE7SUFDeEMscURBQTBDLENBQUE7QUFDNUMsQ0FBQyxFQUhXLE9BQU8sS0FBUCxPQUFPLFFBR2xCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFZWDtBQVpELFdBQVksVUFBVTtJQUNwQixpREFBbUMsQ0FBQTtJQUNuQyx1REFBeUMsQ0FBQTtJQUN6Qyw2Q0FBK0IsQ0FBQTtJQUMvQiwrQ0FBaUMsQ0FBQTtJQUNqQyxtREFBcUMsQ0FBQTtJQUNyQyxpREFBbUMsQ0FBQTtJQUNuQyx5REFBMkMsQ0FBQTtJQUMzQyx1RUFBeUQsQ0FBQTtJQUN6RCx5RUFBMkQsQ0FBQTtJQUMzRCwyRUFBNkQsQ0FBQTtJQUM3RCxxREFBdUMsQ0FBQTtBQUN6QyxDQUFDLEVBWlcsVUFBVSxLQUFWLFVBQVUsUUFZckI7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUU7WUFDTixZQUFZLEVBQUUsY0FBYztZQUM1QixnQkFBZ0IsRUFBRSxpQkFBaUI7WUFDbkMsc0JBQXNCLEVBQUUsdUJBQXVCO1lBQy9DLGtCQUFrQixFQUFFLG1CQUFtQjtZQUN2QyxxQkFBcUIsRUFBRSxzQkFBc0I7WUFDN0MsaUJBQWlCLEVBQUUsa0JBQWtCO1lBQ3JDLGVBQWUsRUFBRSxnQkFBZ0I7WUFDakMsZ0JBQWdCLEVBQUUsaUJBQWlCO1NBQ3BDO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsZ0JBQWdCLEVBQUUsa0JBQWtCO1lBQ3BDLG1CQUFtQixFQUFFLHFCQUFxQjtZQUMxQyxzQkFBc0IsRUFBRSx3QkFBd0I7WUFDaEQsa0JBQWtCLEVBQUUsb0JBQW9CO1lBQ3hDLGdDQUFnQyxFQUFFLGtDQUFrQztZQUNwRSxXQUFXLEVBQUUsYUFBYTtZQUMxQixnQkFBZ0IsRUFBRSx1QkFBdUI7WUFDekMsb0JBQW9CLEVBQUUsc0JBQXNCO1NBQzdDO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsbUJBQW1CLEVBQUUsb0JBQW9CO1lBQ3pDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEtBQUssRUFBRSxPQUFPO1lBQ2QscUJBQXFCLEVBQUUscUJBQXFCO1lBQzVDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLGtCQUFrQixFQUFFLG1CQUFtQjtZQUN2QyxJQUFJLEVBQUUsTUFBTTtZQUNaLGNBQWMsRUFBRSxlQUFlO1lBQy9CLGVBQWUsRUFBRSxnQkFBZ0I7WUFDakMsY0FBYyxFQUFFLGVBQWU7WUFDL0IsYUFBYSxFQUFFLGFBQWE7WUFDNUIsZ0JBQWdCLEVBQUUsaUJBQWlCO1lBQ25DLE1BQU0sRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsUUFBUSxFQUFFLFVBQVU7WUFDcEIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsZ0JBQWdCLEVBQUUsaUJBQWlCO1lBQ25DLGNBQWMsRUFBRSxlQUFlO1lBQy9CLHNCQUFzQixFQUFFLHNCQUFzQjtZQUM5QyxjQUFjLEVBQUUsZUFBZTtZQUMvQixPQUFPLEVBQUUsU0FBUztTQUNuQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25TdGF0ZSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGNsYXNzOiBzdHJpbmc7XG59XG5cbi8qKiBXaXphcmQgdHlwZXMgICovXG5leHBvcnQgZW51bSBXaXphcmRzIHtcbiAgQVBQTElDQVRJT05fVVBMT0FEID0gJ2FwcGxpY2F0aW9uVXBsb2FkJyxcbiAgTUlDUk9TRVJWSUNFX1VQTE9BRCA9ICdtaWNyb3NlcnZpY2VVcGxvYWQnXG59XG5cbmV4cG9ydCBlbnVtIEVSUk9SX1RZUEUge1xuICBUWVBFX1ZBTElEQVRJT04gPSAnVFlQRV9WQUxJREFUSU9OJyxcbiAgQUxSRUFEWV9TVUJTQ1JJQkVEID0gJ0FMUkVBRFlfU1VCU0NSSUJFRCcsXG4gIEFMUkVBRFlfRVhJU1QgPSAnQUxSRUFEWV9FWElTVCcsXG4gIElOVEVSTkFMX0VSUk9SID0gJ0lOVEVSTkFMX0VSUk9SJyxcbiAgTk9fTUFOSUZFU1RfRklMRSA9ICdOT19NQU5JRkVTVF9GSUxFJyxcbiAgSU5WQUxJRF9QQUNLQUdFID0gJ0lOVkFMSURfUEFDS0FHRScsXG4gIElOVkFMSURfQVBQTElDQVRJT04gPSAnSU5WQUxJRF9BUFBMSUNBVElPTicsXG4gIE1JQ1JPU0VSVklDRV9OQU1FX1RPT19MT05HID0gJ01JQ1JPU0VSVklDRV9OQU1FX1RPT19MT05HJyxcbiAgQVBQTElDQVRJT05fQ1JFQVRJT05fRkFJTEVEID0gJ0FQUExJQ0FUSU9OX0NSRUFUSU9OX0ZBSUxFRCcsXG4gIEtFWV9PUl9DT05URVhUX1BBVEhfTUlTTUFUQ0ggPSAnS0VZX09SX0NPTlRFWFRfUEFUSF9NSVNNQVRDSCcsXG4gIFZFUlNJT05fTk9UX0ZPVU5EID0gJ1ZFUlNJT05fTk9UX0ZPVU5EJ1xufVxuXG5leHBvcnQgY29uc3QgUFJPRFVDVF9FWFBFUklFTkNFID0ge1xuICBBUFBMSUNBVElPTlM6IHtcbiAgICBFVkVOVFM6IHtcbiAgICAgIEFWQUlMQUJJTElUWTogJ2F2YWlsYWJpbGl0eScsXG4gICAgICBBUFBMSUNBVElPTl9DQVJEOiAnYXBwbGljYXRpb25DYXJkJyxcbiAgICAgIEFQUExJQ0FUSU9OX1BST1BFUlRJRVM6ICdhcHBsaWNhdGlvblByb3BlcnRpZXMnLFxuICAgICAgREVQTE9ZX0FQUExJQ0FUSU9OOiAnZGVwbG95QXBwbGljYXRpb24nLFxuICAgICAgRFVQTElDQVRFX0FQUExJQ0FUSU9OOiAnZHVwbGljYXRlQXBwbGljYXRpb24nLFxuICAgICAgSU5TVEFMTEVEX1BMVUdJTlM6ICdpbnN0YWxsZWRQbHVnaW5zJyxcbiAgICAgIFBBQ0tBR0VfUExVR0lOUzogJ3BhY2thZ2VQbHVnaW5zJyxcbiAgICAgIFBBQ0tBR0VfVkVSU0lPTlM6ICdwYWNrYWdlVmVyc2lvbnMnXG4gICAgfSxcbiAgICBDT01QT05FTlRTOiB7XG4gICAgICBBUFBMSUNBVElPTl9DQVJEOiAnYXBwbGljYXRpb24tY2FyZCcsXG4gICAgICBBUFBMSUNBVElPTl9QTFVHSU5TOiAnYXBwbGljYXRpb24tcGx1Z2lucycsXG4gICAgICBBUFBMSUNBVElPTl9QUk9QRVJUSUVTOiAnYXBwbGljYXRpb24tcHJvcGVydGllcycsXG4gICAgICBERVBMT1lfQVBQTElDQVRJT046ICdkZXBsb3ktYXBwbGljYXRpb24nLFxuICAgICAgRFVQTElDQVRFX0FQUExJQ0FUSU9OX1BST1BFUlRJRVM6ICdkdXBsaWNhdGUtYXBwbGljYXRpb24tcHJvcGVydGllcycsXG4gICAgICBQTFVHSU5fTElTVDogJ3BsdWdpbi1saXN0JyxcbiAgICAgIFBBQ0tBR0VfVkVSU0lPTlM6ICdwYWNrYWdlLXZlcnNpb25zLWxpc3QnLFxuICAgICAgVVBEQVRFX1BMVUdJTl9PRl9BUFA6ICd1cGRhdGUtcGx1Z2luLW9mLWFwcCdcbiAgICB9LFxuICAgIEFDVElPTlM6IHtcbiAgICAgIEFWQUlMQUJJTElUWV9DSEFOR0U6ICdhdmFpbGFiaWxpdHlDaGFuZ2UnLFxuICAgICAgQ0FOQ0VMOiAnY2FuY2VsJyxcbiAgICAgIENMT05FOiAnY2xvbmUnLFxuICAgICAgQ0hBTkdFX1BMVUdJTl9WRVJTSU9OOiAnY2hhbmdlUGx1Z2luVmVyc2lvbicsXG4gICAgICBERUxFVEU6ICdkZWxldGUnLFxuICAgICAgRE9XTkxPQUQ6ICdkb3dubG9hZCcsXG4gICAgICBERVBMT1lfQVBQTElDQVRJT046ICdkZXBsb3lBcHBsaWNhdGlvbicsXG4gICAgICBFRElUOiAnZWRpdCcsXG4gICAgICBJTlNUQUxMX1BMVUdJTjogJ2luc3RhbGxQbHVnaW4nLFxuICAgICAgSU5TVEFMTF9QTFVHSU5TOiAnaW5zdGFsbFBsdWdpbnMnLFxuICAgICAgU0VMRUNUX1ZFUlNJT046ICdzZWxlY3RWZXJzaW9uJyxcbiAgICAgIFNFVF9BU19MQVRFU1Q6ICdzZXRBc0xhdGVzdCcsXG4gICAgICBVUERBVEVfQVZBSUxBQkxFOiAndXBkYXRlQXZhaWxhYmxlJyxcbiAgICAgIFVQTE9BRDogJ3VwbG9hZCdcbiAgICB9LFxuICAgIFJFU1VMVFM6IHtcbiAgICAgIERFUExPWUVEOiAnZGVwbG95ZWQnLFxuICAgICAgRFVQTElDQVRFRDogJ2R1cGxpY2F0ZWQnLFxuICAgICAgUExVR0lOX0lOU1RBTExFRDogJ3BsdWdpbkluc3RhbGxlZCcsXG4gICAgICBQTFVHSU5fUkVNT1ZFRDogJ3BsdWdpblJlbW92ZWQnLFxuICAgICAgUExVR0lOX1ZFUlNJT05fQ0hBTkdFRDogJ3BsdWdpblZlcnNpb25DaGFuZ2VkJyxcbiAgICAgIFNFUlZFUl9GQUlMVVJFOiAnc2VydmVyRmFpbHVyZScsXG4gICAgICBTVUNDRVNTOiAnc3VjY2VzcydcbiAgICB9XG4gIH1cbn07XG4iXX0=