@eo-sdk/client 8.16.24 → 8.16.28

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 (27) hide show
  1. package/app/eo-framework/object-details/object-details.component.d.ts +1 -0
  2. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +13 -8
  3. package/app/eo-framework/split/split/split.component.d.ts +1 -1
  4. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +11 -5
  5. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  6. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
  7. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  8. package/bundles/eo-sdk-client.umd.js +47 -25
  9. package/bundles/eo-sdk-client.umd.js.map +1 -1
  10. package/bundles/eo-sdk-client.umd.min.js +1 -1
  11. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  12. package/eo-sdk-client.metadata.json +1 -1
  13. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  14. package/esm2015/app/eo-client/object-state/object-state-service/object-state.service.js +2 -2
  15. package/esm2015/app/eo-framework/object-details/object-details.component.js +12 -5
  16. package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +32 -19
  17. package/esm2015/app/eo-framework/split/split/split.component.js +6 -6
  18. package/esm2015/app/eo-framework/split/split-area/split-area.component.js +1 -1
  19. package/esm2015/projects/eo-sdk/core/lib/config/translate-json-loader.js +7 -1
  20. package/esm2015/projects/eo-sdk/core/lib/service/config/config.service.js +2 -2
  21. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +7 -1
  22. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  23. package/fesm2015/eo-sdk-client.js +45 -25
  24. package/fesm2015/eo-sdk-client.js.map +1 -1
  25. package/package.json +2 -2
  26. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.metadata.json +1 -1
  27. package/projects/eo-sdk/core/package.json +1 -1
