@churchillliving/se-ui-toolkit 6.54.52 → 6.54.53
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.
|
@@ -63,6 +63,24 @@ export class SidebarComponent {
|
|
|
63
63
|
this.isSidebarHidden = false;
|
|
64
64
|
}
|
|
65
65
|
ngOnInit() { }
|
|
66
|
+
ngOnChanges() {
|
|
67
|
+
this.scrollToSection();
|
|
68
|
+
}
|
|
69
|
+
scrollToSection() {
|
|
70
|
+
let decodedPageUrl;
|
|
71
|
+
let pageUrl = this.router.url;
|
|
72
|
+
if (pageUrl.includes('section=')) {
|
|
73
|
+
pageUrl = pageUrl.split('section=')[1];
|
|
74
|
+
decodedPageUrl = decodeURIComponent(pageUrl);
|
|
75
|
+
}
|
|
76
|
+
if (this.form && this.form.formSections?.length > 0 && decodedPageUrl) {
|
|
77
|
+
const index = this.form.formSections.findIndex((section) => section.name && section.name.toLowerCase() === decodedPageUrl.toLowerCase());
|
|
78
|
+
if (index > -1) {
|
|
79
|
+
this.form.formSections[index].expanded = true;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
this.instance?.selectRootElement(`.${decodedPageUrl?.replace(/\s/g, "")}`, true)?.scrollIntoView({ behavior: 'smooth' });
|
|
83
|
+
}
|
|
66
84
|
initializeSideBar() {
|
|
67
85
|
this.roles = this.authService.getUserRoles();
|
|
68
86
|
// apply user role permissions
|
|
@@ -298,6 +316,8 @@ export class SidebarComponent {
|
|
|
298
316
|
* Passes the event of the menu
|
|
299
317
|
*/
|
|
300
318
|
navigateToSection(x, item) {
|
|
319
|
+
console.log('x: ', x);
|
|
320
|
+
console.log('item: ', item);
|
|
301
321
|
if (this.form && this.form.formSections?.length > 0 && x.section) {
|
|
302
322
|
const index = this.form.formSections.findIndex((section) => section.class && section.class === x.section);
|
|
303
323
|
if (index > -1) {
|
|
@@ -344,7 +364,7 @@ export class SidebarComponent {
|
|
|
344
364
|
});
|
|
345
365
|
}
|
|
346
366
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SidebarComponent, deps: [{ token: i0.Renderer2 }, { token: i1.FormService }, { token: i2.GridService }, { token: i3.AuthenticationService }, { token: i4.DialogService }, { token: i5.Router }, { token: i6.PageLoggerService }, { token: i7.HyperlinkService }, { token: i8.AlertService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
347
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SidebarComponent, selector: "se-sidebar", inputs: { navHidden: "navHidden", collapseSidebar: "collapseSidebar", menuTitle: "menuTitle", activeTestMode: "activeTestMode", sidebarItems: "sidebarItems" }, ngImport: i0, template: "<span\n *ngIf=\"!isSidebarHidden && sidebarItemsList && sidebarItemsList.length > 0\"\n>\n<span *ngIf=\"!navHidden\">\n <nav\n *ngIf=\"!collapseSidebar\"\n class=\"navbar navbar-expand-lg p-0 grow-1\"\n [ngClass]=\"toggleMenu ? 'hide-nav' : ''\"\n >\n <button class=\"toggle-btn\" (click)=\"toggleSidebar()\">\n <i\n class=\"pi pi-fw toggle-icon\"\n [ngClass]=\"toggleMenu ? 'pi-chevron-left' : 'pi-chevron-right'\"\n ></i>\n <span>{{ menuTitle }}</span>\n </button>\n <p-panelMenu [model]=\"menuItems\" (click)=\"clickedMenu(menuItems)\"></p-panelMenu>\n </nav>\n</span>\n \n <span *ngIf=\"collapseSidebar\" class=\"navbar navbar-expand-lg p-0 grow-1\"\n class='hide-nav'>\n <p-panelMenu [model]=\"menuItems\" (click)=\"clickedMenu(menuItems)\"></p-panelMenu>\n </span>\n</span>", styles: [":host ::ng-deep .p-menu{width:auto!important}:host ::ng-deep .p-panelmenu-header-link .p-panelmenu-icon:before{display:none}.sidebar .navbar{width:260px;overflow:auto;transition:width .5s;-webkit-transition:width .5s}.hide-nav .toggle-btn span{display:none}:host ::ng-deep .p-panelmenu-panel,:host ::ng-deep .p-element,:host ::ng-deep .p-panelmenu-header,:host ::ng-deep .p-panelmenu .p-panelmenu-header{border-bottom:0!important}:host ::ng-deep .hide-nav .p-menuitem-text,:host ::ng-deep .hide-nav .p-panelmenu-icon,:host ::ng-deep .hide-nav+.nav-footer{display:none;opacity:0}\n"], dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.PanelMenu, selector: "p-panelMenu", inputs: ["model", "style", "styleClass", "multiple", "transitionOptions", "id", "tabindex"] }] }); }
|
|
367
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SidebarComponent, selector: "se-sidebar", inputs: { navHidden: "navHidden", collapseSidebar: "collapseSidebar", menuTitle: "menuTitle", activeTestMode: "activeTestMode", sidebarItems: "sidebarItems" }, usesOnChanges: true, ngImport: i0, template: "<span\n *ngIf=\"!isSidebarHidden && sidebarItemsList && sidebarItemsList.length > 0\"\n>\n<span *ngIf=\"!navHidden\">\n <nav\n *ngIf=\"!collapseSidebar\"\n class=\"navbar navbar-expand-lg p-0 grow-1\"\n [ngClass]=\"toggleMenu ? 'hide-nav' : ''\"\n >\n <button class=\"toggle-btn\" (click)=\"toggleSidebar()\">\n <i\n class=\"pi pi-fw toggle-icon\"\n [ngClass]=\"toggleMenu ? 'pi-chevron-left' : 'pi-chevron-right'\"\n ></i>\n <span>{{ menuTitle }}</span>\n </button>\n <p-panelMenu [model]=\"menuItems\" (click)=\"clickedMenu(menuItems)\"></p-panelMenu>\n </nav>\n</span>\n \n <span *ngIf=\"collapseSidebar\" class=\"navbar navbar-expand-lg p-0 grow-1\"\n class='hide-nav'>\n <p-panelMenu [model]=\"menuItems\" (click)=\"clickedMenu(menuItems)\"></p-panelMenu>\n </span>\n</span>", styles: [":host ::ng-deep .p-menu{width:auto!important}:host ::ng-deep .p-panelmenu-header-link .p-panelmenu-icon:before{display:none}.sidebar .navbar{width:260px;overflow:auto;transition:width .5s;-webkit-transition:width .5s}.hide-nav .toggle-btn span{display:none}:host ::ng-deep .p-panelmenu-panel,:host ::ng-deep .p-element,:host ::ng-deep .p-panelmenu-header,:host ::ng-deep .p-panelmenu .p-panelmenu-header{border-bottom:0!important}:host ::ng-deep .hide-nav .p-menuitem-text,:host ::ng-deep .hide-nav .p-panelmenu-icon,:host ::ng-deep .hide-nav+.nav-footer{display:none;opacity:0}\n"], dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.PanelMenu, selector: "p-panelMenu", inputs: ["model", "style", "styleClass", "multiple", "transitionOptions", "id", "tabindex"] }] }); }
|
|
348
368
|
}
|
|
349
369
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
350
370
|
type: Component,
|
|
@@ -360,4 +380,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
360
380
|
}], sidebarItems: [{
|
|
361
381
|
type: Input
|
|
362
382
|
}] } });
|
|
363
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFJM0UsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUlsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUXRDLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsSUFBYSxjQUFjLENBQUMsR0FBUTtRQUNsQyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDaEIsUUFBUSxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBQ0QsSUFBYSxZQUFZLENBQUMsZUFBb0I7UUFDNUMsSUFBSSxlQUFlLEVBQUU7WUFDbkIsSUFBSSxXQUFXLEdBQVUsRUFBRSxDQUFDO1lBQzVCLElBQUksZUFBZSxDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztnQkFDNUIsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUs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O2lJQWxXVSxnQkFBZ0I7cUhBQWhCLGdCQUFnQixrTkN0QjdCLG16QkF3Qk87OzJGREZNLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxZQUFZO3dWQVViLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNPLGNBQWM7c0JBQTFCLEtBQUs7Z0JBS08sWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE5nWm9uZSwgT25Jbml0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBFU2lkZWJhckFjdGlvbiwgSVNpZGViYXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2lkZWJhci5tb2RlbCc7XG5pbXBvcnQgeyBFUGVybWlzc2lvblR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlci1pbmZvLm1vZGVsJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHlwZXJsaW5rU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2h5cGVybGluay5zZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2VMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcGFnZS1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJZnJhbWVDb21wb25lbnQgfSBmcm9tICcuLi9pZnJhbWUvaWZyYW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IGRyYWdnYWJsZURpYWxvZyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJRHluYW1pY0Zvcm0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlLXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHRvZ2dsZU1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbG9hZENvbXBvbmVudE5hbWUgPSAnJztcbiAgZ2xvYmFsTGlzdGVuRnVuYzogRnVuY3Rpb247XG4gIGRpYWxvZ1JlZjogYW55O1xuICBmb3JtOiBJRHluYW1pY0Zvcm07XG4gIEBJbnB1dCgpIG5hdkhpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2xsYXBzZVNpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWVudVRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNldCBhY3RpdmVUZXN0TW9kZSh2YWw6IGFueSkge1xuICAgIGlmICh2YWwgPT09IHRydWUpIHtcbiAgICAgIGRlYnVnZ2VyO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBzZXQgc2lkZWJhckl0ZW1zKG5ld1NpZGViYXJJdGVtczogYW55KSB7XG4gICAgaWYgKG5ld1NpZGViYXJJdGVtcykge1xuICAgICAgbGV0IGxlZnRTaWRlQmFyOiBhbnlbXSA9IFtdO1xuICAgICAgaWYgKG5ld1NpZGViYXJJdGVtcy5mb3JtU2VjdGlvbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5mb3JtID0gbmV3U2lkZWJhckl0ZW1zO1xuICAgICAgICBuZXdTaWRlYmFySXRlbXMuZm9ybVNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAoc2VjdGlvbiAmJiBzZWN0aW9uPy5pY29uKSB7XG4gICAgICAgICAgICBsZWZ0U2lkZUJhci5wdXNoKHtcbiAgICAgICAgICAgICAgaWNvbjogc2VjdGlvbj8uaWNvbixcbiAgICAgICAgICAgICAgc2VjdGlvbjogc2VjdGlvbj8uY2xhc3MsXG4gICAgICAgICAgICAgIHRvb2x0aXA6IHNlY3Rpb24/Lm5hbWUsXG4gICAgICAgICAgICAgIGFjdGlvbjogRVNpZGViYXJBY3Rpb24uTkFWSUdBVElPTixcbiAgICAgICAgICAgICAgaGlkZGVuOiBzZWN0aW9uPy5oaWRkZW4sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLnNpZGViYXJJdGVtc0xpc3QgPSBsZWZ0U2lkZUJhcj8ubGVuZ3RoID4gMCA/IGxlZnRTaWRlQmFyIDogbmV3U2lkZWJhckl0ZW1zO1xuICAgICAgdGhpcy5pbml0aWFsaXplU2lkZUJhcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaWRlYmFySXRlbXNMaXN0OiBJU2lkZWJhcltdID0gW107XG4gIHB1YmxpYyBtZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcbiAgcm9sZXM6IHN0cmluZ1tdID0gW107XG4gIGlzU2lkZWJhckhpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5zdGFuY2U6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSxcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHBhZ2VMb2dnZXJTZXJ2aWNlOiBQYWdlTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIGh5cGVybGlua1NlcnZpY2U6IEh5cGVybGlua1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBpbml0aWFsaXplU2lkZUJhcigpIHtcbiAgICB0aGlzLnJvbGVzID0gdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyUm9sZXMoKTtcbiAgICAvLyBhcHBseSB1c2VyIHJvbGUgcGVybWlzc2lvbnNcbiAgICB0aGlzLmFwcGx5VXNlclBlcm1pc3Npb25zKCk7XG4gICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLnNpZGViYXJJdGVtc0xpc3QubWFwKCh4OiBhbnkpID0+ICh7XG4gICAgICBsYWJlbDogeC5sYWJlbCxcbiAgICAgIGljb246IHguaWNvbixcbiAgICAgIGlkOiB4LmlkLFxuICAgICAgc2VjdGlvbjogeC5zZWN0aW9uLFxuICAgICAgZXhwYW5kZWQ6IHguZXhwYW5kZWQsXG4gICAgICBhY3Rpb246IHguYWN0aW9uLFxuICAgICAgaXRlbXM6IHguaXRlbXMgJiYgeC5pdGVtcy5sZW5ndGggPiAwID8gdGhpcy5zZXRNZW51SXRlbXMoeCkgOiBbXSxcbiAgICAgIHRpdGxlOiB0aGlzLnNldE1lbnVUaXRsZSh4KSxcbiAgICAgIGNvbW1hbmQ6IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGlmICh4LmFjdGlvbiAmJiB4LmFjdGlvbiA9PT0gRVNpZGViYXJBY3Rpb24uTkFWSUdBVElPTikge1xuICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1NlY3Rpb24oeCwgZXZlbnQuaXRlbSk7XG4gICAgICAgIH0gZWxzZSBpZiAoeC5hY3Rpb24gJiYgeC5hY3Rpb24gPT09IEVTaWRlYmFyQWN0aW9uLk9QRU5ESUFMT0cpIHtcbiAgICAgICAgICB0aGlzLm9wZW5EaWFsb2coeCwgZXZlbnQuaXRlbSwgZXZlbnQ/Lm9yaWdpbmFsRXZlbnQ/LmN0cmxLZXkpO1xuICAgICAgICB9IGVsc2UgaWYgKHguYWN0aW9uICYmIHguYWN0aW9uID09PSBFU2lkZWJhckFjdGlvbi5JRlJBTUUpIHtcbiAgICAgICAgICB0aGlzLmxvYWRJRnJhbWUoeCwgZXZlbnQuaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVBY3RpdmVJdGVtKGV2ZW50Lml0ZW0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tOiAnJywgLy8gJzFweCBzb2xpZCAjZTllY2VmJyxcbiAgICAgICAgZGlzcGxheTogeC5oaWRkZW4gPyAnbm9uZScgOiAnJyxcbiAgICAgIH0sXG4gICAgICBvbkNsaWNrOiB4Lm9uQ2xpY2ssXG4gICAgICBvblJldHVybjogeC5vblJldHVybixcbiAgICAgIGRpc2FibGVkOiB4LmRpc2FibGVkLFxuICAgIH0pKTtcbiAgfVxuXG4gIHNldE1lbnVUaXRsZSh4OiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiB4LnRvb2x0aXAgPyB4LnRvb2x0aXAgOiAheC5sYWJlbCA/IHguc2VjdGlvbiA6ICcnO1xuICB9XG5cbiAgc2V0TWVudUl0ZW1zKHg6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHguaXRlbXMubWFwKChtZW51OiBhbnkpID0+ICh7XG4gICAgICBsYWJlbDogbWVudS5sYWJlbCxcbiAgICAgIGljb246IG1lbnUuaWNvbixcbiAgICAgIGlkOiBtZW51LmlkLFxuICAgICAgc2VjdGlvbjogbWVudS5zZWN0aW9uLFxuICAgICAgZXhwYW5kZWQ6IG1lbnUuZXhwYW5kZWQsXG4gICAgICBhY3Rpb246IG1lbnUuYWN0aW9uLFxuICAgICAgdGl0bGU6IHRoaXMuc2V0TWVudVRpdGxlKHgpLFxuICAgICAgY29tbWFuZDogKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHguYWN0aW9uICYmIHguYWN0aW9uID09PSBFU2lkZWJhckFjdGlvbi5OQVZJR0FUSU9OKSB7XG4gICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvU2VjdGlvbihtZW51LCBldmVudC5pdGVtKTtcbiAgICAgICAgfSBlbHNlIGlmIChtZW51LmFjdGlvbiAmJiBtZW51LmFjdGlvbiA9PT0gRVNpZGViYXJBY3Rpb24uT1BFTkRJQUxPRykge1xuICAgICAgICAgIHRoaXMub3BlbkRpYWxvZyhtZW51LCBldmVudC5pdGVtLCBldmVudD8ub3JpZ2luYWxFdmVudD8uY3RybEtleSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWVudS5hY3Rpb24gJiYgbWVudS5hY3Rpb24gPT09IEVTaWRlYmFyQWN0aW9uLklGUkFNRSkge1xuICAgICAgICAgIHRoaXMubG9hZElGcmFtZShtZW51LCB4KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZUFjdGl2ZUl0ZW0oZXZlbnQuaXRlbSk7XG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tOiAnJywgLy8gJzFweCBzb2xpZCAjZTllY2VmJyxcbiAgICAgICAgZGlzcGxheTogbWVudS5oaWRkZW4gPyAnbm9uZScgOiAnJyxcbiAgICAgIH0sXG4gICAgICBvbkNsaWNrOiBtZW51Lm9uQ2xpY2ssXG4gICAgICBvblJldHVybjogbWVudS5vblJldHVybixcbiAgICAgIGRpc2FibGVkOiBtZW51LmRpc2FibGVkLFxuICAgIH0pKVxuICB9XG5cbiAgbG9hZElGcmFtZShtZW51OiBhbnksIGl0ZW06IGFueSkge1xuICAgIGlmKG1lbnUuaUZyYW1lLmxpbmtJZCl7XG4gICAgICB0aGlzLmh5cGVybGlua1NlcnZpY2UuYnVpbGRVcmwobWVudS5pRnJhbWUubGlua0lkKS50aGVuKChyZXMpPT57XG4gICAgICAgIGlmIChyZXMpe1xuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVXJsID0gdGhpcy5oeXBlcmxpbmtTZXJ2aWNlLnNldFVybChtZW51Py5wYXJhbXMsIHJlc1swXSk7XG4gICAgICAgICAgbWVudS5pRnJhbWVbJ2xpbmsnXSA9IG9yaWdpbmFsVXJsO1xuICAgICAgICAgIHRoaXMubG9hZElGcmFtZURhdGEobWVudSwgaXRlbSk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFwiTm8gTGluayBGb3VuZCBBZ2FpbnN0IHRoaXMgbGlua0lkXCIpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5sb2FkSUZyYW1lRGF0YShtZW51LCBpdGVtKTtcbiAgICB9XG4gIH1cblxuICBsb2FkSUZyYW1lRGF0YShtZW51OiBJU2lkZWJhciwgaXRlbTogYW55KSB7XG4gICAgaWYgKG1lbnUpIHtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKElmcmFtZUNvbXBvbmVudCwge1xuICAgICAgICBoZWFkZXI6IG1lbnVbJ2RhdGEnXT8uaGVhZGVyID8gbWVudVsnZGF0YSddPy5oZWFkZXIgOiBtZW51LnNlY3Rpb24gLFxuICAgICAgICB3aWR0aDogbWVudS5pRnJhbWU/LndpZHRoID8gbWVudS5pRnJhbWUud2lkdGggOiAnOTAlJyxcbiAgICAgICAgaGVpZ2h0OiBtZW51LmlGcmFtZT8uaGVpZ2h0ID8gbWVudS5pRnJhbWUuaGVpZ2h0IDogJzgwJScsXG4gICAgICAgIGRhdGE6IHsgdmFsdWU6IG1lbnUuaUZyYW1lPy5saW5rLCBpRnJhbWVJZDogbWVudS5zZWN0aW9uIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2V0RHluYW1pY0RpYWxvZ1JlZihkaWFsb2dSZWYpO1xuICAgICAgdGhpcy5wYWdlTG9nZ2VyU2VydmljZS5zYXZlUGFnZUxvZ2dlckluZm8odGhpcy5yb3V0ZXIudXJsPy5zdWJzdHJpbmcoMSksICdJZnJhbWVDb21wb25lbnQnKTtcblxuICAgICAgdGhpcy5oYW5kbGVBY3RpdmVJdGVtKGl0ZW0pO1xuICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGVcbiAgICAgICAgLnBpcGUodGFrZSgxKSkgLy8gRW1pdCBvbmx5IG9uY2Ugd2hlbiB0aGUgem9uZSBiZWNvbWVzIHN0YWJsZVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBkcmFnZ2FibGVEaWFsb2cobWVudS5sYWJlbClcbiAgICAgICAgfSk7XG4gICAgICBkaWFsb2dSZWYub25DbG9zZS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUFjdGl2ZUl0ZW0oaXRlbSwgZmFsc2UpO1xuICAgICAgICBpZiAoZGF0YSAmJiBtZW51Lm9uUmV0dXJuKSB7XG4gICAgICAgICAgbWVudS5vblJldHVybihkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2lkZWJhcigpIHtcbiAgICB0aGlzLnRvZ2dsZU1lbnUgPSAhdGhpcy50b2dnbGVNZW51O1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0b2dnbGVNZW51JywgSlNPTi5zdHJpbmdpZnkodGhpcy50b2dnbGVNZW51KSk7XG4gIH1cblxuICAvLyBhcHBseSB1c2VyIHJvbGUgcGVybWlzc2lvbnNcbiAgYXBwbHlVc2VyUGVybWlzc2lvbnMoKSB7XG4gICAgaWYgKHRoaXMuc2lkZWJhckl0ZW1zTGlzdCkge1xuICAgICAgbGV0IHRvdGFsSXRlbXM6IG51bWJlciA9IDA7XG4gICAgICBsZXQgaGlkZGVuSXRlbXM6IG51bWJlciA9IDA7XG5cbiAgICAgIHRoaXMuc2lkZWJhckl0ZW1zTGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBsZXQgcGVybWlzc2lvbnM6IGFueSA9IGl0ZW0ucGVybWlzc2lvbnM7XG4gICAgICAgIGxldCBoYXNWYWxpZEVkaXRQZXJtaXNzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgaXRlbS5pZCA9IGluZGV4LnRvU3RyaW5nKCk7XG4gICAgICAgIGlmIChwZXJtaXNzaW9ucyAmJiBwZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcGVybWlzc2lvbnMuZm9yRWFjaCgocGVybWlzc2lvbjogYW55KSA9PiB7XG4gICAgICAgICAgICBsZXQgaXNWYWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb24ucm9sZXMgJiYgcGVybWlzc2lvbi5yb2xlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb24ucm9sZXMuZm9yRWFjaCgocm9sZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkICYmIHRoaXMucm9sZXMgJiYgdGhpcy5yb2xlcy5pbmNsdWRlcyhyb2xlKSkge1xuICAgICAgICAgICAgICAgICAgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbi50eXBlID09PSBFUGVybWlzc2lvblR5cGUuVklFVyAmJlxuICAgICAgICAgICAgICAgICFoYXNWYWxpZEVkaXRQZXJtaXNzaW9uXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICBpdGVtLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChwZXJtaXNzaW9uLnR5cGUgPT09IEVQZXJtaXNzaW9uVHlwZS5FRElUKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgIGhhc1ZhbGlkRWRpdFBlcm1pc3Npb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgaXRlbS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgaXRlbS5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbEl0ZW1zKys7XG5cbiAgICAgICAgaWYgKGl0ZW0uaGlkZGVuKSB7XG4gICAgICAgICAgaGlkZGVuSXRlbXMrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaXNTaWRlYmFySGlkZGVuID0gdG90YWxJdGVtcyA+IDAgJiYgdG90YWxJdGVtcyA9PT0gaGlkZGVuSXRlbXM7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEAgcGFyYW0gbWVudVxuICAgKiBAIHBhcmFtIGl0ZW1cbiAgICogUGFzc2VzIHRoZSBzaWRlYmFyIGFycmF5IHRvIGNvbnRhaW4gYWxsIElTaWRlYmFyIHByb3BlcnR5IGxpa2VcbiAgICogUGFzc2VzIHRoZSBldmVudCBvZiB0aGUgbWVudVxuICAgKi9cblxuICBvcGVuRGlhbG9nKG1lbnU6IElTaWRlYmFyLCBpdGVtOiBhbnksIGNvbnRyb2xLZXkpOiB2b2lkIHtcbiAgICAgIGlmIChjb250cm9sS2V5ICYmIG1lbnUuY29tcG9uZW50KSB7XG4gICAgICAgIC8vb3BlbiBjb21wb25lbnQgb24gbmV3IHRhYlxuICAgICAgICBjb25zdCBtZW51RGF0YTphbnkgPSBtZW51LmRhdGE/LmRhdGEgPyBtZW51LmRhdGEuZGF0YSA6IHt9O1xuICAgICAgICB0aGlzLmh5cGVybGlua1NlcnZpY2Uub3BlbkRpYWxvZ0luTmV3VGFiKG1lbnUuY29tcG9uZW50LCBtZW51RGF0YSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vb3BlbiBjb21wb25lbnQgaW4gZGlhbG9nXG4gICAgICAgIHRoaXMub3BlbkNvbXBvbmVudEluRGlhbG9nKG1lbnUsIGl0ZW0pXG4gICAgICB9XG4gIH1cblxuICAgLy8gc2V0IGRpYWxvZyByZWYgd2hlbiBwb3B1cCBvcGVuXG4gICBzZXREeW5hbWljRGlhbG9nUmVmKHJlZil7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmRpYWxvZ0NvbXBvbmVudFJlZk1hcC5nZXQocmVmKTtcbiAgICBjb25zdCBkeW5hbWljQ29tcG9uZW50ID0gZGlhbG9nUmVmPy5pbnN0YW5jZSBhcyBEeW5hbWljRGlhbG9nQ29tcG9uZW50O1xuICAgIGNvbnN0IGFyaWFMYWJlbGxlZEJ5ID0gZHluYW1pY0NvbXBvbmVudC5nZXRBcmlhTGFiZWxsZWRCeSgpO1xuICAgIGR5bmFtaWNDb21wb25lbnQuZ2V0QXJpYUxhYmVsbGVkQnkgPSAoKSA9PiBhcmlhTGFiZWxsZWRCeTtcbiAgfVxuXG4gIGludGVyY2VwdERpYWxvZ0Nsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5ncmlkU2VydmljZS5jb2x1bW5Gb2N1c2VkT3V0IHx8IHRoaXMuZm9ybVNlcnZpY2UuZmllbGRGb2N1c2VkT3V0KSB7XG4gICAgICBpZiAoY29uZmlybShcIllvdSB3aWxsIGxvc2UgY2hhbmdlcyBub3Qgc2F2ZWQgb24gcGFnZS4gV291bGQgeW91IGxpa2UgdG8gY29udGludWU/XCIpID09IHRydWUpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLmNvbHVtbkZvY3VzZWRPdXQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JtU2VydmljZS5maWVsZEZvY3VzZWRPdXQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5kZXN0cm95KCk7XG4gICAgfVxuICB9XG4gICAgXG4gIG9wZW5Db21wb25lbnRJbkRpYWxvZyhtZW51OklTaWRlYmFyLCBpdGVtOmFueSl7XG4gICAgY29uc3QgbWVudURhdGE6YW55ID0gbWVudS5kYXRhID8gbWVudS5kYXRhIDogbWVudTtcbiAgICBtZW51RGF0YS5zdHlsZSA9e2JhY2tncm91bmQ6ICcjZmZmJ31cbiAgICBpZihtZW51RGF0YS5zY3JvbGxhYmxlID09IGZhbHNlKXtcbiAgICAgIG1lbnVEYXRhLnN0eWxlQ2xhc3MgPSBcInNtYWxsLW1vZGVsXCI7XG4gICAgfWVsc2V7XG4gICAgICBtZW51RGF0YS5zdHlsZUNsYXNzID0gXCJzaWRlYmFyLWRhdGVwaWNrZXJcIjtcbiAgICB9XG4gICAgaWYgKG1lbnUuY29tcG9uZW50KSB7XG4gICAgICBcbiAgICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4obWVudS5jb21wb25lbnQsIG1lbnVEYXRhKTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlID0gdGhpcy5pbnRlcmNlcHREaWFsb2dDbG9zZS5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5zZXREeW5hbWljRGlhbG9nUmVmKHRoaXMuZGlhbG9nUmVmKTtcbiAgICAgIHRoaXMucGFnZUxvZ2dlclNlcnZpY2Uuc2F2ZVBhZ2VMb2dnZXJJbmZvKHRoaXMucm91dGVyLnVybD8uc3Vic3RyaW5nKDEpLCAgbWVudS5jb21wb25lbnQ/Lm5hbWUpO1xuICAgICAgdGhpcy5oYW5kbGVBY3RpdmVJdGVtKGl0ZW0pO1xuICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGVcbiAgICAgICAgLnBpcGUodGFrZSgxKSkgLy8gRW1pdCBvbmx5IG9uY2Ugd2hlbiB0aGUgem9uZSBiZWNvbWVzIHN0YWJsZVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBkcmFnZ2FibGVEaWFsb2cobWVudS5sYWJlbClcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5vbkNsb3NlLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlQWN0aXZlSXRlbShpdGVtLCBmYWxzZSk7XG4gICAgICAgIGlmIChkYXRhICYmIG1lbnUub25SZXR1cm4pIHtcbiAgICAgICAgICBtZW51Lm9uUmV0dXJuKGRhdGEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQCBwYXJhbSB4XG4gICAqIEAgcGFyYW0gaXRlbVxuICAgKiBQYXNzZXMgdGhlIHNpZGViYXIgYXJyYXkgdG8gY29udGFpbiBhbGwgSVNpZGViYXIgcHJvcGVydHkgbGlrZVxuICAgKiBQYXNzZXMgdGhlIGV2ZW50IG9mIHRoZSBtZW51XG4gICAqL1xuXG4gIG5hdmlnYXRlVG9TZWN0aW9uKHg6IElTaWRlYmFyLCBpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtICYmIHRoaXMuZm9ybS5mb3JtU2VjdGlvbnM/Lmxlbmd0aCA+IDAgJiYgeC5zZWN0aW9uKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuZm9ybS5mb3JtU2VjdGlvbnMuZmluZEluZGV4KChzZWN0aW9uKSA9PiBzZWN0aW9uLmNsYXNzICYmIHNlY3Rpb24uY2xhc3MgPT09IHguc2VjdGlvbik7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICB0aGlzLmZvcm0uZm9ybVNlY3Rpb25zW2luZGV4XS5leHBhbmRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuaW5zdGFuY2U/LnNlbGVjdFJvb3RFbGVtZW50KGAuJHt4LnNlY3Rpb24/LnJlcGxhY2UoL1xccy9nLCBcIlwiKX1gLCB0cnVlKT8uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgdGhpcy5oYW5kbGVBY3RpdmVJdGVtKGl0ZW0pO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtXG4gICAqIFBhc3NlcyB0aGUgZXZlbnQgb2YgdGhlIG1lbnVcbiAgICovXG4gIGhhbmRsZUFjdGl2ZUl0ZW0oeyBpY29uIH06IGFueSwgY2xvc2VEaWFsb2c6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLm1lbnVJdGVtcy5tYXAoKHgpID0+XG4gICAgICB4Lmljb24gPT09IGljb24gJiYgY2xvc2VEaWFsb2dcbiAgICAgICAgPyB7IC4uLngsIHN0eWxlQ2xhc3M6ICdhY3RpdmUtaWNvbicgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAuLi54LFxuICAgICAgICAgIHN0eWxlQ2xhc3M6ICcnLFxuICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICBib3JkZXJCb3R0b206ICcxcHggc29saWQgI2U5ZWNlZicsXG4gICAgICAgICAgICBkaXNwbGF5OiB4LnN0eWxlPy5kaXNwbGF5ID09PSAnbm9uZScgPyAnbm9uZScgOiAnJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGNsaWNrZWRNZW51KG1lbnU6IE1lbnVJdGVtW10pIHtcbiAgICBtZW51Lm1hcCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBjb25zdCBtYXRjaGVkSXRlbTogYW55ID0gdGhpcy5zaWRlYmFySXRlbXNMaXN0LmZpbmQoKHgpID0+IHguaWQgPT0gaXRlbS5pZCk7XG4gICAgICBpZiAoXG4gICAgICAgIGl0ZW0uc3R5bGVDbGFzcyA9PT0gJ2FjdGl2ZS1pY29uJyAmJlxuICAgICAgICBtYXRjaGVkSXRlbSAmJlxuICAgICAgICBtYXRjaGVkSXRlbS5vbkNsaWNrXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5oeXBlcmxpbmtTZXJ2aWNlXG4gICAgICAgICAgLmFkZEh5cGVybGlua3MobWF0Y2hlZEl0ZW0pXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChtYXRjaGVkSXRlbS5saW5rSWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5oeXBlcmxpbmtTZXJ2aWNlLnNldFNpZGViYXJMaW5rKFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgIHRoaXMuc2lkZWJhckl0ZW1zTGlzdFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbWF0Y2hlZEl0ZW0ub25DbGljayhpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBcbn0iLCI8c3BhblxuICAqbmdJZj1cIiFpc1NpZGViYXJIaWRkZW4gJiYgc2lkZWJhckl0ZW1zTGlzdCAmJiBzaWRlYmFySXRlbXNMaXN0Lmxlbmd0aCA+IDBcIlxuPlxuPHNwYW4gKm5nSWY9XCIhbmF2SGlkZGVuXCI+XG4gIDxuYXZcbiAgKm5nSWY9XCIhY29sbGFwc2VTaWRlYmFyXCJcbiAgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBwLTAgZ3Jvdy0xXCJcbiAgW25nQ2xhc3NdPVwidG9nZ2xlTWVudSA/ICdoaWRlLW5hdicgOiAnJ1wiXG4gID5cbiAgPGJ1dHRvbiBjbGFzcz1cInRvZ2dsZS1idG5cIiAoY2xpY2spPVwidG9nZ2xlU2lkZWJhcigpXCI+XG4gICAgPGlcbiAgICAgIGNsYXNzPVwicGkgcGktZncgdG9nZ2xlLWljb25cIlxuICAgICAgW25nQ2xhc3NdPVwidG9nZ2xlTWVudSA/ICdwaS1jaGV2cm9uLWxlZnQnIDogJ3BpLWNoZXZyb24tcmlnaHQnXCJcbiAgICA+PC9pPlxuICAgIDxzcGFuPnt7IG1lbnVUaXRsZSB9fTwvc3Bhbj5cbiAgPC9idXR0b24+XG4gIDxwLXBhbmVsTWVudSBbbW9kZWxdPVwibWVudUl0ZW1zXCIgKGNsaWNrKT1cImNsaWNrZWRNZW51KG1lbnVJdGVtcylcIj48L3AtcGFuZWxNZW51PlxuICA8L25hdj5cbjwvc3Bhbj5cbiAgXG4gIDxzcGFuICpuZ0lmPVwiY29sbGFwc2VTaWRlYmFyXCIgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBwLTAgZ3Jvdy0xXCJcbiAgICBjbGFzcz0naGlkZS1uYXYnPlxuICAgIDxwLXBhbmVsTWVudSBbbW9kZWxdPVwibWVudUl0ZW1zXCIgKGNsaWNrKT1cImNsaWNrZWRNZW51KG1lbnVJdGVtcylcIj48L3AtcGFuZWxNZW51PlxuICA8L3NwYW4+XG48L3NwYW4+Il19
|
|
383
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFJdEYsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUlsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUXRDLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsSUFBYSxjQUFjLENBQUMsR0FBUTtRQUNsQyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDaEIsUUFBUSxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBQ0QsSUFBYSxZQUFZLENBQUMsZUFBb0I7UUFDNUMsSUFBSSxlQUFlLEVBQUU7WUFDbkIsSUFBSSxXQUFXLEdBQVUsRUFBRSxDQUFDO1lBQzVCLElBQUksZUFBZSxDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztnQkFDNUIsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUs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QUM7YUFDTjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztpSUF2WFUsZ0JBQWdCO3FIQUFoQixnQkFBZ0IsdU9DdEI3QixtekJBd0JPOzsyRkRGTSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsWUFBWTt3VkFVYixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDTyxjQUFjO3NCQUExQixLQUFLO2dCQUtPLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBOZ1pvbmUsIE9uQ2hhbmdlcywgT25Jbml0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBFU2lkZWJhckFjdGlvbiwgSVNpZGViYXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2lkZWJhci5tb2RlbCc7XG5pbXBvcnQgeyBFUGVybWlzc2lvblR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlci1pbmZvLm1vZGVsJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHlwZXJsaW5rU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2h5cGVybGluay5zZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2VMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcGFnZS1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJZnJhbWVDb21wb25lbnQgfSBmcm9tICcuLi9pZnJhbWUvaWZyYW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IGRyYWdnYWJsZURpYWxvZyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJRHluYW1pY0Zvcm0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlLXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgdG9nZ2xlTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBsb2FkQ29tcG9uZW50TmFtZSA9ICcnO1xuICBnbG9iYWxMaXN0ZW5GdW5jOiBGdW5jdGlvbjtcbiAgZGlhbG9nUmVmOiBhbnk7XG4gIGZvcm06IElEeW5hbWljRm9ybTtcbiAgQElucHV0KCkgbmF2SGlkZGVuOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbGxhcHNlU2lkZWJhcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtZW51VGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgc2V0IGFjdGl2ZVRlc3RNb2RlKHZhbDogYW55KSB7XG4gICAgaWYgKHZhbCA9PT0gdHJ1ZSkge1xuICAgICAgZGVidWdnZXI7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHNldCBzaWRlYmFySXRlbXMobmV3U2lkZWJhckl0ZW1zOiBhbnkpIHtcbiAgICBpZiAobmV3U2lkZWJhckl0ZW1zKSB7XG4gICAgICBsZXQgbGVmdFNpZGVCYXI6IGFueVtdID0gW107XG4gICAgICBpZiAobmV3U2lkZWJhckl0ZW1zLmZvcm1TZWN0aW9ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmZvcm0gPSBuZXdTaWRlYmFySXRlbXM7XG4gICAgICAgIG5ld1NpZGViYXJJdGVtcy5mb3JtU2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xuICAgICAgICAgIGlmIChzZWN0aW9uICYmIHNlY3Rpb24/Lmljb24pIHtcbiAgICAgICAgICAgIGxlZnRTaWRlQmFyLnB1c2goe1xuICAgICAgICAgICAgICBpY29uOiBzZWN0aW9uPy5pY29uLFxuICAgICAgICAgICAgICBzZWN0aW9uOiBzZWN0aW9uPy5jbGFzcyxcbiAgICAgICAgICAgICAgdG9vbHRpcDogc2VjdGlvbj8ubmFtZSxcbiAgICAgICAgICAgICAgYWN0aW9uOiBFU2lkZWJhckFjdGlvbi5OQVZJR0FUSU9OLFxuICAgICAgICAgICAgICBoaWRkZW46IHNlY3Rpb24/LmhpZGRlbixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2lkZWJhckl0ZW1zTGlzdCA9IGxlZnRTaWRlQmFyPy5sZW5ndGggPiAwID8gbGVmdFNpZGVCYXIgOiBuZXdTaWRlYmFySXRlbXM7XG4gICAgICB0aGlzLmluaXRpYWxpemVTaWRlQmFyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNpZGViYXJJdGVtc0xpc3Q6IElTaWRlYmFyW10gPSBbXTtcbiAgcHVibGljIG1lbnVJdGVtczogTWVudUl0ZW1bXSA9IFtdO1xuICByb2xlczogc3RyaW5nW10gPSBbXTtcbiAgaXNTaWRlYmFySGlkZGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbnN0YW5jZTogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3JpZFNlcnZpY2U6IEdyaWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcGFnZUxvZ2dlclNlcnZpY2U6IFBhZ2VMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgaHlwZXJsaW5rU2VydmljZTogSHlwZXJsaW5rU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsVG9TZWN0aW9uKCk7XG4gIH1cblxuICBzY3JvbGxUb1NlY3Rpb24oKTogdm9pZCB7XG4gICAgbGV0IGRlY29kZWRQYWdlVXJsO1xuICAgIGxldCBwYWdlVXJsID0gdGhpcy5yb3V0ZXIudXJsO1xuICAgIGlmIChwYWdlVXJsLmluY2x1ZGVzKCdzZWN0aW9uPScpKSB7XG4gICAgICBwYWdlVXJsID0gcGFnZVVybC5zcGxpdCgnc2VjdGlvbj0nKVsxXTtcbiAgICAgIGRlY29kZWRQYWdlVXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhZ2VVcmwpO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb3JtICYmIHRoaXMuZm9ybS5mb3JtU2VjdGlvbnM/Lmxlbmd0aCA+IDAgJiYgZGVjb2RlZFBhZ2VVcmwpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb3JtLmZvcm1TZWN0aW9ucy5maW5kSW5kZXgoKHNlY3Rpb24pID0+IHNlY3Rpb24ubmFtZSAmJiBzZWN0aW9uLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gZGVjb2RlZFBhZ2VVcmwudG9Mb3dlckNhc2UoKSk7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICB0aGlzLmZvcm0uZm9ybVNlY3Rpb25zW2luZGV4XS5leHBhbmRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuaW5zdGFuY2U/LnNlbGVjdFJvb3RFbGVtZW50KGAuJHtkZWNvZGVkUGFnZVVybD8ucmVwbGFjZSgvXFxzL2csIFwiXCIpfWAsIHRydWUpPy5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgfVxuICBpbml0aWFsaXplU2lkZUJhcigpIHtcbiAgICB0aGlzLnJvbGVzID0gdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyUm9sZXMoKTtcbiAgICAvLyBhcHBseSB1c2VyIHJvbGUgcGVybWlzc2lvbnNcbiAgICB0aGlzLmFwcGx5VXNlclBlcm1pc3Npb25zKCk7XG4gICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLnNpZGViYXJJdGVtc0xpc3QubWFwKCh4OiBhbnkpID0+ICh7XG4gICAgICBsYWJlbDogeC5sYWJlbCxcbiAgICAgIGljb246IHguaWNvbixcbiAgICAgIGlkOiB4LmlkLFxuICAgICAgc2VjdGlvbjogeC5zZWN0aW9uLFxuICAgICAgZXhwYW5kZWQ6IHguZXhwYW5kZWQsXG4gICAgICBhY3Rpb246IHguYWN0aW9uLFxuICAgICAgaXRlbXM6IHguaXRlbXMgJiYgeC5pdGVtcy5sZW5ndGggPiAwID8gdGhpcy5zZXRNZW51SXRlbXMoeCkgOiBbXSxcbiAgICAgIHRpdGxlOiB0aGlzLnNldE1lbnVUaXRsZSh4KSxcbiAgICAgIGNvbW1hbmQ6IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGlmICh4LmFjdGlvbiAmJiB4LmFjdGlvbiA9PT0gRVNpZGViYXJBY3Rpb24uTkFWSUdBVElPTikge1xuICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1NlY3Rpb24oeCwgZXZlbnQuaXRlbSk7XG4gICAgICAgIH0gZWxzZSBpZiAoeC5hY3Rpb24gJiYgeC5hY3Rpb24gPT09IEVTaWRlYmFyQWN0aW9uLk9QRU5ESUFMT0cpIHtcbiAgICAgICAgICB0aGlzLm9wZW5EaWFsb2coeCwgZXZlbnQuaXRlbSwgZXZlbnQ/Lm9yaWdpbmFsRXZlbnQ/LmN0cmxLZXkpO1xuICAgICAgICB9IGVsc2UgaWYgKHguYWN0aW9uICYmIHguYWN0aW9uID09PSBFU2lkZWJhckFjdGlvbi5JRlJBTUUpIHtcbiAgICAgICAgICB0aGlzLmxvYWRJRnJhbWUoeCwgZXZlbnQuaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVBY3RpdmVJdGVtKGV2ZW50Lml0ZW0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tOiAnJywgLy8gJzFweCBzb2xpZCAjZTllY2VmJyxcbiAgICAgICAgZGlzcGxheTogeC5oaWRkZW4gPyAnbm9uZScgOiAnJyxcbiAgICAgIH0sXG4gICAgICBvbkNsaWNrOiB4Lm9uQ2xpY2ssXG4gICAgICBvblJldHVybjogeC5vblJldHVybixcbiAgICAgIGRpc2FibGVkOiB4LmRpc2FibGVkLFxuICAgIH0pKTtcbiAgfVxuXG4gIHNldE1lbnVUaXRsZSh4OiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiB4LnRvb2x0aXAgPyB4LnRvb2x0aXAgOiAheC5sYWJlbCA/IHguc2VjdGlvbiA6ICcnO1xuICB9XG5cbiAgc2V0TWVudUl0ZW1zKHg6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHguaXRlbXMubWFwKChtZW51OiBhbnkpID0+ICh7XG4gICAgICBsYWJlbDogbWVudS5sYWJlbCxcbiAgICAgIGljb246IG1lbnUuaWNvbixcbiAgICAgIGlkOiBtZW51LmlkLFxuICAgICAgc2VjdGlvbjogbWVudS5zZWN0aW9uLFxuICAgICAgZXhwYW5kZWQ6IG1lbnUuZXhwYW5kZWQsXG4gICAgICBhY3Rpb246IG1lbnUuYWN0aW9uLFxuICAgICAgdGl0bGU6IHRoaXMuc2V0TWVudVRpdGxlKHgpLFxuICAgICAgY29tbWFuZDogKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHguYWN0aW9uICYmIHguYWN0aW9uID09PSBFU2lkZWJhckFjdGlvbi5OQVZJR0FUSU9OKSB7XG4gICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvU2VjdGlvbihtZW51LCBldmVudC5pdGVtKTtcbiAgICAgICAgfSBlbHNlIGlmIChtZW51LmFjdGlvbiAmJiBtZW51LmFjdGlvbiA9PT0gRVNpZGViYXJBY3Rpb24uT1BFTkRJQUxPRykge1xuICAgICAgICAgIHRoaXMub3BlbkRpYWxvZyhtZW51LCBldmVudC5pdGVtLCBldmVudD8ub3JpZ2luYWxFdmVudD8uY3RybEtleSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWVudS5hY3Rpb24gJiYgbWVudS5hY3Rpb24gPT09IEVTaWRlYmFyQWN0aW9uLklGUkFNRSkge1xuICAgICAgICAgIHRoaXMubG9hZElGcmFtZShtZW51LCB4KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZUFjdGl2ZUl0ZW0oZXZlbnQuaXRlbSk7XG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgYm9yZGVyQm90dG9tOiAnJywgLy8gJzFweCBzb2xpZCAjZTllY2VmJyxcbiAgICAgICAgZGlzcGxheTogbWVudS5oaWRkZW4gPyAnbm9uZScgOiAnJyxcbiAgICAgIH0sXG4gICAgICBvbkNsaWNrOiBtZW51Lm9uQ2xpY2ssXG4gICAgICBvblJldHVybjogbWVudS5vblJldHVybixcbiAgICAgIGRpc2FibGVkOiBtZW51LmRpc2FibGVkLFxuICAgIH0pKVxuICB9XG5cbiAgbG9hZElGcmFtZShtZW51OiBhbnksIGl0ZW06IGFueSkge1xuICAgIGlmKG1lbnUuaUZyYW1lLmxpbmtJZCl7XG4gICAgICB0aGlzLmh5cGVybGlua1NlcnZpY2UuYnVpbGRVcmwobWVudS5pRnJhbWUubGlua0lkKS50aGVuKChyZXMpPT57XG4gICAgICAgIGlmIChyZXMpe1xuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVXJsID0gdGhpcy5oeXBlcmxpbmtTZXJ2aWNlLnNldFVybChtZW51Py5wYXJhbXMsIHJlc1swXSk7XG4gICAgICAgICAgbWVudS5pRnJhbWVbJ2xpbmsnXSA9IG9yaWdpbmFsVXJsO1xuICAgICAgICAgIHRoaXMubG9hZElGcmFtZURhdGEobWVudSwgaXRlbSk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFwiTm8gTGluayBGb3VuZCBBZ2FpbnN0IHRoaXMgbGlua0lkXCIpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5sb2FkSUZyYW1lRGF0YShtZW51LCBpdGVtKTtcbiAgICB9XG4gIH1cblxuICBsb2FkSUZyYW1lRGF0YShtZW51OiBJU2lkZWJhciwgaXRlbTogYW55KSB7XG4gICAgaWYgKG1lbnUpIHtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKElmcmFtZUNvbXBvbmVudCwge1xuICAgICAgICBoZWFkZXI6IG1lbnVbJ2RhdGEnXT8uaGVhZGVyID8gbWVudVsnZGF0YSddPy5oZWFkZXIgOiBtZW51LnNlY3Rpb24gLFxuICAgICAgICB3aWR0aDogbWVudS5pRnJhbWU/LndpZHRoID8gbWVudS5pRnJhbWUud2lkdGggOiAnOTAlJyxcbiAgICAgICAgaGVpZ2h0OiBtZW51LmlGcmFtZT8uaGVpZ2h0ID8gbWVudS5pRnJhbWUuaGVpZ2h0IDogJzgwJScsXG4gICAgICAgIGRhdGE6IHsgdmFsdWU6IG1lbnUuaUZyYW1lPy5saW5rLCBpRnJhbWVJZDogbWVudS5zZWN0aW9uIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2V0RHluYW1pY0RpYWxvZ1JlZihkaWFsb2dSZWYpO1xuICAgICAgdGhpcy5wYWdlTG9nZ2VyU2VydmljZS5zYXZlUGFnZUxvZ2dlckluZm8odGhpcy5yb3V0ZXIudXJsPy5zdWJzdHJpbmcoMSksICdJZnJhbWVDb21wb25lbnQnKTtcblxuICAgICAgdGhpcy5oYW5kbGVBY3RpdmVJdGVtKGl0ZW0pO1xuICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGVcbiAgICAgICAgLnBpcGUodGFrZSgxKSkgLy8gRW1pdCBvbmx5IG9uY2Ugd2hlbiB0aGUgem9uZSBiZWNvbWVzIHN0YWJsZVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBkcmFnZ2FibGVEaWFsb2cobWVudS5sYWJlbClcbiAgICAgICAgfSk7XG4gICAgICBkaWFsb2dSZWYub25DbG9zZS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUFjdGl2ZUl0ZW0oaXRlbSwgZmFsc2UpO1xuICAgICAgICBpZiAoZGF0YSAmJiBtZW51Lm9uUmV0dXJuKSB7XG4gICAgICAgICAgbWVudS5vblJldHVybihkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2lkZWJhcigpIHtcbiAgICB0aGlzLnRvZ2dsZU1lbnUgPSAhdGhpcy50b2dnbGVNZW51O1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0b2dnbGVNZW51JywgSlNPTi5zdHJpbmdpZnkodGhpcy50b2dnbGVNZW51KSk7XG4gIH1cblxuICAvLyBhcHBseSB1c2VyIHJvbGUgcGVybWlzc2lvbnNcbiAgYXBwbHlVc2VyUGVybWlzc2lvbnMoKSB7XG4gICAgaWYgKHRoaXMuc2lkZWJhckl0ZW1zTGlzdCkge1xuICAgICAgbGV0IHRvdGFsSXRlbXM6IG51bWJlciA9IDA7XG4gICAgICBsZXQgaGlkZGVuSXRlbXM6IG51bWJlciA9IDA7XG5cbiAgICAgIHRoaXMuc2lkZWJhckl0ZW1zTGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBsZXQgcGVybWlzc2lvbnM6IGFueSA9IGl0ZW0ucGVybWlzc2lvbnM7XG4gICAgICAgIGxldCBoYXNWYWxpZEVkaXRQZXJtaXNzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgaXRlbS5pZCA9IGluZGV4LnRvU3RyaW5nKCk7XG4gICAgICAgIGlmIChwZXJtaXNzaW9ucyAmJiBwZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcGVybWlzc2lvbnMuZm9yRWFjaCgocGVybWlzc2lvbjogYW55KSA9PiB7XG4gICAgICAgICAgICBsZXQgaXNWYWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb24ucm9sZXMgJiYgcGVybWlzc2lvbi5yb2xlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb24ucm9sZXMuZm9yRWFjaCgocm9sZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkICYmIHRoaXMucm9sZXMgJiYgdGhpcy5yb2xlcy5pbmNsdWRlcyhyb2xlKSkge1xuICAgICAgICAgICAgICAgICAgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbi50eXBlID09PSBFUGVybWlzc2lvblR5cGUuVklFVyAmJlxuICAgICAgICAgICAgICAgICFoYXNWYWxpZEVkaXRQZXJtaXNzaW9uXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICBpdGVtLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChwZXJtaXNzaW9uLnR5cGUgPT09IEVQZXJtaXNzaW9uVHlwZS5FRElUKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgIGhhc1ZhbGlkRWRpdFBlcm1pc3Npb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgaXRlbS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgaXRlbS5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbEl0ZW1zKys7XG5cbiAgICAgICAgaWYgKGl0ZW0uaGlkZGVuKSB7XG4gICAgICAgICAgaGlkZGVuSXRlbXMrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaXNTaWRlYmFySGlkZGVuID0gdG90YWxJdGVtcyA+IDAgJiYgdG90YWxJdGVtcyA9PT0gaGlkZGVuSXRlbXM7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEAgcGFyYW0gbWVudVxuICAgKiBAIHBhcmFtIGl0ZW1cbiAgICogUGFzc2VzIHRoZSBzaWRlYmFyIGFycmF5IHRvIGNvbnRhaW4gYWxsIElTaWRlYmFyIHByb3BlcnR5IGxpa2VcbiAgICogUGFzc2VzIHRoZSBldmVudCBvZiB0aGUgbWVudVxuICAgKi9cblxuICBvcGVuRGlhbG9nKG1lbnU6IElTaWRlYmFyLCBpdGVtOiBhbnksIGNvbnRyb2xLZXkpOiB2b2lkIHtcbiAgICAgIGlmIChjb250cm9sS2V5ICYmIG1lbnUuY29tcG9uZW50KSB7XG4gICAgICAgIC8vb3BlbiBjb21wb25lbnQgb24gbmV3IHRhYlxuICAgICAgICBjb25zdCBtZW51RGF0YTphbnkgPSBtZW51LmRhdGE/LmRhdGEgPyBtZW51LmRhdGEuZGF0YSA6IHt9O1xuICAgICAgICB0aGlzLmh5cGVybGlua1NlcnZpY2Uub3BlbkRpYWxvZ0luTmV3VGFiKG1lbnUuY29tcG9uZW50LCBtZW51RGF0YSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vb3BlbiBjb21wb25lbnQgaW4gZGlhbG9nXG4gICAgICAgIHRoaXMub3BlbkNvbXBvbmVudEluRGlhbG9nKG1lbnUsIGl0ZW0pXG4gICAgICB9XG4gIH1cblxuICAgLy8gc2V0IGRpYWxvZyByZWYgd2hlbiBwb3B1cCBvcGVuXG4gICBzZXREeW5hbWljRGlhbG9nUmVmKHJlZil7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmRpYWxvZ0NvbXBvbmVudFJlZk1hcC5nZXQocmVmKTtcbiAgICBjb25zdCBkeW5hbWljQ29tcG9uZW50ID0gZGlhbG9nUmVmPy5pbnN0YW5jZSBhcyBEeW5hbWljRGlhbG9nQ29tcG9uZW50O1xuICAgIGNvbnN0IGFyaWFMYWJlbGxlZEJ5ID0gZHluYW1pY0NvbXBvbmVudC5nZXRBcmlhTGFiZWxsZWRCeSgpO1xuICAgIGR5bmFtaWNDb21wb25lbnQuZ2V0QXJpYUxhYmVsbGVkQnkgPSAoKSA9PiBhcmlhTGFiZWxsZWRCeTtcbiAgfVxuXG4gIGludGVyY2VwdERpYWxvZ0Nsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5ncmlkU2VydmljZS5jb2x1bW5Gb2N1c2VkT3V0IHx8IHRoaXMuZm9ybVNlcnZpY2UuZmllbGRGb2N1c2VkT3V0KSB7XG4gICAgICBpZiAoY29uZmlybShcIllvdSB3aWxsIGxvc2UgY2hhbmdlcyBub3Qgc2F2ZWQgb24gcGFnZS4gV291bGQgeW91IGxpa2UgdG8gY29udGludWU/XCIpID09IHRydWUpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmdyaWRTZXJ2aWNlLmNvbHVtbkZvY3VzZWRPdXQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JtU2VydmljZS5maWVsZEZvY3VzZWRPdXQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5kZXN0cm95KCk7XG4gICAgfVxuICB9XG4gICAgXG4gIG9wZW5Db21wb25lbnRJbkRpYWxvZyhtZW51OklTaWRlYmFyLCBpdGVtOmFueSl7XG4gICAgY29uc3QgbWVudURhdGE6YW55ID0gbWVudS5kYXRhID8gbWVudS5kYXRhIDogbWVudTtcbiAgICBtZW51RGF0YS5zdHlsZSA9e2JhY2tncm91bmQ6ICcjZmZmJ31cbiAgICBpZihtZW51RGF0YS5zY3JvbGxhYmxlID09IGZhbHNlKXtcbiAgICAgIG1lbnVEYXRhLnN0eWxlQ2xhc3MgPSBcInNtYWxsLW1vZGVsXCI7XG4gICAgfWVsc2V7XG4gICAgICBtZW51RGF0YS5zdHlsZUNsYXNzID0gXCJzaWRlYmFyLWRhdGVwaWNrZXJcIjtcbiAgICB9XG4gICAgaWYgKG1lbnUuY29tcG9uZW50KSB7XG4gICAgICBcbiAgICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4obWVudS5jb21wb25lbnQsIG1lbnVEYXRhKTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlID0gdGhpcy5pbnRlcmNlcHREaWFsb2dDbG9zZS5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5zZXREeW5hbWljRGlhbG9nUmVmKHRoaXMuZGlhbG9nUmVmKTtcbiAgICAgIHRoaXMucGFnZUxvZ2dlclNlcnZpY2Uuc2F2ZVBhZ2VMb2dnZXJJbmZvKHRoaXMucm91dGVyLnVybD8uc3Vic3RyaW5nKDEpLCAgbWVudS5jb21wb25lbnQ/Lm5hbWUpO1xuICAgICAgdGhpcy5oYW5kbGVBY3RpdmVJdGVtKGl0ZW0pO1xuICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGVcbiAgICAgICAgLnBpcGUodGFrZSgxKSkgLy8gRW1pdCBvbmx5IG9uY2Ugd2hlbiB0aGUgem9uZSBiZWNvbWVzIHN0YWJsZVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBkcmFnZ2FibGVEaWFsb2cobWVudS5sYWJlbClcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5vbkNsb3NlLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlQWN0aXZlSXRlbShpdGVtLCBmYWxzZSk7XG4gICAgICAgIGlmIChkYXRhICYmIG1lbnUub25SZXR1cm4pIHtcbiAgICAgICAgICBtZW51Lm9uUmV0dXJuKGRhdGEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQCBwYXJhbSB4XG4gICAqIEAgcGFyYW0gaXRlbVxuICAgKiBQYXNzZXMgdGhlIHNpZGViYXIgYXJyYXkgdG8gY29udGFpbiBhbGwgSVNpZGViYXIgcHJvcGVydHkgbGlrZVxuICAgKiBQYXNzZXMgdGhlIGV2ZW50IG9mIHRoZSBtZW51XG4gICAqL1xuXG4gIG5hdmlnYXRlVG9TZWN0aW9uKHg6IElTaWRlYmFyLCBpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygneDogJywgeCk7XG4gICAgY29uc29sZS5sb2coJ2l0ZW06ICcsIGl0ZW0pO1xuICAgIGlmICh0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmZvcm1TZWN0aW9ucz8ubGVuZ3RoID4gMCAmJiB4LnNlY3Rpb24pIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb3JtLmZvcm1TZWN0aW9ucy5maW5kSW5kZXgoKHNlY3Rpb24pID0+IHNlY3Rpb24uY2xhc3MgJiYgc2VjdGlvbi5jbGFzcyA9PT0geC5zZWN0aW9uKTtcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIHRoaXMuZm9ybS5mb3JtU2VjdGlvbnNbaW5kZXhdLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5pbnN0YW5jZT8uc2VsZWN0Um9vdEVsZW1lbnQoYC4ke3guc2VjdGlvbj8ucmVwbGFjZSgvXFxzL2csIFwiXCIpfWAsIHRydWUpPy5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB0aGlzLmhhbmRsZUFjdGl2ZUl0ZW0oaXRlbSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGl0ZW1cbiAgICogUGFzc2VzIHRoZSBldmVudCBvZiB0aGUgbWVudVxuICAgKi9cbiAgaGFuZGxlQWN0aXZlSXRlbSh7IGljb24gfTogYW55LCBjbG9zZURpYWxvZzogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVJdGVtcyA9IHRoaXMubWVudUl0ZW1zLm1hcCgoeCkgPT5cbiAgICAgIHguaWNvbiA9PT0gaWNvbiAmJiBjbG9zZURpYWxvZ1xuICAgICAgICA/IHsgLi4ueCwgc3R5bGVDbGFzczogJ2FjdGl2ZS1pY29uJyB9XG4gICAgICAgIDoge1xuICAgICAgICAgIC4uLngsXG4gICAgICAgICAgc3R5bGVDbGFzczogJycsXG4gICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCAjZTllY2VmJyxcbiAgICAgICAgICAgIGRpc3BsYXk6IHguc3R5bGU/LmRpc3BsYXkgPT09ICdub25lJyA/ICdub25lJyA6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgY2xpY2tlZE1lbnUobWVudTogTWVudUl0ZW1bXSkge1xuICAgIG1lbnUubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoZWRJdGVtOiBhbnkgPSB0aGlzLnNpZGViYXJJdGVtc0xpc3QuZmluZCgoeCkgPT4geC5pZCA9PSBpdGVtLmlkKTtcbiAgICAgIGlmIChcbiAgICAgICAgaXRlbS5zdHlsZUNsYXNzID09PSAnYWN0aXZlLWljb24nICYmXG4gICAgICAgIG1hdGNoZWRJdGVtICYmXG4gICAgICAgIG1hdGNoZWRJdGVtLm9uQ2xpY2tcbiAgICAgICkge1xuICAgICAgICB0aGlzLmh5cGVybGlua1NlcnZpY2VcbiAgICAgICAgICAuYWRkSHlwZXJsaW5rcyhtYXRjaGVkSXRlbSlcbiAgICAgICAgICAudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKG1hdGNoZWRJdGVtLmxpbmtJZCkge1xuICAgICAgICAgICAgICB0aGlzLmh5cGVybGlua1NlcnZpY2Uuc2V0U2lkZWJhckxpbmsoXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFySXRlbXNMaXN0XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBtYXRjaGVkSXRlbS5vbkNsaWNrKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIFxufSIsIjxzcGFuXG4gICpuZ0lmPVwiIWlzU2lkZWJhckhpZGRlbiAmJiBzaWRlYmFySXRlbXNMaXN0ICYmIHNpZGViYXJJdGVtc0xpc3QubGVuZ3RoID4gMFwiXG4+XG48c3BhbiAqbmdJZj1cIiFuYXZIaWRkZW5cIj5cbiAgPG5hdlxuICAqbmdJZj1cIiFjb2xsYXBzZVNpZGViYXJcIlxuICBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLWxnIHAtMCBncm93LTFcIlxuICBbbmdDbGFzc109XCJ0b2dnbGVNZW51ID8gJ2hpZGUtbmF2JyA6ICcnXCJcbiAgPlxuICA8YnV0dG9uIGNsYXNzPVwidG9nZ2xlLWJ0blwiIChjbGljayk9XCJ0b2dnbGVTaWRlYmFyKClcIj5cbiAgICA8aVxuICAgICAgY2xhc3M9XCJwaSBwaS1mdyB0b2dnbGUtaWNvblwiXG4gICAgICBbbmdDbGFzc109XCJ0b2dnbGVNZW51ID8gJ3BpLWNoZXZyb24tbGVmdCcgOiAncGktY2hldnJvbi1yaWdodCdcIlxuICAgID48L2k+XG4gICAgPHNwYW4+e3sgbWVudVRpdGxlIH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPHAtcGFuZWxNZW51IFttb2RlbF09XCJtZW51SXRlbXNcIiAoY2xpY2spPVwiY2xpY2tlZE1lbnUobWVudUl0ZW1zKVwiPjwvcC1wYW5lbE1lbnU+XG4gIDwvbmF2PlxuPC9zcGFuPlxuICBcbiAgPHNwYW4gKm5nSWY9XCJjb2xsYXBzZVNpZGViYXJcIiBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLWxnIHAtMCBncm93LTFcIlxuICAgIGNsYXNzPSdoaWRlLW5hdic+XG4gICAgPHAtcGFuZWxNZW51IFttb2RlbF09XCJtZW51SXRlbXNcIiAoY2xpY2spPVwiY2xpY2tlZE1lbnUobWVudUl0ZW1zKVwiPjwvcC1wYW5lbE1lbnU+XG4gIDwvc3Bhbj5cbjwvc3Bhbj4iXX0=
|
|
@@ -10941,6 +10941,24 @@ class SidebarComponent {
|
|
|
10941
10941
|
this.isSidebarHidden = false;
|
|
10942
10942
|
}
|
|
10943
10943
|
ngOnInit() { }
|
|
10944
|
+
ngOnChanges() {
|
|
10945
|
+
this.scrollToSection();
|
|
10946
|
+
}
|
|
10947
|
+
scrollToSection() {
|
|
10948
|
+
let decodedPageUrl;
|
|
10949
|
+
let pageUrl = this.router.url;
|
|
10950
|
+
if (pageUrl.includes('section=')) {
|
|
10951
|
+
pageUrl = pageUrl.split('section=')[1];
|
|
10952
|
+
decodedPageUrl = decodeURIComponent(pageUrl);
|
|
10953
|
+
}
|
|
10954
|
+
if (this.form && this.form.formSections?.length > 0 && decodedPageUrl) {
|
|
10955
|
+
const index = this.form.formSections.findIndex((section) => section.name && section.name.toLowerCase() === decodedPageUrl.toLowerCase());
|
|
10956
|
+
if (index > -1) {
|
|
10957
|
+
this.form.formSections[index].expanded = true;
|
|
10958
|
+
}
|
|
10959
|
+
}
|
|
10960
|
+
this.instance?.selectRootElement(`.${decodedPageUrl?.replace(/\s/g, "")}`, true)?.scrollIntoView({ behavior: 'smooth' });
|
|
10961
|
+
}
|
|
10944
10962
|
initializeSideBar() {
|
|
10945
10963
|
this.roles = this.authService.getUserRoles();
|
|
10946
10964
|
// apply user role permissions
|
|
@@ -11176,6 +11194,8 @@ class SidebarComponent {
|
|
|
11176
11194
|
* Passes the event of the menu
|
|
11177
11195
|
*/
|
|
11178
11196
|
navigateToSection(x, item) {
|
|
11197
|
+
console.log('x: ', x);
|
|
11198
|
+
console.log('item: ', item);
|
|
11179
11199
|
if (this.form && this.form.formSections?.length > 0 && x.section) {
|
|
11180
11200
|
const index = this.form.formSections.findIndex((section) => section.class && section.class === x.section);
|
|
11181
11201
|
if (index > -1) {
|
|
@@ -11222,7 +11242,7 @@ class SidebarComponent {
|
|
|
11222
11242
|
});
|
|
11223
11243
|
}
|
|
11224
11244
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SidebarComponent, deps: [{ token: i0.Renderer2 }, { token: FormService }, { token: GridService }, { token: AuthenticationService }, { token: i1.DialogService }, { token: i2.Router }, { token: PageLoggerService }, { token: HyperlinkService }, { token: AlertService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11225
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SidebarComponent, selector: "se-sidebar", inputs: { navHidden: "navHidden", collapseSidebar: "collapseSidebar", menuTitle: "menuTitle", activeTestMode: "activeTestMode", sidebarItems: "sidebarItems" }, ngImport: i0, template: "<span\n *ngIf=\"!isSidebarHidden && sidebarItemsList && sidebarItemsList.length > 0\"\n>\n<span *ngIf=\"!navHidden\">\n <nav\n *ngIf=\"!collapseSidebar\"\n class=\"navbar navbar-expand-lg p-0 grow-1\"\n [ngClass]=\"toggleMenu ? 'hide-nav' : ''\"\n >\n <button class=\"toggle-btn\" (click)=\"toggleSidebar()\">\n <i\n class=\"pi pi-fw toggle-icon\"\n [ngClass]=\"toggleMenu ? 'pi-chevron-left' : 'pi-chevron-right'\"\n ></i>\n <span>{{ menuTitle }}</span>\n </button>\n <p-panelMenu [model]=\"menuItems\" (click)=\"clickedMenu(menuItems)\"></p-panelMenu>\n </nav>\n</span>\n \n <span *ngIf=\"collapseSidebar\" class=\"navbar navbar-expand-lg p-0 grow-1\"\n class='hide-nav'>\n <p-panelMenu [model]=\"menuItems\" (click)=\"clickedMenu(menuItems)\"></p-panelMenu>\n </span>\n</span>", styles: [":host ::ng-deep .p-menu{width:auto!important}:host ::ng-deep .p-panelmenu-header-link .p-panelmenu-icon:before{display:none}.sidebar .navbar{width:260px;overflow:auto;transition:width .5s;-webkit-transition:width .5s}.hide-nav .toggle-btn span{display:none}:host ::ng-deep .p-panelmenu-panel,:host ::ng-deep .p-element,:host ::ng-deep .p-panelmenu-header,:host ::ng-deep .p-panelmenu .p-panelmenu-header{border-bottom:0!important}:host ::ng-deep .hide-nav .p-menuitem-text,:host ::ng-deep .hide-nav .p-panelmenu-icon,:host ::ng-deep .hide-nav+.nav-footer{display:none;opacity:0}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$2.PanelMenu, selector: "p-panelMenu", inputs: ["model", "style", "styleClass", "multiple", "transitionOptions", "id", "tabindex"] }] }); }
|
|
11245
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SidebarComponent, selector: "se-sidebar", inputs: { navHidden: "navHidden", collapseSidebar: "collapseSidebar", menuTitle: "menuTitle", activeTestMode: "activeTestMode", sidebarItems: "sidebarItems" }, usesOnChanges: true, ngImport: i0, template: "<span\n *ngIf=\"!isSidebarHidden && sidebarItemsList && sidebarItemsList.length > 0\"\n>\n<span *ngIf=\"!navHidden\">\n <nav\n *ngIf=\"!collapseSidebar\"\n class=\"navbar navbar-expand-lg p-0 grow-1\"\n [ngClass]=\"toggleMenu ? 'hide-nav' : ''\"\n >\n <button class=\"toggle-btn\" (click)=\"toggleSidebar()\">\n <i\n class=\"pi pi-fw toggle-icon\"\n [ngClass]=\"toggleMenu ? 'pi-chevron-left' : 'pi-chevron-right'\"\n ></i>\n <span>{{ menuTitle }}</span>\n </button>\n <p-panelMenu [model]=\"menuItems\" (click)=\"clickedMenu(menuItems)\"></p-panelMenu>\n </nav>\n</span>\n \n <span *ngIf=\"collapseSidebar\" class=\"navbar navbar-expand-lg p-0 grow-1\"\n class='hide-nav'>\n <p-panelMenu [model]=\"menuItems\" (click)=\"clickedMenu(menuItems)\"></p-panelMenu>\n </span>\n</span>", styles: [":host ::ng-deep .p-menu{width:auto!important}:host ::ng-deep .p-panelmenu-header-link .p-panelmenu-icon:before{display:none}.sidebar .navbar{width:260px;overflow:auto;transition:width .5s;-webkit-transition:width .5s}.hide-nav .toggle-btn span{display:none}:host ::ng-deep .p-panelmenu-panel,:host ::ng-deep .p-element,:host ::ng-deep .p-panelmenu-header,:host ::ng-deep .p-panelmenu .p-panelmenu-header{border-bottom:0!important}:host ::ng-deep .hide-nav .p-menuitem-text,:host ::ng-deep .hide-nav .p-panelmenu-icon,:host ::ng-deep .hide-nav+.nav-footer{display:none;opacity:0}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$2.PanelMenu, selector: "p-panelMenu", inputs: ["model", "style", "styleClass", "multiple", "transitionOptions", "id", "tabindex"] }] }); }
|
|
11226
11246
|
}
|
|
11227
11247
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
11228
11248
|
type: Component,
|