@mediusinc/mng-commons 2.0.0-rc.0-08f92864 → 2.0.0-rc.1-b808fba6
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.
- package/esm2020/lib/components/action/action.component.mjs +2 -2
- package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +18 -5
- package/esm2020/lib/components/layout/index.mjs +2 -1
- package/esm2020/lib/components/layout/main-layout.component.mjs +17 -13
- package/esm2020/lib/components/layout/topbar-user.component.mjs +41 -0
- package/esm2020/lib/components/layout/topbar.component.mjs +28 -31
- package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +2 -2
- package/esm2020/lib/components/tableview/table/table.component.mjs +2 -2
- package/esm2020/lib/directives/component.directive.mjs +27 -10
- package/esm2020/lib/mng-commons.module.mjs +6 -1
- package/esm2020/lib/models/config.model.mjs +1 -1
- package/esm2020/lib/router/models/router.model.mjs +1 -1
- package/esm2020/lib/router/route-builder.mjs +9 -29
- package/esm2020/lib/router/routes-builder.mjs +7 -7
- package/esm2020/lib/router/tableview-route-builder.mjs +70 -73
- package/fesm2015/mediusinc-mng-commons.mjs +209 -159
- package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
- package/fesm2020/mediusinc-mng-commons.mjs +202 -159
- package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/components/form/dropdown/dropdown.component.d.ts +7 -0
- package/lib/components/layout/index.d.ts +1 -0
- package/lib/components/layout/main-layout.component.d.ts +3 -1
- package/lib/components/layout/topbar-user.component.d.ts +21 -0
- package/lib/components/layout/topbar.component.d.ts +8 -10
- package/lib/directives/component.directive.d.ts +7 -3
- package/lib/mng-commons.module.d.ts +27 -26
- package/lib/models/config.model.d.ts +10 -0
- package/lib/router/models/router.model.d.ts +0 -5
- package/lib/router/route-builder.d.ts +6 -8
- package/lib/router/routes-builder.d.ts +4 -5
- package/lib/router/tableview-route-builder.d.ts +16 -10
- package/package.json +1 -1
- package/scss/theme/default/_mng-variables-theme-light.scss +2 -0
- package/version-info.json +5 -5
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { MngEnumerateAsyncPipe } from '../../pipes';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../services";
|
|
7
|
+
import * as i2 from "./services";
|
|
8
|
+
import * as i3 from "@ngx-translate/core";
|
|
9
|
+
export class MngTopbarUserComponent {
|
|
10
|
+
constructor(mngCommons, mainLayoutService, elementRef) {
|
|
11
|
+
this.mngCommons = mngCommons;
|
|
12
|
+
this.mainLayoutService = mainLayoutService;
|
|
13
|
+
this.elementRef = elementRef;
|
|
14
|
+
this.subscriptions = [];
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.subscriptions.push(this.mngCommons.user$.subscribe(u => {
|
|
18
|
+
this.user = u;
|
|
19
|
+
}));
|
|
20
|
+
this.userRoles$ = this.mngCommons.userRoles$;
|
|
21
|
+
}
|
|
22
|
+
ngOnDestroy() {
|
|
23
|
+
this.subscriptions.forEach(value => value.unsubscribe());
|
|
24
|
+
}
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
26
|
+
logout(user, event) {
|
|
27
|
+
if (typeof user?.logout === 'function') {
|
|
28
|
+
user.logout();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
click(event) {
|
|
32
|
+
this.mainLayoutService.onTopbarItemClick(event, this.elementRef.nativeElement);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
MngTopbarUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngTopbarUserComponent, deps: [{ token: i1.MngCommonsService }, { token: i2.MngMainLayoutComponentService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
MngTopbarUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: MngTopbarUserComponent, isStandalone: true, selector: "mng-topbar-user-component", ngImport: i0, template: "<a href=\"#\" class=\"user-block\" (click)=\"click($event)\">\n <i class=\"pi pi-fw pi-user\"></i>\n <span class=\"profile-item-username hidden sm:inline-block\"> {{ user?.displayName ?? user?.username }}</span>\n</a>\n<ul class=\"fadeInDown dropdown-window\">\n <li role=\"menuitem\">\n <a>\n <div class=\"flex\">\n <div class=\"flex-grow-0\">\n <i class=\"pi pi-fw pi-user\"></i>\n </div>\n <div class=\"flex-grow-1\">\n <strong>{{ user?.displayName ?? user?.username }}</strong>\n <small *ngIf=\"((userRoles$ | async)?.length ?? 0) > 0\">\n <br />\n {{ userRoles$ | mgnEnumerateAsync : undefined : undefined : undefined : 'roles' | async }}\n </small>\n </div>\n </div>\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: MngEnumerateAsyncPipe, name: "mgnEnumerateAsync" }] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngTopbarUserComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ standalone: true, selector: 'mng-topbar-user-component', imports: [NgClass, NgIf, AsyncPipe, TranslateModule, MngEnumerateAsyncPipe], template: "<a href=\"#\" class=\"user-block\" (click)=\"click($event)\">\n <i class=\"pi pi-fw pi-user\"></i>\n <span class=\"profile-item-username hidden sm:inline-block\"> {{ user?.displayName ?? user?.username }}</span>\n</a>\n<ul class=\"fadeInDown dropdown-window\">\n <li role=\"menuitem\">\n <a>\n <div class=\"flex\">\n <div class=\"flex-grow-0\">\n <i class=\"pi pi-fw pi-user\"></i>\n </div>\n <div class=\"flex-grow-1\">\n <strong>{{ user?.displayName ?? user?.username }}</strong>\n <small *ngIf=\"((userRoles$ | async)?.length ?? 0) > 0\">\n <br />\n {{ userRoles$ | mgnEnumerateAsync : undefined : undefined : undefined : 'roles' | async }}\n </small>\n </div>\n </div>\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n</ul>\n" }]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i1.MngCommonsService }, { type: i2.MngMainLayoutComponentService }, { type: i0.ElementRef }]; } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC90b3BiYXItdXNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3RvcGJhci11c2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxTQUFTLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUlwRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxhQUFhLENBQUM7Ozs7O0FBVWxELE1BQU0sT0FBTyxzQkFBc0I7SUFNL0IsWUFBbUIsVUFBNkIsRUFBUyxpQkFBZ0QsRUFBUyxVQUFzQjtRQUFySCxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUFTLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBK0I7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRmhJLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUVnRyxDQUFDO0lBRTVJLFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsNkRBQTZEO0lBQ3RELE1BQU0sQ0FBQyxJQUF1QixFQUFFLEtBQVk7UUFDL0MsSUFBSSxPQUFPLElBQUksRUFBRSxNQUFNLEtBQUssVUFBVSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNqQjtJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7bUhBOUJRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHFGQ2pCbkMsaXNDQTRCQSw0Q0RkdUIsSUFBSSx3RkFBRSxTQUFTLDZDQUFFLGVBQWUsdUZBQUUscUJBQXFCOzJGQUdqRSxzQkFBc0I7a0JBTmxDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLDJCQUEyQixXQUM1QixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0lVc2VyfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtNbmdFbnVtZXJhdGVBc3luY1BpcGV9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7TW5nQ29tbW9uc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7TW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXRvcGJhci11c2VyLWNvbXBvbmVudCcsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nSWYsIEFzeW5jUGlwZSwgVHJhbnNsYXRlTW9kdWxlLCBNbmdFbnVtZXJhdGVBc3luY1BpcGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b3BiYXItdXNlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTW5nVG9wYmFyVXNlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgdXNlcj86IElVc2VyO1xuICAgIHB1YmxpYyB1c2VyUm9sZXMkITogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbW5nQ29tbW9uczogTW5nQ29tbW9uc1NlcnZpY2UsIHB1YmxpYyBtYWluTGF5b3V0U2VydmljZTogTW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2UsIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgdGhpcy5tbmdDb21tb25zLnVzZXIkLnN1YnNjcmliZSh1ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXIgPSB1O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy51c2VyUm9sZXMkID0gdGhpcy5tbmdDb21tb25zLnVzZXJSb2xlcyQ7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHZhbHVlID0+IHZhbHVlLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwdWJsaWMgbG9nb3V0KHVzZXI6IElVc2VyIHwgdW5kZWZpbmVkLCBldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB1c2VyPy5sb2dvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHVzZXIubG9nb3V0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xpY2soZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLm1haW5MYXlvdXRTZXJ2aWNlLm9uVG9wYmFySXRlbUNsaWNrKGV2ZW50LCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuIiwiPGEgaHJlZj1cIiNcIiBjbGFzcz1cInVzZXItYmxvY2tcIiAoY2xpY2spPVwiY2xpY2soJGV2ZW50KVwiPlxuICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktdXNlclwiPjwvaT5cbiAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtaXRlbS11c2VybmFtZSBoaWRkZW4gc206aW5saW5lLWJsb2NrXCI+Jm5ic3A7IHt7IHVzZXI/LmRpc3BsYXlOYW1lID8/IHVzZXI/LnVzZXJuYW1lIH19PC9zcGFuPlxuPC9hPlxuPHVsIGNsYXNzPVwiZmFkZUluRG93biBkcm9wZG93bi13aW5kb3dcIj5cbiAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgIDxhPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS11c2VyXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHVzZXI/LmRpc3BsYXlOYW1lID8/IHVzZXI/LnVzZXJuYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cIigodXNlclJvbGVzJCB8IGFzeW5jKT8ubGVuZ3RoID8/IDApID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyUm9sZXMkIHwgbWduRW51bWVyYXRlQXN5bmMgOiB1bmRlZmluZWQgOiB1bmRlZmluZWQgOiB1bmRlZmluZWQgOiAncm9sZXMnIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCIgKm5nSWY9XCJ1c2VyPy5sb2dvdXQgfHwgdXNlcj8ubG9nb3V0VXJsXCI+XG4gICAgICAgIDxhIFtocmVmXT1cInVzZXI/LmxvZ291dFVybFwiIChjbGljayk9XCJsb2dvdXQodXNlciwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1zaWduLW91dFwiPjwvaT5cbiAgICAgICAgICAgIDxzcGFuPnt7ICdtbmdUb3BiYXIubG9nb3V0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG48L3VsPlxuIl19
|
|
@@ -1,67 +1,64 @@
|
|
|
1
1
|
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ViewChildren } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Inject, ViewChild, ViewChildren } from '@angular/core';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { RouterModule } from '@angular/router';
|
|
4
5
|
import { TranslateModule } from '@ngx-translate/core';
|
|
5
6
|
import { DropdownModule } from 'primeng/dropdown';
|
|
6
7
|
import { MngComponentDirective, MngTemplateDirective } from '../../directives';
|
|
7
8
|
import { MngEnumerateAsyncPipe } from '../../pipes';
|
|
9
|
+
import { MNG_MODULE_CONFIG_IT } from '../../services/tokens';
|
|
8
10
|
import { MngBreadcrumbComponent } from './breadcrumb.component';
|
|
9
11
|
import { MngMenuComponent } from './menu.component';
|
|
12
|
+
import { MngTopbarUserComponent } from './topbar-user.component';
|
|
10
13
|
import * as i0 from "@angular/core";
|
|
11
14
|
import * as i1 from "@angular/router";
|
|
12
15
|
import * as i2 from "../../services";
|
|
13
16
|
import * as i3 from "./services";
|
|
14
|
-
import * as i4 from "
|
|
15
|
-
import * as i5 from "
|
|
16
|
-
import * as i6 from "@angular/forms";
|
|
17
|
+
import * as i4 from "primeng/dropdown";
|
|
18
|
+
import * as i5 from "@angular/forms";
|
|
17
19
|
export class MngTopbarComponent {
|
|
18
|
-
constructor(route, mngCommons, mainLayoutService) {
|
|
20
|
+
constructor(applicationRef, route, mngCommons, mainLayoutService, config) {
|
|
21
|
+
this.applicationRef = applicationRef;
|
|
19
22
|
this.route = route;
|
|
20
23
|
this.mngCommons = mngCommons;
|
|
21
24
|
this.mainLayoutService = mainLayoutService;
|
|
25
|
+
this.config = config;
|
|
22
26
|
this.breadcrumbComponent = MngBreadcrumbComponent;
|
|
23
27
|
this.menuComponent = MngMenuComponent;
|
|
28
|
+
this.topbarUserComponent = MngTopbarUserComponent;
|
|
24
29
|
this.languages = ['en'];
|
|
25
30
|
this.selectedLanguage = 'en';
|
|
26
|
-
this.subscriptions = [];
|
|
27
31
|
}
|
|
28
32
|
ngOnInit() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this.breadcrumbComponent = routeData.breadcrumbComponent;
|
|
33
|
+
if (this.config.components?.layout?.topbarUser) {
|
|
34
|
+
this.topbarUserComponent = this.config.components.layout.topbarUser;
|
|
32
35
|
}
|
|
33
|
-
if (
|
|
34
|
-
this.
|
|
36
|
+
if (this.config.components?.layout?.breadcrumb) {
|
|
37
|
+
this.breadcrumbComponent = this.config.components.layout.breadcrumb;
|
|
38
|
+
}
|
|
39
|
+
if (this.config.components?.layout?.menu) {
|
|
40
|
+
this.menuComponent = this.config.components.layout.menu;
|
|
35
41
|
}
|
|
36
42
|
this.languages = this.mngCommons.appLanguages;
|
|
37
43
|
this.selectedLanguage = this.mngCommons.getOrInitLanguage();
|
|
38
|
-
const userSubscription = this.mngCommons.user$.subscribe(u => {
|
|
39
|
-
this.user = u;
|
|
40
|
-
});
|
|
41
|
-
this.userRoles$ = this.mngCommons.userRoles$;
|
|
42
|
-
this.mainLayoutService.innerWidth = window.innerWidth;
|
|
43
|
-
this.subscriptions.push(userSubscription);
|
|
44
|
-
}
|
|
45
|
-
ngOnDestroy() {
|
|
46
|
-
this.subscriptions.forEach(s => s.unsubscribe());
|
|
47
44
|
}
|
|
48
45
|
switchLanguage(language) {
|
|
49
46
|
this.mngCommons.appLanguage = language;
|
|
50
47
|
}
|
|
51
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
52
|
-
logout(user, event) {
|
|
53
|
-
if (typeof user.logout === 'function') {
|
|
54
|
-
user.logout();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
48
|
}
|
|
58
|
-
MngTopbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngTopbarComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MngCommonsService }, { token: i3.MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
-
MngTopbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: MngTopbarComponent, isStandalone: true, selector: "mng-topbar", viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li
|
|
49
|
+
MngTopbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngTopbarComponent, deps: [{ token: i0.ApplicationRef }, { token: i1.ActivatedRoute }, { token: i2.MngCommonsService }, { token: i3.MngMainLayoutComponentService }, { token: MNG_MODULE_CONFIG_IT }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
MngTopbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: MngTopbarComponent, isStandalone: true, selector: "mng-topbar", viewQueries: [{ propertyName: "topbarInjectionRef", first: true, predicate: ["userMenuItem"], descendants: true }, { propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li\n #userMenuItem\n class=\"profile-item profile-item-extended\"\n [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === userMenuItem}\"\n [mngComponent]=\"topbarUserComponent\"\n [attachToHost]=\"true\"></li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs", "attachToHost"], outputs: ["instanceCreated"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
60
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngTopbarComponent, decorators: [{
|
|
61
52
|
type: Component,
|
|
62
|
-
args: [{ standalone: true, selector: 'mng-topbar', imports: [AsyncPipe, NgClass, TranslateModule, NgIf, MngComponentDirective, MngEnumerateAsyncPipe, DropdownModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li
|
|
63
|
-
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.MngCommonsService }, { type: i3.MngMainLayoutComponentService }
|
|
53
|
+
args: [{ standalone: true, selector: 'mng-topbar', imports: [AsyncPipe, NgClass, TranslateModule, NgIf, MngComponentDirective, MngEnumerateAsyncPipe, DropdownModule, FormsModule, RouterModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li\n #userMenuItem\n class=\"profile-item profile-item-extended\"\n [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === userMenuItem}\"\n [mngComponent]=\"topbarUserComponent\"\n [attachToHost]=\"true\"></li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n" }]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i1.ActivatedRoute }, { type: i2.MngCommonsService }, { type: i3.MngMainLayoutComponentService }, { type: undefined, decorators: [{
|
|
55
|
+
type: Inject,
|
|
56
|
+
args: [MNG_MODULE_CONFIG_IT]
|
|
57
|
+
}] }]; }, propDecorators: { templates: [{
|
|
64
58
|
type: ViewChildren,
|
|
65
59
|
args: [MngTemplateDirective]
|
|
60
|
+
}], topbarInjectionRef: [{
|
|
61
|
+
type: ViewChild,
|
|
62
|
+
args: ['userMenuItem']
|
|
66
63
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvdG9wYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvdG9wYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQXNDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUdoRCxPQUFPLEVBQUMscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFHbEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7O0FBVWxELE1BQU0sT0FBTyxrQkFBa0I7SUFhM0IsWUFBb0IsS0FBcUIsRUFBUyxVQUE2QixFQUFTLGlCQUFnRDtRQUFwSCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFTLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQVMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQjtRQVZqSSx3QkFBbUIsR0FBYyxzQkFBc0IsQ0FBQztRQUN4RCxrQkFBYSxHQUFjLGdCQUFnQixDQUFDO1FBRTVDLGNBQVMsR0FBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFJdkIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBRWdHLENBQUM7SUFFNUksUUFBUTtRQUNKLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQXFCLENBQUM7UUFDNUQsSUFBSSxTQUFTLEVBQUUsbUJBQW1CLEVBQUU7WUFDaEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQztTQUM1RDtRQUNELElBQUksU0FBUyxFQUFFLGFBQWEsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUM7U0FDaEQ7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDNUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBRTdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUV0RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sY0FBYyxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0lBRUQsNkRBQTZEO0lBQ3RELE1BQU0sQ0FBQyxJQUFXLEVBQUUsS0FBWTtRQUNuQyxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQzs7K0dBakRRLGtCQUFrQjttR0FBbEIsa0JBQWtCLG9HQUNiLG9CQUFvQixnREMxQnRDLHcyRkFzREEsdUNEaENjLFNBQVMsOENBQUUsT0FBTyxtRkFBRSxlQUFlLDRGQUFFLElBQUksNkZBQUUscUJBQXFCLHdIQUFFLHFCQUFxQix5REFBRSxjQUFjLCtrQ0FBRSxXQUFXOzJGQUdySCxrQkFBa0I7a0JBUDlCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFlBQVksV0FFYixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDLG1CQUM5Ryx1QkFBdUIsQ0FBQyxNQUFNO2lMQUdYLFNBQVM7c0JBQTVDLFlBQVk7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFR5cGUsIFZpZXdDaGlsZHJlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0Ryb3Bkb3duTW9kdWxlfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtNbmdDb21wb25lbnREaXJlY3RpdmUsIE1uZ1RlbXBsYXRlRGlyZWN0aXZlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7SVVzZXJ9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge01uZ0VudW1lcmF0ZUFzeW5jUGlwZX0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHtNbmdSb3V0ZXJEYXRhfSBmcm9tICcuLi8uLi9yb3V0ZXIvbW9kZWxzJztcbmltcG9ydCB7TW5nQ29tbW9uc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7TW5nQnJlYWRjcnVtYkNvbXBvbmVudH0gZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge01uZ01lbnVDb21wb25lbnR9IGZyb20gJy4vbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctdG9wYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9wYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0NsYXNzLCBUcmFuc2xhdGVNb2R1bGUsIE5nSWYsIE1uZ0NvbXBvbmVudERpcmVjdGl2ZSwgTW5nRW51bWVyYXRlQXN5bmNQaXBlLCBEcm9wZG93bk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ1RvcGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkcmVuKE1uZ1RlbXBsYXRlRGlyZWN0aXZlKSB0ZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8TW5nVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgcHVibGljIGJyZWFkY3J1bWJDb21wb25lbnQ6IFR5cGU8YW55PiA9IE1uZ0JyZWFkY3J1bWJDb21wb25lbnQ7XG4gICAgcHVibGljIG1lbnVDb21wb25lbnQ6IFR5cGU8YW55PiA9IE1uZ01lbnVDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgbGFuZ3VhZ2VzOiBBcnJheTxzdHJpbmc+ID0gWydlbiddO1xuICAgIHB1YmxpYyBzZWxlY3RlZExhbmd1YWdlID0gJ2VuJztcbiAgICBwdWJsaWMgdXNlcj86IElVc2VyO1xuICAgIHB1YmxpYyB1c2VyUm9sZXMkITogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHVibGljIG1uZ0NvbW1vbnM6IE1uZ0NvbW1vbnNTZXJ2aWNlLCBwdWJsaWMgbWFpbkxheW91dFNlcnZpY2U6IE1uZ01haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJvdXRlRGF0YSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YSBhcyBNbmdSb3V0ZXJEYXRhO1xuICAgICAgICBpZiAocm91dGVEYXRhPy5icmVhZGNydW1iQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJDb21wb25lbnQgPSByb3V0ZURhdGEuYnJlYWRjcnVtYkNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocm91dGVEYXRhPy5tZW51Q29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVDb21wb25lbnQgPSByb3V0ZURhdGEubWVudUNvbXBvbmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzID0gdGhpcy5tbmdDb21tb25zLmFwcExhbmd1YWdlcztcbiAgICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gdGhpcy5tbmdDb21tb25zLmdldE9ySW5pdExhbmd1YWdlKCk7XG4gICAgICAgIGNvbnN0IHVzZXJTdWJzY3JpcHRpb24gPSB0aGlzLm1uZ0NvbW1vbnMudXNlciQuc3Vic2NyaWJlKHUgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyID0gdTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudXNlclJvbGVzJCA9IHRoaXMubW5nQ29tbW9ucy51c2VyUm9sZXMkO1xuXG4gICAgICAgIHRoaXMubWFpbkxheW91dFNlcnZpY2UuaW5uZXJXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHVzZXJTdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN3aXRjaExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tbmdDb21tb25zLmFwcExhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHB1YmxpYyBsb2dvdXQodXNlcjogSVVzZXIsIGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodHlwZW9mIHVzZXIubG9nb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB1c2VyLmxvZ291dCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhci1sZWZ0XCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICBjbGFzcz1cInRvcGJhci1tZW51LWJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwibWFpbkxheW91dFNlcnZpY2Uub25NZW51QnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAqbmdJZj1cIihtbmdDb21tb25zLm1lbnVNb2RlSXNPdmVybGF5JCB8IGFzeW5jKSB8fCAobWFpbkxheW91dFNlcnZpY2UuaXNNb2JpbGUkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWJhcnNcIj48L2k+XG4gICAgICAgIDwvYT5cblxuICAgICAgICA8bmctY29udGFpbmVyIFttbmdDb21wb25lbnRdPVwiYnJlYWRjcnVtYkNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciBbbW5nQ29tcG9uZW50XT1cIm1lbnVDb21wb25lbnRcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLXJpZ2h0XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImxheW91dC10b3BiYXItcmlnaHQtaXRlbXNcIj5cbiAgICAgICAgICAgIDxsaSAjcHJvZmlsZSBjbGFzcz1cInByb2ZpbGUtaXRlbSBwcm9maWxlLWl0ZW0tZXh0ZW5kZWRcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZS10b3BtZW51aXRlbSc6IChtYWluTGF5b3V0U2VydmljZS5hY3RpdmVUb3BiYXJJdGVtJCB8IGFzeW5jKSA9PT0gcHJvZmlsZX1cIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIChjbGljayk9XCJtYWluTGF5b3V0U2VydmljZS5vblRvcGJhckl0ZW1DbGljaygkZXZlbnQsIHByb2ZpbGUpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktdXNlclwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9maWxlLWl0ZW0tdXNlcm5hbWUgaGlkZGVuIHNtOmlubGluZS1ibG9ja1wiPiZuYnNwOyB7eyB1c2VyPy5kaXNwbGF5TmFtZSA/PyB1c2VyPy51c2VybmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZmFkZUluRG93blwiICpuZ0lmPVwidXNlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktdXNlclwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyB1c2VyPy5kaXNwbGF5TmFtZSA/PyB1c2VyPy51c2VybmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsICpuZ0lmPVwiKCh1c2VyUm9sZXMkIHwgYXN5bmMpPy5sZW5ndGggPz8gMCkgPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlclJvbGVzJCB8IG1nbkVudW1lcmF0ZUFzeW5jIDogdW5kZWZpbmVkIDogdW5kZWZpbmVkIDogdW5kZWZpbmVkIDogJ3JvbGVzJyB8IGFzeW5jIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9XCJtZW51aXRlbVwiICpuZ0lmPVwidXNlcj8ubG9nb3V0IHx8IHVzZXI/LmxvZ291dFVybFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwidXNlcj8ubG9nb3V0VXJsXCIgKGNsaWNrKT1cImxvZ291dCh1c2VyLCAkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1zaWduLW91dFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyAnbW5nVG9wYmFyLmxvZ291dCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJsYW5ndWFnZXMubGVuZ3RoID4gMVwiIGNsYXNzPVwicHJvZmlsZS1pdGVtXCIgW25nQ2xhc3NdPVwieydhY3RpdmUtdG9wbWVudWl0ZW0nOiAobWFpbkxheW91dFNlcnZpY2UuYWN0aXZlVG9wYmFySXRlbSQgfCBhc3luYykgPT09IHByb2ZpbGV9XCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1nbG9iZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbbmdNb2RlbF09XCJzZWxlY3RlZExhbmd1YWdlXCIgW29wdGlvbnNdPVwibGFuZ3VhZ2VzXCIgKG9uQ2hhbmdlKT1cInN3aXRjaExhbmd1YWdlKCRldmVudC52YWx1ZSlcIj48L3AtZHJvcGRvd24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvdG9wYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvdG9wYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBMkIsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2SixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFpQixZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRTdFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUVsRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7OztBQVMvRCxNQUFNLE9BQU8sa0JBQWtCO0lBVzNCLFlBQ1ksY0FBOEIsRUFDOUIsS0FBcUIsRUFDdEIsVUFBNkIsRUFDN0IsaUJBQWdELEVBQ2pCLE1BQXVCO1FBSnJELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQStCO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBWjFELHdCQUFtQixHQUFjLHNCQUFzQixDQUFDO1FBQ3hELGtCQUFhLEdBQWMsZ0JBQWdCLENBQUM7UUFDNUMsd0JBQW1CLEdBQWMsc0JBQXNCLENBQUM7UUFFeEQsY0FBUyxHQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLHFCQUFnQixHQUFHLElBQUksQ0FBQztJQVE1QixDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRTtZQUM1QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztTQUN2RTtRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRTtZQUM1QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztTQUN2RTtRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDM0Q7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVNLGNBQWMsQ0FBQyxRQUFnQjtRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFDM0MsQ0FBQzs7K0dBcENRLGtCQUFrQiw0SkFnQmYsb0JBQW9CO21HQWhCdkIsa0JBQWtCLHlNQUNiLG9CQUFvQixnREMxQnRDLHd3Q0E4QkEsdUNEUmMsU0FBUyw4Q0FBRSxPQUFPLG1GQUFFLGVBQWUsK0JBQUUsSUFBSSw2RkFBRSxxQkFBcUIsNElBQXlCLGNBQWMsK2tDQUFFLFdBQVcsOFZBQUUsWUFBWTsyRkFHbkksa0JBQWtCO2tCQVA5QixTQUFTO2lDQUNNLElBQUksWUFDTixZQUFZLFdBRWIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsbUJBQzVILHVCQUF1QixDQUFDLE1BQU07OzBCQWtCMUMsTUFBTTsyQkFBQyxvQkFBb0I7NENBZkksU0FBUztzQkFBNUMsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBQ1Asa0JBQWtCO3NCQUE1QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdDbGFzcywgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QXBwbGljYXRpb25SZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgT25Jbml0LCBRdWVyeUxpc3QsIFR5cGUsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bk1vZHVsZX0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5cbmltcG9ydCB7TW5nQ29tcG9uZW50RGlyZWN0aXZlLCBNbmdUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge01uZ01vZHVsZUNvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TW5nRW51bWVyYXRlQXN5bmNQaXBlfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQge01uZ0NvbW1vbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge01OR19NT0RVTEVfQ09ORklHX0lUfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90b2tlbnMnO1xuaW1wb3J0IHtNbmdCcmVhZGNydW1iQ29tcG9uZW50fSBmcm9tICcuL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7TW5nTWVudUNvbXBvbmVudH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge01uZ01haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7TW5nVG9wYmFyVXNlckNvbXBvbmVudH0gZnJvbSAnLi90b3BiYXItdXNlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXRvcGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvcGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgTmdDbGFzcywgVHJhbnNsYXRlTW9kdWxlLCBOZ0lmLCBNbmdDb21wb25lbnREaXJlY3RpdmUsIE1uZ0VudW1lcmF0ZUFzeW5jUGlwZSwgRHJvcGRvd25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSb3V0ZXJNb2R1bGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ1RvcGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZHJlbihNbmdUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzITogUXVlcnlMaXN0PE1uZ1RlbXBsYXRlRGlyZWN0aXZlPjtcbiAgICBAVmlld0NoaWxkKCd1c2VyTWVudUl0ZW0nKSB0b3BiYXJJbmplY3Rpb25SZWYhOiBFbGVtZW50UmVmO1xuXG4gICAgcHVibGljIGJyZWFkY3J1bWJDb21wb25lbnQ6IFR5cGU8YW55PiA9IE1uZ0JyZWFkY3J1bWJDb21wb25lbnQ7XG4gICAgcHVibGljIG1lbnVDb21wb25lbnQ6IFR5cGU8YW55PiA9IE1uZ01lbnVDb21wb25lbnQ7XG4gICAgcHVibGljIHRvcGJhclVzZXJDb21wb25lbnQ6IFR5cGU8YW55PiA9IE1uZ1RvcGJhclVzZXJDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgbGFuZ3VhZ2VzOiBBcnJheTxzdHJpbmc+ID0gWydlbiddO1xuICAgIHB1YmxpYyBzZWxlY3RlZExhbmd1YWdlID0gJ2VuJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBtbmdDb21tb25zOiBNbmdDb21tb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIG1haW5MYXlvdXRTZXJ2aWNlOiBNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZSxcbiAgICAgICAgQEluamVjdChNTkdfTU9EVUxFX0NPTkZJR19JVCkgcHJpdmF0ZSBjb25maWc6IE1uZ01vZHVsZUNvbmZpZ1xuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb25maWcuY29tcG9uZW50cz8ubGF5b3V0Py50b3BiYXJVc2VyKSB7XG4gICAgICAgICAgICB0aGlzLnRvcGJhclVzZXJDb21wb25lbnQgPSB0aGlzLmNvbmZpZy5jb21wb25lbnRzLmxheW91dC50b3BiYXJVc2VyO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5jb21wb25lbnRzPy5sYXlvdXQ/LmJyZWFkY3J1bWIpIHtcbiAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYkNvbXBvbmVudCA9IHRoaXMuY29uZmlnLmNvbXBvbmVudHMubGF5b3V0LmJyZWFkY3J1bWI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmNvbXBvbmVudHM/LmxheW91dD8ubWVudSkge1xuICAgICAgICAgICAgdGhpcy5tZW51Q29tcG9uZW50ID0gdGhpcy5jb25maWcuY29tcG9uZW50cy5sYXlvdXQubWVudTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzID0gdGhpcy5tbmdDb21tb25zLmFwcExhbmd1YWdlcztcbiAgICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gdGhpcy5tbmdDb21tb25zLmdldE9ySW5pdExhbmd1YWdlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN3aXRjaExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tbmdDb21tb25zLmFwcExhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhci1sZWZ0XCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICBjbGFzcz1cInRvcGJhci1tZW51LWJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwibWFpbkxheW91dFNlcnZpY2Uub25NZW51QnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAqbmdJZj1cIihtbmdDb21tb25zLm1lbnVNb2RlSXNPdmVybGF5JCB8IGFzeW5jKSB8fCAobWFpbkxheW91dFNlcnZpY2UuaXNNb2JpbGUkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWJhcnNcIj48L2k+XG4gICAgICAgIDwvYT5cblxuICAgICAgICA8bmctY29udGFpbmVyIFttbmdDb21wb25lbnRdPVwiYnJlYWRjcnVtYkNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciBbbW5nQ29tcG9uZW50XT1cIm1lbnVDb21wb25lbnRcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLXJpZ2h0XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImxheW91dC10b3BiYXItcmlnaHQtaXRlbXNcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICN1c2VyTWVudUl0ZW1cbiAgICAgICAgICAgICAgICBjbGFzcz1cInByb2ZpbGUtaXRlbSBwcm9maWxlLWl0ZW0tZXh0ZW5kZWRcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlLXRvcG1lbnVpdGVtJzogKG1haW5MYXlvdXRTZXJ2aWNlLmFjdGl2ZVRvcGJhckl0ZW0kIHwgYXN5bmMpID09PSB1c2VyTWVudUl0ZW19XCJcbiAgICAgICAgICAgICAgICBbbW5nQ29tcG9uZW50XT1cInRvcGJhclVzZXJDb21wb25lbnRcIlxuICAgICAgICAgICAgICAgIFthdHRhY2hUb0hvc3RdPVwidHJ1ZVwiPjwvbGk+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJsYW5ndWFnZXMubGVuZ3RoID4gMVwiIGNsYXNzPVwicHJvZmlsZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1nbG9iZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbbmdNb2RlbF09XCJzZWxlY3RlZExhbmd1YWdlXCIgW29wdGlvbnNdPVwibGFuZ3VhZ2VzXCIgKG9uQ2hhbmdlKT1cInN3aXRjaExhbmd1YWdlKCRldmVudC52YWx1ZSlcIj48L3AtZHJvcGRvd24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -69,7 +69,7 @@ export class MngTableColumnValueComponent {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
MngTableColumnValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngTableColumnValueComponent, deps: [{ token: i0.ElementRef }, { token: i1.MessageService }, { token: i2.TranslateService }, { token: i3.JsonPathPipe }, { token: i3.MngGetterPipe }, { token: i3.MngTemplatePipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: MngTableColumnValueComponent, isStandalone: true, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, host: { properties: { "style.max-width.px": "this.styleMaxWidth", "class": "this.className" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnDisplayType\">\n <i\n *ngIf=\"descriptor.localizationExistsProperty && !item[descriptor.localizationExistsProperty]\"\n class=\"pi pi-exclamation-circle\"\n [pTooltip]=\"'mngTable.translationMissing' | translate\"></i>\n <ng-container *ngSwitchCase=\"columnDisplayTypeString\">\n {{ value }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeHtml\">\n <span [innerHTML]=\"value\"></span>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeNumber\">\n {{ value | number : descriptor.displayFormat : descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeCurrency\">\n {{ value | currency : currency : descriptor.currencyDisplay : descriptor.displayFormat : descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeDate\">\n {{ value | date : descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\">\n <i [class]=\"value | boolean : descriptor.booleanYes : descriptor.booleanNo : true\"></i>\n </ng-container>\n <ng-template #booleanText>\n {{ value | boolean : descriptor.booleanYes : descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeEnum\">\n {{ value | enum : descriptor.enumType : descriptor.enumTitlePath : descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeComponent\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: value,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n<div class=\"help-buttons\" *ngIf=\"descriptor.hasCopyToClipboard\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-copy\" class=\"p-button-rounded p-button-info p-button-sm\" (click)=\"copyToClipboard($event)\"></button>\n</div>\n", styles: [":host{display:inline-block;overflow:hidden}:host.nowrap{white-space:nowrap;text-overflow:ellipsis}.help-buttons{display:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}.help-buttons .p-button{height:1.9rem;width:1.9rem;padding:0}\n"], dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: MngBooleanPipe, name: "boolean" }, { kind: "pipe", type: MngEnumPipe, name: "enum" }, { kind: "directive", type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
72
|
+
MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: MngTableColumnValueComponent, isStandalone: true, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, host: { properties: { "style.max-width.px": "this.styleMaxWidth", "class": "this.className" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnDisplayType\">\n <i\n *ngIf=\"descriptor.localizationExistsProperty && !item[descriptor.localizationExistsProperty]\"\n class=\"pi pi-exclamation-circle\"\n [pTooltip]=\"'mngTable.translationMissing' | translate\"></i>\n <ng-container *ngSwitchCase=\"columnDisplayTypeString\">\n {{ value }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeHtml\">\n <span [innerHTML]=\"value\"></span>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeNumber\">\n {{ value | number : descriptor.displayFormat : descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeCurrency\">\n {{ value | currency : currency : descriptor.currencyDisplay : descriptor.displayFormat : descriptor.locale }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeDate\">\n {{ value | date : descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\">\n <i [class]=\"value | boolean : descriptor.booleanYes : descriptor.booleanNo : true\"></i>\n </ng-container>\n <ng-template #booleanText>\n {{ value | boolean : descriptor.booleanYes : descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeEnum\">\n {{ value | enum : descriptor.enumType : descriptor.enumTitlePath : descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnDisplayTypeComponent\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: value,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n<div class=\"help-buttons\" *ngIf=\"descriptor.hasCopyToClipboard\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-copy\" class=\"p-button-rounded p-button-info p-button-sm\" (click)=\"copyToClipboard($event)\"></button>\n</div>\n", styles: [":host{display:inline-block;overflow:hidden}:host.nowrap{white-space:nowrap;text-overflow:ellipsis}.help-buttons{display:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}.help-buttons .p-button{height:1.9rem;width:1.9rem;padding:0}\n"], dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: MngBooleanPipe, name: "boolean" }, { kind: "pipe", type: MngEnumPipe, name: "enum" }, { kind: "directive", type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs", "attachToHost"], outputs: ["instanceCreated"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngTableColumnValueComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
75
|
args: [{ standalone: true, selector: 'mng-table-column-value', imports: [
|
|
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
98
98
|
type: HostBinding,
|
|
99
99
|
args: ['class']
|
|
100
100
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvdGFibGUvY29sdW1uLXZhbHVlL2NvbHVtbi12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbEcsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFFdEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHOUMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFlLGNBQWMsRUFBRSxXQUFXLEVBQWlDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBd0I1RyxNQUFNLE9BQU8sNEJBQTRCO0lBc0JyQyxZQUNZLFVBQXNCLEVBQ3RCLGNBQThCLEVBQzlCLFNBQTJCLEVBQzNCLFlBQTBCLEVBQzFCLFVBQXlCLEVBQ3pCLFlBQTZCO1FBTDdCLGVBQVUsR0FB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDdXJyZW5jeVBpcGUsIERhdGVQaXBlLCBEZWNpbWFsUGlwZSwgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge01lc3NhZ2VTZXJ2aWNlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHtSaXBwbGVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvcmlwcGxlJztcbmltcG9ydCB7VG9vbHRpcE1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcblxuaW1wb3J0IHtDb2x1bW5EZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycy90YWJsZSc7XG5pbXBvcnQge0NvbHVtbkRpc3BsYXlUeXBlRW51bX0gZnJvbSAnLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMvdHlwZXMnO1xuaW1wb3J0IHtNbmdDb21wb25lbnREaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtKc29uUGF0aFBpcGUsIE1uZ0Jvb2xlYW5QaXBlLCBNbmdFbnVtUGlwZSwgTW5nR2V0dGVyUGlwZSwgTW5nVGVtcGxhdGVQaXBlfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctdGFibGUtY29sdW1uLXZhbHVlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLXZhbHVlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2x1bW4tdmFsdWUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nU3dpdGNoLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBUb29sdGlwTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIE5nU3dpdGNoQ2FzZSxcbiAgICAgICAgRGVjaW1hbFBpcGUsXG4gICAgICAgIEN1cnJlbmN5UGlwZSxcbiAgICAgICAgRGF0ZVBpcGUsXG4gICAgICAgIE1uZ0Jvb2xlYW5QaXBlLFxuICAgICAgICBNbmdFbnVtUGlwZSxcbiAgICAgICAgTW5nQ29tcG9uZW50RGlyZWN0aXZlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFJpcHBsZU1vZHVsZVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nVGFibGVDb2x1bW5WYWx1ZUNvbXBvbmVudDxULCBUVD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW5EaXNwbGF5VHlwZVN0cmluZzogQ29sdW1uRGlzcGxheVR5cGVFbnVtID0gQ29sdW1uRGlzcGxheVR5cGVFbnVtLlN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVOdW1iZXI6IENvbHVtbkRpc3BsYXlUeXBlRW51bSA9IENvbHVtbkRpc3BsYXlUeXBlRW51bS5OdW1iZXI7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtbkRpc3BsYXlUeXBlQ3VycmVuY3k6IENvbHVtbkRpc3BsYXlUeXBlRW51bSA9IENvbHVtbkRpc3BsYXlUeXBlRW51bS5DdXJyZW5jeTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVCb29sZWFuOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0gPSBDb2x1bW5EaXNwbGF5VHlwZUVudW0uQm9vbGVhbjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVEYXRlOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0gPSBDb2x1bW5EaXNwbGF5VHlwZUVudW0uRGF0ZTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVFbnVtOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0gPSBDb2x1bW5EaXNwbGF5VHlwZUVudW0uRW51bTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVDb21wb25lbnQ6IENvbHVtbkRpc3BsYXlUeXBlRW51bSA9IENvbHVtbkRpc3BsYXlUeXBlRW51bS5Db21wb25lbnQ7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtbkRpc3BsYXlUeXBlSHRtbDogQ29sdW1uRGlzcGxheVR5cGVFbnVtID0gQ29sdW1uRGlzcGxheVR5cGVFbnVtLkh0bWw7XG5cbiAgICBASW5wdXQoKSBkZXNjcmlwdG9yITogQ29sdW1uRGVzY3JpcHRvcjxULCBUVD47XG4gICAgQElucHV0KCkgaXRlbSE6IGFueTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoLnB4JykgcHVibGljIHN0eWxlTWF4V2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBwdWJsaWMgY2xhc3NOYW1lID0gJ25vd3JhcCc7XG5cbiAgICBwdWJsaWMgY3VycmVuY3k/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMganNvblBhdGggPSAnJCc7XG5cbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBqc29uUGF0aFBpcGU6IEpzb25QYXRoUGlwZSxcbiAgICAgICAgcHJpdmF0ZSBnZXR0ZXJQaXBlOiBNbmdHZXR0ZXJQaXBlLFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUGlwZTogTW5nVGVtcGxhdGVQaXBlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLmNvbHVtbkRpc3BsYXlUeXBlID09PSBDb2x1bW5EaXNwbGF5VHlwZUVudW0uQ3VycmVuY3kpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVuY3kgPSB0aGlzLmRlc2NyaXB0b3IuY3VycmVuY3lGcm9tUHJvcGVydHkgPyB0aGlzLml0ZW1bdGhpcy5kZXNjcmlwdG9yLmN1cnJlbmN5RnJvbVByb3BlcnR5XSA6IHRoaXMuZGVzY3JpcHRvci5jdXJyZW5jeUNvZGUgPz8gJ0VVUic7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLm1heFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlTWF4V2lkdGggPSB0aGlzLmRlc2NyaXB0b3IubWF4V2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLmpzb25QYXRoKSB7XG4gICAgICAgICAgICB0aGlzLmpzb25QYXRoID0gdGhpcy5kZXNjcmlwdG9yLmpzb25QYXRoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5qc29uUGF0aCA9IGAkLiR7dGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5fWA7XG4gICAgICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLm9iamVjdE1vZGVsVHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuanNvblBhdGggPSBgJC4ke3RoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eX0uJHt0aGlzLmRlc2NyaXB0b3Iub2JqZWN0VGl0bGVQcm9wZXJ0eX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5qc29uUGF0aFBpcGUudHJhbnNmb3JtKHRoaXMuaXRlbSwgdGhpcy5qc29uUGF0aCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0b3IuZ2V0dGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuZ2V0dGVyUGlwZS50cmFuc2Zvcm0odGhpcy5pdGVtLCB0aGlzLmRlc2NyaXB0b3IuZ2V0dGVyLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRvci50ZW1wbGF0ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnRlbXBsYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsIHRoaXMuZGVzY3JpcHRvci50ZW1wbGF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNvcHlUb0NsaXBib2FyZChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0LnRyaW0oKTtcbiAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodmFsdWUpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ21uZ1RhYmxlLmNvcHlOb3RpZmljYXRpb25UaXRsZScpO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnbW5nVGFibGUuY29weU5vdGlmaWNhdGlvbk1lc3NhZ2UnLCB7dmFsdWV9KTtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe3NldmVyaXR5OiAnaW5mbycsIHN1bW1hcnk6IHRpdGxlLCBkZXRhaWw6IG1lc3NhZ2V9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkZXNjcmlwdG9yLmNvbHVtbkRpc3BsYXlUeXBlXCI+XG4gICAgPGlcbiAgICAgICAgKm5nSWY9XCJkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkV4aXN0c1Byb3BlcnR5ICYmICFpdGVtW2Rlc2NyaXB0b3IubG9jYWxpemF0aW9uRXhpc3RzUHJvcGVydHldXCJcbiAgICAgICAgY2xhc3M9XCJwaSBwaS1leGNsYW1hdGlvbi1jaXJjbGVcIlxuICAgICAgICBbcFRvb2x0aXBdPVwiJ21uZ1RhYmxlLnRyYW5zbGF0aW9uTWlzc2luZycgfCB0cmFuc2xhdGVcIj48L2k+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uRGlzcGxheVR5cGVTdHJpbmdcIj5cbiAgICAgICAge3sgdmFsdWUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5EaXNwbGF5VHlwZUh0bWxcIj5cbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJ2YWx1ZVwiPjwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5EaXNwbGF5VHlwZU51bWJlclwiPlxuICAgICAgICB7eyB2YWx1ZSB8IG51bWJlciA6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdCA6IGRlc2NyaXB0b3IubG9jYWxlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uRGlzcGxheVR5cGVDdXJyZW5jeVwiPlxuICAgICAgICB7eyB2YWx1ZSB8IGN1cnJlbmN5IDogY3VycmVuY3kgOiBkZXNjcmlwdG9yLmN1cnJlbmN5RGlzcGxheSA6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdCA6IGRlc2NyaXB0b3IubG9jYWxlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uRGlzcGxheVR5cGVEYXRlXCI+XG4gICAgICAgIHt7IHZhbHVlIHwgZGF0ZSA6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbkRpc3BsYXlUeXBlQm9vbGVhblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGVzY3JpcHRvci5ib29sZWFuQXNJY29uOyBlbHNlIGJvb2xlYW5UZXh0XCI+XG4gICAgICAgICAgICA8aSBbY2xhc3NdPVwidmFsdWUgfCBib29sZWFuIDogZGVzY3JpcHRvci5ib29sZWFuWWVzIDogZGVzY3JpcHRvci5ib29sZWFuTm8gOiB0cnVlXCI+PC9pPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNib29sZWFuVGV4dD5cbiAgICAgICAgICAgIHt7IHZhbHVlIHwgYm9vbGVhbiA6IGRlc2NyaXB0b3IuYm9vbGVhblllcyA6IGRlc2NyaXB0b3IuYm9vbGVhbk5vIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uRGlzcGxheVR5cGVFbnVtXCI+XG4gICAgICAgIHt7IHZhbHVlIHwgZW51bSA6IGRlc2NyaXB0b3IuZW51bVR5cGUgOiBkZXNjcmlwdG9yLmVudW1UaXRsZVBhdGggOiBkZXNjcmlwdG9yLmVudW1OYW1lQXNWYWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbkRpc3BsYXlUeXBlQ29tcG9uZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFttbmdDb21wb25lbnRdPVwiZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnRUeXBlIVwiXG4gICAgICAgICAgICBbaW5wdXRzXT1cIntcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yXG4gICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgY2xhc3M9XCJoZWxwLWJ1dHRvbnNcIiAqbmdJZj1cImRlc2NyaXB0b3IuaGFzQ29weVRvQ2xpcGJvYXJkXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1jb3B5XCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLWluZm8gcC1idXR0b24tc21cIiAoY2xpY2spPVwiY29weVRvQ2xpcGJvYXJkKCRldmVudClcIj48L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvdGFibGUvY29sdW1uLXZhbHVlL2NvbHVtbi12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbEcsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFFdEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHOUMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFlLGNBQWMsRUFBRSxXQUFXLEVBQWlDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBd0I1RyxNQUFNLE9BQU8sNEJBQTRCO0lBc0JyQyxZQUNZLFVBQXNCLEVBQ3RCLGNBQThCLEVBQzlCLFNBQTJCLEVBQzNCLFlBQTBCLEVBQzFCLFVBQXlCLEVBQ3pCLFlBQTZCO1FBTDdCLGVBQVUsR0FB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDdXJyZW5jeVBpcGUsIERhdGVQaXBlLCBEZWNpbWFsUGlwZSwgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge01lc3NhZ2VTZXJ2aWNlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHtSaXBwbGVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvcmlwcGxlJztcbmltcG9ydCB7VG9vbHRpcE1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcblxuaW1wb3J0IHtDb2x1bW5EZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycy90YWJsZSc7XG5pbXBvcnQge0NvbHVtbkRpc3BsYXlUeXBlRW51bX0gZnJvbSAnLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMvdHlwZXMnO1xuaW1wb3J0IHtNbmdDb21wb25lbnREaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtKc29uUGF0aFBpcGUsIE1uZ0Jvb2xlYW5QaXBlLCBNbmdFbnVtUGlwZSwgTW5nR2V0dGVyUGlwZSwgTW5nVGVtcGxhdGVQaXBlfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctdGFibGUtY29sdW1uLXZhbHVlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLXZhbHVlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2x1bW4tdmFsdWUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nU3dpdGNoLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBUb29sdGlwTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIE5nU3dpdGNoQ2FzZSxcbiAgICAgICAgRGVjaW1hbFBpcGUsXG4gICAgICAgIEN1cnJlbmN5UGlwZSxcbiAgICAgICAgRGF0ZVBpcGUsXG4gICAgICAgIE1uZ0Jvb2xlYW5QaXBlLFxuICAgICAgICBNbmdFbnVtUGlwZSxcbiAgICAgICAgTW5nQ29tcG9uZW50RGlyZWN0aXZlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFJpcHBsZU1vZHVsZVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nVGFibGVDb2x1bW5WYWx1ZUNvbXBvbmVudDxULCBUVD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW5EaXNwbGF5VHlwZVN0cmluZzogQ29sdW1uRGlzcGxheVR5cGVFbnVtID0gQ29sdW1uRGlzcGxheVR5cGVFbnVtLlN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVOdW1iZXI6IENvbHVtbkRpc3BsYXlUeXBlRW51bSA9IENvbHVtbkRpc3BsYXlUeXBlRW51bS5OdW1iZXI7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtbkRpc3BsYXlUeXBlQ3VycmVuY3k6IENvbHVtbkRpc3BsYXlUeXBlRW51bSA9IENvbHVtbkRpc3BsYXlUeXBlRW51bS5DdXJyZW5jeTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVCb29sZWFuOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0gPSBDb2x1bW5EaXNwbGF5VHlwZUVudW0uQm9vbGVhbjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVEYXRlOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0gPSBDb2x1bW5EaXNwbGF5VHlwZUVudW0uRGF0ZTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVFbnVtOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0gPSBDb2x1bW5EaXNwbGF5VHlwZUVudW0uRW51bTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGlzcGxheVR5cGVDb21wb25lbnQ6IENvbHVtbkRpc3BsYXlUeXBlRW51bSA9IENvbHVtbkRpc3BsYXlUeXBlRW51bS5Db21wb25lbnQ7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbHVtbkRpc3BsYXlUeXBlSHRtbDogQ29sdW1uRGlzcGxheVR5cGVFbnVtID0gQ29sdW1uRGlzcGxheVR5cGVFbnVtLkh0bWw7XG5cbiAgICBASW5wdXQoKSBkZXNjcmlwdG9yITogQ29sdW1uRGVzY3JpcHRvcjxULCBUVD47XG4gICAgQElucHV0KCkgaXRlbSE6IGFueTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoLnB4JykgcHVibGljIHN0eWxlTWF4V2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBwdWJsaWMgY2xhc3NOYW1lID0gJ25vd3JhcCc7XG5cbiAgICBwdWJsaWMgY3VycmVuY3k/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMganNvblBhdGggPSAnJCc7XG5cbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBqc29uUGF0aFBpcGU6IEpzb25QYXRoUGlwZSxcbiAgICAgICAgcHJpdmF0ZSBnZXR0ZXJQaXBlOiBNbmdHZXR0ZXJQaXBlLFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUGlwZTogTW5nVGVtcGxhdGVQaXBlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLmNvbHVtbkRpc3BsYXlUeXBlID09PSBDb2x1bW5EaXNwbGF5VHlwZUVudW0uQ3VycmVuY3kpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVuY3kgPSB0aGlzLmRlc2NyaXB0b3IuY3VycmVuY3lGcm9tUHJvcGVydHkgPyB0aGlzLml0ZW1bdGhpcy5kZXNjcmlwdG9yLmN1cnJlbmN5RnJvbVByb3BlcnR5XSA6IHRoaXMuZGVzY3JpcHRvci5jdXJyZW5jeUNvZGUgPz8gJ0VVUic7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLm1heFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlTWF4V2lkdGggPSB0aGlzLmRlc2NyaXB0b3IubWF4V2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLmpzb25QYXRoKSB7XG4gICAgICAgICAgICB0aGlzLmpzb25QYXRoID0gdGhpcy5kZXNjcmlwdG9yLmpzb25QYXRoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5qc29uUGF0aCA9IGAkLiR7dGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5fWA7XG4gICAgICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLm9iamVjdE1vZGVsVHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuanNvblBhdGggPSBgJC4ke3RoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eX0uJHt0aGlzLmRlc2NyaXB0b3Iub2JqZWN0VGl0bGVQcm9wZXJ0eX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5qc29uUGF0aFBpcGUudHJhbnNmb3JtKHRoaXMuaXRlbSwgdGhpcy5qc29uUGF0aCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0b3IuZ2V0dGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuZ2V0dGVyUGlwZS50cmFuc2Zvcm0odGhpcy5pdGVtLCB0aGlzLmRlc2NyaXB0b3IuZ2V0dGVyLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRvci50ZW1wbGF0ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnRlbXBsYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsIHRoaXMuZGVzY3JpcHRvci50ZW1wbGF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNvcHlUb0NsaXBib2FyZChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0LnRyaW0oKTtcbiAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodmFsdWUpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ21uZ1RhYmxlLmNvcHlOb3RpZmljYXRpb25UaXRsZScpO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnbW5nVGFibGUuY29weU5vdGlmaWNhdGlvbk1lc3NhZ2UnLCB7dmFsdWV9KTtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe3NldmVyaXR5OiAnaW5mbycsIHN1bW1hcnk6IHRpdGxlLCBkZXRhaWw6IG1lc3NhZ2V9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkZXNjcmlwdG9yLmNvbHVtbkRpc3BsYXlUeXBlXCI+XG4gICAgPGlcbiAgICAgICAgKm5nSWY9XCJkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkV4aXN0c1Byb3BlcnR5ICYmICFpdGVtW2Rlc2NyaXB0b3IubG9jYWxpemF0aW9uRXhpc3RzUHJvcGVydHldXCJcbiAgICAgICAgY2xhc3M9XCJwaSBwaS1leGNsYW1hdGlvbi1jaXJjbGVcIlxuICAgICAgICBbcFRvb2x0aXBdPVwiJ21uZ1RhYmxlLnRyYW5zbGF0aW9uTWlzc2luZycgfCB0cmFuc2xhdGVcIj48L2k+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uRGlzcGxheVR5cGVTdHJpbmdcIj5cbiAgICAgICAge3sgdmFsdWUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5EaXNwbGF5VHlwZUh0bWxcIj5cbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJ2YWx1ZVwiPjwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5EaXNwbGF5VHlwZU51bWJlclwiPlxuICAgICAgICB7eyB2YWx1ZSB8IG51bWJlciA6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdCA6IGRlc2NyaXB0b3IubG9jYWxlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uRGlzcGxheVR5cGVDdXJyZW5jeVwiPlxuICAgICAgICB7eyB2YWx1ZSB8IGN1cnJlbmN5IDogY3VycmVuY3kgOiBkZXNjcmlwdG9yLmN1cnJlbmN5RGlzcGxheSA6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdCA6IGRlc2NyaXB0b3IubG9jYWxlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uRGlzcGxheVR5cGVEYXRlXCI+XG4gICAgICAgIHt7IHZhbHVlIHwgZGF0ZSA6IGRlc2NyaXB0b3IuZGlzcGxheUZvcm1hdCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbkRpc3BsYXlUeXBlQm9vbGVhblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGVzY3JpcHRvci5ib29sZWFuQXNJY29uOyBlbHNlIGJvb2xlYW5UZXh0XCI+XG4gICAgICAgICAgICA8aSBbY2xhc3NdPVwidmFsdWUgfCBib29sZWFuIDogZGVzY3JpcHRvci5ib29sZWFuWWVzIDogZGVzY3JpcHRvci5ib29sZWFuTm8gOiB0cnVlXCI+PC9pPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNib29sZWFuVGV4dD5cbiAgICAgICAgICAgIHt7IHZhbHVlIHwgYm9vbGVhbiA6IGRlc2NyaXB0b3IuYm9vbGVhblllcyA6IGRlc2NyaXB0b3IuYm9vbGVhbk5vIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uRGlzcGxheVR5cGVFbnVtXCI+XG4gICAgICAgIHt7IHZhbHVlIHwgZW51bSA6IGRlc2NyaXB0b3IuZW51bVR5cGUgOiBkZXNjcmlwdG9yLmVudW1UaXRsZVBhdGggOiBkZXNjcmlwdG9yLmVudW1OYW1lQXNWYWx1ZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbkRpc3BsYXlUeXBlQ29tcG9uZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFttbmdDb21wb25lbnRdPVwiZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnRUeXBlIVwiXG4gICAgICAgICAgICBbaW5wdXRzXT1cIntcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yXG4gICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgY2xhc3M9XCJoZWxwLWJ1dHRvbnNcIiAqbmdJZj1cImRlc2NyaXB0b3IuaGFzQ29weVRvQ2xpcGJvYXJkXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1jb3B5XCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLWluZm8gcC1idXR0b24tc21cIiAoY2xpY2spPVwiY29weVRvQ2xpcGJvYXJkKCRldmVudClcIj48L2J1dHRvbj5cbjwvZGl2PlxuIl19
|