@eo-sdk/client 11.0.0-rc.7 → 11.0.0-rc.9

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 (35) hide show
  1. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -1
  2. package/app/eo-client/login/login.component.d.ts +3 -1
  3. package/app/eo-client/login/login.component.d.ts.map +1 -1
  4. package/app/eo-framework/actions/actions/signature-action/signature-action.component.d.ts.map +1 -1
  5. package/app/eo-framework/form-elements/string/string.component.d.ts +1 -0
  6. package/app/eo-framework/form-elements/string/string.component.d.ts.map +1 -1
  7. package/app/eo-framework/frame/frame.component.d.ts +2 -1
  8. package/app/eo-framework/frame/frame.component.d.ts.map +1 -1
  9. package/app/eo-framework/media/media.component.d.ts +9 -20
  10. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  11. package/app/eo-framework/util/services/utilities.service.d.ts +46 -41
  12. package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
  13. package/app/eo-framework-core/api/plugins.service.d.ts +4 -0
  14. package/app/eo-framework-core/api/plugins.service.d.ts.map +1 -1
  15. package/assets/_default/i18n/de.json +6 -6
  16. package/assets/_default/i18n/en.json +14 -14
  17. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  18. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +13 -19
  19. package/esm2022/app/eo-client/login/login.component.mjs +14 -11
  20. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +6 -6
  21. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
  22. package/esm2022/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -2
  23. package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +2 -2
  24. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +4 -4
  25. package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +7 -4
  26. package/esm2022/app/eo-framework/frame/frame.component.mjs +3 -2
  27. package/esm2022/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -3
  28. package/esm2022/app/eo-framework/media/media.component.mjs +18 -44
  29. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +3 -3
  30. package/esm2022/app/eo-framework/util/services/utilities.service.mjs +3 -3
  31. package/esm2022/app/eo-framework-core/api/plugins.service.mjs +45 -1
  32. package/fesm2022/eo-sdk-client.mjs +113 -91
  33. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  34. package/package.json +2 -2
  35. package/proxy.config.json +15 -0