@@ -6,10 +6,10 @@ export class AboutStateComponent {
6
6
  this.http = http;
7
7
  this.userService = userService;
8
8
  this.config = config;
9
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.24", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
9
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.28", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
10
10
  this.ctrl = {
11
11
  productName: 'yuuvis® RAD client',
12
- clientVersion: '8.16.24'
12
+ clientVersion: '8.16.28'
13
13
  };
14
14
  this.licenses = {
15
15
  'MIT': {
@@ -82,4 +82,4 @@ AboutStateComponent.ctorParameters = () => [
82
82
  { type: UserService },
83
83
  { type: Config }
84
84
  ];
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBT2pELE1BQU0sT0FBTyxtQkFBbUI7SUFxRDlCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBVSxNQUFjO1FBQTFFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoRDlGLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxlQUFlLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsbUJBQW1CLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7UUFJaDlELFNBQUksR0FBRztZQUNMLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsYUFBYSxFQUFFLFNBQVM7U0FDekIsQ0FBQztRQUVGLGFBQVEsR0FBRztZQUNULEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsb0NBQW9DO2FBQzVDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsNENBQTRDO2FBQ3BEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixLQUFLLEVBQUUsNkNBQTZDO2FBQ3JEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsb0RBQW9EO2FBQzVEO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxvQ0FBb0M7YUFDNUM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztZQUNELFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsMkRBQTJEO2dCQUNwRSxLQUFLLEVBQUUsc0VBQXNFO2FBQzlFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7U0FDRixDQUFDO1FBSUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsSUFBSSxtQ0FBTyxJQUFJLEtBQUUsSUFBSSxHQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVzthQUNiLEtBQUs7YUFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQWxGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbTBEQUEyQzs7YUFFNUM7OztZQVBPLFVBQVU7WUFDVixXQUFXO1lBQUUsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hYm91dC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fib3V0LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRTdGF0ZUNvbXBvbmVudCB7XG5cbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG4gIGhlYWRlckxvZ286IHN0cmluZztcbiAgbGljZW5zZVNob3c6IGJvb2xlYW47XG4gIF9fbGlicmFyaWVzX18gPSBbe1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXJcIixcInZlcnNpb25cIjpcIjIyLjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWxcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY3N2LWV4cG9ydFwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY2RrXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21tb25cIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2NvbXBpbGVyXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9mb3Jtc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9yb3V0ZXJcIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBlby1zZGsvY29yZVwiLFwidmVyc2lvblwiOlwiOC4xNi4yNFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjExLjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjEzLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB0eXBlcy9sb2Rhc2hcIixcInZlcnNpb25cIjpcIjQuMTQuODhcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJjb3JlLWpzXCIsXCJ2ZXJzaW9uXCI6XCIyLjUuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwia2V5Ym9hcmRldmVudC1rZXktcG9seWZpbGxcIixcInZlcnNpb25cIjpcIjEuMS4wXCIsXCJsaWNlbnNlXCI6XCJDQzAtMS4wXCJ9LHtcIm5hbWVcIjpcImtleWNvZGUtanNcIixcInZlcnNpb25cIjpcIjAuMC40XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9iaWxlLWRyYWctZHJvcFwiLFwidmVyc2lvblwiOlwiMi4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJtb21lbnRcIixcInZlcnNpb25cIjpcIjIuMjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm5neC10b2FzdHJcIixcInZlcnNpb25cIjpcIjEzLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1laWNvbnNcIixcInZlcnNpb25cIjpcIjEuMC4wLWJldGEuNlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1lbmdcIixcInZlcnNpb25cIjpcIjcuMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicmVmbGVjdC1tZXRhZGF0YVwiLFwidmVyc2lvblwiOlwiMC4xLjEwXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInJ4anNcIixcInZlcnNpb25cIjpcIjYuNi4zXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInRzbGliXCIsXCJ2ZXJzaW9uXCI6XCIyLjEuMFwiLFwibGljZW5zZVwiOlwiMEJTRFwifSx7XCJuYW1lXCI6XCJ6b25lLmpzXCIsXCJ2ZXJzaW9uXCI6XCIwLjEwLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifV07XG4gIHVzZXJMYW5nOiBzdHJpbmc7XG4gIGRvY3U6IHsgbGluazogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH07XG5cbiAgY3RybCA9IHtcbiAgICBwcm9kdWN0TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNsaWVudFZlcnNpb246ICc4LjE2LjI0J1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuZ2V0RG9jdW1lbnRhdGlvbigpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIGNvbnN0IGRvY3UgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmRvY3UnKTtcbiAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgdGhpcy51c2VyTGFuZy5zdWJzdHJpbmcoMCwgMikpO1xuICAgIHRoaXMuZG9jdSA9IHsuLi5kb2N1LCBsaW5rfTtcbiAgfVxuXG4gIGdldFVzZXJMYW5nKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHRoaXMudXNlckxhbmcgPSBkYXRhLnVzZXJTZXR0aW5ncy5jbGllbnRsb2NhbGUpO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cbn1cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBT2pELE1BQU0sT0FBTyxtQkFBbUI7SUFxRDlCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBVSxNQUFjO1FBQTFFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoRDlGLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxlQUFlLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsbUJBQW1CLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7UUFJaDlELFNBQUksR0FBRztZQUNMLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsYUFBYSxFQUFFLFNBQVM7U0FDekIsQ0FBQztRQUVGLGFBQVEsR0FBRztZQUNULEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsb0NBQW9DO2FBQzVDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsNENBQTRDO2FBQ3BEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixLQUFLLEVBQUUsNkNBQTZDO2FBQ3JEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsb0RBQW9EO2FBQzVEO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxvQ0FBb0M7YUFDNUM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztZQUNELFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsMkRBQTJEO2dCQUNwRSxLQUFLLEVBQUUsc0VBQXNFO2FBQzlFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7U0FDRixDQUFDO1FBSUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsSUFBSSxtQ0FBTyxJQUFJLEtBQUUsSUFBSSxHQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVzthQUNiLEtBQUs7YUFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQWxGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbTBEQUEyQzs7YUFFNUM7OztZQVBPLFVBQVU7WUFDVixXQUFXO1lBQUUsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hYm91dC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fib3V0LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRTdGF0ZUNvbXBvbmVudCB7XG5cbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG4gIGhlYWRlckxvZ286IHN0cmluZztcbiAgbGljZW5zZVNob3c6IGJvb2xlYW47XG4gIF9fbGlicmFyaWVzX18gPSBbe1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXJcIixcInZlcnNpb25cIjpcIjIyLjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWxcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY3N2LWV4cG9ydFwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY2RrXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21tb25cIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2NvbXBpbGVyXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9mb3Jtc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9yb3V0ZXJcIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBlby1zZGsvY29yZVwiLFwidmVyc2lvblwiOlwiOC4xNi4yOFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjExLjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjEzLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB0eXBlcy9sb2Rhc2hcIixcInZlcnNpb25cIjpcIjQuMTQuODhcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJjb3JlLWpzXCIsXCJ2ZXJzaW9uXCI6XCIyLjUuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwia2V5Ym9hcmRldmVudC1rZXktcG9seWZpbGxcIixcInZlcnNpb25cIjpcIjEuMS4wXCIsXCJsaWNlbnNlXCI6XCJDQzAtMS4wXCJ9LHtcIm5hbWVcIjpcImtleWNvZGUtanNcIixcInZlcnNpb25cIjpcIjAuMC40XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9iaWxlLWRyYWctZHJvcFwiLFwidmVyc2lvblwiOlwiMi4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJtb21lbnRcIixcInZlcnNpb25cIjpcIjIuMjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm5neC10b2FzdHJcIixcInZlcnNpb25cIjpcIjEzLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1laWNvbnNcIixcInZlcnNpb25cIjpcIjEuMC4wLWJldGEuNlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1lbmdcIixcInZlcnNpb25cIjpcIjcuMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicmVmbGVjdC1tZXRhZGF0YVwiLFwidmVyc2lvblwiOlwiMC4xLjEwXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInJ4anNcIixcInZlcnNpb25cIjpcIjYuNi4zXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInRzbGliXCIsXCJ2ZXJzaW9uXCI6XCIyLjEuMFwiLFwibGljZW5zZVwiOlwiMEJTRFwifSx7XCJuYW1lXCI6XCJ6b25lLmpzXCIsXCJ2ZXJzaW9uXCI6XCIwLjEwLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifV07XG4gIHVzZXJMYW5nOiBzdHJpbmc7XG4gIGRvY3U6IHsgbGluazogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH07XG5cbiAgY3RybCA9IHtcbiAgICBwcm9kdWN0TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNsaWVudFZlcnNpb246ICc4LjE2LjI4J1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuZ2V0RG9jdW1lbnRhdGlvbigpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIGNvbnN0IGRvY3UgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmRvY3UnKTtcbiAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgdGhpcy51c2VyTGFuZy5zdWJzdHJpbmcoMCwgMikpO1xuICAgIHRoaXMuZG9jdSA9IHsuLi5kb2N1LCBsaW5rfTtcbiAgfVxuXG4gIGdldFVzZXJMYW5nKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHRoaXMudXNlckxhbmcgPSBkYXRhLnVzZXJTZXR0aW5ncy5jbGllbnRsb2NhbGUpO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cbn1cbiJdfQ==
@@ -46,7 +46,7 @@ export class ObjectStateService {
46
46
  let lastModified = null;
47
47
  if (res.hits.length) {
48
48
  size = res.hits.map(a => a.filesize || 0).reduce((acc, cur) => acc + cur);
49
- lastModified = res.hits.sort(Utils.sortValues('modified', 'desc')).slice(0, 10);
49
+ lastModified = res.hits.sort(Utils.sortValues('modified', 'desc')).slice(0, 100);
50
50
  }
51
51
  return {
52
52
  documentCount: { value: res.count.value },
@@ -122,4 +122,4 @@ ObjectStateService.ctorParameters = () => [
122
122
  { type: TranslateService },
123
123
  { type: BackendService }
124
124
  ];
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9vYmplY3Qtc3RhdGUvb2JqZWN0LXN0YXRlLXNlcnZpY2Uvb2JqZWN0LXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFZLE1BQU0sY0FBYyxDQUFDO0FBQzVHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUs5QyxNQUFNLE9BQU8sa0JBQWtCO0lBZ0I3QixZQUFvQixhQUE0QixFQUN0QyxTQUEyQixFQUMzQixPQUF1QjtRQUZiLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3RDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBZHpCLG1CQUFjLEdBQUcsSUFBSSxhQUFhLEVBQU8sQ0FBQztRQUMzQyxVQUFLLEdBQW9CLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHM0Qsc0JBQWlCLEdBQUcsSUFBSSxhQUFhLEVBQU8sQ0FBQztRQUM5QyxhQUFRLEdBQW9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUlqRSxlQUFVLEdBQUcsSUFBSSxhQUFhLEVBQXNCLENBQUM7UUFDdEQsVUFBSyxHQUFtQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBSzlFLENBQUM7SUFHRCxl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QUMsRUFBRSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQy9FLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUN0QixNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDekIsTUFBTSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBRTNCLElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2dCQUNuQixNQUFNO2FBQ1AsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVqQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7O1lBckpGLFVBQVU7OztZQUxtRCxhQUFhO1lBQ25FLGdCQUFnQjtZQURzQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjYXRjaEVycm9yLCBtYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVwbGF5U3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RyZWVOb2RlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvdHJlZS90cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpZWxkRGVmaW5pdGlvbiwgU2VhcmNoUmVzdWx0LCBVdGlscywgQmFja2VuZFNlcnZpY2UsIFNlYXJjaFNlcnZpY2UsIERtc09iamVjdH0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VHJlZURhdGEsIE9iamVjdFNlYXJjaFJlc3VsdCwgRnJvbnRQYWdlRGF0YSwgVHJlZVF1ZXJ5LCBWaWV3VVJJfSBmcm9tICcuL29iamVjdC1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPYmplY3RTdGF0ZVNlcnZpY2Uge1xuXG4gIC8vIGNvbXBvbmVudCBjb21tdW5pY2F0aW9uXG4gIHByaXZhdGUgdHJlZURhdGE6IFRyZWVEYXRhO1xuICBwcml2YXRlIHRyZWVEYXRhU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigpO1xuICBwdWJsaWMgdHJlZSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMudHJlZURhdGFTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSB0cmVlUmVmRGF0YTogVHJlZURhdGE7XG4gIHByaXZhdGUgdHJlZVJlZkRhdGFTb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KCk7XG4gIHB1YmxpYyB0cmVlUmVmJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy50cmVlUmVmRGF0YVNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAvLyByZXN1bHQgbGlzdCBzdWJzY3JpYmVzIHRvIHRoaXMgb2JzZXJ2YWJsZSB0byBmZXRjaCBpdHMgZGF0YVxuICBwcml2YXRlIF9saXN0OiBPYmplY3RTZWFyY2hSZXN1bHQ7XG4gIHByaXZhdGUgbGlzdFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PE9iamVjdFNlYXJjaFJlc3VsdD4oKTtcbiAgcHVibGljIGxpc3QkOiBPYnNlcnZhYmxlPE9iamVjdFNlYXJjaFJlc3VsdD4gPSB0aGlzLmxpc3RTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UpIHtcbiAgfVxuXG5cbiAgc2VsZWN0RnJvbnRQYWdlKGNvbnRleHQ6IERtc09iamVjdCk6IE9ic2VydmFibGU8RnJvbnRQYWdlRGF0YT4ge1xuXG4gICAgLy8gLi4uIGFuZCBjbGVhciB0aGUgcmVzdWx0IGxpc3RcbiAgICB0aGlzLl9saXN0ID0gbnVsbDtcbiAgICB0aGlzLmxpc3RTb3VyY2UubmV4dCh0aGlzLl9saXN0KTtcblxuICAgIC8vIHRvZG86IGdyYWIgYWRkaXRpb25hbCBpbmZvcm1hdGlvbnMgYWJvdXQgdGhlIGNvbnRleHRcbiAgICBsZXQgbWV0YURhdGFRdWVyeSA9IHtcbiAgICAgICdmaWVsZHMnOiBbXG4gICAgICAgICd0aXRsZScsXG4gICAgICAgICdkZXNjcmlwdGlvbicsXG4gICAgICAgICdmaWxlc2l6ZScsXG4gICAgICAgICdtb2RpZmllZCcsXG4gICAgICAgICdtb2RpZmllcnRpdGxlJyxcbiAgICAgICAgJ3R5cGUnXG4gICAgICBdLFxuICAgICAgJ2ZpbHRlcnMnOiB7XG4gICAgICAgICdjb250ZXh0Zm9sZGVyaWQnOiB7XG4gICAgICAgICAgJ28nOiAnZXEnLFxuICAgICAgICAgICd2MSc6IGNvbnRleHQuaWRcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgICdjb250ZXh0Zm9sZGVydHlwZXMnOiBbY29udGV4dC50eXBlLnFuYW1lXSxcbiAgICAgICd0eXBlcyc6IFtdXG4gICAgfTtcblxuICAgIGxldCBxID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkobWV0YURhdGFRdWVyeSk7XG4gICAgcS5hZGRTb3J0T3B0aW9uKCdtb2RpZmllZCcsICdkZXNjJyk7XG5cbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaChxKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICAgICAgbGV0IHNpemUgPSAwO1xuICAgICAgICAgIGxldCBsYXN0TW9kaWZpZWQgPSBudWxsO1xuXG4gICAgICAgICAgaWYgKHJlcy5oaXRzLmxlbmd0aCkge1xuICAgICAgICAgICAgc2l6ZSA9IHJlcy5oaXRzLm1hcChhID0+IGEuZmlsZXNpemUgfHwgMCkucmVkdWNlKChhY2MsIGN1cikgPT4gYWNjICsgY3VyKTtcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZCA9IHJlcy5oaXRzLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbW9kaWZpZWQnLCAnZGVzYycpKS5zbGljZSgwLCAxMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIDxGcm9udFBhZ2VEYXRhPntcbiAgICAgICAgICAgIGRvY3VtZW50Q291bnQ6IHt2YWx1ZTogcmVzLmNvdW50LnZhbHVlfSxcbiAgICAgICAgICAgIHRvdGFsRmlsZXNpemU6IHNpemUsXG4gICAgICAgICAgICBsYXN0TW9kaWZpY2F0aW9uczogbGFzdE1vZGlmaWVkXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoVXRpbHMuY2F0Y2gobnVsbCwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLnJlc3VsdC5lcnJvcicpKSlcbiAgICAgICk7XG4gIH1cblxuICB1cGRhdGVUcmVlQnlRdWVyeSh7aWQ6IG9iaklkLCB0eXBlTmFtZX06IERtc09iamVjdCwgb3B0aW9uczogVHJlZVF1ZXJ5ID0ge30sIHVyaT86IFZpZXdVUkkpOiBPYnNlcnZhYmxlPFRyZWVEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZFRyZWVCeVF1ZXJ5KG9iaklkLCB0eXBlTmFtZSwgb3B0aW9ucywgdXJpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocmVzOiBUcmVlRGF0YSkgPT4ge1xuICAgICAgICAgIGlmICh1cmkgJiYgdXJpLm1hdGNoKCdyZWZlcmVuY2V2aWV3JykpIHtcbiAgICAgICAgICAgIHRoaXMudHJlZVJlZkRhdGEgPSByZXM7XG4gICAgICAgICAgICB0aGlzLnRyZWVSZWZEYXRhU291cmNlLm5leHQodGhpcy50cmVlUmVmRGF0YSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudHJlZURhdGEgPSByZXM7XG4gICAgICAgICAgICB0aGlzLnRyZWVEYXRhU291cmNlLm5leHQodGhpcy50cmVlRGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGxvYWRUcmVlQnlRdWVyeShvYmpJZDogc3RyaW5nLCB0eXBlTmFtZTogc3RyaW5nLCBvcHRpb25zOiBUcmVlUXVlcnkgPSB7fSwgdXJpPzogVmlld1VSSSk6IE9ic2VydmFibGU8VHJlZURhdGE+IHtcbiAgICBjb25zdCBfdXJpID0gdXJpIHx8ICdjb250ZXh0dmlldyc7XG4gICAgY29uc3QgcG9zdERhdGE6IFRyZWVRdWVyeSA9IHtcbiAgICAgIC4uLihfdXJpLm1hdGNoKCdjb250ZXh0dmlldycpID8ge1xuICAgICAgICBjb250ZXh0aWQ6IG9iaklkLFxuICAgICAgICBjb250ZXh0dHlwZTogdHlwZU5hbWVcbiAgICAgIH0gOiB7XG4gICAgICAgICAgdGFyZ2V0aWQ6IG9iaklkLFxuICAgICAgICAgIHRhcmdldHR5cGU6IHR5cGVOYW1lXG4gICAgICAgIH0pLFxuICAgICAgbW9kZTogJ3RyZWUnLFxuICAgICAgdGltZXpvbmU6IFV0aWxzLmdldFRpbWV6b25lT2Zmc2V0KCksXG4gICAgICAuLi5vcHRpb25zXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucG9zdChgLyR7X3VyaX1gLCBwb3N0RGF0YSwgdGhpcy5iYWNrZW5kLmdldENvbnRleHRCYXNlKCkpXG4gICAgICAucGlwZShtYXAoKHJlczogYW55KSA9PiAoey4uLnJlcywgZm9sZGVyOiAocmVzICYmIHJlcy5mb2xkZXIpIHx8IFtdfSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSBub2RlIGZyb20gdGhlIGNvbnRleHQgdHJlZS4gVGhpcyB3aWxsIGV4ZWN1dGUgdGhlIG5vZGVzIHF1ZXJ5XG4gICAqIGFuZCB1cGRhdGUgdGhlIHJlc3VsdCBsaXN0IHN1YmplY3QuXG4gICAqL1xuICBzZWxlY3RUcmVlTm9kZSh7aWQ6IG9iaklkLCB0eXBlTmFtZX06IERtc09iamVjdCwgdHJlZU5vZGU/OiBUcmVlTm9kZSwgb3B0aW9uczogVHJlZVF1ZXJ5ID0ge30sIHVyaT86IFZpZXdVUkkpOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdD4ge1xuICAgIGNvbnN0IF91cmkgPSB1cmkgfHwgJ2NvbnRleHR2aWV3JztcbiAgICBjb25zdCBwb3N0RGF0YTogVHJlZVF1ZXJ5ID0ge1xuICAgICAgLi4uKF91cmkubWF0Y2goJ2NvbnRleHR2aWV3JykgPyB7XG4gICAgICAgIGNvbnRleHRpZDogb2JqSWQsXG4gICAgICAgIGNvbnRleHR0eXBlOiB0eXBlTmFtZVxuICAgICAgfSA6IHtcbiAgICAgICAgICB0YXJnZXRpZDogb2JqSWQsXG4gICAgICAgICAgdGFyZ2V0dHlwZTogdHlwZU5hbWVcbiAgICAgICAgfSksXG4gICAgICBtb2RlOiAncmVzdWx0JyxcbiAgICAgIGZpbHRlcjogdHJlZU5vZGUgJiYgdHJlZU5vZGUuZGF0YSA/IFt0cmVlTm9kZS5kYXRhLmtleV0gOiAnJyxcbiAgICAgIHRpbWV6b25lOiBVdGlscy5nZXRUaW1lem9uZU9mZnNldCgpLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucG9zdChgLyR7X3VyaX0/c2l6ZT0xMDAwMGAsIHBvc3REYXRhLCB0aGlzLmJhY2tlbmQuZ2V0Q29udGV4dEJhc2UoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgICAgIGxldCByZXN1bHQgPSBuZXcgU2VhcmNoUmVzdWx0KCk7XG4gICAgICAgICAgbGV0IHNvcnRvcmRlciA9IChyZXMuc29ydG9yZGVyIHx8IFtdKS5tYXAocyA9PiAoe3FuYW1lOiBzLnFuYW1lIHx8IHMuZmllbGQsIGRpcmVjdGlvbjogcy5kaXJlY3Rpb24udG9VcHBlckNhc2UoKX0pKTtcbiAgICAgICAgICBsZXQgZ3JvdXBvcmRlciA9IChyZXMuZ3JvdXBvcmRlciB8fCBbXSkubWFwKHMgPT4gKHtxbmFtZTogcy5xbmFtZSB8fCBzLmZpZWxkfSkpO1xuICAgICAgICAgIGxldCBwaW5uZWQgPSAocmVzLnBpbm5lZCB8fCBbXSkubWFwKHMgPT4gKHtxbmFtZTogcy5xbmFtZSB8fCBzLmZpZWxkfSkpO1xuICAgICAgICAgIHJlc3VsdC5maWVsZHMgPSBuZXcgRmllbGREZWZpbml0aW9uKHJlcy5maWVsZHMsIHNvcnRvcmRlciwgZ3JvdXBvcmRlciwgcGlubmVkKTtcbiAgICAgICAgICByZXN1bHQuaGl0cyA9IHJlcy5kbXM7XG4gICAgICAgICAgcmVzdWx0LmNvdW50ID0gcmVzLnRvdGFsO1xuICAgICAgICAgIHJlc3VsdC50eXBlTmFtZSA9IHJlcy50eXBlO1xuXG4gICAgICAgICAgdGhpcy5fbGlzdCA9IHtcbiAgICAgICAgICAgIG5hbWU6IHRyZWVOb2RlLm5hbWUsXG4gICAgICAgICAgICByZXN1bHRcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMubGlzdFNvdXJjZS5uZXh0KHRoaXMuX2xpc3QpO1xuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxufVxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9vYmplY3Qtc3RhdGUvb2JqZWN0LXN0YXRlLXNlcnZpY2Uvb2JqZWN0LXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFZLE1BQU0sY0FBYyxDQUFDO0FBQzVHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUs5QyxNQUFNLE9BQU8sa0JBQWtCO0lBZ0I3QixZQUFvQixhQUE0QixFQUN0QyxTQUEyQixFQUMzQixPQUF1QjtRQUZiLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3RDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBZHpCLG1CQUFjLEdBQUcsSUFBSSxhQUFhLEVBQU8sQ0FBQztRQUMzQyxVQUFLLEdBQW9CLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHM0Qsc0JBQWlCLEdBQUcsSUFBSSxhQUFhLEVBQU8sQ0FBQztRQUM5QyxhQUFRLEdBQW9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUlqRSxlQUFVLEdBQUcsSUFBSSxhQUFhLEVBQXNCLENBQUM7UUFDdEQsVUFBSyxHQUFtQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBSzlFLENBQUM7SUFHRCxl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QUMsRUFBRSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQy9FLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUN0QixNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDekIsTUFBTSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBRTNCLElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2dCQUNuQixNQUFNO2FBQ1AsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVqQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7O1lBckpGLFVBQVU7OztZQUxtRCxhQUFhO1lBQ25FLGdCQUFnQjtZQURzQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjYXRjaEVycm9yLCBtYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVwbGF5U3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RyZWVOb2RlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvdHJlZS90cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpZWxkRGVmaW5pdGlvbiwgU2VhcmNoUmVzdWx0LCBVdGlscywgQmFja2VuZFNlcnZpY2UsIFNlYXJjaFNlcnZpY2UsIERtc09iamVjdH0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VHJlZURhdGEsIE9iamVjdFNlYXJjaFJlc3VsdCwgRnJvbnRQYWdlRGF0YSwgVHJlZVF1ZXJ5LCBWaWV3VVJJfSBmcm9tICcuL29iamVjdC1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPYmplY3RTdGF0ZVNlcnZpY2Uge1xuXG4gIC8vIGNvbXBvbmVudCBjb21tdW5pY2F0aW9uXG4gIHByaXZhdGUgdHJlZURhdGE6IFRyZWVEYXRhO1xuICBwcml2YXRlIHRyZWVEYXRhU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigpO1xuICBwdWJsaWMgdHJlZSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMudHJlZURhdGFTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSB0cmVlUmVmRGF0YTogVHJlZURhdGE7XG4gIHByaXZhdGUgdHJlZVJlZkRhdGFTb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KCk7XG4gIHB1YmxpYyB0cmVlUmVmJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy50cmVlUmVmRGF0YVNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAvLyByZXN1bHQgbGlzdCBzdWJzY3JpYmVzIHRvIHRoaXMgb2JzZXJ2YWJsZSB0byBmZXRjaCBpdHMgZGF0YVxuICBwcml2YXRlIF9saXN0OiBPYmplY3RTZWFyY2hSZXN1bHQ7XG4gIHByaXZhdGUgbGlzdFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PE9iamVjdFNlYXJjaFJlc3VsdD4oKTtcbiAgcHVibGljIGxpc3QkOiBPYnNlcnZhYmxlPE9iamVjdFNlYXJjaFJlc3VsdD4gPSB0aGlzLmxpc3RTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UpIHtcbiAgfVxuXG5cbiAgc2VsZWN0RnJvbnRQYWdlKGNvbnRleHQ6IERtc09iamVjdCk6IE9ic2VydmFibGU8RnJvbnRQYWdlRGF0YT4ge1xuXG4gICAgLy8gLi4uIGFuZCBjbGVhciB0aGUgcmVzdWx0IGxpc3RcbiAgICB0aGlzLl9saXN0ID0gbnVsbDtcbiAgICB0aGlzLmxpc3RTb3VyY2UubmV4dCh0aGlzLl9saXN0KTtcblxuICAgIC8vIHRvZG86IGdyYWIgYWRkaXRpb25hbCBpbmZvcm1hdGlvbnMgYWJvdXQgdGhlIGNvbnRleHRcbiAgICBsZXQgbWV0YURhdGFRdWVyeSA9IHtcbiAgICAgICdmaWVsZHMnOiBbXG4gICAgICAgICd0aXRsZScsXG4gICAgICAgICdkZXNjcmlwdGlvbicsXG4gICAgICAgICdmaWxlc2l6ZScsXG4gICAgICAgICdtb2RpZmllZCcsXG4gICAgICAgICdtb2RpZmllcnRpdGxlJyxcbiAgICAgICAgJ3R5cGUnXG4gICAgICBdLFxuICAgICAgJ2ZpbHRlcnMnOiB7XG4gICAgICAgICdjb250ZXh0Zm9sZGVyaWQnOiB7XG4gICAgICAgICAgJ28nOiAnZXEnLFxuICAgICAgICAgICd2MSc6IGNvbnRleHQuaWRcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgICdjb250ZXh0Zm9sZGVydHlwZXMnOiBbY29udGV4dC50eXBlLnFuYW1lXSxcbiAgICAgICd0eXBlcyc6IFtdXG4gICAgfTtcblxuICAgIGxldCBxID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkobWV0YURhdGFRdWVyeSk7XG4gICAgcS5hZGRTb3J0T3B0aW9uKCdtb2RpZmllZCcsICdkZXNjJyk7XG5cbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaChxKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICAgICAgbGV0IHNpemUgPSAwO1xuICAgICAgICAgIGxldCBsYXN0TW9kaWZpZWQgPSBudWxsO1xuXG4gICAgICAgICAgaWYgKHJlcy5oaXRzLmxlbmd0aCkge1xuICAgICAgICAgICAgc2l6ZSA9IHJlcy5oaXRzLm1hcChhID0+IGEuZmlsZXNpemUgfHwgMCkucmVkdWNlKChhY2MsIGN1cikgPT4gYWNjICsgY3VyKTtcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZCA9IHJlcy5oaXRzLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbW9kaWZpZWQnLCAnZGVzYycpKS5zbGljZSgwLCAxMDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiA8RnJvbnRQYWdlRGF0YT57XG4gICAgICAgICAgICBkb2N1bWVudENvdW50OiB7dmFsdWU6IHJlcy5jb3VudC52YWx1ZX0sXG4gICAgICAgICAgICB0b3RhbEZpbGVzaXplOiBzaXplLFxuICAgICAgICAgICAgbGFzdE1vZGlmaWNhdGlvbnM6IGxhc3RNb2RpZmllZFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKFV0aWxzLmNhdGNoKG51bGwsIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC5yZXN1bHQuZXJyb3InKSkpXG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlVHJlZUJ5UXVlcnkoe2lkOiBvYmpJZCwgdHlwZU5hbWV9OiBEbXNPYmplY3QsIG9wdGlvbnM6IFRyZWVRdWVyeSA9IHt9LCB1cmk/OiBWaWV3VVJJKTogT2JzZXJ2YWJsZTxUcmVlRGF0YT4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRUcmVlQnlRdWVyeShvYmpJZCwgdHlwZU5hbWUsIG9wdGlvbnMsIHVyaSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHJlczogVHJlZURhdGEpID0+IHtcbiAgICAgICAgICBpZiAodXJpICYmIHVyaS5tYXRjaCgncmVmZXJlbmNldmlldycpKSB7XG4gICAgICAgICAgICB0aGlzLnRyZWVSZWZEYXRhID0gcmVzO1xuICAgICAgICAgICAgdGhpcy50cmVlUmVmRGF0YVNvdXJjZS5uZXh0KHRoaXMudHJlZVJlZkRhdGEpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRyZWVEYXRhID0gcmVzO1xuICAgICAgICAgICAgdGhpcy50cmVlRGF0YVNvdXJjZS5uZXh0KHRoaXMudHJlZURhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBsb2FkVHJlZUJ5UXVlcnkob2JqSWQ6IHN0cmluZywgdHlwZU5hbWU6IHN0cmluZywgb3B0aW9uczogVHJlZVF1ZXJ5ID0ge30sIHVyaT86IFZpZXdVUkkpOiBPYnNlcnZhYmxlPFRyZWVEYXRhPiB7XG4gICAgY29uc3QgX3VyaSA9IHVyaSB8fCAnY29udGV4dHZpZXcnO1xuICAgIGNvbnN0IHBvc3REYXRhOiBUcmVlUXVlcnkgPSB7XG4gICAgICAuLi4oX3VyaS5tYXRjaCgnY29udGV4dHZpZXcnKSA/IHtcbiAgICAgICAgY29udGV4dGlkOiBvYmpJZCxcbiAgICAgICAgY29udGV4dHR5cGU6IHR5cGVOYW1lXG4gICAgICB9IDoge1xuICAgICAgICAgIHRhcmdldGlkOiBvYmpJZCxcbiAgICAgICAgICB0YXJnZXR0eXBlOiB0eXBlTmFtZVxuICAgICAgICB9KSxcbiAgICAgIG1vZGU6ICd0cmVlJyxcbiAgICAgIHRpbWV6b25lOiBVdGlscy5nZXRUaW1lem9uZU9mZnNldCgpLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLnBvc3QoYC8ke191cml9YCwgcG9zdERhdGEsIHRoaXMuYmFja2VuZC5nZXRDb250ZXh0QmFzZSgpKVxuICAgICAgLnBpcGUobWFwKChyZXM6IGFueSkgPT4gKHsuLi5yZXMsIGZvbGRlcjogKHJlcyAmJiByZXMuZm9sZGVyKSB8fCBbXX0pKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgbm9kZSBmcm9tIHRoZSBjb250ZXh0IHRyZWUuIFRoaXMgd2lsbCBleGVjdXRlIHRoZSBub2RlcyBxdWVyeVxuICAgKiBhbmQgdXBkYXRlIHRoZSByZXN1bHQgbGlzdCBzdWJqZWN0LlxuICAgKi9cbiAgc2VsZWN0VHJlZU5vZGUoe2lkOiBvYmpJZCwgdHlwZU5hbWV9OiBEbXNPYmplY3QsIHRyZWVOb2RlPzogVHJlZU5vZGUsIG9wdGlvbnM6IFRyZWVRdWVyeSA9IHt9LCB1cmk/OiBWaWV3VVJJKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ+IHtcbiAgICBjb25zdCBfdXJpID0gdXJpIHx8ICdjb250ZXh0dmlldyc7XG4gICAgY29uc3QgcG9zdERhdGE6IFRyZWVRdWVyeSA9IHtcbiAgICAgIC4uLihfdXJpLm1hdGNoKCdjb250ZXh0dmlldycpID8ge1xuICAgICAgICBjb250ZXh0aWQ6IG9iaklkLFxuICAgICAgICBjb250ZXh0dHlwZTogdHlwZU5hbWVcbiAgICAgIH0gOiB7XG4gICAgICAgICAgdGFyZ2V0aWQ6IG9iaklkLFxuICAgICAgICAgIHRhcmdldHR5cGU6IHR5cGVOYW1lXG4gICAgICAgIH0pLFxuICAgICAgbW9kZTogJ3Jlc3VsdCcsXG4gICAgICBmaWx0ZXI6IHRyZWVOb2RlICYmIHRyZWVOb2RlLmRhdGEgPyBbdHJlZU5vZGUuZGF0YS5rZXldIDogJycsXG4gICAgICB0aW1lem9uZTogVXRpbHMuZ2V0VGltZXpvbmVPZmZzZXQoKSxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLnBvc3QoYC8ke191cml9P3NpemU9MTAwMDBgLCBwb3N0RGF0YSwgdGhpcy5iYWNrZW5kLmdldENvbnRleHRCYXNlKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IFNlYXJjaFJlc3VsdCgpO1xuICAgICAgICAgIGxldCBzb3J0b3JkZXIgPSAocmVzLnNvcnRvcmRlciB8fCBbXSkubWFwKHMgPT4gKHtxbmFtZTogcy5xbmFtZSB8fCBzLmZpZWxkLCBkaXJlY3Rpb246IHMuZGlyZWN0aW9uLnRvVXBwZXJDYXNlKCl9KSk7XG4gICAgICAgICAgbGV0IGdyb3Vwb3JkZXIgPSAocmVzLmdyb3Vwb3JkZXIgfHwgW10pLm1hcChzID0+ICh7cW5hbWU6IHMucW5hbWUgfHwgcy5maWVsZH0pKTtcbiAgICAgICAgICBsZXQgcGlubmVkID0gKHJlcy5waW5uZWQgfHwgW10pLm1hcChzID0+ICh7cW5hbWU6IHMucW5hbWUgfHwgcy5maWVsZH0pKTtcbiAgICAgICAgICByZXN1bHQuZmllbGRzID0gbmV3IEZpZWxkRGVmaW5pdGlvbihyZXMuZmllbGRzLCBzb3J0b3JkZXIsIGdyb3Vwb3JkZXIsIHBpbm5lZCk7XG4gICAgICAgICAgcmVzdWx0LmhpdHMgPSByZXMuZG1zO1xuICAgICAgICAgIHJlc3VsdC5jb3VudCA9IHJlcy50b3RhbDtcbiAgICAgICAgICByZXN1bHQudHlwZU5hbWUgPSByZXMudHlwZTtcblxuICAgICAgICAgIHRoaXMuX2xpc3QgPSB7XG4gICAgICAgICAgICBuYW1lOiB0cmVlTm9kZS5uYW1lLFxuICAgICAgICAgICAgcmVzdWx0XG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLmxpc3RTb3VyY2UubmV4dCh0aGlzLl9saXN0KTtcblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbn1cbiJdfQ==
@@ -43,6 +43,7 @@ export class ObjectDetailsComponent extends UnsubscribeOnDestroy {
43
43
  this.enableSync = true;
44
44
  this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
45
45
  this.externalPanels = new QueryList();
46
+ this.preventClickThrough = false;
46
47
  // shortcut actions
47
48
  this.shortcuts = {
48
49
  id: 'eo.object-details',
@@ -155,7 +156,7 @@ export class ObjectDetailsComponent extends UnsubscribeOnDestroy {
155
156
  this.loadDmsObject(this.parseDmsParams(res)).subscribe((res) => {
156
157
  // refreshing object details may result in an updated version of the object
157
158
  // so we'll use this trigger to also emitt those changes to other listening components
158
- if (this.item && res && (this.item.id === res.id) && res.version > this.item.version) {
159
+ if (this.item && res && (this.item.id === res.id)) {
159
160
  this.eventService.trigger(EnaioEvent.DMS_OBJECT_UPDATED, res);
160
161
  }
161
162
  this.dmsObject = res;
@@ -169,7 +170,13 @@ export class ObjectDetailsComponent extends UnsubscribeOnDestroy {
169
170
  }
170
171
  }
171
172
  refreshContent() {
172
- this.updateContent();
173
+ if (!this.preventClickThrough) {
174
+ this.preventClickThrough = true;
175
+ this.updateContent();
176
+ }
177
+ setTimeout(() => {
178
+ this.preventClickThrough = false;
179
+ }, 5000);
173
180
  }
174
181
  prepareIndexDataPreview(item, formData) {
175
182
  const { id, data, type, created, modified, content, contentFileName, contentFileSize, version } = item;
@@ -307,9 +314,9 @@ export class ObjectDetailsComponent extends UnsubscribeOnDestroy {
307
314
  ObjectDetailsComponent.decorators = [
308
315
  { type: Component, args: [{
309
316
  selector: 'eo-object-details',
310
- template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container *ngIf=\"!isReference; else tplHeadReference\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare\" [ngClass]=\"{'enabled': enableSync}\"\n [iconSrc]=\"'assets/_default/svg/ic_link.svg'\" [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\"\n (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\" *ngIf=\"!enableCompare && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\" *ngIf=\"!enableCompare && item.content && item.rights.edit && (agentIsConnected$ | async)\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n <ng-template #tplHeadReference>\n <a class=\"button reference primary\"\n [title]=\"('eo.object.reference.tooltip' | translate:{title:referenceTitle})\"\n [routerLink]=\"['/object', item.id]\"\n [queryParams]=\"{type: item.typeName}\">{{'eo.object.reference.open'|translate}}</a>\n </ng-template>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\"\n [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <eo-tab-container [pluginPanels]=\"externalPanels\" [cacheLayout]=\"!enableCompare && cacheLayout\" [defaultPanelOrder]=\"!enableCompare && panelOrder\"\n [dndEnabled]=\"!enableCompare\" [enableSlave]=\"!enableCompare || item2\" [enableSync]=\"enableCompare && enableSync\"\n [version]=\"enableCompare && {master: item && item.version, slave: item2 && item2.version}\">\n\n <eo-tab-panel [id]=\"'summary'\" *ngIf=\"isVisible('summary')\" header=\"{{'eo.object.summary.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'indexdata'\" *ngIf=\"isVisible('indexdata')\" header=\"{{'eo.object.indexdata.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'preview'\" *ngIf=\"isVisible('preview')\" header=\"{{'eo.object.content.title' | translate}}\" [isSlave]=\"!enableCompare\"\n #preview>\n <ng-template pTemplate=\"content\" *ngIf=\"!undockWinActive; else loadPreview\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [disabled]=\"!preview.selected\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n <ng-template #loadPreview>\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('history') && !enableCompare\" [id]=\"'history'\" header=\"{{'eo.object.history.title' | translate}}\" #history>\n <ng-template pTemplate=\"content\">\n <eo-object-history *ngIf=\"history.selected\" [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('links') && !enableCompare\" [id]=\"'links'\" header=\"{{'eo.object.links.title' | translate}}\" #links>\n <ng-template pTemplate=\"content\">\n <eo-object-links *ngIf=\"links.selected\" [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n </eo-tab-panel>\n\n <!-- slave tabs -->\n\n <eo-tab-panel *ngIf=\"isVisible('summary') && enableCompare\" [id]=\"'summary2'\" header=\"{{'eo.object.summary.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [indexdata]=\"indexDataPreview2\" [baseparams]=\"baseparams2\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('indexdata') && enableCompare\" [id]=\"'indexdata2'\" header=\"{{'eo.object.indexdata.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit *ngIf=\"item2\" [dmsObject]=\"item2\" (indexDataSaved)=\"onIndexDataSaved($event, item2)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('preview') && enableCompare\" [id]=\"'preview2'\" header=\"{{'eo.object.content.title' | translate}}\"\n [isSlave]=\"true\" #preview2>\n <ng-template pTemplate=\"content\">\n <eo-media *ngIf=\"item2\" [dmsObject]=\"item2\" [disabled]=\"!preview2.selected\" [undockDisabled]=\"enableCompare\"\n [useVersion]=\"true\" [searchTerm]=\"searchTerm\" #viewer2></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"enableCompare && enableDiff\" [id]=\"'changes'\" header=\"{{'eo.object.changes.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [diff]=\"{indexdata : indexDataPreview, indexdata2: indexDataPreview2, baseparams: baseparams, baseparams2: baseparams2}\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <ng-content></ng-content>\n\n </eo-tab-container>\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n",
317
+ template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container *ngIf=\"!isReference; else tplHeadReference\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\" [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare\" [ngClass]=\"{'enabled': enableSync}\"\n [iconSrc]=\"'assets/_default/svg/ic_link.svg'\" [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\"\n (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\" *ngIf=\"!enableCompare && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\" *ngIf=\"!enableCompare && item.content && item.rights.edit && (agentIsConnected$ | async)\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n <ng-template #tplHeadReference>\n <a class=\"button reference primary\"\n [title]=\"('eo.object.reference.tooltip' | translate:{title:referenceTitle})\"\n [routerLink]=\"['/object', item.id]\"\n [queryParams]=\"{type: item.typeName}\">{{'eo.object.reference.open'|translate}}</a>\n </ng-template>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\"\n [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <eo-tab-container [pluginPanels]=\"externalPanels\" [cacheLayout]=\"!enableCompare && cacheLayout\" [defaultPanelOrder]=\"!enableCompare && panelOrder\"\n [dndEnabled]=\"!enableCompare\" [enableSlave]=\"!enableCompare || item2\" [enableSync]=\"enableCompare && enableSync\"\n [version]=\"enableCompare && {master: item && item.version, slave: item2 && item2.version}\">\n\n <eo-tab-panel [id]=\"'summary'\" *ngIf=\"isVisible('summary')\" header=\"{{'eo.object.summary.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'indexdata'\" *ngIf=\"isVisible('indexdata')\" header=\"{{'eo.object.indexdata.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'preview'\" *ngIf=\"isVisible('preview')\" header=\"{{'eo.object.content.title' | translate}}\" [isSlave]=\"!enableCompare\"\n #preview>\n <ng-template pTemplate=\"content\" *ngIf=\"!undockWinActive; else loadPreview\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [disabled]=\"!preview.selected\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n <ng-template #loadPreview>\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('history') && !enableCompare\" [id]=\"'history'\" header=\"{{'eo.object.history.title' | translate}}\" #history>\n <ng-template pTemplate=\"content\">\n <eo-object-history *ngIf=\"history.selected\" [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('links') && !enableCompare\" [id]=\"'links'\" header=\"{{'eo.object.links.title' | translate}}\" #links>\n <ng-template pTemplate=\"content\">\n <eo-object-links *ngIf=\"links.selected\" [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n </eo-tab-panel>\n\n <!-- slave tabs -->\n\n <eo-tab-panel *ngIf=\"isVisible('summary') && enableCompare\" [id]=\"'summary2'\" header=\"{{'eo.object.summary.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [indexdata]=\"indexDataPreview2\" [baseparams]=\"baseparams2\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('indexdata') && enableCompare\" [id]=\"'indexdata2'\" header=\"{{'eo.object.indexdata.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit *ngIf=\"item2\" [dmsObject]=\"item2\" (indexDataSaved)=\"onIndexDataSaved($event, item2)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('preview') && enableCompare\" [id]=\"'preview2'\" header=\"{{'eo.object.content.title' | translate}}\"\n [isSlave]=\"true\" #preview2>\n <ng-template pTemplate=\"content\">\n <eo-media *ngIf=\"item2\" [dmsObject]=\"item2\" [disabled]=\"!preview2.selected\" [undockDisabled]=\"enableCompare\"\n [useVersion]=\"true\" [searchTerm]=\"searchTerm\" #viewer2></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"enableCompare && enableDiff\" [id]=\"'changes'\" header=\"{{'eo.object.changes.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [diff]=\"{indexdata : indexDataPreview, indexdata2: indexDataPreview2, baseparams: baseparams, baseparams2: baseparams2}\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <ng-content></ng-content>\n\n </eo-tab-container>\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n",
311
318
  providers: [ContentPreviewService],
312
- styles: [":host{background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-subtitle,:host .eo-head .eo-header .eo-header-info .eo-header-title{-moz-user-select:text;-webkit-user-select:text;user-select:text}:host .eo-body__not-available{background:rgba(var(--color-black-rgb),.4);opacity:.4}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .lock.myLock{background:var(--state-orange)!important;color:var(--color-white)}:host .not-found{background:var(--color-error);border-radius:2px;color:var(--panel-background);flex:0 0 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/4);text-align:center}:host .eo-header-status-icons{display:flex;justify-content:flex-end;margin-top:var(--app-pane-padding)}:host .eo-header-status-icons>eo-icon{background-color:var(--color-primary-2);color:var(--color-white);height:18px;margin-left:1px;padding:calc(var(--app-pane-padding)/4);width:18px}:host .eo-header-status-icons>eo-icon:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{align-items:center;background-color:var(--color-success);border-radius:2px;color:var(--color-white);display:flex;font-size:var(--font-hint);line-height:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:0 4px 1px;text-decoration:none}:host .loader-overlay__mask{-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s;background:rgba(var(--color-white-rgb),.8);display:flex;height:100%;position:absolute;width:100%;z-index:11}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep .sync-tab-btn{color:rgba(var(--color-black-rgb),.2)}:host ::ng-deep .sync-tab-btn .svg-link{fill:transparent}:host ::ng-deep .sync-tab-btn.enabled .svg-link{fill:currentColor}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep #indexdata{overflow:hidden}:host ::ng-deep #indexdata .object-form-edit{background:transparent!important;height:100%;margin:0;position:relative}:host ::ng-deep #indexdata .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep #indexdata .object-form-edit eo-object-form .eo-object-form{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding)}:host ::ng-deep #indexdata .object-form-edit .form-controls{-webkit-animation:eoFadeInUp .2s;animation:eoFadeInUp .2s;border:4px solid var(--panel-background-grey)}:host ::ng-deep #indexdata .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding)!important}"]
319
+ styles: [":host{background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-subtitle,:host .eo-head .eo-header .eo-header-info .eo-header-title{-moz-user-select:text;-webkit-user-select:text;user-select:text}:host .eo-body__not-available{background:rgba(var(--color-black-rgb),.4);opacity:.4}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .lock.myLock{background:var(--state-orange)!important;color:var(--color-white)}:host .not-found{background:var(--color-error);border-radius:2px;color:var(--panel-background);flex:0 0 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/4);text-align:center}:host .eo-header-status-icons{display:flex;justify-content:flex-end;margin-top:var(--app-pane-padding)}:host .eo-header-status-icons>eo-icon{background-color:var(--color-primary-2);color:var(--color-white);height:18px;margin-left:1px;padding:calc(var(--app-pane-padding)/4);width:18px}:host .eo-header-status-icons>eo-icon:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{align-items:center;background-color:var(--color-success);border-radius:2px;color:var(--color-white);display:flex;font-size:var(--font-hint);line-height:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:0 4px 1px;text-decoration:none}:host .loader-overlay__mask{-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s;background:rgba(var(--color-white-rgb),.8);display:flex;height:100%;position:absolute;width:100%;z-index:11}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep .sync-tab-btn{color:rgba(var(--color-black-rgb),.2)}:host ::ng-deep .sync-tab-btn .svg-link{fill:transparent}:host ::ng-deep .sync-tab-btn.enabled .svg-link{fill:currentColor}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep #indexdata{overflow:hidden}:host ::ng-deep #indexdata .object-form-edit{background:transparent!important;height:100%;margin:0;position:relative}:host ::ng-deep #indexdata .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep #indexdata .object-form-edit eo-object-form .eo-object-form{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding)}:host ::ng-deep #indexdata .object-form-edit .form-controls{-webkit-animation:eoFadeInUp .2s;animation:eoFadeInUp .2s;border:4px solid var(--panel-background-grey)}:host ::ng-deep #indexdata .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{color:var(--color-primary-3);cursor:default}"]
313
320
  },] }
314
321
  ];
315
322
  ObjectDetailsComponent.ctorParameters = () => [
@@ -349,4 +356,4 @@ ObjectDetailsComponent.propDecorators = {
349
356
  hasContent: [{ type: Output }],
350
357
  dataType: [{ type: HostBinding, args: ['attr.data-type',] }]
351
358
  };
352
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWRldGFpbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxFQUFFLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUFFLFdBQVcsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxNQUFNLEVBQW9CLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFHeEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDTSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFjLGFBQWEsRUFDaEYsVUFBVSxFQUFFLGNBQWMsRUFBZ0IsbUJBQW1CLEVBQzdELFlBQVksRUFBRSxVQUFVLEVBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxnQkFBZ0IsRUFDakIsTUFBTSxxREFBcUQsQ0FBQztBQUM3RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQ0FB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O1xuXG5pbXBvcnQge3Rha2VVbnRpbCwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIE9uSW5pdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJQYW5lbENvbXBvbmVudH0gZnJvbSAnLi4vdGFiLWNvbnRhaW5lci90YWItcGFuZWwvdGFiLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge1RhYlBsdWdpbkNvbXBvbmVudH0gZnJvbSAnLi4vcGx1Z2lucy9wbHVnaW4uY29tcG9uZW50JztcbmltcG9ydCB7R2xvYmFsU2hvcnRjdXRDb21wb25lbnR9IGZyb20gJy4uL3Nob3J0Y3V0cy9nbG9iYWwtc2hvcnRjdXQtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge1Nob3J0Y3V0fSBmcm9tICcuLi9zaG9ydGN1dHMvc2hvcnRjdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7Um91dGVyLCBOYXZpZ2F0aW9uRXh0cmFzLCBBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgQ29uZmlnLCBTdWJzY3JpcHRpb25Nb2RlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtNZWRpYUNvbXBvbmVudH0gZnJvbSAnLi4vbWVkaWEvbWVkaWEuY29tcG9uZW50JztcbmltcG9ydCB7SW5kZXhEYXRhfSBmcm9tICcuLi91aS9pbmRleGRhdGEtc3VtbWFyeS9pbmRleGRhdGEtc3VtbWFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHtBY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi9hY3Rpb25zL2FjdGlvbi1zZXJ2aWNlL2FjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIERtc09iamVjdCwgVXRpbHMsIFVwbG9hZFJlZ2lzdHJ5U2VydmljZSwgVXBsb2FkVGFyZ2V0LCBCYXNlUGFyYW1zLCBTeXN0ZW1TZXJ2aWNlLCBEbXNQYXJhbXMsXG4gIERtc1NlcnZpY2UsIEJhY2tlbmRTZXJ2aWNlLCBDYXBhYmlsaXRpZXMsIENhcGFiaWxpdGllc1NlcnZpY2UsXG4gIEV2ZW50U2VydmljZSwgRW5haW9FdmVudFxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2VsZWN0aW9uQ29uZmlnLFxuICBTZWxlY3Rpb25TZXJ2aWNlXG59IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi91dGlsL3Vuc3Vic2NyaWJlL3Vuc3Vic2NyaWJlLmNvbXBvbmVudCc7XG5pbXBvcnQge0FnZW50U2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvYWdlbnQvYWdlbnQuc2VydmljZSc7XG5pbXBvcnQge0xvY2FsZURhdGVQaXBlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9waXBlcy9sb2NhbGUtZGF0ZS5waXBlJztcbmltcG9ydCB7RW1wdHlTdGF0ZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7RW1wdHlTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtDb250ZW50UHJldmlld1NlcnZpY2V9IGZyb20gJy4uL21lZGlhL2NvbnRlbnQtcHJldmlldy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tb2JqZWN0LWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vYmplY3QtZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtDb250ZW50UHJldmlld1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdERldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBVbnN1YnNjcmliZU9uRGVzdHJveVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKCd2aWV3ZXInKSBwcmV2aWV3OiBNZWRpYUNvbXBvbmVudDtcblxuICAvLyBnZW5lcmF0ZSB1bmlxdWUgaWQgdG8gcGFzcyB0byB1cGxvYWQgcmVnaXN0cnlcbiAgcHJpdmF0ZSB1cGxvYWRUYXJnZXQgPSBuZXcgVXBsb2FkVGFyZ2V0KFV0aWxzLnV1aWQoKSwgVXBsb2FkVGFyZ2V0Lk9CSkVDVCk7XG4gIGl0ZW06IERtc09iamVjdDtcbiAgaW5kZXhEYXRhUHJldmlldzogSW5kZXhEYXRhO1xuICBiYXNlcGFyYW1zOiBCYXNlUGFyYW1zO1xuICBoYXNFcnJvciA9IGZhbHNlO1xuICBsb2NrVG9vbHRpcDogc3RyaW5nO1xuICBub2Rtc29iamVjdCA9IGZhbHNlO1xuICBzaG93TG9hZGVyID0gZmFsc2U7XG4gIHBhbmVsT3JkZXIgPSB7J21hc3Rlcic6IFsnc3VtbWFyeScsICdpbmRleGRhdGEnLCAnaGlzdG9yeScsICdsaW5rcyddLCAnc2xhdmUnOiBbJ3ByZXZpZXcnXX07XG4gIGFnZW50SXNDb25uZWN0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hZ2VudFNlcnZpY2UuaXNDb25uZWN0ZWQkO1xuICBzdWJzY3JpcHRpb25JY29uVG9vbHRpcDogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlZmVyZW5jZScpIGlzUmVmZXJlbmNlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCByZWZlcmVuY2UoaXNSZWY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzUmVmZXJlbmNlID0gaXNSZWY7XG4gIH1cbiAgQElucHV0KCkgc2VhcmNoVGVybTogc3RyaW5nO1xuICBASW5wdXQoKSBlbmFibGVDb21wYXJlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVuYWJsZURpZmYgPSB0cnVlO1xuICBASW5wdXQoKSBlbmFibGVTeW5jID0gdHJ1ZTtcbiAgQElucHV0KCkgY2FjaGVMYXlvdXQ6IGFueTtcbiAgaXRlbTI6IERtc09iamVjdDtcbiAgaW5kZXhEYXRhUHJldmlldzI6IEluZGV4RGF0YTtcbiAgYmFzZXBhcmFtczI6IEJhc2VQYXJhbXM7XG4gIHByaXZhdGUgX2VtcHR5U3RhdGU6IEVtcHR5U3RhdGUgPSB7aWNvbjogJ2ljX25vLWZpbGUuc3ZnJywgdGV4dDogJycsIGNsYXNzTmFtZTogJyd9O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBlbXB0eVN0YXRlKGU6IEVtcHR5U3RhdGUpIHtcbiAgICB0aGlzLl9lbXB0eVN0YXRlID0gZSB8fCBFbXB0eVN0YXRlU2VydmljZS5kZWZhdWx0RW1wdHlTdGF0ZSgpO1xuICB9XG5cbiAgZ2V0IGVtcHR5U3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VtcHR5U3RhdGU7XG4gIH1cblxuICBASW5wdXQoJ3BhcmFtcycpXG4gIHNldCBkbXNQYXJhbXMocGFyYW1zOiBEbXNQYXJhbXMpIHtcbiAgICB0aGlzLnNob3dMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMubG9hZERtc09iamVjdChwYXJhbXMpLnN1YnNjcmliZSgocmVzOiBEbXNPYmplY3QpID0+IHtcbiAgICAgIHRoaXMuZG1zT2JqZWN0ID0gcmVzO1xuICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XG4gICAgfSxcbiAgICAgIFV0aWxzLnRocm93KCgpID0+IHRoaXMub25IYXNFcnJvcih0cnVlLCB0cnVlLCBmYWxzZSkpXG4gICAgKTtcbiAgfVxuXG4gIEBJbnB1dCgncGFyYW1zMicpXG4gIHNldCBkbXNQYXJhbXMyKHBhcmFtczogRG1zUGFyYW1zKSB7XG4gICAgdGhpcy5sb2FkRG1zT2JqZWN0KHBhcmFtcylcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogRG1zT2JqZWN0KSA9PiB7XG4gICAgICAgIHRoaXMuZG1zT2JqZWN0MiA9IHJlcztcbiAgICAgIH0sIFV0aWxzLnRocm93KCgpID0+IHRoaXMub25IYXNFcnJvcih0cnVlLCB0cnVlLCBmYWxzZSkpKTtcbiAgfVxuXG4gIEBJbnB1dCgnaXRlbScpXG4gIHNldCBkbXNPYmplY3QodjogRG1zT2JqZWN0KSB7XG4gICAgdGhpcy5pdGVtID0gdjtcbiAgICB0aGlzLm9uSGFzRXJyb3IoKTtcbiAgICAvLyBwcmVwYXJlIGluZGV4ZGF0YSBwcmV2aWV3XG4gICAgdGhpcy5vbkluZGV4RGF0YVNhdmVkKG51bGwsIHRoaXMuaXRlbSk7XG4gICAgdGhpcy5ldmVudFNlcnZpY2UudHJpZ2dlcihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfTE9BREVELCB0aGlzLml0ZW0pO1xuXG4gICAgaWYgKHRoaXMuaXRlbSkge1xuICAgICAgaWYgKHRoaXMuaXRlbS5pc0FjdGl2ZVZlcnNpb24gJiYgIXRoaXMuZW5hYmxlQ29tcGFyZSkge1xuICAgICAgICB0aGlzLnVwbG9hZFRhcmdldC5yZWZlcmVuY2VPYmplY3QgPSB0aGlzLml0ZW07XG4gICAgICAgIHRoaXMudXBsb2FkVGFyZ2V0Lm9uVXBsb2FkU3VjY2VzcyA9ICgpID0+IHRoaXMuZG1zUGFyYW1zID0ge2lkOiB2LmlkLCB0eXBlOiB2LnR5cGVOYW1lfTtcbiAgICAgICAgdGhpcy51cGxvYWRSZWdpc3RyeS5yZWdpc3Rlcih0aGlzLnVwbG9hZFRhcmdldCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLml0ZW0ubG9jaykge1xuICAgICAgICB0aGlzLmxvY2tUb29sdGlwID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ub2JqZWN0LmxvY2snKSArICcgJ1xuICAgICAgICAgICsgKG5ldyBMb2NhbGVEYXRlUGlwZSh0aGlzLnRyYW5zbGF0ZSkudHJhbnNmb3JtKHRoaXMuaXRlbS5sb2NrLm9uKSlcbiAgICAgICAgICArICcsICcgKyB0aGlzLml0ZW0ubG9jay5ieS5sYWJlbCArICcgKCcgKyB0aGlzLml0ZW0ubG9jay5ieS5uYW1lICsgJyknO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtcHR5U3RhdGUgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUoMCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXRlbT8uc3Vic2NyaXB0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWNvblRvb2x0aXAgPSB0aGlzLmNyZWF0ZVN1YnNjcmlwdGlvbkljb25Ub29sdGlwKHRoaXMuaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdpdGVtMicpXG4gIHNldCBkbXNPYmplY3QyKHY6IERtc09iamVjdCkge1xuICAgIHRoaXMuaXRlbTIgPSB2O1xuICAgIHRoaXMub25IYXNFcnJvcigpO1xuICAgIHRoaXMub25JbmRleERhdGFTYXZlZChudWxsLCB0aGlzLml0ZW0yKTtcbiAgfVxuXG4gIGNhcGFiaWxpdGllczogQ2FwYWJpbGl0aWVzO1xuICBleHRlcm5hbFBhbmVscyA9IG5ldyBRdWVyeUxpc3Q8VGFiUGFuZWxDb21wb25lbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJQYW5lbENvbXBvbmVudCkgdGFiUGFuZWxzOiBRdWVyeUxpc3Q8VGFiUGFuZWxDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFRhYlBsdWdpbkNvbXBvbmVudClcbiAgdGFiUGx1Z2luczogUXVlcnlMaXN0PFRhYlBsdWdpbkNvbXBvbmVudD47XG5cbiAgLy8gc2hvcnRjdXQgYWN0aW9uc1xuICBzaG9ydGN1dHM6IEdsb2JhbFNob3J0Y3V0Q29tcG9uZW50ID0ge1xuICAgIGlkOiAnZW8ub2JqZWN0LWRldGFpbHMnLFxuICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaG9ydGN1dHMuZW8tb2JqZWN0LWRldGFpbHMudGl0bGUnKSxcbiAgICBsYWJlbEtleTogJ2VvLnNob3J0Y3V0cy5lby1vYmplY3QtZGV0YWlscy50aXRsZScsXG4gICAgYWN0aW9uczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaG9ydGN1dHMuYWN0aW9uLm9wZW4uY29udGV4dCcpLFxuICAgICAgICBuYW1lS2V5OiAnZW8uc2hvcnRjdXRzLmFjdGlvbi5vcGVuLmNvbnRleHQnLFxuICAgICAgICBzaG9ydGN1dDogbmV3IFNob3J0Y3V0KCdPJywgZmFsc2UsIGZhbHNlKSxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vcGVuT2JqZWN0KHRoaXMuaXRlbS5pZCwgdGhpcy5pdGVtLnR5cGVOYW1lKTtcbiAgICAgICAgfSxcbiAgICAgICAgaXNIaWRkZW46ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgQElucHV0KCkgYXBwbHlTZWxlY3Rpb246IFNlbGVjdGlvbkNvbmZpZztcbiAgQElucHV0KCkgcGFyc2VEbXNQYXJhbXM6IChkYXRhKSA9PiB7fSA9IHRoaXMuZ2V0RG1zUGFyYW1zO1xuICBAT3V0cHV0KCkgaGFzQ29udGVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXR5cGUnKSBnZXQgZGF0YVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSA/IHRoaXMuaXRlbS50eXBlTmFtZSA6ICdub25lJztcbiAgfVxuXG4gIHVuZG9ja1dpbkFjdGl2ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBzeXN0ZW06IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbXB0eTogRW1wdHlTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhZ2VudFNlcnZpY2U6IEFnZW50U2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZG1zU2VydmljZTogRG1zU2VydmljZSxcbiAgICBwcml2YXRlIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGlvblNlcnZpY2U6IEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYXBhYmlsaXR5U2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgICBwcml2YXRlIHVwbG9hZFJlZ2lzdHJ5OiBVcGxvYWRSZWdpc3RyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZyxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnBhbmVsT3JkZXIgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0UmF3KCdvYmplY3REZXRhaWxzVGFicycpIHx8IHRoaXMucGFuZWxPcmRlcjtcbiAgICB0aGlzLnVuZG9ja1dpbkFjdGl2ZSA9IENvbnRlbnRQcmV2aWV3U2VydmljZS51bmRvY2tXaW5BY3RpdmUoKTtcblxuICAgIHRoaXMuYWdlbnRTZXJ2aWNlLnNldEFnZW50U3RhdHVzKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ2Nvbm5lY3RhZ2VudCddKS5zdWJzY3JpYmUoKGhhc1N0YXR1czogYm9vbGVhbikgPT4ge1xuICAgICAgaWYgKGhhc1N0YXR1cykge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge3F1ZXJ5UGFyYW1zOiB7Y29ubmVjdGFnZW50OiBudWxsfSwgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJ30pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuXG4gIHByaXZhdGUgZ2V0RG1zUGFyYW1zKGRhdGE6IGFueSk6IERtc1BhcmFtcyB7XG4gICAgcmV0dXJuIGRhdGEgPyB7Li4uZGF0YSwgdHlwZTogZGF0YS50eXBlTmFtZSB8fCBkYXRhLnR5cGV9IDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29udGVudCgpIHtcblxuICAgIGlmICh0aGlzLmFwcGx5U2VsZWN0aW9uKSB7XG4gICAgICBpZiAodGhpcy5lbmFibGVDb21wYXJlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uXG4gICAgICAgICAgLmZpbmQodGhpcy5hcHBseVNlbGVjdGlvbi5pbilcbiAgICAgICAgICAuc2VsZWN0aW9uJFxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJClcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kbXNQYXJhbXMgPSB0aGlzLnBhcnNlRG1zUGFyYW1zKHJlc1swXSkgYXMgRG1zUGFyYW1zO1xuICAgICAgICAgICAgdGhpcy5kbXNQYXJhbXMyID0gdGhpcy5wYXJzZURtc1BhcmFtcyhyZXNbMV0pIGFzIERtc1BhcmFtcztcbiAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25cbiAgICAgICAgICAuZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLmluKVxuICAgICAgICAgIC5mb2N1cyRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmxvYWREbXNPYmplY3QodGhpcy5wYXJzZURtc1BhcmFtcyhyZXMpIGFzIERtc1BhcmFtcykuc3Vic2NyaWJlKChyZXM6IERtc09iamVjdCkgPT4ge1xuICAgICAgICAgICAgICAvLyByZWZyZXNoaW5nIG9iamVjdCBkZXRhaWxzIG1heSByZXN1bHQgaW4gYW4gdXBkYXRlZCB2ZXJzaW9uIG9mIHRoZSBvYmplY3RcbiAgICAgICAgICAgICAgLy8gc28gd2UnbGwgdXNlIHRoaXMgdHJpZ2dlciB0byBhbHNvIGVtaXR0IHRob3NlIGNoYW5nZXMgdG8gb3RoZXIgbGlzdGVuaW5nIGNvbXBvbmVudHNcbiAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbSAmJiByZXMgJiYgKHRoaXMuaXRlbS5pZCA9PT0gcmVzLmlkKSAmJiByZXMudmVyc2lvbiA+IHRoaXMuaXRlbS52ZXJzaW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UudHJpZ2dlcihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfVVBEQVRFRCwgcmVzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLmRtc09iamVjdCA9IHJlcztcbiAgICAgICAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBVdGlscy50aHJvdygoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZFJlZ2lzdHJ5LnVucmVnaXN0ZXIodGhpcy51cGxvYWRUYXJnZXQuaWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9uSGFzRXJyb3IodHJ1ZSwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2hDb250ZW50KCkge1xuICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlSW5kZXhEYXRhUHJldmlldyhpdGVtOiBEbXNPYmplY3QsIGZvcm1EYXRhPzogYW55KSB7XG4gICAgY29uc3Qge2lkLCBkYXRhLCB0eXBlLCBjcmVhdGVkLCBtb2RpZmllZCwgY29udGVudCwgY29udGVudEZpbGVOYW1lLCBjb250ZW50RmlsZVNpemUsIHZlcnNpb259ID0gaXRlbTtcblxuICAgIHJldHVybiB0aGlzLnN5c3RlbVxuICAgICAgLmdldE9iamVjdFR5cGVGb3JtKHR5cGUubmFtZSwgJ0VESVQnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChmb3JtID0+IHtcbiAgICAgICAgICBsZXQgaW5kZXhEYXRhUHJldmlldyA9IHtcbiAgICAgICAgICAgIGZvcm0sXG4gICAgICAgICAgICBkYXRhOiBmb3JtRGF0YSB8fCBkYXRhXG4gICAgICAgICAgfTtcbiAgICAgICAgICBsZXQgYmFzZXBhcmFtczogQmFzZVBhcmFtcyA9IHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgdHlwZTogdHlwZS5uYW1lLFxuICAgICAgICAgICAgY3JlYXRlZE9uOiBuZXcgRGF0ZShjcmVhdGVkLm9uKSxcbiAgICAgICAgICAgIG1vZGlmaWVkT246IG5ldyBEYXRlKG1vZGlmaWVkLm9uKSxcbiAgICAgICAgICAgIGNyZWF0ZWRCeTogYCR7Y3JlYXRlZC5ieS50aXRsZX0gKCR7Y3JlYXRlZC5ieS5uYW1lfSlgLFxuICAgICAgICAgICAgbW9kaWZpZWRCeTogYCR7bW9kaWZpZWQuYnkudGl0bGV9ICgke21vZGlmaWVkLmJ5Lm5hbWV9KWAsXG4gICAgICAgICAgICBjb250ZW50RmlsZU5hbWU6IGNvbnRlbnRGaWxlTmFtZSA/IGNvbnRlbnRGaWxlTmFtZSA6IG51bGwsXG4gICAgICAgICAgICBjb250ZW50RmlsZVNpemU6IGNvbnRlbnRGaWxlU2l6ZSA/IE51bWJlcihjb250ZW50RmlsZVNpemUpIDogbnVsbCxcbiAgICAgICAgICAgIHZlcnNpb246IHZlcnNpb24gfHwgMCxcbiAgICAgICAgICAgIG1pbWVHcm91cDogY29udGVudCA/IGNvbnRlbnQuY29udGVudHMgPyBjb250ZW50LmNvbnRlbnRzWzBdLm1pbWVncm91cCA6IG51bGwgOiBudWxsLFxuICAgICAgICAgICAgZGlnZXN0OiBjb250ZW50ID8gY29udGVudC5jb250ZW50cyA/IGNvbnRlbnQuY29udGVudHNbMF0uZGlnZXN0IDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgICBjb250ZW50SWQ6IGNvbnRlbnQgPyBjb250ZW50LmNvbnRlbnRzID8gY29udGVudC5pZCA6IG51bGwgOiBudWxsXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4ge2luZGV4RGF0YVByZXZpZXcsIGJhc2VwYXJhbXN9O1xuICAgICAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIG9uSGFzRXJyb3IoaGFzRXJyb3IgPSBmYWxzZSwgbm9kbXNvYmplY3QgPSBmYWxzZSwgc2hvd0xvYWRlciA9IGZhbHNlKSB7XG4gICAgdGhpcy5oYXNFcnJvciA9IGhhc0Vycm9yO1xuICAgIHRoaXMubm9kbXNvYmplY3QgPSBub2Rtc29iamVjdDtcbiAgICB0aGlzLnNob3dMb2FkZXIgPSBzaG93TG9hZGVyO1xuICAgIHRoaXMuaGFzQ29udGVudC5lbWl0KCFoYXNFcnJvcik7XG4gIH1cblxuICBsb2FkRG1zT2JqZWN0KHBhcmFtczogRG1zUGFyYW1zKSB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZUNvbXBhcmUgJiYgcGFyYW1zKSB7XG4gICAgICBkZWxldGUgcGFyYW1zLnZlcnNpb247XG4gICAgfVxuICAgIC8vIGNoZWNrIGZvciB2YWxpZCBpZFxuICAgIHJldHVybiBwYXJhbXM/LmlkPy5sZW5ndGggPT09IDMyID8gdGhpcy5kbXNTZXJ2aWNlLmdldERtc09iamVjdEJ5UGFyYW1zKHBhcmFtcykgOiBvZihudWxsKTtcbiAgfVxuXG4gIGRvd25sb2FkT3JpZ2luYWxDb250ZW50KCkge1xuICAgIHRoaXMuYmFja2VuZC5kb3dubG9hZENvbnRlbnQoW3RoaXMuaXRlbV0pO1xuICB9XG5cbiAgc2hvd0FjdGlvbnMoKSB7XG4gICAgY29uc3QgYWN0aW9ucyA9IFt0aGlzLml0ZW0sIHRoaXMuaXRlbTJdLmZpbHRlcih2ID0+IHYpO1xuICAgIHRoaXMuYWN0aW9uU2VydmljZS5zaG93QWN0aW9ucyhhY3Rpb25zLCAnRE1TX09CSkVDVCcpO1xuICB9XG5cbiAgb3Blbk9iamVjdChpZCwgX3R5cGU/KSB7XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IE5hdmlnYXRpb25FeHRyYXMgPSB7cXVlcnlQYXJhbXM6IHsndHlwZSc6IF90eXBlfX07XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL29iamVjdCcsIGlkXSwgcXVlcnlQYXJhbXMpO1xuICB9XG5cbiAgLy8gZXhlY3V0ZWQgd2hlbiB0aGUgZG1zIG9iamVjdCBjaGFuZ2VkIGR1ZSB0byBzYXZpbmcgaXRzIGluZGV4ZGF0YVxuICBvbkluZGV4RGF0YVNhdmVkKGZvcm1EYXRhLCBpdGVtKSB7XG4gICAgaWYgKCF0aGlzLml0ZW0pIHtcbiAgICAgIHRoaXMuaW5kZXhEYXRhUHJldmlldyA9IG51bGw7XG4gICAgICB0aGlzLmJhc2VwYXJhbXMgPSBudWxsO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuaXRlbTIpIHtcbiAgICAgIHRoaXMuaW5kZXhEYXRhUHJldmlldzIgPSBudWxsO1xuICAgICAgdGhpcy5iYXNlcGFyYW1zMiA9IG51bGw7XG4gICAgfVxuICAgIGlmIChpdGVtKSB7XG4gICAgICB0aGlzLnByZXBhcmVJbmRleERhdGFQcmV2aWV3KGl0ZW0sIGZvcm1EYXRhKVxuICAgICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgIGlmIChpdGVtID09PSB0aGlzLml0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXhEYXRhUHJldmlldyA9IGRhdGEuaW5kZXhEYXRhUHJldmlldztcbiAgICAgICAgICAgIHRoaXMuYmFzZXBhcmFtcyA9IGRhdGEuYmFzZXBhcmFtcztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3MiA9IGRhdGEuaW5kZXhEYXRhUHJldmlldztcbiAgICAgICAgICAgIHRoaXMuYmFzZXBhcmFtczIgPSBkYXRhLmJhc2VwYXJhbXM7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVmZXJlbmNlVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtLmNvbnRleHRGb2xkZXIgPyB0aGlzLml0ZW0uY29udGV4dEZvbGRlci50aXRsZSA6IHRoaXMuaXRlbS50aXRsZTtcbiAgfVxuXG4gIGlzSm91cm5hbE9iamVjdChpdGVtKSB7XG4gICAgcmV0dXJuIGl0ZW0udHlwZS5zdXBlcnR5cGVzLmZpbmQoc1QgPT4gc1QgPT09ICdzeXNqb3VybmFsb2JqZWN0Jyk7XG4gIH1cblxuICBpc1Zpc2libGUoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBhbmVsT3JkZXIubWFzdGVyLmluY2x1ZGVzKGlkKSB8fCB0aGlzLnBhbmVsT3JkZXIuc2xhdmUuaW5jbHVkZXMoaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdWJzY3JpcHRpb25JY29uVG9vbHRpcChpdGVtOiBEbXNPYmplY3QpOiBzdHJpbmcge1xuICAgIGxldCB0b29sdGlwID0gJyc7XG4gICAgY29uc3QgbW9kZXMgPSB0aGlzLml0ZW0uc3Vic2NyaXB0aW9ucy5tYXAoc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi5tb2RlKTtcbiAgICBjb25zdCBzdWJzY3JpYmVkVG9BbGxDaGFuZ2VzID0gbW9kZXMuaW5jbHVkZXMoU3Vic2NyaXB0aW9uTW9kZS5ETVNfT0JKRUNUX0NIQU5HRUQpIHx8IChtb2Rlcy5pbmNsdWRlcyhTdWJzY3JpcHRpb25Nb2RlLk9OTFlfRE9DVU1FTlRfQ09OVEVOVF9DSEFOR0VEKSAmJiBtb2Rlcy5pbmNsdWRlcyhTdWJzY3JpcHRpb25Nb2RlLk9OTFlfSU5ERVhfREFUQV9DSEFOR0VEKSk7XG4gICAgY29uc3Qgc3Vic2NyaWJlZFRvTWV0YUNoYW5nZXNPbmx5ID0gbW9kZXMuaW5jbHVkZXMoU3Vic2NyaXB0aW9uTW9kZS5PTkxZX0lOREVYX0RBVEFfQ0hBTkdFRCkgJiYgIW1vZGVzLmluY2x1ZGVzKFN1YnNjcmlwdGlvbk1vZGUuT05MWV9ET0NVTUVOVF9DT05URU5UX0NIQU5HRUQpICYmICFtb2Rlcy5pbmNsdWRlcyhTdWJzY3JpcHRpb25Nb2RlLkRNU19PQkpFQ1RfQ0hBTkdFRCk7XG4gICAgY29uc3Qgc3Vic2NyaWJlZFRvQ29udGVudENoYW5nZXNPbmx5ID0gbW9kZXMuaW5jbHVkZXMoU3Vic2NyaXB0aW9uTW9kZS5PTkxZX0RPQ1VNRU5UX0NPTlRFTlRfQ0hBTkdFRCkgJiYgIW1vZGVzLmluY2x1ZGVzKFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUQpICYmICFtb2Rlcy5pbmNsdWRlcyhTdWJzY3JpcHRpb25Nb2RlLkRNU19PQkpFQ1RfQ0hBTkdFRCk7XG4gICAgaWYgKHN1YnNjcmliZWRUb0FsbENoYW5nZXMpIHtcbiAgICAgIHRvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3Quc3Vic2NyaXB0aW9uLmljb24udG9vbHRpcC5hbGxDaGFuZ2VzJyk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHN1YnNjcmliZWRUb01ldGFDaGFuZ2VzT25seSkge1xuICAgICAgdG9vbHRpcCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLm9iamVjdC5zdWJzY3JpcHRpb24uaWNvbi50b29sdGlwLm1ldGEnKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoc3Vic2NyaWJlZFRvQ29udGVudENoYW5nZXNPbmx5KSB7XG4gICAgICB0b29sdGlwID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ub2JqZWN0LnN1YnNjcmlwdGlvbi5pY29uLnRvb2x0aXAuY29udGVudCcpO1xuICAgIH1cbiAgICByZXR1cm4gdG9vbHRpcDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXR5U2VydmljZS5nZXRDYXBhYmlsaXRpZXMoKTtcblxuICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuXG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfVVBEQVRFRClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudC5kYXRhICYmIHRoaXMuaXRlbS5pZCA9PT0gZXZlbnQuZGF0YS5pZCkge1xuICAgICAgICAgIHRoaXMuZG1zT2JqZWN0ID0gdGhpcy5kbXNTZXJ2aWNlLmNyZWF0ZUxvY2FsQ29weU9mRE1TT2JqZWN0KGV2ZW50LmRhdGEpO1xuICAgICAgICAgIGlmICh0aGlzLnByZXZpZXcgJiYgIXRoaXMucHJldmlldy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aWV3LnJlZnJlc2goKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LklOQk9YX0lURU1fQ09ORklSTUVEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbSAmJiB0aGlzLml0ZW0uaWQgPT09IGV2ZW50LmRhdGEudGFyZ2V0LmlkKSB7XG4gICAgICAgICAgdGhpcy5kbXNQYXJhbXMgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBsZXQgcGFuZWxzID0gdGhpcy50YWJQYW5lbHMudG9BcnJheSgpO1xuICAgIHRoaXMudGFiUGx1Z2lucy5mb3JFYWNoKHAgPT4gcGFuZWxzID0gcGFuZWxzLmNvbmNhdChwLnRhYlBhbmVscy50b0FycmF5KCkpKTtcbiAgICB0aGlzLmV4dGVybmFsUGFuZWxzLnJlc2V0KHBhbmVscyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVwbG9hZFJlZ2lzdHJ5LnVucmVnaXN0ZXIodGhpcy51cGxvYWRUYXJnZXQuaWQpO1xuICB9XG59XG4iXX0=
359
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWRldGFpbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxFQUFFLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUFFLFdBQVcsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxNQUFNLEVBQW9CLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFHeEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDTSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFjLGFBQWEsRUFDaEYsVUFBVSxFQUFFLGNBQWMsRUFBZ0IsbUJBQW1CLEVBQzdELFlBQVksRUFBRSxVQUFVLEVBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxnQkFBZ0IsRUFDakIsTUFBTSxxREFBcUQsQ0FBQztBQUM3RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQ0FB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QWUsU0FBQyxpQkFBaUI7eUJBQ2pDLGVBQWUsU0FBQyxrQkFBa0I7NkJBd0JsQyxLQUFLOzZCQUNMLEtBQUs7eUJBQ0wsTUFBTTt1QkFFTixXQUFXLFNBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtvZiwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7dGFrZVVudGlsLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgVmlld0NoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgT25Jbml0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCwgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RhYlBhbmVsQ29tcG9uZW50fSBmcm9tICcuLi90YWItY29udGFpbmVyL3RhYi1wYW5lbC90YWItcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7VGFiUGx1Z2luQ29tcG9uZW50fSBmcm9tICcuLi9wbHVnaW5zL3BsdWdpbi5jb21wb25lbnQnO1xuaW1wb3J0IHtHbG9iYWxTaG9ydGN1dENvbXBvbmVudH0gZnJvbSAnLi4vc2hvcnRjdXRzL2dsb2JhbC1zaG9ydGN1dC1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7U2hvcnRjdXR9IGZyb20gJy4uL3Nob3J0Y3V0cy9zaG9ydGN1dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtSb3V0ZXIsIE5hdmlnYXRpb25FeHRyYXMsIEFjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlLCBDb25maWcsIFN1YnNjcmlwdGlvbk1vZGV9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge01lZGlhQ29tcG9uZW50fSBmcm9tICcuLi9tZWRpYS9tZWRpYS5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmRleERhdGF9IGZyb20gJy4uL3VpL2luZGV4ZGF0YS1zdW1tYXJ5L2luZGV4ZGF0YS1zdW1tYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQge0FjdGlvblNlcnZpY2V9IGZyb20gJy4uL2FjdGlvbnMvYWN0aW9uLXNlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRG1zT2JqZWN0LCBVdGlscywgVXBsb2FkUmVnaXN0cnlTZXJ2aWNlLCBVcGxvYWRUYXJnZXQsIEJhc2VQYXJhbXMsIFN5c3RlbVNlcnZpY2UsIERtc1BhcmFtcyxcbiAgRG1zU2VydmljZSwgQmFja2VuZFNlcnZpY2UsIENhcGFiaWxpdGllcywgQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgRXZlbnRTZXJ2aWNlLCBFbmFpb0V2ZW50XG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1xuICBTZWxlY3Rpb25Db25maWcsXG4gIFNlbGVjdGlvblNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7VW5zdWJzY3JpYmVPbkRlc3Ryb3l9IGZyb20gJy4uL3V0aWwvdW5zdWJzY3JpYmUvdW5zdWJzY3JpYmUuY29tcG9uZW50JztcbmltcG9ydCB7QWdlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9hZ2VudC9hZ2VudC5zZXJ2aWNlJztcbmltcG9ydCB7TG9jYWxlRGF0ZVBpcGV9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BpcGVzL2xvY2FsZS1kYXRlLnBpcGUnO1xuaW1wb3J0IHtFbXB0eVN0YXRlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0NvbnRlbnRQcmV2aWV3U2VydmljZX0gZnJvbSAnLi4vbWVkaWEvY29udGVudC1wcmV2aWV3LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1vYmplY3QtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0NvbnRlbnRQcmV2aWV3U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0RGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIFVuc3Vic2NyaWJlT25EZXN0cm95XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdlcicpIHByZXZpZXc6IE1lZGlhQ29tcG9uZW50O1xuXG4gIC8vIGdlbmVyYXRlIHVuaXF1ZSBpZCB0byBwYXNzIHRvIHVwbG9hZCByZWdpc3RyeVxuICBwcml2YXRlIHVwbG9hZFRhcmdldCA9IG5ldyBVcGxvYWRUYXJnZXQoVXRpbHMudXVpZCgpLCBVcGxvYWRUYXJnZXQuT0JKRUNUKTtcbiAgaXRlbTogRG1zT2JqZWN0O1xuICBpbmRleERhdGFQcmV2aWV3OiBJbmRleERhdGE7XG4gIGJhc2VwYXJhbXM6IEJhc2VQYXJhbXM7XG4gIGhhc0Vycm9yID0gZmFsc2U7XG4gIGxvY2tUb29sdGlwOiBzdHJpbmc7XG4gIG5vZG1zb2JqZWN0ID0gZmFsc2U7XG4gIHNob3dMb2FkZXIgPSBmYWxzZTtcbiAgcGFuZWxPcmRlciA9IHsnbWFzdGVyJzogWydzdW1tYXJ5JywgJ2luZGV4ZGF0YScsICdoaXN0b3J5JywgJ2xpbmtzJ10sICdzbGF2ZSc6IFsncHJldmlldyddfTtcbiAgYWdlbnRJc0Nvbm5lY3RlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmFnZW50U2VydmljZS5pc0Nvbm5lY3RlZCQ7XG4gIHN1YnNjcmlwdGlvbkljb25Ub29sdGlwOiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MucmVmZXJlbmNlJykgaXNSZWZlcmVuY2U6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2V0IHJlZmVyZW5jZShpc1JlZjogYm9vbGVhbikge1xuICAgIHRoaXMuaXNSZWZlcmVuY2UgPSBpc1JlZjtcbiAgfVxuICBASW5wdXQoKSBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVuYWJsZUNvbXBhcmUgPSBmYWxzZTtcbiAgQElucHV0KCkgZW5hYmxlRGlmZiA9IHRydWU7XG4gIEBJbnB1dCgpIGVuYWJsZVN5bmMgPSB0cnVlO1xuICBASW5wdXQoKSBjYWNoZUxheW91dDogYW55O1xuICBpdGVtMjogRG1zT2JqZWN0O1xuICBpbmRleERhdGFQcmV2aWV3MjogSW5kZXhEYXRhO1xuICBiYXNlcGFyYW1zMjogQmFzZVBhcmFtcztcbiAgcHJpdmF0ZSBfZW1wdHlTdGF0ZTogRW1wdHlTdGF0ZSA9IHtpY29uOiAnaWNfbm8tZmlsZS5zdmcnLCB0ZXh0OiAnJywgY2xhc3NOYW1lOiAnJ307XG5cbiAgQElucHV0KClcbiAgc2V0IGVtcHR5U3RhdGUoZTogRW1wdHlTdGF0ZSkge1xuICAgIHRoaXMuX2VtcHR5U3RhdGUgPSBlIHx8IEVtcHR5U3RhdGVTZXJ2aWNlLmRlZmF1bHRFbXB0eVN0YXRlKCk7XG4gIH1cblxuICBnZXQgZW1wdHlTdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZW1wdHlTdGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgncGFyYW1zJylcbiAgc2V0IGRtc1BhcmFtcyhwYXJhbXM6IERtc1BhcmFtcykge1xuICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XG4gICAgdGhpcy5sb2FkRG1zT2JqZWN0KHBhcmFtcykuc3Vic2NyaWJlKChyZXM6IERtc09iamVjdCkgPT4ge1xuICAgICAgdGhpcy5kbXNPYmplY3QgPSByZXM7XG4gICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICB9LFxuICAgICAgVXRpbHMudGhyb3coKCkgPT4gdGhpcy5vbkhhc0Vycm9yKHRydWUsIHRydWUsIGZhbHNlKSlcbiAgICApO1xuICB9XG5cbiAgQElucHV0KCdwYXJhbXMyJylcbiAgc2V0IGRtc1BhcmFtczIocGFyYW1zOiBEbXNQYXJhbXMpIHtcbiAgICB0aGlzLmxvYWREbXNPYmplY3QocGFyYW1zKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBEbXNPYmplY3QpID0+IHtcbiAgICAgICAgdGhpcy5kbXNPYmplY3QyID0gcmVzO1xuICAgICAgfSwgVXRpbHMudGhyb3coKCkgPT4gdGhpcy5vbkhhc0Vycm9yKHRydWUsIHRydWUsIGZhbHNlKSkpO1xuICB9XG5cbiAgQElucHV0KCdpdGVtJylcbiAgc2V0IGRtc09iamVjdCh2OiBEbXNPYmplY3QpIHtcbiAgICB0aGlzLml0ZW0gPSB2O1xuICAgIHRoaXMub25IYXNFcnJvcigpO1xuICAgIC8vIHByZXBhcmUgaW5kZXhkYXRhIHByZXZpZXdcbiAgICB0aGlzLm9uSW5kZXhEYXRhU2F2ZWQobnVsbCwgdGhpcy5pdGVtKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9MT0FERUQsIHRoaXMuaXRlbSk7XG5cbiAgICBpZiAodGhpcy5pdGVtKSB7XG4gICAgICBpZiAodGhpcy5pdGVtLmlzQWN0aXZlVmVyc2lvbiAmJiAhdGhpcy5lbmFibGVDb21wYXJlKSB7XG4gICAgICAgIHRoaXMudXBsb2FkVGFyZ2V0LnJlZmVyZW5jZU9iamVjdCA9IHRoaXMuaXRlbTtcbiAgICAgICAgdGhpcy51cGxvYWRUYXJnZXQub25VcGxvYWRTdWNjZXNzID0gKCkgPT4gdGhpcy5kbXNQYXJhbXMgPSB7aWQ6IHYuaWQsIHR5cGU6IHYudHlwZU5hbWV9O1xuICAgICAgICB0aGlzLnVwbG9hZFJlZ2lzdHJ5LnJlZ2lzdGVyKHRoaXMudXBsb2FkVGFyZ2V0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaXRlbS5sb2NrKSB7XG4gICAgICAgIHRoaXMubG9ja1Rvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QubG9jaycpICsgJyAnXG4gICAgICAgICAgKyAobmV3IExvY2FsZURhdGVQaXBlKHRoaXMudHJhbnNsYXRlKS50cmFuc2Zvcm0odGhpcy5pdGVtLmxvY2sub24pKVxuICAgICAgICAgICsgJywgJyArIHRoaXMuaXRlbS5sb2NrLmJ5LmxhYmVsICsgJyAoJyArIHRoaXMuaXRlbS5sb2NrLmJ5Lm5hbWUgKyAnKSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1wdHlTdGF0ZSA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZSgwKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pdGVtPy5zdWJzY3JpcHRpb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25JY29uVG9vbHRpcCA9IHRoaXMuY3JlYXRlU3Vic2NyaXB0aW9uSWNvblRvb2x0aXAodGhpcy5pdGVtKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ2l0ZW0yJylcbiAgc2V0IGRtc09iamVjdDIodjogRG1zT2JqZWN0KSB7XG4gICAgdGhpcy5pdGVtMiA9IHY7XG4gICAgdGhpcy5vbkhhc0Vycm9yKCk7XG4gICAgdGhpcy5vbkluZGV4RGF0YVNhdmVkKG51bGwsIHRoaXMuaXRlbTIpO1xuICB9XG5cbiAgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXM7XG4gIGV4dGVybmFsUGFuZWxzID0gbmV3IFF1ZXJ5TGlzdDxUYWJQYW5lbENvbXBvbmVudD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYlBhbmVsQ29tcG9uZW50KSB0YWJQYW5lbHM6IFF1ZXJ5TGlzdDxUYWJQYW5lbENvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiUGx1Z2luQ29tcG9uZW50KVxuICB0YWJQbHVnaW5zOiBRdWVyeUxpc3Q8VGFiUGx1Z2luQ29tcG9uZW50PjtcbiAgcHJldmVudENsaWNrVGhyb3VnaCA9IGZhbHNlO1xuXG4gIC8vIHNob3J0Y3V0IGFjdGlvbnNcbiAgc2hvcnRjdXRzOiBHbG9iYWxTaG9ydGN1dENvbXBvbmVudCA9IHtcbiAgICBpZDogJ2VvLm9iamVjdC1kZXRhaWxzJyxcbiAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmVvLW9iamVjdC1kZXRhaWxzLnRpdGxlJyksXG4gICAgbGFiZWxLZXk6ICdlby5zaG9ydGN1dHMuZW8tb2JqZWN0LWRldGFpbHMudGl0bGUnLFxuICAgIGFjdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmFjdGlvbi5vcGVuLmNvbnRleHQnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnNob3J0Y3V0cy5hY3Rpb24ub3Blbi5jb250ZXh0JyxcbiAgICAgICAgc2hvcnRjdXQ6IG5ldyBTaG9ydGN1dCgnTycsIGZhbHNlLCBmYWxzZSksXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMub3Blbk9iamVjdCh0aGlzLml0ZW0uaWQsIHRoaXMuaXRlbS50eXBlTmFtZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXVxuICB9O1xuXG4gIEBJbnB1dCgpIGFwcGx5U2VsZWN0aW9uOiBTZWxlY3Rpb25Db25maWc7XG4gIEBJbnB1dCgpIHBhcnNlRG1zUGFyYW1zOiAoZGF0YSkgPT4ge30gPSB0aGlzLmdldERtc1BhcmFtcztcbiAgQE91dHB1dCgpIGhhc0NvbnRlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10eXBlJykgZ2V0IGRhdGFUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLml0ZW0gPyB0aGlzLml0ZW0udHlwZU5hbWUgOiAnbm9uZSc7XG4gIH1cblxuICB1bmRvY2tXaW5BY3RpdmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWdlbnRTZXJ2aWNlOiBBZ2VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICBwcml2YXRlIGRtc1NlcnZpY2U6IERtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0eVNlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB1cGxvYWRSZWdpc3RyeTogVXBsb2FkUmVnaXN0cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWcsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5wYW5lbE9yZGVyID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldFJhdygnb2JqZWN0RGV0YWlsc1RhYnMnKSB8fCB0aGlzLnBhbmVsT3JkZXI7XG4gICAgdGhpcy51bmRvY2tXaW5BY3RpdmUgPSBDb250ZW50UHJldmlld1NlcnZpY2UudW5kb2NrV2luQWN0aXZlKCk7XG5cbiAgICB0aGlzLmFnZW50U2VydmljZS5zZXRBZ2VudFN0YXR1cyh0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydjb25uZWN0YWdlbnQnXSkuc3Vic2NyaWJlKChoYXNTdGF0dXM6IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmIChoYXNTdGF0dXMpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtxdWVyeVBhcmFtczoge2Nvbm5lY3RhZ2VudDogbnVsbH0sIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZSd9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldERtc1BhcmFtcyhkYXRhOiBhbnkpOiBEbXNQYXJhbXMge1xuICAgIHJldHVybiBkYXRhID8gey4uLmRhdGEsIHR5cGU6IGRhdGEudHlwZU5hbWUgfHwgZGF0YS50eXBlfSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbnRlbnQoKSB7XG5cbiAgICBpZiAodGhpcy5hcHBseVNlbGVjdGlvbikge1xuICAgICAgaWYgKHRoaXMuZW5hYmxlQ29tcGFyZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvblxuICAgICAgICAgIC5maW5kKHRoaXMuYXBwbHlTZWxlY3Rpb24uaW4pXG4gICAgICAgICAgLnNlbGVjdGlvbiRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55W10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG1zUGFyYW1zID0gdGhpcy5wYXJzZURtc1BhcmFtcyhyZXNbMF0pIGFzIERtc1BhcmFtcztcbiAgICAgICAgICAgIHRoaXMuZG1zUGFyYW1zMiA9IHRoaXMucGFyc2VEbXNQYXJhbXMocmVzWzFdKSBhcyBEbXNQYXJhbXM7XG4gICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uXG4gICAgICAgICAgLmZpbmQodGhpcy5hcHBseVNlbGVjdGlvbi5pbilcbiAgICAgICAgICAuZm9jdXMkXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5sb2FkRG1zT2JqZWN0KHRoaXMucGFyc2VEbXNQYXJhbXMocmVzKSBhcyBEbXNQYXJhbXMpLnN1YnNjcmliZSgocmVzOiBEbXNPYmplY3QpID0+IHtcbiAgICAgICAgICAgICAgLy8gcmVmcmVzaGluZyBvYmplY3QgZGV0YWlscyBtYXkgcmVzdWx0IGluIGFuIHVwZGF0ZWQgdmVyc2lvbiBvZiB0aGUgb2JqZWN0XG4gICAgICAgICAgICAgIC8vIHNvIHdlJ2xsIHVzZSB0aGlzIHRyaWdnZXIgdG8gYWxzbyBlbWl0dCB0aG9zZSBjaGFuZ2VzIHRvIG90aGVyIGxpc3RlbmluZyBjb21wb25lbnRzXG4gICAgICAgICAgICAgIGlmICh0aGlzLml0ZW0gJiYgcmVzICYmICh0aGlzLml0ZW0uaWQgPT09IHJlcy5pZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9VUERBVEVELCByZXMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuZG1zT2JqZWN0ID0gcmVzO1xuICAgICAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFV0aWxzLnRocm93KChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkUmVnaXN0cnkudW5yZWdpc3Rlcih0aGlzLnVwbG9hZFRhcmdldC5pZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub25IYXNFcnJvcih0cnVlLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaENvbnRlbnQoKSB7XG4gICAgaWYgKCF0aGlzLnByZXZlbnRDbGlja1Rocm91Z2gpIHtcbiAgICAgIHRoaXMucHJldmVudENsaWNrVGhyb3VnaCA9IHRydWU7XG4gICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgICB9XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnByZXZlbnRDbGlja1Rocm91Z2ggPSBmYWxzZTtcbiAgICB9LCA1MDAwKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZUluZGV4RGF0YVByZXZpZXcoaXRlbTogRG1zT2JqZWN0LCBmb3JtRGF0YT86IGFueSkge1xuICAgIGNvbnN0IHtpZCwgZGF0YSwgdHlwZSwgY3JlYXRlZCwgbW9kaWZpZWQsIGNvbnRlbnQsIGNvbnRlbnRGaWxlTmFtZSwgY29udGVudEZpbGVTaXplLCB2ZXJzaW9ufSA9IGl0ZW07XG5cbiAgICByZXR1cm4gdGhpcy5zeXN0ZW1cbiAgICAgIC5nZXRPYmplY3RUeXBlRm9ybSh0eXBlLm5hbWUsICdFRElUJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoZm9ybSA9PiB7XG4gICAgICAgICAgbGV0IGluZGV4RGF0YVByZXZpZXcgPSB7XG4gICAgICAgICAgICBmb3JtLFxuICAgICAgICAgICAgZGF0YTogZm9ybURhdGEgfHwgZGF0YVxuICAgICAgICAgIH07XG4gICAgICAgICAgbGV0IGJhc2VwYXJhbXM6IEJhc2VQYXJhbXMgPSB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHR5cGU6IHR5cGUubmFtZSxcbiAgICAgICAgICAgIGNyZWF0ZWRPbjogbmV3IERhdGUoY3JlYXRlZC5vbiksXG4gICAgICAgICAgICBtb2RpZmllZE9uOiBuZXcgRGF0ZShtb2RpZmllZC5vbiksXG4gICAgICAgICAgICBjcmVhdGVkQnk6IGAke2NyZWF0ZWQuYnkudGl0bGV9ICgke2NyZWF0ZWQuYnkubmFtZX0pYCxcbiAgICAgICAgICAgIG1vZGlmaWVkQnk6IGAke21vZGlmaWVkLmJ5LnRpdGxlfSAoJHttb2RpZmllZC5ieS5uYW1lfSlgLFxuICAgICAgICAgICAgY29udGVudEZpbGVOYW1lOiBjb250ZW50RmlsZU5hbWUgPyBjb250ZW50RmlsZU5hbWUgOiBudWxsLFxuICAgICAgICAgICAgY29udGVudEZpbGVTaXplOiBjb250ZW50RmlsZVNpemUgPyBOdW1iZXIoY29udGVudEZpbGVTaXplKSA6IG51bGwsXG4gICAgICAgICAgICB2ZXJzaW9uOiB2ZXJzaW9uIHx8IDAsXG4gICAgICAgICAgICBtaW1lR3JvdXA6IGNvbnRlbnQgPyBjb250ZW50LmNvbnRlbnRzID8gY29udGVudC5jb250ZW50c1swXS5taW1lZ3JvdXAgOiBudWxsIDogbnVsbCxcbiAgICAgICAgICAgIGRpZ2VzdDogY29udGVudCA/IGNvbnRlbnQuY29udGVudHMgPyBjb250ZW50LmNvbnRlbnRzWzBdLmRpZ2VzdCA6IG51bGwgOiBudWxsLFxuICAgICAgICAgICAgY29udGVudElkOiBjb250ZW50ID8gY29udGVudC5jb250ZW50cyA/IGNvbnRlbnQuaWQgOiBudWxsIDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHtpbmRleERhdGFQcmV2aWV3LCBiYXNlcGFyYW1zfTtcbiAgICAgICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkhhc0Vycm9yKGhhc0Vycm9yID0gZmFsc2UsIG5vZG1zb2JqZWN0ID0gZmFsc2UsIHNob3dMb2FkZXIgPSBmYWxzZSkge1xuICAgIHRoaXMuaGFzRXJyb3IgPSBoYXNFcnJvcjtcbiAgICB0aGlzLm5vZG1zb2JqZWN0ID0gbm9kbXNvYmplY3Q7XG4gICAgdGhpcy5zaG93TG9hZGVyID0gc2hvd0xvYWRlcjtcbiAgICB0aGlzLmhhc0NvbnRlbnQuZW1pdCghaGFzRXJyb3IpO1xuICB9XG5cbiAgbG9hZERtc09iamVjdChwYXJhbXM6IERtc1BhcmFtcykge1xuICAgIGlmICghdGhpcy5lbmFibGVDb21wYXJlICYmIHBhcmFtcykge1xuICAgICAgZGVsZXRlIHBhcmFtcy52ZXJzaW9uO1xuICAgIH1cbiAgICAvLyBjaGVjayBmb3IgdmFsaWQgaWRcbiAgICByZXR1cm4gcGFyYW1zPy5pZD8ubGVuZ3RoID09PSAzMiA/IHRoaXMuZG1zU2VydmljZS5nZXREbXNPYmplY3RCeVBhcmFtcyhwYXJhbXMpIDogb2YobnVsbCk7XG4gIH1cblxuICBkb3dubG9hZE9yaWdpbmFsQ29udGVudCgpIHtcbiAgICB0aGlzLmJhY2tlbmQuZG93bmxvYWRDb250ZW50KFt0aGlzLml0ZW1dKTtcbiAgfVxuXG4gIHNob3dBY3Rpb25zKCkge1xuICAgIGNvbnN0IGFjdGlvbnMgPSBbdGhpcy5pdGVtLCB0aGlzLml0ZW0yXS5maWx0ZXIodiA9PiB2KTtcbiAgICB0aGlzLmFjdGlvblNlcnZpY2Uuc2hvd0FjdGlvbnMoYWN0aW9ucywgJ0RNU19PQkpFQ1QnKTtcbiAgfVxuXG4gIG9wZW5PYmplY3QoaWQsIF90eXBlPykge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3R5cGUnOiBfdHlwZX19O1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9vYmplY3QnLCBpZF0sIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIC8vIGV4ZWN1dGVkIHdoZW4gdGhlIGRtcyBvYmplY3QgY2hhbmdlZCBkdWUgdG8gc2F2aW5nIGl0cyBpbmRleGRhdGFcbiAgb25JbmRleERhdGFTYXZlZChmb3JtRGF0YSwgaXRlbSkge1xuICAgIGlmICghdGhpcy5pdGVtKSB7XG4gICAgICB0aGlzLmluZGV4RGF0YVByZXZpZXcgPSBudWxsO1xuICAgICAgdGhpcy5iYXNlcGFyYW1zID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLml0ZW0yKSB7XG4gICAgICB0aGlzLmluZGV4RGF0YVByZXZpZXcyID0gbnVsbDtcbiAgICAgIHRoaXMuYmFzZXBhcmFtczIgPSBudWxsO1xuICAgIH1cbiAgICBpZiAoaXRlbSkge1xuICAgICAgdGhpcy5wcmVwYXJlSW5kZXhEYXRhUHJldmlldyhpdGVtLCBmb3JtRGF0YSlcbiAgICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICBpZiAoaXRlbSA9PT0gdGhpcy5pdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4RGF0YVByZXZpZXcgPSBkYXRhLmluZGV4RGF0YVByZXZpZXc7XG4gICAgICAgICAgICB0aGlzLmJhc2VwYXJhbXMgPSBkYXRhLmJhc2VwYXJhbXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXhEYXRhUHJldmlldzIgPSBkYXRhLmluZGV4RGF0YVByZXZpZXc7XG4gICAgICAgICAgICB0aGlzLmJhc2VwYXJhbXMyID0gZGF0YS5iYXNlcGFyYW1zO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHJlZmVyZW5jZVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbS5jb250ZXh0Rm9sZGVyID8gdGhpcy5pdGVtLmNvbnRleHRGb2xkZXIudGl0bGUgOiB0aGlzLml0ZW0udGl0bGU7XG4gIH1cblxuICBpc0pvdXJuYWxPYmplY3QoaXRlbSkge1xuICAgIHJldHVybiBpdGVtLnR5cGUuc3VwZXJ0eXBlcy5maW5kKHNUID0+IHNUID09PSAnc3lzam91cm5hbG9iamVjdCcpO1xuICB9XG5cbiAgaXNWaXNpYmxlKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbE9yZGVyLm1hc3Rlci5pbmNsdWRlcyhpZCkgfHwgdGhpcy5wYW5lbE9yZGVyLnNsYXZlLmluY2x1ZGVzKGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3Vic2NyaXB0aW9uSWNvblRvb2x0aXAoaXRlbTogRG1zT2JqZWN0KTogc3RyaW5nIHtcbiAgICBsZXQgdG9vbHRpcCA9ICcnO1xuICAgIGNvbnN0IG1vZGVzID0gdGhpcy5pdGVtLnN1YnNjcmlwdGlvbnMubWFwKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24ubW9kZSk7XG4gICAgY29uc3Qgc3Vic2NyaWJlZFRvQWxsQ2hhbmdlcyA9IG1vZGVzLmluY2x1ZGVzKFN1YnNjcmlwdGlvbk1vZGUuRE1TX09CSkVDVF9DSEFOR0VEKSB8fCAobW9kZXMuaW5jbHVkZXMoU3Vic2NyaXB0aW9uTW9kZS5PTkxZX0RPQ1VNRU5UX0NPTlRFTlRfQ0hBTkdFRCkgJiYgbW9kZXMuaW5jbHVkZXMoU3Vic2NyaXB0aW9uTW9kZS5PTkxZX0lOREVYX0RBVEFfQ0hBTkdFRCkpO1xuICAgIGNvbnN0IHN1YnNjcmliZWRUb01ldGFDaGFuZ2VzT25seSA9IG1vZGVzLmluY2x1ZGVzKFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUQpICYmICFtb2Rlcy5pbmNsdWRlcyhTdWJzY3JpcHRpb25Nb2RlLk9OTFlfRE9DVU1FTlRfQ09OVEVOVF9DSEFOR0VEKSAmJiAhbW9kZXMuaW5jbHVkZXMoU3Vic2NyaXB0aW9uTW9kZS5ETVNfT0JKRUNUX0NIQU5HRUQpO1xuICAgIGNvbnN0IHN1YnNjcmliZWRUb0NvbnRlbnRDaGFuZ2VzT25seSA9IG1vZGVzLmluY2x1ZGVzKFN1YnNjcmlwdGlvbk1vZGUuT05MWV9ET0NVTUVOVF9DT05URU5UX0NIQU5HRUQpICYmICFtb2Rlcy5pbmNsdWRlcyhTdWJzY3JpcHRpb25Nb2RlLk9OTFlfSU5ERVhfREFUQV9DSEFOR0VEKSAmJiAhbW9kZXMuaW5jbHVkZXMoU3Vic2NyaXB0aW9uTW9kZS5ETVNfT0JKRUNUX0NIQU5HRUQpO1xuICAgIGlmIChzdWJzY3JpYmVkVG9BbGxDaGFuZ2VzKSB7XG4gICAgICB0b29sdGlwID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ub2JqZWN0LnN1YnNjcmlwdGlvbi5pY29uLnRvb2x0aXAuYWxsQ2hhbmdlcycpO1xuICAgIH1cbiAgICBlbHNlIGlmIChzdWJzY3JpYmVkVG9NZXRhQ2hhbmdlc09ubHkpIHtcbiAgICAgIHRvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3Quc3Vic2NyaXB0aW9uLmljb24udG9vbHRpcC5tZXRhJyk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHN1YnNjcmliZWRUb0NvbnRlbnRDaGFuZ2VzT25seSkge1xuICAgICAgdG9vbHRpcCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLm9iamVjdC5zdWJzY3JpcHRpb24uaWNvbi50b29sdGlwLmNvbnRlbnQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRvb2x0aXA7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0eVNlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG5cbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlXG4gICAgICAub24oRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiB0aGlzLml0ZW0uaWQgPT09IGV2ZW50LmRhdGEuaWQpIHtcbiAgICAgICAgICB0aGlzLmRtc09iamVjdCA9IHRoaXMuZG1zU2VydmljZS5jcmVhdGVMb2NhbENvcHlPZkRNU09iamVjdChldmVudC5kYXRhKTtcbiAgICAgICAgICBpZiAodGhpcy5wcmV2aWV3ICYmICF0aGlzLnByZXZpZXcuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMucHJldmlldy5yZWZyZXNoKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlXG4gICAgICAub24oRW5haW9FdmVudC5JTkJPWF9JVEVNX0NPTkZJUk1FRClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmICh0aGlzLml0ZW0gJiYgdGhpcy5pdGVtLmlkID09PSBldmVudC5kYXRhLnRhcmdldC5pZCkge1xuICAgICAgICAgIHRoaXMuZG1zUGFyYW1zID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgbGV0IHBhbmVscyA9IHRoaXMudGFiUGFuZWxzLnRvQXJyYXkoKTtcbiAgICB0aGlzLnRhYlBsdWdpbnMuZm9yRWFjaChwID0+IHBhbmVscyA9IHBhbmVscy5jb25jYXQocC50YWJQYW5lbHMudG9BcnJheSgpKSk7XG4gICAgdGhpcy5leHRlcm5hbFBhbmVscy5yZXNldChwYW5lbHMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51cGxvYWRSZWdpc3RyeS51bnJlZ2lzdGVyKHRoaXMudXBsb2FkVGFyZ2V0LmlkKTtcbiAgfVxufVxuIl19