@@ -8,10 +8,10 @@ export class AboutStateComponent {
8
8
  this.backend = backend;
9
9
  this.userService = userService;
10
10
  this.config = config;
11
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/common", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/core", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/forms", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/router", "version": "17.1.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.14.0", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.0.0-rc.6", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "17.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "2.0.1", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "2.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "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": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "18.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.4", "license": "MIT" }];
11
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/common", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/core", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/forms", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/router", "version": "17.1.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.14.0", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.0.0-rc.8", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "17.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "2.0.1", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "2.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "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": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "18.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.4", "license": "MIT" }];
12
12
  this.ctrl = {
13
13
  componentName: 'yuuvis® RAD client',
14
- componentVersion: '11.0.0-rc.7',
14
+ componentVersion: '11.0.0-rc.9',
15
15
  productName: '',
16
16
  productVersion: ''
17
17
  };
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
78
78
  type: Component,
79
79
  args: [{ selector: 'eo-about-state', template: "<div class=\"eo-about-state\">\n\n <div class=\"about\">\n <div class=\"header\" [style.background-image]=\"backgroundImage\">\n <img [src]=\"headerLogo\"/>\n </div>\n\n <div class=\"body\">\n <div class=\"claim\" translate>eo.help.about.claim</div>\n\n <div class=\"wrap\">\n <table>\n <tbody>\n <tr>\n <th translate>eo.help.about.component.label</th>\n <td>{{ctrl.componentName}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.component.version.label</th>\n <td>{{ctrl.componentVersion}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.label</th>\n <td>{{ ctrl.productName }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.version.label</th>\n <td>{{ ctrl.productVersion }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.producer.label</th>\n <td translate>eo.help.about.producer.text</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n\n <h2 translate>eo.help.license.title</h2>\n <p translate>eo.help.license.intro</p>\n <div class=\"showLic\" (click)=\"licenseShow = !licenseShow\">\n <span class=\"toggle\"><span translate>eo.help.license.title</span><span class=\"toggle-indicator\">{{licenseShow ? '-' : '+'}}</span></span></div>\n <div class=\"licenses\" *ngIf=\"licenseShow\">\n <div class=\"lib\" *ngFor=\"let lib of __libraries__; trackBy: trackByFn\">\n <div class=\"name\">{{lib.name}}</div>\n <div class=\"lic\" *ngIf=\"licenses[lib.license]\">\n <a href=\"{{licenses[lib.license].url}}\" target=\"_blank\" *ngIf=\"licenses[lib.license].url\">{{licenses[lib.license].label}}</a>\n <span *ngIf=\"!licenses[lib.license].url\">{{licenses[lib.license].label}}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [":host{--about-header-height: 300px;position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center;overflow-y:auto}.eo-about-state{box-sizing:border-box;width:800px;display:flex;flex-flow:column}@media screen and (max-width: 832px){.eo-about-state{margin:0;min-width:inherit;width:100%}}.eo-about-state .about{box-shadow:0 2px 5px #0003;background:var(--panel-background);margin:var(--app-pane-padding)}.eo-about-state .about .header{position:relative;height:var(--about-header-height);background-size:cover}.eo-about-state .about .header:after{content:\"\";position:absolute;inset:0;background-color:rgba(var(--color-accent-rgb),.8)}.eo-about-state .about .header img{right:8%;bottom:18%;position:absolute;z-index:20;width:40%}.eo-about-state .about .body{padding:var(--app-pane-padding)}.eo-about-state .about .body .claim{padding:var(--app-pane-padding) 0}.eo-about-state .about .body h2{margin:1.5em 0 0;color:var(--text-color-caption);font-weight:var(--font-weight-light);font-size:var(--font-title)}.eo-about-state .about .body .wrap{display:flex;flex-flow:row wrap}.eo-about-state .about .body ul.links{color:var(--color-accent);list-style-type:none}.eo-about-state .about .body ul.links li{padding:2px 0}.eo-about-state .about .body ul.links a{text-decoration:none;color:var(--color-accent)}.eo-about-state .about .body ul.links a:hover{text-decoration:underline}.eo-about-state .about .body table{margin:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 4) 0;background-color:rgba(var(--color-black-rgb),.06);border-radius:2px}.eo-about-state .about .body table th{display:flex;flex-flow:column;align-items:flex-start;justify-content:center;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body table th,.eo-about-state .about .body table td{padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2)}.eo-about-state .about .body .showLic span.toggle{color:var(--color-accent);display:inline-block;padding:0 4px 2px;border-radius:4px;border:1px solid var(--color-accent);cursor:pointer}.eo-about-state .about .body .showLic .toggle-indicator{padding:0 4px}.eo-about-state .about .body .licenses{padding-top:var(--app-pane-padding)}.eo-about-state .about .body .licenses .lib{display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding) / 4);border-top:1px solid var(--list-item-border-color)}.eo-about-state .about .body .licenses .lib .name{flex:1 1 auto}.eo-about-state .about .body .licenses .lib .lic{flex:0 0 auto;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body .licenses .lib .lic a{text-decoration:none;border-radius:2px;border:1px solid var(--color-accent);color:var(--color-accent);display:inline-block;padding:2px 4px;background-color:rgba(var(--color-black-rgb),.06);line-height:1em}\n"] }]
80
80
  }], ctorParameters: () => [{ type: i1.BackendService }, { type: i1.UserService }, { type: i1.Config }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywyQkFBMkIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsYUFBYSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyx3QkFBd0IsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG9CQUFvQixFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHFCQUFxQixFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsY0FBYyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLG1CQUFtQixFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUdqOEQsU0FBSSxHQUFHO1lBQ0wsYUFBYSxFQUFFLG9CQUFvQjtZQUNuQyxnQkFBZ0IsRUFBRSxhQUFhO1lBQy9CLFdBQVcsRUFBRSxFQUFFO1lBQ2YsY0FBYyxFQUFFLEVBQUU7U0FDbkIsQ0FBQztRQUVGLGFBQVEsR0FBRztZQUNULEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsb0NBQW9DO2FBQzVDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsNENBQTRDO2FBQ3BEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixLQUFLLEVBQUUsNkNBQTZDO2FBQ3JEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsb0RBQW9EO2FBQzVEO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxvQ0FBb0M7YUFDNUM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztZQUNELFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsMkRBQTJEO2dCQUNwRSxLQUFLLEVBQUUsc0VBQXNFO2FBQzlFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7U0FDRixDQUFDO1FBSUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0E1RVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsc0RDUmhDLG8rREF1REE7OzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIzMS4wLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIzMS4wLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMzEuMC4zXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjMxLjAuM1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9zdHlsZXNcIixcInZlcnNpb25cIjpcIjMxLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE3LjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTcuMS4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxNy4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTcuMS4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTcuMS4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE3LjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE3LjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTcuMS4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxNy4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjE0LjBcIixcImxpY2Vuc2VcIjpcIkFwYWNoZS0yLjBcIn0se1wibmFtZVwiOlwiQGVvLXNkay9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4wLjAtcmMuNlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ25lYXQvdW50aWwtZGVzdHJveVwiLFwidmVyc2lvblwiOlwiMTAuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5neC1wd2EvbG9jYWwtc3RvcmFnZVwiLFwidmVyc2lvblwiOlwiMTcuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5neC10cmFuc2xhdGUvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMC4wXCIsXCJsaWNlbnNlXCI6XCJTRUUgTElDRU5TRSBJTiBMSUNFTlNFXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMi4wLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIyLjAuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwibG9kYXNoLWVzXCIsXCJ2ZXJzaW9uXCI6XCI0LjE3LjIxXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9tZW50XCIsXCJ2ZXJzaW9uXCI6XCIyLjMwLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJuZ3gtdG9hc3RyXCIsXCJ2ZXJzaW9uXCI6XCIxOC4wLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJyeGpzXCIsXCJ2ZXJzaW9uXCI6XCI3LjguMVwiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJ0c2xpYlwiLFwidmVyc2lvblwiOlwiMi42LjJcIixcImxpY2Vuc2VcIjpcIjBCU0RcIn0se1wibmFtZVwiOlwiem9uZS5qc1wiLFwidmVyc2lvblwiOlwiMC4xNC40XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn1dO1xuICB1c2VyTGFuZzogc3RyaW5nO1xuXG4gIGN0cmwgPSB7XG4gICAgY29tcG9uZW50TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNvbXBvbmVudFZlcnNpb246ICcxMS4wLjAtcmMuNycsXG4gICAgcHJvZHVjdE5hbWU6ICcnLFxuICAgIHByb2R1Y3RWZXJzaW9uOiAnJ1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLCBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSwgcHJpdmF0ZSBjb25maWc6IENvbmZpZykge1xuICAgIHRoaXMuZ2V0VXNlckxhbmcoKTtcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHt0aGlzLmNvbmZpZy5nZXREYXNoYm9hcmRCYWNrZ3JvdW5kSW1hZ2UoKX0pYDtcbiAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmhlYWRlckxvZ28nKTtcbiAgICBpZiAoIXRoaXMuaGVhZGVyTG9nbykge1xuICAgICAgdGhpcy5oZWFkZXJMb2dvID0gdGhpcy5jb25maWcuZ2V0UmF3KCdhcHBMb2dvJyk7XG4gICAgfVxuXG4gICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9zeXN0ZW0vaW5mbycpLnN1YnNjcmliZShpbmZvID0+IHtcbiAgICAgIHRoaXMuY3RybC5wcm9kdWN0TmFtZSA9IGluZm8ucHJvZHVjdC5uYW1lO1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3RWZXJzaW9uID0gaW5mby5wcm9kdWN0LnByb2R1Y3R2ZXJzaW9uO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0VXNlckxhbmcoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy51c2VyTGFuZyA9IGRhdGEudXNlclNldHRpbmdzLmNsaWVudGxvY2FsZSk7XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWFib3V0LXN0YXRlXCI+XG5cbiAgPGRpdiBjbGFzcz1cImFib3V0XCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImJhY2tncm91bmRJbWFnZVwiPlxuICAgICAgPGltZyBbc3JjXT1cImhlYWRlckxvZ29cIi8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsYWltXCIgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY2xhaW08L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIndyYXBcIj5cbiAgICAgICAgPHRhYmxlPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY29tcG9uZW50LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50TmFtZX19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQudmVyc2lvbi5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3tjdHJsLmNvbXBvbmVudFZlcnNpb259fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3sgY3RybC5wcm9kdWN0TmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3RWZXJzaW9uIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjZXIudGV4dDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG5cblxuICAgICAgPGgyIHRyYW5zbGF0ZT5lby5oZWxwLmxpY2Vuc2UudGl0bGU8L2gyPlxuICAgICAgPHAgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS5pbnRybzwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaG93TGljXCIgKGNsaWNrKT1cImxpY2Vuc2VTaG93ID0gIWxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlXCI+PHNwYW4gdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvc3Bhbj48c3BhbiBjbGFzcz1cInRvZ2dsZS1pbmRpY2F0b3JcIj57e2xpY2Vuc2VTaG93ID8gJy0nIDogJysnfX08L3NwYW4+PC9zcGFuPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpY2Vuc2VzXCIgKm5nSWY9XCJsaWNlbnNlU2hvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGliXCIgKm5nRm9yPVwibGV0IGxpYiBvZiBfX2xpYnJhcmllc19fOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7bGliLm5hbWV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaWNcIiAqbmdJZj1cImxpY2Vuc2VzW2xpYi5saWNlbnNlXVwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cInt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgKm5nSWY9XCJsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsXCI+e3tsaWNlbnNlc1tsaWIubGljZW5zZV0ubGFiZWx9fTwvYT5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywyQkFBMkIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsYUFBYSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFD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LFNBQVMsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0E1RVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsc0RDUmhDLG8rREF1REE7OzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIzMS4wLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIzMS4wLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMzEuMC4zXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjMxLjAuM1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9zdHlsZXNcIixcInZlcnNpb25cIjpcIjMxLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE3LjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTcuMS4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxNy4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTcuMS4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTcuMS4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE3LjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE3LjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTcuMS4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxNy4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjE0LjBcIixcImxpY2Vuc2VcIjpcIkFwYWNoZS0yLjBcIn0se1wibmFtZVwiOlwiQGVvLXNkay9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4wLjAtcmMuOFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ25lYXQvdW50aWwtZGVzdHJveVwiLFwidmVyc2lvblwiOlwiMTAuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5neC1wd2EvbG9jYWwtc3RvcmFnZVwiLFwidmVyc2lvblwiOlwiMTcuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5neC10cmFuc2xhdGUvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMC4wXCIsXCJsaWNlbnNlXCI6XCJTRUUgTElDRU5TRSBJTiBMSUNFTlNFXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMi4wLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIyLjAuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwibG9kYXNoLWVzXCIsXCJ2ZXJzaW9uXCI6XCI0LjE3LjIxXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9tZW50XCIsXCJ2ZXJzaW9uXCI6XCIyLjMwLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJuZ3gtdG9hc3RyXCIsXCJ2ZXJzaW9uXCI6XCIxOC4wLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJyeGpzXCIsXCJ2ZXJzaW9uXCI6XCI3LjguMVwiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJ0c2xpYlwiLFwidmVyc2lvblwiOlwiMi42LjJcIixcImxpY2Vuc2VcIjpcIjBCU0RcIn0se1wibmFtZVwiOlwiem9uZS5qc1wiLFwidmVyc2lvblwiOlwiMC4xNC40XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn1dO1xuICB1c2VyTGFuZzogc3RyaW5nO1xuXG4gIGN0cmwgPSB7XG4gICAgY29tcG9uZW50TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNvbXBvbmVudFZlcnNpb246ICcxMS4wLjAtcmMuOScsXG4gICAgcHJvZHVjdE5hbWU6ICcnLFxuICAgIHByb2R1Y3RWZXJzaW9uOiAnJ1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLCBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSwgcHJpdmF0ZSBjb25maWc6IENvbmZpZykge1xuICAgIHRoaXMuZ2V0VXNlckxhbmcoKTtcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHt0aGlzLmNvbmZpZy5nZXREYXNoYm9hcmRCYWNrZ3JvdW5kSW1hZ2UoKX0pYDtcbiAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmhlYWRlckxvZ28nKTtcbiAgICBpZiAoIXRoaXMuaGVhZGVyTG9nbykge1xuICAgICAgdGhpcy5oZWFkZXJMb2dvID0gdGhpcy5jb25maWcuZ2V0UmF3KCdhcHBMb2dvJyk7XG4gICAgfVxuXG4gICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9zeXN0ZW0vaW5mbycpLnN1YnNjcmliZShpbmZvID0+IHtcbiAgICAgIHRoaXMuY3RybC5wcm9kdWN0TmFtZSA9IGluZm8ucHJvZHVjdC5uYW1lO1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3RWZXJzaW9uID0gaW5mby5wcm9kdWN0LnByb2R1Y3R2ZXJzaW9uO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0VXNlckxhbmcoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy51c2VyTGFuZyA9IGRhdGEudXNlclNldHRpbmdzLmNsaWVudGxvY2FsZSk7XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWFib3V0LXN0YXRlXCI+XG5cbiAgPGRpdiBjbGFzcz1cImFib3V0XCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImJhY2tncm91bmRJbWFnZVwiPlxuICAgICAgPGltZyBbc3JjXT1cImhlYWRlckxvZ29cIi8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsYWltXCIgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY2xhaW08L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIndyYXBcIj5cbiAgICAgICAgPHRhYmxlPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY29tcG9uZW50LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50TmFtZX19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQudmVyc2lvbi5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3tjdHJsLmNvbXBvbmVudFZlcnNpb259fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3sgY3RybC5wcm9kdWN0TmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3RWZXJzaW9uIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjZXIudGV4dDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG5cblxuICAgICAgPGgyIHRyYW5zbGF0ZT5lby5oZWxwLmxpY2Vuc2UudGl0bGU8L2gyPlxuICAgICAgPHAgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS5pbnRybzwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaG93TGljXCIgKGNsaWNrKT1cImxpY2Vuc2VTaG93ID0gIWxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlXCI+PHNwYW4gdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvc3Bhbj48c3BhbiBjbGFzcz1cInRvZ2dsZS1pbmRpY2F0b3JcIj57e2xpY2Vuc2VTaG93ID8gJy0nIDogJysnfX08L3NwYW4+PC9zcGFuPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpY2Vuc2VzXCIgKm5nSWY9XCJsaWNlbnNlU2hvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGliXCIgKm5nRm9yPVwibGV0IGxpYiBvZiBfX2xpYnJhcmllc19fOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7bGliLm5hbWV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaWNcIiAqbmdJZj1cImxpY2Vuc2VzW2xpYi5saWNlbnNlXVwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cInt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgKm5nSWY9XCJsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsXCI+e3tsaWNlbnNlc1tsaWIubGljZW5zZV0ubGFiZWx9fTwvYT5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
@@ -40,18 +40,16 @@ let LastEditedAndCreatedComponent = class LastEditedAndCreatedComponent {
40
40
  if (this._widgetConfig?.lastEdited && this._widgetConfig?.lastCreated) {
41
41
  this.userService.user$
42
42
  .pipe(untilDestroyed(this), tap(user => this.user = user)).subscribe(() => {
43
- if (this._widgetConfig?.lastEdited) {
43
+ this.getLastEdited();
44
+ this.getLastCreated();
45
+ if (this._widgetConfig?.lastEdited && this.modifiedByMe?.lately.length) {
44
46
  this.tabs = [this.availableTabs?.first];
45
- this.getLastEdited();
46
47
  }
47
- if (this._widgetConfig?.lastCreated) {
48
+ if (this._widgetConfig?.lastCreated && this.createdByMe?.lately.length) {
48
49
  this.tabs = [this.availableTabs.last];
49
- this.getLastCreated();
50
50
  }
51
- if (this._widgetConfig?.lastEdited && this._widgetConfig?.lastCreated) {
51
+ if (this._widgetConfig?.lastEdited && this._widgetConfig?.lastCreated && (this.modifiedByMe?.lately.length || this.createdByMe?.lately.length)) {
52
52
  this.tabs = this.availableTabs.toArray();
53
- this.getLastEdited();
54
- this.getLastCreated();
55
53
  }
56
54
  });
57
55
  }
@@ -68,21 +66,17 @@ let LastEditedAndCreatedComponent = class LastEditedAndCreatedComponent {
68
66
  this.userService.user$
69
67
  .pipe(untilDestroyed(this), tap(user => this.user = user))
70
68
  .subscribe(() => {
71
- if (this._widgetConfig?.lastEdited && this._widgetConfig?.lastCreated) {
69
+ this.getLastEdited();
70
+ this.getLastCreated();
71
+ if (this._widgetConfig?.lastEdited && this._widgetConfig?.lastCreated && (this.modifiedByMe?.lately.length || this.createdByMe?.lately.length)) {
72
72
  this.tabs = this.availableTabs.toArray();
73
73
  }
74
- else if (this._widgetConfig?.lastEdited) {
74
+ else if (this._widgetConfig?.lastEdited && this.modifiedByMe?.lately.length) {
75
75
  this.tabs = [this.availableTabs?.first];
76
76
  }
77
- else if (this._widgetConfig?.lastCreated) {
77
+ else if (this._widgetConfig?.lastCreated && this.createdByMe?.lately.length) {
78
78
  this.tabs = [this.availableTabs.last];
79
79
  }
80
- if (this._widgetConfig?.lastEdited) {
81
- this.getLastEdited();
82
- }
83
- if (this._widgetConfig?.lastCreated) {
84
- this.getLastCreated();
85
- }
86
80
  });
87
81
  }
88
82
  }
@@ -165,7 +159,7 @@ let LastEditedAndCreatedComponent = class LastEditedAndCreatedComponent {
165
159
  });
166
160
  }
167
161
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedComponent, deps: [{ token: i1.UserService }, { token: i1.SearchService }, { token: i1.SystemService }], target: i0.ɵɵFactoryTarget.Component }); }
168
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: { widgetConfig: "widgetConfig" }, viewQueries: [{ propertyName: "availableTabs", predicate: YvcTabDirective, descendants: true }], ngImport: i0, template: "@if (tabs) {\n<yvc-tabs [tabs]=\"tabs\" layoutSettingsID=\"eo.lastEdited.widget.tabs\">\n\n <ng-template [yvcTab]=\"{id: 'LastEdited', label: 'eo.dashboard.modified.title' | translate}\">\n @if (modifiedByMe?.lately.length) {\n <div class=\"container\">\n <main class=\"body\">\n @for (item of modifiedByMe.lately; track $index) {\n <div class=\"item\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{ item.modified | localeDate }}</div>\n <div class=\"title\">{{ item.title }}</div>\n <div class=\"description\">{{ item.description }}</div>\n </div>\n </div>\n }\n </main>\n </div>\n }\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'LastCreated', label: 'eo.dashboard.created.title' | translate}\">\n @if (createdByMe?.lately.length) {\n <div class=\"container\">\n <main class=\"body\">\n @for (item of createdByMe.lately; track $index) {\n <div class=\"item\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{ item.created | localeDate }}</div>\n <div class=\"title\">{{ item.title }}</div>\n <div class=\"description\">{{ item.description }}</div>\n </div>\n </div>\n }\n </main>\n </div>\n }\n </ng-template>\n</yvc-tabs>\n}", styles: [":host{display:contents}@media screen and (max-width: 800px){:host{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}:host yvc-tabs{--text-color-body: #fff;color:var(--text-color-body);background-color:var(--text-color-body);height:100%}:host yvc-tabs ::ng-deep>header{height:50px;background-color:var(--color-primary-2)}:host .container{display:flex;flex-flow:column}:host .container .header{flex:0 0 auto;border-radius:2px;color:var(--color-white);background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}:host .container .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}:host .container .header .total{font-size:var(--font-caption);opacity:.7}:host .container .body{flex:1 1 auto;overflow-y:auto}:host .container .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:rgba(var(--color-white-rgb),.9);text-decoration:none;cursor:pointer}:host .container .body .item:focus,:host .container .body .item:hover{background-color:var(--list-item-hover-background)}:host .container .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .container .body .item>div{flex:1 1 auto;width:90%;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host .container .body .item .modified,:host .container .body .item .description,:host .container .body .item .title{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host .container .body .item .modified,:host .container .body .item .description{font-size:var(--font-hint)}:host .container .body .item .title{font-weight:var(--font-weight-bold)}\n"], dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i4.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i4.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.LocaleDatePipe, name: "localeDate" }] }); }
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: { widgetConfig: "widgetConfig" }, viewQueries: [{ propertyName: "availableTabs", predicate: YvcTabDirective, descendants: true }], ngImport: i0, template: "@if (tabs && (this.modifiedByMe?.lately.length || this.createdByMe?.lately.length)) {\n<yvc-tabs [tabs]=\"tabs\" layoutSettingsID=\"eo.lastEdited.widget.tabs\">\n\n <ng-template [yvcTab]=\"{id: 'LastEdited', label: 'eo.dashboard.modified.title' | translate}\">\n @if (modifiedByMe?.lately.length) {\n <div class=\"container\">\n <main class=\"body\">\n @for (item of modifiedByMe.lately; track $index) {\n <div class=\"item\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{ item.modified | localeDate }}</div>\n <div class=\"title\">{{ item.title }}</div>\n <div class=\"description\">{{ item.description }}</div>\n </div>\n </div>\n }\n </main>\n </div>\n }\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'LastCreated', label: 'eo.dashboard.created.title' | translate}\">\n @if (createdByMe?.lately.length) {\n <div class=\"container\">\n <main class=\"body\">\n @for (item of createdByMe.lately; track $index) {\n <div class=\"item\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{ item.created | localeDate }}</div>\n <div class=\"title\">{{ item.title }}</div>\n <div class=\"description\">{{ item.description }}</div>\n </div>\n </div>\n }\n </main>\n </div>\n }\n </ng-template>\n</yvc-tabs>\n}", styles: [":host{display:contents}@media screen and (max-width: 800px){:host{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}:host yvc-tabs{--text-color-body: #fff;color:var(--text-color-body);background-color:var(--text-color-body);height:100%}:host yvc-tabs ::ng-deep>header{height:50px;background-color:var(--color-primary-2)}:host .container{display:flex;flex-flow:column}:host .container .header{flex:0 0 auto;border-radius:2px;color:var(--color-white);background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}:host .container .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}:host .container .header .total{font-size:var(--font-caption);opacity:.7}:host .container .body{flex:1 1 auto;overflow-y:auto}:host .container .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:rgba(var(--color-white-rgb),.9);text-decoration:none;cursor:pointer}:host .container .body .item:focus,:host .container .body .item:hover{background-color:var(--list-item-hover-background)}:host .container .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .container .body .item>div{flex:1 1 auto;width:90%;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host .container .body .item .modified,:host .container .body .item .description,:host .container .body .item .title{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host .container .body .item .modified,:host .container .body .item .description{font-size:var(--font-hint)}:host .container .body .item .title{font-weight:var(--font-weight-bold)}\n"], dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i4.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i4.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.LocaleDatePipe, name: "localeDate" }] }); }
169
163
  };
170
164
  LastEditedAndCreatedComponent = __decorate([
171
165
  UntilDestroy()
@@ -173,11 +167,11 @@ LastEditedAndCreatedComponent = __decorate([
173
167
  export { LastEditedAndCreatedComponent };
174
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedComponent, decorators: [{
175
169
  type: Component,
176
- args: [{ selector: 'eo-last-edited-and-created', template: "@if (tabs) {\n<yvc-tabs [tabs]=\"tabs\" layoutSettingsID=\"eo.lastEdited.widget.tabs\">\n\n <ng-template [yvcTab]=\"{id: 'LastEdited', label: 'eo.dashboard.modified.title' | translate}\">\n @if (modifiedByMe?.lately.length) {\n <div class=\"container\">\n <main class=\"body\">\n @for (item of modifiedByMe.lately; track $index) {\n <div class=\"item\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{ item.modified | localeDate }}</div>\n <div class=\"title\">{{ item.title }}</div>\n <div class=\"description\">{{ item.description }}</div>\n </div>\n </div>\n }\n </main>\n </div>\n }\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'LastCreated', label: 'eo.dashboard.created.title' | translate}\">\n @if (createdByMe?.lately.length) {\n <div class=\"container\">\n <main class=\"body\">\n @for (item of createdByMe.lately; track $index) {\n <div class=\"item\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{ item.created | localeDate }}</div>\n <div class=\"title\">{{ item.title }}</div>\n <div class=\"description\">{{ item.description }}</div>\n </div>\n </div>\n }\n </main>\n </div>\n }\n </ng-template>\n</yvc-tabs>\n}", styles: [":host{display:contents}@media screen and (max-width: 800px){:host{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}:host yvc-tabs{--text-color-body: #fff;color:var(--text-color-body);background-color:var(--text-color-body);height:100%}:host yvc-tabs ::ng-deep>header{height:50px;background-color:var(--color-primary-2)}:host .container{display:flex;flex-flow:column}:host .container .header{flex:0 0 auto;border-radius:2px;color:var(--color-white);background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}:host .container .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}:host .container .header .total{font-size:var(--font-caption);opacity:.7}:host .container .body{flex:1 1 auto;overflow-y:auto}:host .container .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:rgba(var(--color-white-rgb),.9);text-decoration:none;cursor:pointer}:host .container .body .item:focus,:host .container .body .item:hover{background-color:var(--list-item-hover-background)}:host .container .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .container .body .item>div{flex:1 1 auto;width:90%;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host .container .body .item .modified,:host .container .body .item .description,:host .container .body .item .title{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host .container .body .item .modified,:host .container .body .item .description{font-size:var(--font-hint)}:host .container .body .item .title{font-weight:var(--font-weight-bold)}\n"] }]
170
+ args: [{ selector: 'eo-last-edited-and-created', template: "@if (tabs && (this.modifiedByMe?.lately.length || this.createdByMe?.lately.length)) {\n<yvc-tabs [tabs]=\"tabs\" layoutSettingsID=\"eo.lastEdited.widget.tabs\">\n\n <ng-template [yvcTab]=\"{id: 'LastEdited', label: 'eo.dashboard.modified.title' | translate}\">\n @if (modifiedByMe?.lately.length) {\n <div class=\"container\">\n <main class=\"body\">\n @for (item of modifiedByMe.lately; track $index) {\n <div class=\"item\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{ item.modified | localeDate }}</div>\n <div class=\"title\">{{ item.title }}</div>\n <div class=\"description\">{{ item.description }}</div>\n </div>\n </div>\n }\n </main>\n </div>\n }\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'LastCreated', label: 'eo.dashboard.created.title' | translate}\">\n @if (createdByMe?.lately.length) {\n <div class=\"container\">\n <main class=\"body\">\n @for (item of createdByMe.lately; track $index) {\n <div class=\"item\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{ item.created | localeDate }}</div>\n <div class=\"title\">{{ item.title }}</div>\n <div class=\"description\">{{ item.description }}</div>\n </div>\n </div>\n }\n </main>\n </div>\n }\n </ng-template>\n</yvc-tabs>\n}", styles: [":host{display:contents}@media screen and (max-width: 800px){:host{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}:host yvc-tabs{--text-color-body: #fff;color:var(--text-color-body);background-color:var(--text-color-body);height:100%}:host yvc-tabs ::ng-deep>header{height:50px;background-color:var(--color-primary-2)}:host .container{display:flex;flex-flow:column}:host .container .header{flex:0 0 auto;border-radius:2px;color:var(--color-white);background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}:host .container .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}:host .container .header .total{font-size:var(--font-caption);opacity:.7}:host .container .body{flex:1 1 auto;overflow-y:auto}:host .container .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:rgba(var(--color-white-rgb),.9);text-decoration:none;cursor:pointer}:host .container .body .item:focus,:host .container .body .item:hover{background-color:var(--list-item-hover-background)}:host .container .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .container .body .item>div{flex:1 1 auto;width:90%;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host .container .body .item .modified,:host .container .body .item .description,:host .container .body .item .title{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host .container .body .item .modified,:host .container .body .item .description{font-size:var(--font-hint)}:host .container .body .item .title{font-weight:var(--font-weight-bold)}\n"] }]
177
171
  }], ctorParameters: () => [{ type: i1.UserService }, { type: i1.SearchService }, { type: i1.SystemService }], propDecorators: { availableTabs: [{
178
172
  type: ViewChildren,
179
173
  args: [YvcTabDirective]
180
174
  }], widgetConfig: [{
181
175
  type: Input
182
176
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvbGFzdC1lZGl0ZWQtd2lkZ2V0L2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTXhFLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFbkUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUWxCLElBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBaUJ4QyxJQUFhLFlBQVksQ0FBQyxDQUF1QjtRQUUvQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUV2QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBbUIsV0FBd0IsRUFDakMsYUFBNEIsRUFDNUIsYUFBNEI7UUFGbkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFD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Q04sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhO2FBQ2YsWUFBWSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7YUFDbEQsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqRCxNQUFNLEVBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQzdELE9BQU87b0JBQ0wsRUFBRTtvQkFDRixJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUM1QyxLQUFLO29CQUNMLFdBQVc7b0JBQ1gsT0FBTztpQkFDUixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBMUtVLDZCQUE2QjtrR0FBN0IsNkJBQTZCLDhJQWUxQixlQUFlLGdEQ2hDL0Isd2dEQXlDQzs7QUR4QlksNkJBQTZCO0lBTnpDLFlBQVksRUFBRTtHQU1GLDZCQUE2QixDQTJLekM7OzJGQTNLWSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNEJBQTRCO3dJQW1CUCxhQUFhO3NCQUEzQyxZQUFZO3VCQUFDLGVBQWU7Z0JBRWhCLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SVdpZGdldENvbXBvbmVudH0gZnJvbSAnQHl1dXZpcy93aWRnZXQtZ3JpZCc7XG5pbXBvcnQge1xuICBVc2VyU2VydmljZSxcbiAgRW9Vc2VyLCBTZWFyY2hTZXJ2aWNlLCBTeXN0ZW1TZXJ2aWNlXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0xhc3RFZGl0ZWRBbmRDcmVhdGVkfSBmcm9tICcuL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkJztcbmltcG9ydCB7WXZjVGFiRGlyZWN0aXZlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCB7XG5cbiAgdXNlcjogRW9Vc2VyO1xuICBtb2RpZmllZEJ5TWUgPSB7XG4gICAgc2l6ZTogMTAsXG4gICAgdG90YWw6IDAsXG4gICAgbGF0ZWx5OiBbXVxuICB9O1xuICBjcmVhdGVkQnlNZSA9IHtcbiAgICBzaXplOiAxMCxcbiAgICB0b3RhbDogMCxcbiAgICBsYXRlbHk6IFtdXG4gIH07XG5cbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlnOiBMYXN0RWRpdGVkQW5kQ3JlYXRlZDtcbiAgQFZpZXdDaGlsZHJlbihZdmNUYWJEaXJlY3RpdmUpIGF2YWlsYWJsZVRhYnM6IFF1ZXJ5TGlzdDxZdmNUYWJEaXJlY3RpdmU+O1xuICB0YWJzOiBZdmNUYWJEaXJlY3RpdmVbXSA9IFtdO1xuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKGM6IExhc3RFZGl0ZWRBbmRDcmVhdGVkKSB7XG5cbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRUYWJzKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgd2lkZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2VcbiAgKSB7XG5cbiAgfVxuICBsb2FkVGFicygpIHtcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0RWRpdGVkICYmIHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdENyZWF0ZWQpIHtcbiAgICAgIHRoaXMudXNlclNlcnZpY2UudXNlciRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcyksXG4gICAgICAgICAgdGFwKHVzZXIgPT4gdGhpcy51c2VyID0gdXNlcilcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RFZGl0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGFicyA9IFt0aGlzLmF2YWlsYWJsZVRhYnM/LmZpcnN0XTtcbiAgICAgICAgICAgIHRoaXMuZ2V0TGFzdEVkaXRlZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0Q3JlYXRlZCkge1xuICAgICAgICAgICAgdGhpcy50YWJzID0gW3RoaXMuYXZhaWxhYmxlVGFicy5sYXN0XTtcbiAgICAgICAgICAgIHRoaXMuZ2V0TGFzdENyZWF0ZWQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdEVkaXRlZCAmJiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnMgPSB0aGlzLmF2YWlsYWJsZVRhYnMudG9BcnJheSgpO1xuICAgICAgICAgICAgdGhpcy5nZXRMYXN0RWRpdGVkKCk7XG4gICAgICAgICAgICB0aGlzLmdldExhc3RDcmVhdGVkKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQmVjYXVzZSBvZiB1cGRhdGUgZm9yIGV4aXN0aW5nIHdpZGdldFxuICAgICAgdGhpcy50YWJzID0gdGhpcy5hdmFpbGFibGVUYWJzLnRvQXJyYXkoKTtcbiAgICAgIHRoaXMudXNlclNlcnZpY2UudXNlciRcbiAgICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgIC5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgICAgICB0aGlzLmdldExhc3RFZGl0ZWQoKTtcbiAgICAgICAgICB0aGlzLmdldExhc3RDcmVhdGVkKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpLCB0YXAodXNlciA9PiB0aGlzLnVzZXIgPSB1c2VyKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdEVkaXRlZCAmJiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnMgPSB0aGlzLmF2YWlsYWJsZVRhYnMudG9BcnJheSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0RWRpdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnMgPSBbdGhpcy5hdmFpbGFibGVUYWJzPy5maXJzdF07XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnMgPSBbdGhpcy5hdmFpbGFibGVUYWJzLmxhc3RdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RFZGl0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0TGFzdEVkaXRlZCgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmdldExhc3RDcmVhdGVkKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRMYXN0RWRpdGVkKCkge1xuICAgIGNvbnN0IHEgPSB7XG4gICAgICBmaWx0ZXJzOiB7XG4gICAgICAgIG1vZGlmaWVyOiB7XG4gICAgICAgICAgbzogJ2VxJyxcbiAgICAgICAgICB2MTogdGhpcy51c2VyPy5uYW1lXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAnbW9kaWZpZWQnLCAndHlwZSddLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBzb3J0OiB7XG4gICAgICAgICAgbW9kaWZpZWQ6IHtcbiAgICAgICAgICAgIG9yZGVyOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zb3J0UmV2ZXJ0KSB7XG4gICAgICBxLm9wdGlvbnMuc29ydC5tb2RpZmllZC5vcmRlciA9ICdhc2MnO1xuICAgIH0gZWxzZSB7XG4gICAgICBxLm9wdGlvbnMuc29ydC5tb2RpZmllZC5vcmRlciA9ICdkZXNjJztcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5leGVjdXRlUXVlcnkocSwgZmFsc2UsIHRoaXMuX3dpZGdldENvbmZpZz8ubnVtYmVyKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLm1vZGlmaWVkQnlNZS50b3RhbCA9IHJlcy5oaXRzLnRvdGFsO1xuICAgICAgICB0aGlzLm1vZGlmaWVkQnlNZS5sYXRlbHkgPSByZXMuaGl0cy5oaXRzLm1hcChpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCB7aWQsIHRpdGxlLCBkZXNjcmlwdGlvbiwgdHlwZSwgbW9kaWZpZWR9ID0gaXRlbS5fc291cmNlO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKHR5cGUpLFxuICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgICAgIG1vZGlmaWVkLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRMYXN0Q3JlYXRlZCgpIHtcbiAgICBjb25zdCBxID0ge1xuICAgICAgZmlsdGVyczoge1xuICAgICAgICBjcmVhdG9yOiB7XG4gICAgICAgICAgbzogJ2VxJyxcbiAgICAgICAgICB2MTogdGhpcy51c2VyPy5uYW1lXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAnY3JlYXRlZCcsICd0eXBlJ10sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICBjcmVhdGVkOiB7XG4gICAgICAgICAgICBvcmRlcjogJydcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uc29ydFJldmVydCkge1xuICAgICAgcS5vcHRpb25zLnNvcnQuY3JlYXRlZC5vcmRlciA9ICdhc2MnO1xuICAgIH0gZWxzZSB7XG4gICAgICBxLm9wdGlvbnMuc29ydC5jcmVhdGVkLm9yZGVyID0gJ2Rlc2MnO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoU2VydmljZVxuICAgICAgLmV4ZWN1dGVRdWVyeShxLCBmYWxzZSwgdGhpcy5fd2lkZ2V0Q29uZmlnPy5udW1iZXIpXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlZEJ5TWUudG90YWwgPSByZXMuaGl0cy50b3RhbDtcbiAgICAgICAgdGhpcy5jcmVhdGVkQnlNZS5sYXRlbHkgPSByZXMuaGl0cy5oaXRzLm1hcChpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCB7aWQsIHRpdGxlLCBkZXNjcmlwdGlvbiwgdHlwZSwgY3JlYXRlZH0gPSBpdGVtLl9zb3VyY2U7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgdHlwZTogdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUodHlwZSksXG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgY3JlYXRlZFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAodGFicykge1xuPHl2Yy10YWJzIFt0YWJzXT1cInRhYnNcIiBsYXlvdXRTZXR0aW5nc0lEPVwiZW8ubGFzdEVkaXRlZC53aWRnZXQudGFic1wiPlxuXG4gIDxuZy10ZW1wbGF0ZSBbeXZjVGFiXT1cIntpZDogJ0xhc3RFZGl0ZWQnLCBsYWJlbDogJ2VvLmRhc2hib2FyZC5tb2RpZmllZC50aXRsZScgfCB0cmFuc2xhdGV9XCI+XG4gICAgQGlmIChtb2RpZmllZEJ5TWU/LmxhdGVseS5sZW5ndGgpIHtcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8bWFpbiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBtb2RpZmllZEJ5TWUubGF0ZWx5OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiIFtyb3V0ZXJMaW5rXT1cIlsnL29iamVjdC8nLCBpdGVtLmlkXVwiPlxuICAgICAgICAgICAgPGVvLWljb24gW29iamVjdFR5cGVdPVwiaXRlbS50eXBlXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGlmaWVkXCI+e3sgaXRlbS5tb2RpZmllZCB8IGxvY2FsZURhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgaXRlbS50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9tYWluPlxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgW3l2Y1RhYl09XCJ7aWQ6ICdMYXN0Q3JlYXRlZCcsIGxhYmVsOiAnZW8uZGFzaGJvYXJkLmNyZWF0ZWQudGl0bGUnIHwgdHJhbnNsYXRlfVwiPlxuICAgIEBpZiAoY3JlYXRlZEJ5TWU/LmxhdGVseS5sZW5ndGgpIHtcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8bWFpbiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBjcmVhdGVkQnlNZS5sYXRlbHk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgW3JvdXRlckxpbmtdPVwiWycvb2JqZWN0LycsIGl0ZW0uaWRdXCI+XG4gICAgICAgICAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJpdGVtLnR5cGVcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kaWZpZWRcIj57eyBpdGVtLmNyZWF0ZWQgfCBsb2NhbGVEYXRlIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7IGl0ZW0udGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3sgaXRlbS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvbWFpbj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy10YWJzPlxufSJdfQ==
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvbGFzdC1lZGl0ZWQtd2lkZ2V0L2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTXhFLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFbkUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUWxCLElBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBaUJ4QyxJQUFhLFlBQVksQ0FBQyxDQUF1QjtRQUUvQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUV2QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBbUIsV0FBd0IsRUFDakMsYUFBNEIsRUFDNUIsYUFBNEI7UUFGbkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFD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QUFTOytCQUNFLDRCQUE0Qjt3SUFtQlAsYUFBYTtzQkFBM0MsWUFBWTt1QkFBQyxlQUFlO2dCQUVoQixZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lXaWRnZXRDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtcbiAgVXNlclNlcnZpY2UsXG4gIEVvVXNlciwgU2VhcmNoU2VydmljZSwgU3lzdGVtU2VydmljZVxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtMYXN0RWRpdGVkQW5kQ3JlYXRlZH0gZnJvbSAnLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZCc7XG5pbXBvcnQge1l2Y1RhYkRpcmVjdGl2ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHt0YXB9IGZyb20gJ3J4anMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWxhc3QtZWRpdGVkLWFuZC1jcmVhdGVkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMYXN0RWRpdGVkQW5kQ3JlYXRlZENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRDb21wb25lbnQge1xuXG4gIHVzZXI6IEVvVXNlcjtcbiAgbW9kaWZpZWRCeU1lID0ge1xuICAgIHNpemU6IDEwLFxuICAgIHRvdGFsOiAwLFxuICAgIGxhdGVseTogW11cbiAgfTtcbiAgY3JlYXRlZEJ5TWUgPSB7XG4gICAgc2l6ZTogMTAsXG4gICAgdG90YWw6IDAsXG4gICAgbGF0ZWx5OiBbXVxuICB9O1xuXG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogTGFzdEVkaXRlZEFuZENyZWF0ZWQ7XG4gIEBWaWV3Q2hpbGRyZW4oWXZjVGFiRGlyZWN0aXZlKSBhdmFpbGFibGVUYWJzOiBRdWVyeUxpc3Q8WXZjVGFiRGlyZWN0aXZlPjtcbiAgdGFiczogWXZjVGFiRGlyZWN0aXZlW10gPSBbXTtcbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBMYXN0RWRpdGVkQW5kQ3JlYXRlZCkge1xuXG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gYztcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkVGFicygpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlXG4gICkge1xuXG4gIH1cbiAgbG9hZFRhYnMoKSB7XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdEVkaXRlZCAmJiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgICAgIHRhcCh1c2VyID0+IHRoaXMudXNlciA9IHVzZXIpXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmdldExhc3RFZGl0ZWQoKTtcbiAgICAgICAgICB0aGlzLmdldExhc3RDcmVhdGVkKCk7XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdEVkaXRlZCAmJiB0aGlzLm1vZGlmaWVkQnlNZT8ubGF0ZWx5Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50YWJzID0gW3RoaXMuYXZhaWxhYmxlVGFicz8uZmlyc3RdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0Q3JlYXRlZCAmJiB0aGlzLmNyZWF0ZWRCeU1lPy5sYXRlbHkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnMgPSBbdGhpcy5hdmFpbGFibGVUYWJzLmxhc3RdOyAgICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdEVkaXRlZCAmJiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkICYmICh0aGlzLm1vZGlmaWVkQnlNZT8ubGF0ZWx5Lmxlbmd0aCB8fCB0aGlzLmNyZWF0ZWRCeU1lPy5sYXRlbHkubGVuZ3RoKSkge1xuICAgICAgICAgICAgdGhpcy50YWJzID0gdGhpcy5hdmFpbGFibGVUYWJzLnRvQXJyYXkoKTtcblxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEJlY2F1c2Ugb2YgdXBkYXRlIGZvciBleGlzdGluZyB3aWRnZXRcbiAgICAgIHRoaXMudGFicyA9IHRoaXMuYXZhaWxhYmxlVGFicy50b0FycmF5KCk7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgICAgdGhpcy5nZXRMYXN0RWRpdGVkKCk7XG4gICAgICAgICAgdGhpcy5nZXRMYXN0Q3JlYXRlZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy51c2VyU2VydmljZS51c2VyJFxuICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSwgdGFwKHVzZXIgPT4gdGhpcy51c2VyID0gdXNlcikpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZ2V0TGFzdEVkaXRlZCgpO1xuICAgICAgICAgIHRoaXMuZ2V0TGFzdENyZWF0ZWQoKTtcbiAgICAgICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0RWRpdGVkICYmIHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdENyZWF0ZWQgJiYgKHRoaXMubW9kaWZpZWRCeU1lPy5sYXRlbHkubGVuZ3RoIHx8IHRoaXMuY3JlYXRlZEJ5TWU/LmxhdGVseS5sZW5ndGgpKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnMgPSB0aGlzLmF2YWlsYWJsZVRhYnMudG9BcnJheSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0RWRpdGVkICYmIHRoaXMubW9kaWZpZWRCeU1lPy5sYXRlbHkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnMgPSBbdGhpcy5hdmFpbGFibGVUYWJzPy5maXJzdF07XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkICYmIHRoaXMuY3JlYXRlZEJ5TWU/LmxhdGVseS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudGFicyA9IFt0aGlzLmF2YWlsYWJsZVRhYnMubGFzdF07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRMYXN0RWRpdGVkKCkge1xuICAgIGNvbnN0IHEgPSB7XG4gICAgICBmaWx0ZXJzOiB7XG4gICAgICAgIG1vZGlmaWVyOiB7XG4gICAgICAgICAgbzogJ2VxJyxcbiAgICAgICAgICB2MTogdGhpcy51c2VyPy5uYW1lXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAnbW9kaWZpZWQnLCAndHlwZSddLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBzb3J0OiB7XG4gICAgICAgICAgbW9kaWZpZWQ6IHtcbiAgICAgICAgICAgIG9yZGVyOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zb3J0UmV2ZXJ0KSB7XG4gICAgICBxLm9wdGlvbnMuc29ydC5tb2RpZmllZC5vcmRlciA9ICdhc2MnO1xuICAgIH0gZWxzZSB7XG4gICAgICBxLm9wdGlvbnMuc29ydC5tb2RpZmllZC5vcmRlciA9ICdkZXNjJztcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5leGVjdXRlUXVlcnkocSwgZmFsc2UsIHRoaXMuX3dpZGdldENvbmZpZz8ubnVtYmVyKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLm1vZGlmaWVkQnlNZS50b3RhbCA9IHJlcy5oaXRzLnRvdGFsO1xuICAgICAgICB0aGlzLm1vZGlmaWVkQnlNZS5sYXRlbHkgPSByZXMuaGl0cy5oaXRzLm1hcChpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCB7aWQsIHRpdGxlLCBkZXNjcmlwdGlvbiwgdHlwZSwgbW9kaWZpZWR9ID0gaXRlbS5fc291cmNlO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKHR5cGUpLFxuICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgICAgIG1vZGlmaWVkLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRMYXN0Q3JlYXRlZCgpIHtcbiAgICBjb25zdCBxID0ge1xuICAgICAgZmlsdGVyczoge1xuICAgICAgICBjcmVhdG9yOiB7XG4gICAgICAgICAgbzogJ2VxJyxcbiAgICAgICAgICB2MTogdGhpcy51c2VyPy5uYW1lXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAnY3JlYXRlZCcsICd0eXBlJ10sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICBjcmVhdGVkOiB7XG4gICAgICAgICAgICBvcmRlcjogJydcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uc29ydFJldmVydCkge1xuICAgICAgcS5vcHRpb25zLnNvcnQuY3JlYXRlZC5vcmRlciA9ICdhc2MnO1xuICAgIH0gZWxzZSB7XG4gICAgICBxLm9wdGlvbnMuc29ydC5jcmVhdGVkLm9yZGVyID0gJ2Rlc2MnO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoU2VydmljZVxuICAgICAgLmV4ZWN1dGVRdWVyeShxLCBmYWxzZSwgdGhpcy5fd2lkZ2V0Q29uZmlnPy5udW1iZXIpXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlZEJ5TWUudG90YWwgPSByZXMuaGl0cy50b3RhbDtcbiAgICAgICAgdGhpcy5jcmVhdGVkQnlNZS5sYXRlbHkgPSByZXMuaGl0cy5oaXRzLm1hcChpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCB7aWQsIHRpdGxlLCBkZXNjcmlwdGlvbiwgdHlwZSwgY3JlYXRlZH0gPSBpdGVtLl9zb3VyY2U7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgdHlwZTogdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUodHlwZSksXG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgY3JlYXRlZFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAodGFicyAmJiAodGhpcy5tb2RpZmllZEJ5TWU/LmxhdGVseS5sZW5ndGggfHwgdGhpcy5jcmVhdGVkQnlNZT8ubGF0ZWx5Lmxlbmd0aCkpIHtcbjx5dmMtdGFicyBbdGFic109XCJ0YWJzXCIgbGF5b3V0U2V0dGluZ3NJRD1cImVvLmxhc3RFZGl0ZWQud2lkZ2V0LnRhYnNcIj5cblxuICA8bmctdGVtcGxhdGUgW3l2Y1RhYl09XCJ7aWQ6ICdMYXN0RWRpdGVkJywgbGFiZWw6ICdlby5kYXNoYm9hcmQubW9kaWZpZWQudGl0bGUnIHwgdHJhbnNsYXRlfVwiPlxuICAgIEBpZiAobW9kaWZpZWRCeU1lPy5sYXRlbHkubGVuZ3RoKSB7XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPG1haW4gY2xhc3M9XCJib2R5XCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbW9kaWZpZWRCeU1lLmxhdGVseTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiBbcm91dGVyTGlua109XCJbJy9vYmplY3QvJywgaXRlbS5pZF1cIj5cbiAgICAgICAgICAgIDxlby1pY29uIFtvYmplY3RUeXBlXT1cIml0ZW0udHlwZVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RpZmllZFwiPnt7IGl0ZW0ubW9kaWZpZWQgfCBsb2NhbGVEYXRlIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7IGl0ZW0udGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3sgaXRlbS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvbWFpbj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIFt5dmNUYWJdPVwie2lkOiAnTGFzdENyZWF0ZWQnLCBsYWJlbDogJ2VvLmRhc2hib2FyZC5jcmVhdGVkLnRpdGxlJyB8IHRyYW5zbGF0ZX1cIj5cbiAgICBAaWYgKGNyZWF0ZWRCeU1lPy5sYXRlbHkubGVuZ3RoKSB7XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPG1haW4gY2xhc3M9XCJib2R5XCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgY3JlYXRlZEJ5TWUubGF0ZWx5OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiIFtyb3V0ZXJMaW5rXT1cIlsnL29iamVjdC8nLCBpdGVtLmlkXVwiPlxuICAgICAgICAgICAgPGVvLWljb24gW29iamVjdFR5cGVdPVwiaXRlbS50eXBlXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGlmaWVkXCI+e3sgaXRlbS5jcmVhdGVkIHwgbG9jYWxlRGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57eyBpdGVtLnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7IGl0ZW0uZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L21haW4+XG4gICAgPC9kaXY+XG4gICAgfVxuICA8L25nLXRlbXBsYXRlPlxuPC95dmMtdGFicz5cbn0iXX0=
@@ -7,14 +7,15 @@ import * as i1 from "@angular/router";
7
7
  import * as i2 from "@eo-sdk/core";
8
8
  import * as i3 from "../../eo-framework-core/title/page-title.service";
9
9
  import * as i4 from "@angular/platform-browser";
10
- import * as i5 from "@angular/common";
11
- import * as i6 from "@angular/forms";
12
- import * as i7 from "@ngx-translate/core";
13
- import * as i8 from "../../eo-framework/ui/eo-icon/eo-icon.component";
14
- import * as i9 from "../../eo-framework/ui/eo-dialog/eo-dialog.component";
15
- import * as i10 from "@yuuvis/components/dropdown";
10
+ import * as i5 from "../../eo-framework-core/api/plugins.service";
11
+ import * as i6 from "@angular/common";
12
+ import * as i7 from "@angular/forms";
13
+ import * as i8 from "@ngx-translate/core";
14
+ import * as i9 from "../../eo-framework/ui/eo-icon/eo-icon.component";
15
+ import * as i10 from "../../eo-framework/ui/eo-dialog/eo-dialog.component";
16
+ import * as i11 from "@yuuvis/components/dropdown";
16
17
  export class LoginComponent {
17
- constructor(route, router, config, titleService, translate, sanitizer, cd, authService, userService) {
18
+ constructor(route, router, config, titleService, translate, sanitizer, cd, authService, userService, pluginsSerice) {
18
19
  this.route = route;
19
20
  this.router = router;
20
21
  this.config = config;
@@ -24,6 +25,7 @@ export class LoginComponent {
24
25
  this.cd = cd;
25
26
  this.authService = authService;
26
27
  this.userService = userService;
28
+ this.pluginsSerice = pluginsSerice;
27
29
  this.form = {};
28
30
  this.profiles = [];
29
31
  this.loading = false;
@@ -45,6 +47,7 @@ export class LoginComponent {
45
47
  }
46
48
  ngOnInit() {
47
49
  if (this.route.snapshot.params['logout']) {
50
+ this.pluginsSerice.unload();
48
51
  this.authService.logout(true);
49
52
  }
50
53
  this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
@@ -98,14 +101,14 @@ export class LoginComponent {
98
101
  this.cd.markForCheck();
99
102
  });
100
103
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LoginComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.Config }, { token: i3.PageTitleService }, { token: i2.TranslateService }, { token: i4.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: i2.AuthService }, { token: i2.UserService }], target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: LoginComponent, selector: "eo-login", viewQueries: [{ propertyName: "setAsPresentButton", first: true, predicate: ["setAsPresent"], descendants: true }], ngImport: i0, template: "<div class=\"eo-login-container\" [style.background-image]=\"backgroundImage\">\n <div class=\"eo-login\">\n\n <div class=\"head\">\n <eo-icon [iconSrc]=\"appLogo\"></eo-icon>\n </div>\n\n <div class=\"invalid\" *ngIf=\"invalid\" translate>eo.state.login.msg.invalid</div>\n <div class=\"invalid\" *ngIf=\"licenseExceeded\" translate>eo.state.login.msg.licenseExceeded</div>\n\n <form (ngSubmit)=\"login()\" #loginForm=\"ngForm\">\n\n <fieldset [ngClass]=\"{loading: loading}\">\n\n <div class=\"form-item\" *ngIf=\"native\" [ngClass]=\"{empty: !profiles || profiles.length === 0}\">\n <yvc-dropdown [options]=\"profiles\" placeholder=\"host\"\n [required]=\"true\"\n [(ngModel)]=\"form.host\" name=\"profile\">\n <ng-template let-profile pTemplate=\"item\">\n <div class=\"option-row\">\n <div>{{profile.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"removeProfile(profile.value)\"></eo-icon>\n </div>\n </ng-template>\n </yvc-dropdown>\n <label translate>eo.state.login.host</label>\n </div>\n\n <!-- form login -->\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"username\" placeholder=\"{{'eo.state.login.username'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.username\" name=\"username\" required tabindex=\"1\">\n <label for=\"username\" translate>eo.state.login.username</label>\n </div>\n <div class=\"form-item\">\n <input type=\"password\" class=\"form-control\" id=\"password\"\n placeholder=\"{{'eo.state.login.password'|translate}}\"\n [disabled]=\"loading\"\n [(ngModel)]=\"form.password\" name=\"password\" required tabindex=\"2\">\n <label for=\"password\" translate>eo.state.login.password</label>\n </div>\n\n </fieldset>\n <div class=\"actions\">\n <button type=\"submit\" class=\"primary\" [disabled]=\"!loginForm.form.valid || loading\"\n [ngClass]=\"{spinner: loading}\"\n translate tabindex=\"3\">eo.state.login.submit</button>\n </div>\n </form>\n </div>\n</div>\n\n<eo-dialog [title]=\"'eo.state.login.presence.dialog.title' | translate\" [(visible)]=\"showAbsentDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'login-presence__dialog'\">\n\n <div>\n <span>{{'eo.state.login.presence.dialog.message' | translate}}</span>\n </div>\n\n <div class=\"action-buttons login-presence--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"closeShowAbsentDialog()\"\n translate>eo.state.login.presence.dialog.cancel</button>\n <button type=\"button\" #setAsPresent (click)=\"closeShowAbsentDialog(true)\" class=\"button primary\"\n translate>eo.state.login.presence.dialog.setAsPresent</button>\n </div>\n</eo-dialog>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;align-items:stretch;justify-content:center}.eo-login-container{width:100%;display:flex;justify-content:center;background-size:cover;background-position:center center}.eo-login-container .eo-login{width:400px;display:flex;flex-flow:column;align-items:stretch;justify-content:center}@media screen and (max-width: 432px){.eo-login-container .eo-login{width:100%;box-sizing:border-box;padding:0 var(--app-pane-padding)}}.eo-login-container .eo-login .head{padding-bottom:calc(var(--app-pane-padding) * 3);display:flex;justify-content:flex-end}.eo-login-container .eo-login .head eo-icon{width:60%;height:auto;margin:0;min-width:120px;color:var(--text-color-hint)}.eo-login-container .eo-login .invalid{color:var(--color-error);margin-bottom:var(--app-pane-padding)}.eo-login-container .eo-login fieldset{background:var(--color-white);border:0;padding:0;border-radius:2px;box-shadow:0 2px 8px rgba(var(--color-black-rgb),.26)}.eo-login-container .eo-login fieldset .form-item{display:flex;flex-flow:row nowrap;align-items:center;border-bottom:1px solid var(--list-item-border-color)}.eo-login-container .eo-login fieldset .form-item>*{flex:1 1 auto}.eo-login-container .eo-login fieldset .form-item label{flex:0 0 auto;color:var(--text-color-caption);padding:0 calc(var(--app-pane-padding) / 2)}.eo-login-container .eo-login fieldset input{width:100%;background:transparent;box-sizing:border-box;margin:0;padding:calc(var(--app-pane-padding) * .75) calc(var(--app-pane-padding) / 2);border:0}.eo-login-container .eo-login fieldset input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset}.eo-login-container .eo-login fieldset input:last-child{border-bottom:0}.eo-login-container .eo-login fieldset.loading,.eo-login-container .eo-login fieldset.empty .ui-dropdown-trigger{opacity:.5}.eo-login-container .eo-login .actions{display:flex;flex-flow:row nowrap;justify-content:flex-end}.eo-login-container .eo-login .actions button{margin-top:var(--app-pane-padding)}.eo-login-container .eo-login .actions button[disabled]{opacity:.9}::ng-deep .login-presence__dialog{padding:8px;min-height:unset!important}::ng-deep .login-presence__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i10.Dropdown, selector: "yvc-dropdown", inputs: ["options", "filter", "disabled", "multiple", "disableClearButton"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LoginComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.Config }, { token: i3.PageTitleService }, { token: i2.TranslateService }, { token: i4.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: i2.AuthService }, { token: i2.UserService }, { token: i5.PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: LoginComponent, selector: "eo-login", viewQueries: [{ propertyName: "setAsPresentButton", first: true, predicate: ["setAsPresent"], descendants: true }], ngImport: i0, template: "<div class=\"eo-login-container\" [style.background-image]=\"backgroundImage\">\n <div class=\"eo-login\">\n\n <div class=\"head\">\n <eo-icon [iconSrc]=\"appLogo\"></eo-icon>\n </div>\n\n <div class=\"invalid\" *ngIf=\"invalid\" translate>eo.state.login.msg.invalid</div>\n <div class=\"invalid\" *ngIf=\"licenseExceeded\" translate>eo.state.login.msg.licenseExceeded</div>\n\n <form (ngSubmit)=\"login()\" #loginForm=\"ngForm\">\n\n <fieldset [ngClass]=\"{loading: loading}\">\n\n <div class=\"form-item\" *ngIf=\"native\" [ngClass]=\"{empty: !profiles || profiles.length === 0}\">\n <yvc-dropdown [options]=\"profiles\" placeholder=\"host\"\n [required]=\"true\"\n [(ngModel)]=\"form.host\" name=\"profile\">\n <ng-template let-profile pTemplate=\"item\">\n <div class=\"option-row\">\n <div>{{profile.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"removeProfile(profile.value)\"></eo-icon>\n </div>\n </ng-template>\n </yvc-dropdown>\n <label translate>eo.state.login.host</label>\n </div>\n\n <!-- form login -->\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"username\" placeholder=\"{{'eo.state.login.username'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.username\" name=\"username\" required tabindex=\"1\">\n <label for=\"username\" translate>eo.state.login.username</label>\n </div>\n <div class=\"form-item\">\n <input type=\"password\" class=\"form-control\" id=\"password\"\n placeholder=\"{{'eo.state.login.password'|translate}}\"\n [disabled]=\"loading\"\n [(ngModel)]=\"form.password\" name=\"password\" required tabindex=\"2\">\n <label for=\"password\" translate>eo.state.login.password</label>\n </div>\n\n </fieldset>\n <div class=\"actions\">\n <button type=\"submit\" class=\"primary\" [disabled]=\"!loginForm.form.valid || loading\"\n [ngClass]=\"{spinner: loading}\"\n translate tabindex=\"3\">eo.state.login.submit</button>\n </div>\n </form>\n </div>\n</div>\n\n<eo-dialog [title]=\"'eo.state.login.presence.dialog.title' | translate\" [(visible)]=\"showAbsentDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'login-presence__dialog'\">\n\n <div>\n <span>{{'eo.state.login.presence.dialog.message' | translate}}</span>\n </div>\n\n <div class=\"action-buttons login-presence--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"closeShowAbsentDialog()\"\n translate>eo.state.login.presence.dialog.cancel</button>\n <button type=\"button\" #setAsPresent (click)=\"closeShowAbsentDialog(true)\" class=\"button primary\"\n translate>eo.state.login.presence.dialog.setAsPresent</button>\n </div>\n</eo-dialog>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;align-items:stretch;justify-content:center}.eo-login-container{width:100%;display:flex;justify-content:center;background-size:cover;background-position:center center}.eo-login-container .eo-login{width:400px;display:flex;flex-flow:column;align-items:stretch;justify-content:center}@media screen and (max-width: 432px){.eo-login-container .eo-login{width:100%;box-sizing:border-box;padding:0 var(--app-pane-padding)}}.eo-login-container .eo-login .head{padding-bottom:calc(var(--app-pane-padding) * 3);display:flex;justify-content:flex-end}.eo-login-container .eo-login .head eo-icon{width:60%;height:auto;margin:0;min-width:120px;color:var(--text-color-hint)}.eo-login-container .eo-login .invalid{color:var(--color-error);margin-bottom:var(--app-pane-padding)}.eo-login-container .eo-login fieldset{background:var(--color-white);border:0;padding:0;border-radius:2px;box-shadow:0 2px 8px rgba(var(--color-black-rgb),.26)}.eo-login-container .eo-login fieldset .form-item{display:flex;flex-flow:row nowrap;align-items:center;border-bottom:1px solid var(--list-item-border-color)}.eo-login-container .eo-login fieldset .form-item>*{flex:1 1 auto}.eo-login-container .eo-login fieldset .form-item label{flex:0 0 auto;color:var(--text-color-caption);padding:0 calc(var(--app-pane-padding) / 2)}.eo-login-container .eo-login fieldset input{width:100%;background:transparent;box-sizing:border-box;margin:0;padding:calc(var(--app-pane-padding) * .75) calc(var(--app-pane-padding) / 2);border:0}.eo-login-container .eo-login fieldset input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset}.eo-login-container .eo-login fieldset input:last-child{border-bottom:0}.eo-login-container .eo-login fieldset.loading,.eo-login-container .eo-login fieldset.empty .ui-dropdown-trigger{opacity:.5}.eo-login-container .eo-login .actions{display:flex;flex-flow:row nowrap;justify-content:flex-end}.eo-login-container .eo-login .actions button{margin-top:var(--app-pane-padding)}.eo-login-container .eo-login .actions button[disabled]{opacity:.9}::ng-deep .login-presence__dialog{padding:8px;min-height:unset!important}::ng-deep .login-presence__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i11.Dropdown, selector: "yvc-dropdown", inputs: ["options", "filter", "disabled", "multiple", "disableClearButton"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
103
106
  }
104
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LoginComponent, decorators: [{
105
108
  type: Component,
106
109
  args: [{ selector: 'eo-login', template: "<div class=\"eo-login-container\" [style.background-image]=\"backgroundImage\">\n <div class=\"eo-login\">\n\n <div class=\"head\">\n <eo-icon [iconSrc]=\"appLogo\"></eo-icon>\n </div>\n\n <div class=\"invalid\" *ngIf=\"invalid\" translate>eo.state.login.msg.invalid</div>\n <div class=\"invalid\" *ngIf=\"licenseExceeded\" translate>eo.state.login.msg.licenseExceeded</div>\n\n <form (ngSubmit)=\"login()\" #loginForm=\"ngForm\">\n\n <fieldset [ngClass]=\"{loading: loading}\">\n\n <div class=\"form-item\" *ngIf=\"native\" [ngClass]=\"{empty: !profiles || profiles.length === 0}\">\n <yvc-dropdown [options]=\"profiles\" placeholder=\"host\"\n [required]=\"true\"\n [(ngModel)]=\"form.host\" name=\"profile\">\n <ng-template let-profile pTemplate=\"item\">\n <div class=\"option-row\">\n <div>{{profile.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"removeProfile(profile.value)\"></eo-icon>\n </div>\n </ng-template>\n </yvc-dropdown>\n <label translate>eo.state.login.host</label>\n </div>\n\n <!-- form login -->\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"username\" placeholder=\"{{'eo.state.login.username'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.username\" name=\"username\" required tabindex=\"1\">\n <label for=\"username\" translate>eo.state.login.username</label>\n </div>\n <div class=\"form-item\">\n <input type=\"password\" class=\"form-control\" id=\"password\"\n placeholder=\"{{'eo.state.login.password'|translate}}\"\n [disabled]=\"loading\"\n [(ngModel)]=\"form.password\" name=\"password\" required tabindex=\"2\">\n <label for=\"password\" translate>eo.state.login.password</label>\n </div>\n\n </fieldset>\n <div class=\"actions\">\n <button type=\"submit\" class=\"primary\" [disabled]=\"!loginForm.form.valid || loading\"\n [ngClass]=\"{spinner: loading}\"\n translate tabindex=\"3\">eo.state.login.submit</button>\n </div>\n </form>\n </div>\n</div>\n\n<eo-dialog [title]=\"'eo.state.login.presence.dialog.title' | translate\" [(visible)]=\"showAbsentDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'login-presence__dialog'\">\n\n <div>\n <span>{{'eo.state.login.presence.dialog.message' | translate}}</span>\n </div>\n\n <div class=\"action-buttons login-presence--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"closeShowAbsentDialog()\"\n translate>eo.state.login.presence.dialog.cancel</button>\n <button type=\"button\" #setAsPresent (click)=\"closeShowAbsentDialog(true)\" class=\"button primary\"\n translate>eo.state.login.presence.dialog.setAsPresent</button>\n </div>\n</eo-dialog>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;align-items:stretch;justify-content:center}.eo-login-container{width:100%;display:flex;justify-content:center;background-size:cover;background-position:center center}.eo-login-container .eo-login{width:400px;display:flex;flex-flow:column;align-items:stretch;justify-content:center}@media screen and (max-width: 432px){.eo-login-container .eo-login{width:100%;box-sizing:border-box;padding:0 var(--app-pane-padding)}}.eo-login-container .eo-login .head{padding-bottom:calc(var(--app-pane-padding) * 3);display:flex;justify-content:flex-end}.eo-login-container .eo-login .head eo-icon{width:60%;height:auto;margin:0;min-width:120px;color:var(--text-color-hint)}.eo-login-container .eo-login .invalid{color:var(--color-error);margin-bottom:var(--app-pane-padding)}.eo-login-container .eo-login fieldset{background:var(--color-white);border:0;padding:0;border-radius:2px;box-shadow:0 2px 8px rgba(var(--color-black-rgb),.26)}.eo-login-container .eo-login fieldset .form-item{display:flex;flex-flow:row nowrap;align-items:center;border-bottom:1px solid var(--list-item-border-color)}.eo-login-container .eo-login fieldset .form-item>*{flex:1 1 auto}.eo-login-container .eo-login fieldset .form-item label{flex:0 0 auto;color:var(--text-color-caption);padding:0 calc(var(--app-pane-padding) / 2)}.eo-login-container .eo-login fieldset input{width:100%;background:transparent;box-sizing:border-box;margin:0;padding:calc(var(--app-pane-padding) * .75) calc(var(--app-pane-padding) / 2);border:0}.eo-login-container .eo-login fieldset input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset}.eo-login-container .eo-login fieldset input:last-child{border-bottom:0}.eo-login-container .eo-login fieldset.loading,.eo-login-container .eo-login fieldset.empty .ui-dropdown-trigger{opacity:.5}.eo-login-container .eo-login .actions{display:flex;flex-flow:row nowrap;justify-content:flex-end}.eo-login-container .eo-login .actions button{margin-top:var(--app-pane-padding)}.eo-login-container .eo-login .actions button[disabled]{opacity:.9}::ng-deep .login-presence__dialog{padding:8px;min-height:unset!important}::ng-deep .login-presence__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"] }]
107
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.Config }, { type: i3.PageTitleService }, { type: i2.TranslateService }, { type: i4.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: i2.AuthService }, { type: i2.UserService }], propDecorators: { setAsPresentButton: [{
110
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.Config }, { type: i3.PageTitleService }, { type: i2.TranslateService }, { type: i4.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: i2.AuthService }, { type: i2.UserService }, { type: i5.PluginsService }], propDecorators: { setAsPresentButton: [{
108
111
  type: ViewChild,
109
112
  args: ['setAsPresent']
110
113
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsRUFBRSxJQUFJLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUMsU0FBUyxFQUE2QixTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHMUYsT0FBTyxFQUFjLEtBQUssRUFBVSxnQkFBZ0IsRUFBZ0MsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7OztBQVF6RyxNQUFNLE9BQU8sY0FBYztJQWdCekIsWUFBb0IsS0FBcUIsRUFDckIsTUFBYyxFQUNkLE1BQWMsRUFDZCxZQUE4QixFQUM5QixTQUEyQixFQUMzQixTQUF1QixFQUN2QixFQUFxQixFQUNyQixXQUF3QixFQUN4QixXQUF3QjtRQVJ4QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUM5QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBbkI1QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBQ2YsYUFBUSxHQUFxQyxFQUFFLENBQUM7UUFDaEQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNo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QUM7SUFFRCxxQkFBcUIsQ0FBQyxZQUFZLEdBQUcsS0FBSztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRTlCLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDekQsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3RELElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWxHVSxjQUFjO2tHQUFkLGNBQWMsb0tDYjNCLDhrR0FvRUE7OzJGRHZEYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7MFNBTU8sa0JBQWtCO3NCQUE1QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZpbmFsaXplLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7b2YgYXMgb2JzZXJ2YWJsZU9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0F1dGhTZXJ2aWNlLCBVdGlscywgQ29uZmlnLCBFbnZpcm9ubWVudEVuYWlvLCBUcmFuc2xhdGVTZXJ2aWNlLCBVc2VyU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7UGFnZVRpdGxlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvdGl0bGUvcGFnZS10aXRsZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tbG9naW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKCdzZXRBc1ByZXNlbnQnKSBzZXRBc1ByZXNlbnRCdXR0b246IEVsZW1lbnRSZWY7XG4gIGJhY2tncm91bmRJbWFnZTogU2FmZVJlc291cmNlVXJsO1xuICBhcHBMb2dvOiBzdHJpbmc7XG4gIGZvcm06IGFueSA9IHt9O1xuICBwcm9maWxlczoge2xhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmd9W10gPSBbXTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBpbnZhbGlkID0gZmFsc2U7XG4gIGxpY2Vuc2VFeGNlZWRlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJldHVyblVybDogc3RyaW5nO1xuICBuYXRpdmUgPSBmYWxzZTtcbiAgdXJsVG9OYXZpZ2F0ZTogc3RyaW5nO1xuICBzaG93QWJzZW50RGlhbG9nID0gZmFsc2U7XG4gIHJlbW92ZVByb2ZpbGUgPSAocCkgPT4gcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShgdXJsKCR7dGhpcy5jb25maWcuZ2V0RGFzaGJvYXJkQmFja2dyb3VuZEltYWdlKCl9KWApO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldERlZmF1bHRUaXRsZSgpO1xuICAgIC8vIGlmIHdlIGFyZSBubyB3ZWIgYXBwIChlLmcuIGNvcmRvdmEgb3IgZWxlY3Ryb24pIHRoZSBsb2dpblxuICAgIC8vIGZvcm0gd2lsbCBiZSBleHRlbmRlZCBieSBhIGZpZWxkIGZvciBzZWxlY3RpbmcgYSB0YXJnZXQgaG9zdFxuICAgIHRoaXMubmF0aXZlID0gIUVudmlyb25tZW50RW5haW8uaXNXZWJFbnZpcm9ubWVudCgpO1xuICAgIHRoaXMucHJvZmlsZXMgPSBhdXRoU2VydmljZS5ob3N0cy5tYXAoaG9zdCA9PiAoe1xuICAgICAgbGFiZWw6IGhvc3QgPyBob3N0IDogJ2xvY2FsJyxcbiAgICAgIHZhbHVlOiBob3N0IHx8ICcnXG4gICAgfSkpO1xuICAgIHRoaXMuYXBwTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYXBwTG9nbycpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zWydsb2dvdXQnXSkge1xuICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQodHJ1ZSk7XG4gICAgfVxuICAgIHRoaXMucmV0dXJuVXJsID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1sncmV0dXJuVXJsJ10gfHwgJy8nO1xuICAgIC8vIGJlY2F1c2UgcmV0dXJuVXJsIHdhcyBmZXRjaGVkIGZyb20gbG9jYXRpb24sIHdlIG5lZWQgdG8gZ3JhYiB0aGUgYWN0dWFsIHJvdXRlXG4gICAgY29uc3QgY3VycmVudExvYyA9IGxvY2F0aW9uLmhyZWYuc3Vic3RyKGxvY2F0aW9uLm9yaWdpbi5sZW5ndGgpO1xuXG4gICAgY29uc3QgcHJlZml4ID0gY3VycmVudExvYy5zdWJzdHJpbmcoMCwgY3VycmVudExvYy5pbmRleE9mKCcvZW50ZXInKSk7XG4gICAgdGhpcy5yZXR1cm5VcmwgPSB0aGlzLnJldHVyblVybC5yZXBsYWNlKHByZWZpeCwgJycpLnJlcGxhY2UoJ2luZGV4Lmh0bWwnLCAnJyk7XG5cbiAgICAvLyBsb2FkaW5nIGxvZ2luIHN0YXRlIGFzIHRoZSB1c2VyIGlzIGFscmVhZHkgYXV0aGVudGljYXRlZCB3aWxsIHJlZGlyZWN0IHRvIGhvbWVcbiAgICBpZiAodGhpcy5hdXRoU2VydmljZS5pc0xvZ2dlZEluKCkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gbG9nZ2VkIGluIHVzZXIsIHNlbGVjdCB0aGUgYnJvd3NlcnMgbGFuZ3VhZ2UgZm9yXG4gICAgICAvLyB0aGUgbG9naW4gZGlhbG9nXG4gICAgICBsZXQgYnJvd3NlckxhbmcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpO1xuICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGJyb3dzZXJMYW5nLm1hdGNoKC9lbnxkZS8pID8gYnJvd3NlckxhbmcgOiAnZW4nKTtcbiAgICB9XG4gIH1cblxuICBsb2dpbigpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaW52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMubGljZW5zZUV4Y2VlZGVkID0gZmFsc2U7XG4gICAgb2JzZXJ2YWJsZU9mKG51bGwpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5sb2dpbih0aGlzLmZvcm0uaG9zdCwgdGhpcy5mb3JtLnVzZXJuYW1lLCB0aGlzLmZvcm0ucGFzc3dvcmQpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cmxUb05hdmlnYXRlID0gdGhpcy5yZXR1cm5VcmwgfHwgJy8nO1xuICAgICAgICBpZiAoIXRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5wcmVzZW50KSB7XG4gICAgICAgICAgdGhpcy5zaG93QWJzZW50RGlhbG9nID0gdHJ1ZTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0QXNQcmVzZW50QnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnVybFRvTmF2aWdhdGUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSwgVXRpbHMudGhyb3coKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQyOSkge1xuICAgICAgICAgIHRoaXMubGljZW5zZUV4Y2VlZGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmludmFsaWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSlcbiAgICApO1xuICB9XG5cbiAgY2xvc2VTaG93QWJzZW50RGlhbG9nKHNldEFzUHJlc2VudCA9IGZhbHNlKSB7XG4gICAgdGhpcy5zaG93QWJzZW50RGlhbG9nID0gZmFsc2U7XG5cbiAgICBpZiAoc2V0QXNQcmVzZW50KSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldFByZXNlbmNlKHNldEFzUHJlc2VudCkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51cmxUb05hdmlnYXRlKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1sb2dpbi1jb250YWluZXJcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJiYWNrZ3JvdW5kSW1hZ2VcIj5cbiAgPGRpdiBjbGFzcz1cImVvLWxvZ2luXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZFwiPlxuICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiYXBwTG9nb1wiPjwvZW8taWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkXCIgKm5nSWY9XCJpbnZhbGlkXCIgdHJhbnNsYXRlPmVvLnN0YXRlLmxvZ2luLm1zZy5pbnZhbGlkPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImludmFsaWRcIiAqbmdJZj1cImxpY2Vuc2VFeGNlZWRlZFwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5sb2dpbi5tc2cubGljZW5zZUV4Y2VlZGVkPC9kaXY+XG5cbiAgICA8Zm9ybSAobmdTdWJtaXQpPVwibG9naW4oKVwiICNsb2dpbkZvcm09XCJuZ0Zvcm1cIj5cblxuICAgICAgPGZpZWxkc2V0IFtuZ0NsYXNzXT1cIntsb2FkaW5nOiBsb2FkaW5nfVwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWl0ZW1cIiAqbmdJZj1cIm5hdGl2ZVwiIFtuZ0NsYXNzXT1cIntlbXB0eTogIXByb2ZpbGVzIHx8IHByb2ZpbGVzLmxlbmd0aCA9PT0gMH1cIj5cbiAgICAgICAgICA8eXZjLWRyb3Bkb3duIFtvcHRpb25zXT1cInByb2ZpbGVzXCIgcGxhY2Vob2xkZXI9XCJob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtLmhvc3RcIiBuYW1lPVwicHJvZmlsZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1wcm9maWxlIHBUZW1wbGF0ZT1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1yb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2Pnt7cHJvZmlsZS5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY2xlYXIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVByb2ZpbGUocHJvZmlsZS52YWx1ZSlcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3l2Yy1kcm9wZG93bj5cbiAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPmVvLnN0YXRlLmxvZ2luLmhvc3Q8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIGZvcm0gbG9naW4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWl0ZW1cIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwidXNlcm5hbWVcIiBwbGFjZWhvbGRlcj1cInt7J2VvLnN0YXRlLmxvZ2luLnVzZXJuYW1lJ3x0cmFuc2xhdGV9fVwiXG4gICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCIgYXV0b2ZvY3VzXG4gICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9ybS51c2VybmFtZVwiIG5hbWU9XCJ1c2VybmFtZVwiIHJlcXVpcmVkIHRhYmluZGV4PVwiMVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VybmFtZVwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5sb2dpbi51c2VybmFtZTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1pdGVtXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3snZW8uc3RhdGUubG9naW4ucGFzc3dvcmQnfHRyYW5zbGF0ZX19XCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcm0ucGFzc3dvcmRcIiBuYW1lPVwicGFzc3dvcmRcIiByZXF1aXJlZCB0YWJpbmRleD1cIjJcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwicGFzc3dvcmRcIiB0cmFuc2xhdGU+ZW8uc3RhdGUubG9naW4ucGFzc3dvcmQ8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9maWVsZHNldD5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhbG9naW5Gb3JtLmZvcm0udmFsaWQgfHwgbG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie3NwaW5uZXI6IGxvYWRpbmd9XCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGUgdGFiaW5kZXg9XCIzXCI+ZW8uc3RhdGUubG9naW4uc3VibWl0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxlby1kaWFsb2cgW3RpdGxlXT1cIidlby5zdGF0ZS5sb2dpbi5wcmVzZW5jZS5kaWFsb2cudGl0bGUnIHwgdHJhbnNsYXRlXCIgWyh2aXNpYmxlKV09XCJzaG93QWJzZW50RGlhbG9nXCJcbiAgICAgICAgICAgW2ZvY3VzT25TaG93XT1cImZhbHNlXCIgW21pbldpZHRoXT1cIjQwMFwiIFtzdHlsZUNsYXNzXT1cIidsb2dpbi1wcmVzZW5jZV9fZGlhbG9nJ1wiPlxuXG4gIDxkaXY+XG4gICAgPHNwYW4+e3snZW8uc3RhdGUubG9naW4ucHJlc2VuY2UuZGlhbG9nLm1lc3NhZ2UnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9ucyBsb2dpbi1wcmVzZW5jZS0tYWN0aW9uLWJ1dHRvbnMgZmxleC1yb3dcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwiY2xvc2VTaG93QWJzZW50RGlhbG9nKClcIlxuICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnN0YXRlLmxvZ2luLnByZXNlbmNlLmRpYWxvZy5jYW5jZWw8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjc2V0QXNQcmVzZW50IChjbGljayk9XCJjbG9zZVNob3dBYnNlbnREaWFsb2codHJ1ZSlcIiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCJcbiAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5sb2dpbi5wcmVzZW5jZS5kaWFsb2cuc2V0QXNQcmVzZW50PC9idXR0b24+XG4gIDwvZGl2PlxuPC9lby1kaWFsb2c+XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsRUFBRSxJQUFJLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUMsU0FBUyxFQUE2QixTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHMUYsT0FBTyxFQUFjLEtBQUssRUFBVSxnQkFBZ0IsRUFBZ0MsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTekcsTUFBTSxPQUFPLGNBQWM7SUFnQnpCLFlBQW9CLEtBQXFCLEVBQ3JCLE1BQWMsRUFDZCxNQUFjLEVBQ2QsWUFBOEIsRUFDOUIsU0FBMkIsRUFDM0IsU0FBdUIsRUFDdkIsRUFBcUIsRUFDckIsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsYUFBNkI7UUFUN0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFwQmpELFNBQUksR0FBUSxFQUFFLENBQUM7UUFDZixhQUFRLEdBQXFD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QUksQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQy9CLENBQUM7SUFDSixDQUFDO0lBRUQscUJBQXFCLENBQUMsWUFBWSxHQUFHLEtBQUs7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUU5QixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN0RCxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FwR1UsY0FBYztrR0FBZCxjQUFjLG9LQ2QzQiw4a0dBb0VBOzsyRkR0RGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxVQUFVO3VVQU1PLGtCQUFrQjtzQkFBNUMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtmaW5hbGl6ZSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge29mIGFzIG9ic2VydmFibGVPZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtBdXRoU2VydmljZSwgVXRpbHMsIENvbmZpZywgRW52aXJvbm1lbnRFbmFpbywgVHJhbnNsYXRlU2VydmljZSwgVXNlclNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3RpdGxlL3BhZ2UtdGl0bGUuc2VydmljZSc7XG5pbXBvcnQge1BsdWdpbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvcGx1Z2lucy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tbG9naW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKCdzZXRBc1ByZXNlbnQnKSBzZXRBc1ByZXNlbnRCdXR0b246IEVsZW1lbnRSZWY7XG4gIGJhY2tncm91bmRJbWFnZTogU2FmZVJlc291cmNlVXJsO1xuICBhcHBMb2dvOiBzdHJpbmc7XG4gIGZvcm06IGFueSA9IHt9O1xuICBwcm9maWxlczoge2xhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmd9W10gPSBbXTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBpbnZhbGlkID0gZmFsc2U7XG4gIGxpY2Vuc2VFeGNlZWRlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJldHVyblVybDogc3RyaW5nO1xuICBuYXRpdmUgPSBmYWxzZTtcbiAgdXJsVG9OYXZpZ2F0ZTogc3RyaW5nO1xuICBzaG93QWJzZW50RGlhbG9nID0gZmFsc2U7XG4gIHJlbW92ZVByb2ZpbGUgPSAocCkgPT4gcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBsdWdpbnNTZXJpY2U6IFBsdWdpbnNTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShgdXJsKCR7dGhpcy5jb25maWcuZ2V0RGFzaGJvYXJkQmFja2dyb3VuZEltYWdlKCl9KWApO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldERlZmF1bHRUaXRsZSgpO1xuICAgIC8vIGlmIHdlIGFyZSBubyB3ZWIgYXBwIChlLmcuIGNvcmRvdmEgb3IgZWxlY3Ryb24pIHRoZSBsb2dpblxuICAgIC8vIGZvcm0gd2lsbCBiZSBleHRlbmRlZCBieSBhIGZpZWxkIGZvciBzZWxlY3RpbmcgYSB0YXJnZXQgaG9zdFxuICAgIHRoaXMubmF0aXZlID0gIUVudmlyb25tZW50RW5haW8uaXNXZWJFbnZpcm9ubWVudCgpO1xuICAgIHRoaXMucHJvZmlsZXMgPSBhdXRoU2VydmljZS5ob3N0cy5tYXAoaG9zdCA9PiAoe1xuICAgICAgbGFiZWw6IGhvc3QgPyBob3N0IDogJ2xvY2FsJyxcbiAgICAgIHZhbHVlOiBob3N0IHx8ICcnXG4gICAgfSkpO1xuICAgIHRoaXMuYXBwTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYXBwTG9nbycpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zWydsb2dvdXQnXSkge1xuICAgICAgdGhpcy5wbHVnaW5zU2VyaWNlLnVubG9hZCgpO1xuICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQodHJ1ZSk7XG4gICAgfVxuICAgIHRoaXMucmV0dXJuVXJsID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1sncmV0dXJuVXJsJ10gfHwgJy8nO1xuICAgIC8vIGJlY2F1c2UgcmV0dXJuVXJsIHdhcyBmZXRjaGVkIGZyb20gbG9jYXRpb24sIHdlIG5lZWQgdG8gZ3JhYiB0aGUgYWN0dWFsIHJvdXRlXG4gICAgY29uc3QgY3VycmVudExvYyA9IGxvY2F0aW9uLmhyZWYuc3Vic3RyKGxvY2F0aW9uLm9yaWdpbi5sZW5ndGgpO1xuXG4gICAgY29uc3QgcHJlZml4ID0gY3VycmVudExvYy5zdWJzdHJpbmcoMCwgY3VycmVudExvYy5pbmRleE9mKCcvZW50ZXInKSk7XG4gICAgdGhpcy5yZXR1cm5VcmwgPSB0aGlzLnJldHVyblVybC5yZXBsYWNlKHByZWZpeCwgJycpLnJlcGxhY2UoJ2luZGV4Lmh0bWwnLCAnJyk7XG5cbiAgICAvLyBsb2FkaW5nIGxvZ2luIHN0YXRlIGFzIHRoZSB1c2VyIGlzIGFscmVhZHkgYXV0aGVudGljYXRlZCB3aWxsIHJlZGlyZWN0IHRvIGhvbWVcbiAgICBpZiAodGhpcy5hdXRoU2VydmljZS5pc0xvZ2dlZEluKCkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gbG9nZ2VkIGluIHVzZXIsIHNlbGVjdCB0aGUgYnJvd3NlcnMgbGFuZ3VhZ2UgZm9yXG4gICAgICAvLyB0aGUgbG9naW4gZGlhbG9nXG4gICAgICBsZXQgYnJvd3NlckxhbmcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpO1xuICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGJyb3dzZXJMYW5nLm1hdGNoKC9lbnxkZS8pID8gYnJvd3NlckxhbmcgOiAnZW4nKTtcbiAgICB9XG4gIH1cblxuICBsb2dpbigpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaW52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMubGljZW5zZUV4Y2VlZGVkID0gZmFsc2U7XG4gICAgb2JzZXJ2YWJsZU9mKG51bGwpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5sb2dpbih0aGlzLmZvcm0uaG9zdCwgdGhpcy5mb3JtLnVzZXJuYW1lLCB0aGlzLmZvcm0ucGFzc3dvcmQpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cmxUb05hdmlnYXRlID0gdGhpcy5yZXR1cm5VcmwgfHwgJy8nO1xuICAgICAgICBpZiAoIXRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5wcmVzZW50KSB7XG4gICAgICAgICAgdGhpcy5zaG93QWJzZW50RGlhbG9nID0gdHJ1ZTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0QXNQcmVzZW50QnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnVybFRvTmF2aWdhdGUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSwgVXRpbHMudGhyb3coKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQyOSkge1xuICAgICAgICAgIHRoaXMubGljZW5zZUV4Y2VlZGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmludmFsaWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSlcbiAgICApO1xuICB9XG5cbiAgY2xvc2VTaG93QWJzZW50RGlhbG9nKHNldEFzUHJlc2VudCA9IGZhbHNlKSB7XG4gICAgdGhpcy5zaG93QWJzZW50RGlhbG9nID0gZmFsc2U7XG5cbiAgICBpZiAoc2V0QXNQcmVzZW50KSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldFByZXNlbmNlKHNldEFzUHJlc2VudCkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51cmxUb05hdmlnYXRlKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1sb2dpbi1jb250YWluZXJcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJiYWNrZ3JvdW5kSW1hZ2VcIj5cbiAgPGRpdiBjbGFzcz1cImVvLWxvZ2luXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZFwiPlxuICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiYXBwTG9nb1wiPjwvZW8taWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkXCIgKm5nSWY9XCJpbnZhbGlkXCIgdHJhbnNsYXRlPmVvLnN0YXRlLmxvZ2luLm1zZy5pbnZhbGlkPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImludmFsaWRcIiAqbmdJZj1cImxpY2Vuc2VFeGNlZWRlZFwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5sb2dpbi5tc2cubGljZW5zZUV4Y2VlZGVkPC9kaXY+XG5cbiAgICA8Zm9ybSAobmdTdWJtaXQpPVwibG9naW4oKVwiICNsb2dpbkZvcm09XCJuZ0Zvcm1cIj5cblxuICAgICAgPGZpZWxkc2V0IFtuZ0NsYXNzXT1cIntsb2FkaW5nOiBsb2FkaW5nfVwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWl0ZW1cIiAqbmdJZj1cIm5hdGl2ZVwiIFtuZ0NsYXNzXT1cIntlbXB0eTogIXByb2ZpbGVzIHx8IHByb2ZpbGVzLmxlbmd0aCA9PT0gMH1cIj5cbiAgICAgICAgICA8eXZjLWRyb3Bkb3duIFtvcHRpb25zXT1cInByb2ZpbGVzXCIgcGxhY2Vob2xkZXI9XCJob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtLmhvc3RcIiBuYW1lPVwicHJvZmlsZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1wcm9maWxlIHBUZW1wbGF0ZT1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1yb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2Pnt7cHJvZmlsZS5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY2xlYXIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVByb2ZpbGUocHJvZmlsZS52YWx1ZSlcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3l2Yy1kcm9wZG93bj5cbiAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPmVvLnN0YXRlLmxvZ2luLmhvc3Q8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIGZvcm0gbG9naW4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWl0ZW1cIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwidXNlcm5hbWVcIiBwbGFjZWhvbGRlcj1cInt7J2VvLnN0YXRlLmxvZ2luLnVzZXJuYW1lJ3x0cmFuc2xhdGV9fVwiXG4gICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCIgYXV0b2ZvY3VzXG4gICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9ybS51c2VybmFtZVwiIG5hbWU9XCJ1c2VybmFtZVwiIHJlcXVpcmVkIHRhYmluZGV4PVwiMVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VybmFtZVwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5sb2dpbi51c2VybmFtZTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1pdGVtXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3snZW8uc3RhdGUubG9naW4ucGFzc3dvcmQnfHRyYW5zbGF0ZX19XCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcm0ucGFzc3dvcmRcIiBuYW1lPVwicGFzc3dvcmRcIiByZXF1aXJlZCB0YWJpbmRleD1cIjJcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwicGFzc3dvcmRcIiB0cmFuc2xhdGU+ZW8uc3RhdGUubG9naW4ucGFzc3dvcmQ8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9maWVsZHNldD5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhbG9naW5Gb3JtLmZvcm0udmFsaWQgfHwgbG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie3NwaW5uZXI6IGxvYWRpbmd9XCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGUgdGFiaW5kZXg9XCIzXCI+ZW8uc3RhdGUubG9naW4uc3VibWl0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxlby1kaWFsb2cgW3RpdGxlXT1cIidlby5zdGF0ZS5sb2dpbi5wcmVzZW5jZS5kaWFsb2cudGl0bGUnIHwgdHJhbnNsYXRlXCIgWyh2aXNpYmxlKV09XCJzaG93QWJzZW50RGlhbG9nXCJcbiAgICAgICAgICAgW2ZvY3VzT25TaG93XT1cImZhbHNlXCIgW21pbldpZHRoXT1cIjQwMFwiIFtzdHlsZUNsYXNzXT1cIidsb2dpbi1wcmVzZW5jZV9fZGlhbG9nJ1wiPlxuXG4gIDxkaXY+XG4gICAgPHNwYW4+e3snZW8uc3RhdGUubG9naW4ucHJlc2VuY2UuZGlhbG9nLm1lc3NhZ2UnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9ucyBsb2dpbi1wcmVzZW5jZS0tYWN0aW9uLWJ1dHRvbnMgZmxleC1yb3dcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwiY2xvc2VTaG93QWJzZW50RGlhbG9nKClcIlxuICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnN0YXRlLmxvZ2luLnByZXNlbmNlLmRpYWxvZy5jYW5jZWw8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjc2V0QXNQcmVzZW50IChjbGljayk9XCJjbG9zZVNob3dBYnNlbnREaWFsb2codHJ1ZSlcIiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCJcbiAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5sb2dpbi5wcmVzZW5jZS5kaWFsb2cuc2V0QXNQcmVzZW50PC9idXR0b24+XG4gIDwvZGl2PlxuPC9lby1kaWFsb2c+XG4iXX0=