@mediusinc/mng-commons-layout 5.3.0-rc.0 → 5.3.0-rc.2
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/esm2022/index.mjs +4 -2
- package/esm2022/lib/components/footer.component.mjs +5 -3
- package/esm2022/lib/components/main-layout.component.mjs +11 -12
- package/esm2022/lib/components/menu-item.component.mjs +13 -13
- package/esm2022/lib/components/menu.component.mjs +4 -4
- package/esm2022/lib/components/pages/error/error.page.component.mjs +20 -0
- package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +20 -0
- package/esm2022/lib/components/settings.component.mjs +46 -8
- package/esm2022/lib/components/sidebar.component.mjs +11 -12
- package/esm2022/lib/components/topbar-user.component.mjs +11 -5
- package/esm2022/lib/components/topbar.component.mjs +4 -4
- package/esm2022/lib/helpers/menu-items.mjs +2 -2
- package/esm2022/lib/provide.mjs +3 -1
- package/esm2022/lib/services/layout-feature-config.token.mjs +1 -1
- package/esm2022/lib/services/layout.service.mjs +166 -0
- package/esm2022/lib/services/menu.service.mjs +2 -2
- package/fesm2022/mediusinc-mng-commons-layout.mjs +284 -143
- package/fesm2022/mediusinc-mng-commons-layout.mjs.map +1 -1
- package/index.d.ts +3 -1
- package/lib/components/footer.component.d.ts +2 -0
- package/lib/components/main-layout.component.d.ts +2 -4
- package/lib/components/menu-item.component.d.ts +1 -1
- package/lib/components/menu.component.d.ts +1 -1
- package/lib/components/pages/error/error.page.component.d.ts +7 -0
- package/lib/components/pages/not-found/not-found.page.component.d.ts +7 -0
- package/lib/components/settings.component.d.ts +11 -3
- package/lib/components/sidebar.component.d.ts +2 -4
- package/lib/components/topbar-user.component.d.ts +2 -0
- package/lib/components/topbar.component.d.ts +2 -2
- package/lib/services/layout-feature-config.token.d.ts +72 -0
- package/lib/services/layout.service.d.ts +46 -0
- package/package.json +2 -2
- package/scss/theme/theme-base/_components.scss +2 -2
- package/scss/theme/theme-base/mng/_mng_theme_datatable.scss +4 -0
- package/scss/theme/theme-base/mng/_mng_theme_input.scss +5 -0
- package/scss/theme/theme-base/mng/_mng_theme_styles.scss +1 -0
- package/scss/theme/theme-base/mng/_mng_theme_tableview.scss +4 -0
- package/scss/theme/theme-base/mng/_mng_theme_tag.scss +11 -0
- package/version-info.json +5 -5
- package/esm2022/lib/services/main-layout.component.service.mjs +0 -91
- package/lib/services/main-layout.component.service.d.ts +0 -26
package/esm2022/index.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// components
|
|
2
|
+
export * from './lib/components/pages/error/error.page.component';
|
|
3
|
+
export * from './lib/components/pages/not-found/not-found.page.component';
|
|
2
4
|
export * from './lib/components/footer.component';
|
|
3
5
|
export * from './lib/components/breadcrumb.component';
|
|
4
6
|
export * from './lib/components/main-layout.component';
|
|
@@ -16,9 +18,9 @@ export * from './lib/models/layout-state.model';
|
|
|
16
18
|
export * from './lib/models/menu.model';
|
|
17
19
|
// services
|
|
18
20
|
export * from './lib/services/layout-feature-config.token';
|
|
19
|
-
export * from './lib/services/
|
|
21
|
+
export * from './lib/services/layout.service';
|
|
20
22
|
export * from './lib/services/menu.service';
|
|
21
23
|
export * from './lib/services/version.service';
|
|
22
24
|
// provide
|
|
23
25
|
export * from './lib/provide';
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYTtBQUNiLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELFVBQVU7QUFDVixjQUFjLDZCQUE2QixDQUFDO0FBRTVDLFNBQVM7QUFDVCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMseUJBQXlCLENBQUM7QUFFeEMsV0FBVztBQUNYLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsVUFBVTtBQUNWLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYWdlcy9lcnJvci9lcnJvci5wYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3BhZ2VzL25vdC1mb3VuZC9ub3QtZm91bmQucGFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tYWluLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZXR0aW5ncy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zaWRlYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RvcGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b3BiYXItdXNlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy92ZXJzaW9uLmNvbXBvbmVudCc7XG5cbi8vIGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlbHBlcnMvcm91dGUtYnVpbGRlcic7XG5cbi8vIG1vZGVsc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xheW91dC1zdGF0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbWVudS5tb2RlbCc7XG5cbi8vIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbWVudS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3ZlcnNpb24uc2VydmljZSc7XG5cbi8vIHByb3ZpZGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb3ZpZGUnO1xuIl19
|
|
@@ -3,21 +3,23 @@ import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/cor
|
|
|
3
3
|
import { TranslateModule } from '@ngx-translate/core';
|
|
4
4
|
import { CommonsService, ComponentDirective } from '@mediusinc/mng-commons/core';
|
|
5
5
|
import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '../services/layout-feature-config.token';
|
|
6
|
+
import { LayoutService } from '../services/layout.service';
|
|
6
7
|
import { VersionComponent } from './version.component';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@ngx-translate/core";
|
|
9
10
|
export class FooterComponent {
|
|
10
11
|
constructor() {
|
|
11
12
|
this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
|
|
13
|
+
this.layout = inject(LayoutService);
|
|
12
14
|
this.commons = inject(CommonsService);
|
|
13
15
|
this.currentYear = signal(new Date().getFullYear());
|
|
14
16
|
this.versionComponent = signal(this.config?.components?.version === false ? undefined : this.config?.components?.version ?? VersionComponent);
|
|
15
17
|
}
|
|
16
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: FooterComponent, isStandalone: true, selector: "mng-footer", ngImport: i0, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: FooterComponent, isStandalone: true, selector: "mng-footer", ngImport: i0, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"layout.appLogo()\" alt=\"atlantis-layout\" />\n <span class=\"app-name\">{{ commons.appName() | translate }}</span>\n </div>\n <div class=\"flex flex-column\">\n <div>\n <span class=\"copyright\">© {{ commons.appOwner() | translate }} - {{ currentYear() }}</span>\n </div>\n @if (versionComponent()) {\n <div class=\"version\" [mngComponent]=\"versionComponent()\" [inputs]=\"{version: commons.appVersion()}\" [attachToHost]=\"true\"></div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
20
|
}
|
|
19
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: FooterComponent, decorators: [{
|
|
20
22
|
type: Component,
|
|
21
|
-
args: [{ standalone: true, selector: 'mng-footer', imports: [TranslateModule, NgOptimizedImage, VersionComponent, ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"
|
|
23
|
+
args: [{ standalone: true, selector: 'mng-footer', imports: [TranslateModule, NgOptimizedImage, VersionComponent, ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"layout.appLogo()\" alt=\"atlantis-layout\" />\n <span class=\"app-name\">{{ commons.appName() | translate }}</span>\n </div>\n <div class=\"flex flex-column\">\n <div>\n <span class=\"copyright\">© {{ commons.appOwner() | translate }} - {{ currentYear() }}</span>\n </div>\n @if (versionComponent()) {\n <div class=\"version\" [mngComponent]=\"versionComponent()\" [inputs]=\"{version: commons.appVersion()}\" [attachToHost]=\"true\"></div>\n }\n </div>\n</div>\n" }]
|
|
22
24
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7OztBQVNyRCxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQVFZLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM1RCxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hDLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFakMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLHFCQUFnQixHQUFHLE1BQU0sQ0FBd0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLElBQUksZ0JBQWdCLENBQUMsQ0FBQztLQUMxSzs4R0FQWSxlQUFlO2tHQUFmLGVBQWUsc0VDbEI1Qiwwb0JBY0EsMkNEQ2MsZUFBZSw0RkFBc0Msa0JBQWtCOzsyRkFHeEUsZUFBZTtrQkFQM0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sWUFBWSxXQUViLENBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLG1CQUNqRSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ09wdGltaXplZEltYWdlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBUeXBlLCBpbmplY3QsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtDb21tb25zU2VydmljZSwgQ29tcG9uZW50RGlyZWN0aXZlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lUfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4nO1xuaW1wb3J0IHtMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge1ZlcnNpb25Db21wb25lbnR9IGZyb20gJy4vdmVyc2lvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLWZvb3RlcicsXG4gICAgdGVtcGxhdGVVcmw6ICdmb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2UsIFZlcnNpb25Db21wb25lbnQsIENvbXBvbmVudERpcmVjdGl2ZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGxheW91dCA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcbiAgICBwdWJsaWMgY29tbW9ucyA9IGluamVjdChDb21tb25zU2VydmljZSk7XG5cbiAgICBwdWJsaWMgY3VycmVudFllYXIgPSBzaWduYWwobmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKTtcbiAgICBwdWJsaWMgdmVyc2lvbkNvbXBvbmVudCA9IHNpZ25hbDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy52ZXJzaW9uID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy52ZXJzaW9uID8/IFZlcnNpb25Db21wb25lbnQpO1xufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1mb290ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLWxvZ28tY29udGFpbmVyXCI+XG4gICAgICAgIDxpbWcgaWQ9XCJmb290ZXItbG9nb1wiIFtzcmNdPVwibGF5b3V0LmFwcExvZ28oKVwiIGFsdD1cImF0bGFudGlzLWxheW91dFwiIC8+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLW5hbWVcIj57eyBjb21tb25zLmFwcE5hbWUoKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb3B5cmlnaHRcIj4mIzE2OTsge3sgY29tbW9ucy5hcHBPd25lcigpIHwgdHJhbnNsYXRlIH19IC0ge3sgY3VycmVudFllYXIoKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAodmVyc2lvbkNvbXBvbmVudCgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVyc2lvblwiIFttbmdDb21wb25lbnRdPVwidmVyc2lvbkNvbXBvbmVudCgpXCIgW2lucHV0c109XCJ7dmVyc2lvbjogY29tbW9ucy5hcHBWZXJzaW9uKCl9XCIgW2F0dGFjaFRvSG9zdF09XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AsyncPipe, NgClass, NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Renderer2,
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Renderer2, inject, signal, viewChild } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
|
-
import {
|
|
5
|
+
import { ComponentDirective, NotificationWrapperComponent } from '@mediusinc/mng-commons/core';
|
|
6
6
|
import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '../services/layout-feature-config.token';
|
|
7
|
-
import {
|
|
7
|
+
import { LayoutService } from '../services/layout.service';
|
|
8
8
|
import { MenuService } from '../services/menu.service';
|
|
9
9
|
import { BreadcrumbComponent } from './breadcrumb.component';
|
|
10
10
|
import { FooterComponent } from './footer.component';
|
|
@@ -13,19 +13,18 @@ import * as i0 from "@angular/core";
|
|
|
13
13
|
import * as i1 from "@angular/router";
|
|
14
14
|
export class MainLayoutComponent {
|
|
15
15
|
constructor() {
|
|
16
|
-
|
|
16
|
+
// private readonly commonsService = inject(CommonsService);
|
|
17
17
|
this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
|
|
18
|
-
this.
|
|
18
|
+
this.layout = inject(LayoutService);
|
|
19
19
|
this.menuService = inject(MenuService);
|
|
20
20
|
this.renderer = inject(Renderer2);
|
|
21
21
|
this.appTopbar = viewChild('topbarCmp');
|
|
22
|
-
this.colorScheme = computed(() => this.commonsService.colorScheme() ?? 'light');
|
|
23
22
|
this.ripple = signal(this.config?.ripple ?? true);
|
|
24
23
|
this.topbarComponent = signal(this.config?.components?.topbar === false ? undefined : this.config?.components?.topbar ?? TopbarComponent);
|
|
25
24
|
this.breadcrumbsComponent = signal(this.config?.components?.breadcrumb === false ? undefined : this.config?.components?.breadcrumb ?? BreadcrumbComponent);
|
|
26
25
|
this.footerComponent = signal(this.config?.components?.footer === false ? undefined : this.config?.components?.footer ?? FooterComponent);
|
|
27
26
|
this.useNotificationWrapper = signal(!this.config?.disableNotificationWrapper);
|
|
28
|
-
this.
|
|
27
|
+
this.layout.overlayOpen$.pipe(takeUntilDestroyed()).subscribe(() => {
|
|
29
28
|
if (!this.menuOutsideClickListener) {
|
|
30
29
|
this.menuOutsideClickListener = this.renderer.listen('document', 'click', event => {
|
|
31
30
|
const isOutsideClicked = !(this.appTopbar()?.nativeElement.isSameNode(event.target) || this.appTopbar()?.nativeElement.contains(event.target));
|
|
@@ -34,7 +33,7 @@ export class MainLayoutComponent {
|
|
|
34
33
|
}
|
|
35
34
|
});
|
|
36
35
|
}
|
|
37
|
-
if (this.
|
|
36
|
+
if (this.layout.state().staticMenuMobileActive) {
|
|
38
37
|
this.blockBodyScroll();
|
|
39
38
|
}
|
|
40
39
|
});
|
|
@@ -56,7 +55,7 @@ export class MainLayoutComponent {
|
|
|
56
55
|
}
|
|
57
56
|
}
|
|
58
57
|
hideMenu() {
|
|
59
|
-
this.
|
|
58
|
+
this.layout.state.update(state => ({
|
|
60
59
|
...state,
|
|
61
60
|
overlayMenuActive: false,
|
|
62
61
|
staticMenuMobileActive: false,
|
|
@@ -75,10 +74,10 @@ export class MainLayoutComponent {
|
|
|
75
74
|
}
|
|
76
75
|
}
|
|
77
76
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: MainLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: MainLayoutComponent, isStandalone: true, selector: "mng-main-layout",
|
|
77
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: MainLayoutComponent, isStandalone: true, selector: "mng-main-layout", viewQueries: [{ propertyName: "appTopbar", first: true, predicate: ["topbarCmp"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (useNotificationWrapper()) {\n <mng-notification-wrapper>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </mng-notification-wrapper>\n} @else {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n\n<ng-template #content>\n <div\n class=\"layout-container\"\n [ngClass]=\"{\n 'layout-light': layout.colorScheme() === 'light',\n 'layout-dark': layout.colorScheme() === 'dark',\n 'layout-overlay': layout.menuMode() === 'overlay',\n 'layout-static': layout.menuMode() === 'static',\n 'layout-reveal': layout.menuMode() === 'reveal',\n 'layout-drawer': layout.menuMode() === 'drawer',\n 'layout-slim': layout.menuMode() === 'slim',\n 'layout-slim-plus': layout.menuMode() === 'slim-plus',\n 'layout-static-inactive': layout.state().staticMenuDesktopInactive && layout.menuMode() === 'static',\n 'layout-overlay-active': layout.state().overlayMenuActive,\n 'layout-mobile-active': layout.state().staticMenuMobileActive,\n 'p-ripple-disabled': !ripple(),\n 'layout-sidebar-active': layout.state().sidebarActive,\n 'layout-sidebar-anchored': layout.state().anchored\n }\">\n <div class=\"layout-content-wrapper\">\n @if (topbarComponent()) {\n <div #topbarCmp class=\"layout-topbar-wrapper\" [mngComponent]=\"topbarComponent()\" [attachToHost]=\"true\"></div>\n }\n @if (breadcrumbsComponent()) {\n <div class=\"content-breadcrumb\">\n <div [mngComponent]=\"breadcrumbsComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n <div class=\"layout-mask\"></div>\n @if (footerComponent()) {\n <div [mngComponent]=\"footerComponent()\" [attachToHost]=\"true\"></div>\n }\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }, { kind: "component", type: NotificationWrapperComponent, selector: "mng-notification-wrapper" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
79
78
|
}
|
|
80
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: MainLayoutComponent, decorators: [{
|
|
81
80
|
type: Component,
|
|
82
|
-
args: [{ standalone: true, selector: 'mng-main-layout', imports: [NgClass, RouterModule, TopbarComponent, BreadcrumbComponent, ComponentDirective, AsyncPipe, NotificationWrapperComponent, NgTemplateOutlet],
|
|
81
|
+
args: [{ standalone: true, selector: 'mng-main-layout', imports: [NgClass, RouterModule, TopbarComponent, BreadcrumbComponent, ComponentDirective, AsyncPipe, NotificationWrapperComponent, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (useNotificationWrapper()) {\n <mng-notification-wrapper>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </mng-notification-wrapper>\n} @else {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n\n<ng-template #content>\n <div\n class=\"layout-container\"\n [ngClass]=\"{\n 'layout-light': layout.colorScheme() === 'light',\n 'layout-dark': layout.colorScheme() === 'dark',\n 'layout-overlay': layout.menuMode() === 'overlay',\n 'layout-static': layout.menuMode() === 'static',\n 'layout-reveal': layout.menuMode() === 'reveal',\n 'layout-drawer': layout.menuMode() === 'drawer',\n 'layout-slim': layout.menuMode() === 'slim',\n 'layout-slim-plus': layout.menuMode() === 'slim-plus',\n 'layout-static-inactive': layout.state().staticMenuDesktopInactive && layout.menuMode() === 'static',\n 'layout-overlay-active': layout.state().overlayMenuActive,\n 'layout-mobile-active': layout.state().staticMenuMobileActive,\n 'p-ripple-disabled': !ripple(),\n 'layout-sidebar-active': layout.state().sidebarActive,\n 'layout-sidebar-anchored': layout.state().anchored\n }\">\n <div class=\"layout-content-wrapper\">\n @if (topbarComponent()) {\n <div #topbarCmp class=\"layout-topbar-wrapper\" [mngComponent]=\"topbarComponent()\" [attachToHost]=\"true\"></div>\n }\n @if (breadcrumbsComponent()) {\n <div class=\"content-breadcrumb\">\n <div [mngComponent]=\"breadcrumbsComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n <div class=\"layout-mask\"></div>\n @if (footerComponent()) {\n <div [mngComponent]=\"footerComponent()\" [attachToHost]=\"true\"></div>\n }\n </div>\n </div>\n</ng-template>\n" }]
|
|
83
82
|
}], ctorParameters: () => [] });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21haW4tbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tYWluLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBUSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUksT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsNEJBQTRCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RyxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBVW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFxQjVCO1FBcEJpQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxXQUFNLEdBQUcsTUFBTSxD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bkIzQyx1b0VBOENBLDRDRDdCYyxPQUFPLG1GQUFFLFlBQVkseU1BQXdDLGtCQUFrQixpTEFBYSw0QkFBNEIscUVBQUUsZ0JBQWdCOzsyRkFLM0ksbUJBQW1CO2tCQVIvQixTQUFTO2lDQUNNLElBQUksWUFDTixpQkFBaUIsV0FDbEIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsZ0JBQWdCLENBQUMsYUFFMUksQ0FBQywwQkFBMEIsQ0FBQyxtQkFDdEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiwgVHlwZSwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsLCB2aWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlLCBDb21wb25lbnREaXJlY3RpdmUsIE5vdGlmaWNhdGlvbldyYXBwZXJDb21wb25lbnR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7Q09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVR9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC1mZWF0dXJlLWNvbmZpZy50b2tlbic7XG5pbXBvcnQge01haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9tYWluLWxheW91dC5jb21wb25lbnQuc2VydmljZSc7XG5pbXBvcnQge01lbnVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtCcmVhZGNydW1iQ29tcG9uZW50fSBmcm9tICcuL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7Rm9vdGVyQ29tcG9uZW50fSBmcm9tICcuL2Zvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHtUb3BiYXJDb21wb25lbnR9IGZyb20gJy4vdG9wYmFyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctbWFpbi1sYXlvdXQnLFxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBSb3V0ZXJNb2R1bGUsIFRvcGJhckNvbXBvbmVudCwgQnJlYWRjcnVtYkNvbXBvbmVudCwgQ29tcG9uZW50RGlyZWN0aXZlLCBBc3luY1BpcGUsIE5vdGlmaWNhdGlvbldyYXBwZXJDb21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYWluLWxheW91dC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1haW5MYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uc1NlcnZpY2UgPSBpbmplY3QoQ29tbW9uc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0U2VydmljZSA9IGluamVjdChNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtZW51U2VydmljZSA9IGluamVjdChNZW51U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgcHJpdmF0ZSBhcHBUb3BiYXIgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ3RvcGJhckNtcCcpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbG9yU2NoZW1lID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb21tb25zU2VydmljZS5jb2xvclNjaGVtZSgpID8/ICdsaWdodCcpO1xuICAgIHB1YmxpYyByZWFkb25seSByaXBwbGUgPSBzaWduYWwodGhpcy5jb25maWc/LnJpcHBsZSA/PyB0cnVlKTtcblxuICAgIHB1YmxpYyB0b3BiYXJDb21wb25lbnQgPSBzaWduYWw8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPih0aGlzLmNvbmZpZz8uY29tcG9uZW50cz8udG9wYmFyID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXIgPz8gVG9wYmFyQ29tcG9uZW50KTtcbiAgICBwdWJsaWMgYnJlYWRjcnVtYnNDb21wb25lbnQgPSBzaWduYWw8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPihcbiAgICAgICAgdGhpcy5jb25maWc/LmNvbXBvbmVudHM/LmJyZWFkY3J1bWIgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogdGhpcy5jb25maWc/LmNvbXBvbmVudHM/LmJyZWFkY3J1bWIgPz8gQnJlYWRjcnVtYkNvbXBvbmVudFxuICAgICk7XG4gICAgcHVibGljIGZvb3RlckNvbXBvbmVudCA9IHNpZ25hbDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5mb290ZXIgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogdGhpcy5jb25maWc/LmNvbXBvbmVudHM/LmZvb3RlciA/PyBGb290ZXJDb21wb25lbnQpO1xuXG4gICAgcHVibGljIHVzZU5vdGlmaWNhdGlvbldyYXBwZXIgPSBzaWduYWwoIXRoaXMuY29uZmlnPy5kaXNhYmxlTm90aWZpY2F0aW9uV3JhcHBlcik7XG4gICAgcHJpdmF0ZSBtZW51T3V0c2lkZUNsaWNrTGlzdGVuZXI6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub3ZlcmxheU9wZW4kLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzT3V0c2lkZUNsaWNrZWQgPSAhKHRoaXMuYXBwVG9wYmFyKCk/Lm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IHRoaXMuYXBwVG9wYmFyKCk/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc091dHNpZGVDbGlja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUoKS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYmxvY2tlZC1zY3JvbGwnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lICs9ICcgYmxvY2tlZC1zY3JvbGwnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5ibG9ja0JvZHlTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdibG9ja2VkLXNjcm9sbCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoJyhefFxcXFxiKScgKyAnYmxvY2tlZC1zY3JvbGwnLnNwbGl0KCcgJykuam9pbignfCcpICsgJyhcXFxcYnwkKScsICdnaScpLCAnICcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZU1lbnUoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS51cGRhdGUoc3RhdGUgPT4gKHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgb3ZlcmxheU1lbnVBY3RpdmU6IGZhbHNlLFxuICAgICAgICAgICAgc3RhdGljTWVudU1vYmlsZUFjdGl2ZTogZmFsc2UsXG4gICAgICAgICAgICBtZW51SG92ZXJBY3RpdmU6IGZhbHNlXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5tZW51U2VydmljZS5yZXNldCgpO1xuICAgICAgICBpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51bmJsb2NrQm9keVNjcm9sbCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKHVzZU5vdGlmaWNhdGlvbldyYXBwZXIoKSkge1xuICAgIDxtbmctbm90aWZpY2F0aW9uLXdyYXBwZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L21uZy1ub3RpZmljYXRpb24td3JhcHBlcj5cbn0gQGVsc2Uge1xuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbn1cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJsYXlvdXQtY29udGFpbmVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2xheW91dC1saWdodCc6IGNvbG9yU2NoZW1lKCkgPT09ICdsaWdodCcsXG4gICAgICAgICAgICAnbGF5b3V0LWRhcmsnOiBjb2xvclNjaGVtZSgpID09PSAnZGFyaycsXG4gICAgICAgICAgICAnbGF5b3V0LW92ZXJsYXknOiBsYXlvdXRTZXJ2aWNlLm1lbnVNb2RlKCkgPT09ICdvdmVybGF5JyxcbiAgICAgICAgICAgICdsYXlvdXQtc3RhdGljJzogbGF5b3V0U2VydmljZS5tZW51TW9kZSgpID09PSAnc3RhdGljJyxcbiAgICAgICAgICAgICdsYXlvdXQtcmV2ZWFsJzogbGF5b3V0U2VydmljZS5tZW51TW9kZSgpID09PSAncmV2ZWFsJyxcbiAgICAgICAgICAgICdsYXlvdXQtZHJhd2VyJzogbGF5b3V0U2VydmljZS5tZW51TW9kZSgpID09PSAnZHJhd2VyJyxcbiAgICAgICAgICAgICdsYXlvdXQtc2xpbSc6IGxheW91dFNlcnZpY2UubWVudU1vZGUoKSA9PT0gJ3NsaW0nLFxuICAgICAgICAgICAgJ2xheW91dC1zbGltLXBsdXMnOiBsYXlvdXRTZXJ2aWNlLm1lbnVNb2RlKCkgPT09ICdzbGltLXBsdXMnLFxuICAgICAgICAgICAgJ2xheW91dC1zdGF0aWMtaW5hY3RpdmUnOiBsYXlvdXRTZXJ2aWNlLnN0YXRlKCkuc3RhdGljTWVudURlc2t0b3BJbmFjdGl2ZSAmJiBsYXlvdXRTZXJ2aWNlLm1lbnVNb2RlKCkgPT09ICdzdGF0aWMnLFxuICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5LWFjdGl2ZSc6IGxheW91dFNlcnZpY2Uuc3RhdGUoKS5vdmVybGF5TWVudUFjdGl2ZSxcbiAgICAgICAgICAgICdsYXlvdXQtbW9iaWxlLWFjdGl2ZSc6IGxheW91dFNlcnZpY2Uuc3RhdGUoKS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlLFxuICAgICAgICAgICAgJ3AtcmlwcGxlLWRpc2FibGVkJzogIXJpcHBsZSgpLFxuICAgICAgICAgICAgJ2xheW91dC1zaWRlYmFyLWFjdGl2ZSc6IGxheW91dFNlcnZpY2Uuc3RhdGUoKS5zaWRlYmFyQWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1zaWRlYmFyLWFuY2hvcmVkJzogbGF5b3V0U2VydmljZS5zdGF0ZSgpLmFuY2hvcmVkXG4gICAgICAgIH1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgICAgIEBpZiAodG9wYmFyQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2ICN0b3BiYXJDbXAgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLXdyYXBwZXJcIiBbbW5nQ29tcG9uZW50XT1cInRvcGJhckNvbXBvbmVudCgpXCIgW2F0dGFjaFRvSG9zdF09XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGJyZWFkY3J1bWJzQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1icmVhZGNydW1iXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW21uZ0NvbXBvbmVudF09XCJicmVhZGNydW1ic0NvbXBvbmVudCgpXCIgW2F0dGFjaFRvSG9zdF09XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWFza1wiPjwvZGl2PlxuICAgICAgICAgICAgQGlmIChmb290ZXJDb21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxkaXYgW21uZ0NvbXBvbmVudF09XCJmb290ZXJDb21wb25lbnQoKVwiIFthdHRhY2hUb0hvc3RdPVwidHJ1ZVwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21haW4tbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tYWluLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBUSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFFLDRCQUE0QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFN0YsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7QUFTbkQsTUFBTSxPQUFPLG1CQUFtQjtJQW9CNUI7UUFuQkEsNERBQTREO1FBQzNDLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztR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bUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsZ0JBQWdCLENBQUMsbUJBRXBJLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFR5cGUsIGluamVjdCwgc2lnbmFsLCB2aWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0NvbXBvbmVudERpcmVjdGl2ZSwgTm90aWZpY2F0aW9uV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVH0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuJztcbmltcG9ydCB7TGF5b3V0U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtNZW51U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7QnJlYWRjcnVtYkNvbXBvbmVudH0gZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvb3RlckNvbXBvbmVudH0gZnJvbSAnLi9mb290ZXIuY29tcG9uZW50JztcbmltcG9ydCB7VG9wYmFyQ29tcG9uZW50fSBmcm9tICcuL3RvcGJhci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLW1haW4tbGF5b3V0JyxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgUm91dGVyTW9kdWxlLCBUb3BiYXJDb21wb25lbnQsIEJyZWFkY3J1bWJDb21wb25lbnQsIENvbXBvbmVudERpcmVjdGl2ZSwgQXN5bmNQaXBlLCBOb3RpZmljYXRpb25XcmFwcGVyQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1haW5MYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8vIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uc1NlcnZpY2UgPSBpbmplY3QoQ29tbW9uc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0ID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVudVNlcnZpY2UgPSBpbmplY3QoTWVudVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIHByaXZhdGUgYXBwVG9wYmFyID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCd0b3BiYXJDbXAnKTtcblxuICAgIHB1YmxpYyByZWFkb25seSByaXBwbGUgPSBzaWduYWwodGhpcy5jb25maWc/LnJpcHBsZSA/PyB0cnVlKTtcblxuICAgIHB1YmxpYyB0b3BiYXJDb21wb25lbnQgPSBzaWduYWw8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPih0aGlzLmNvbmZpZz8uY29tcG9uZW50cz8udG9wYmFyID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXIgPz8gVG9wYmFyQ29tcG9uZW50KTtcbiAgICBwdWJsaWMgYnJlYWRjcnVtYnNDb21wb25lbnQgPSBzaWduYWw8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPihcbiAgICAgICAgdGhpcy5jb25maWc/LmNvbXBvbmVudHM/LmJyZWFkY3J1bWIgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogdGhpcy5jb25maWc/LmNvbXBvbmVudHM/LmJyZWFkY3J1bWIgPz8gQnJlYWRjcnVtYkNvbXBvbmVudFxuICAgICk7XG4gICAgcHVibGljIGZvb3RlckNvbXBvbmVudCA9IHNpZ25hbDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5mb290ZXIgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogdGhpcy5jb25maWc/LmNvbXBvbmVudHM/LmZvb3RlciA/PyBGb290ZXJDb21wb25lbnQpO1xuXG4gICAgcHVibGljIHVzZU5vdGlmaWNhdGlvbldyYXBwZXIgPSBzaWduYWwoIXRoaXMuY29uZmlnPy5kaXNhYmxlTm90aWZpY2F0aW9uV3JhcHBlcik7XG4gICAgcHJpdmF0ZSBtZW51T3V0c2lkZUNsaWNrTGlzdGVuZXI6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmxheW91dC5vdmVybGF5T3BlbiQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEodGhpcy5hcHBUb3BiYXIoKT8ubmF0aXZlRWxlbWVudC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHwgdGhpcy5hcHBUb3BiYXIoKT8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3V0c2lkZUNsaWNrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0LnN0YXRlKCkuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2Jsb2NrZWQtc2Nyb2xsJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSArPSAnIGJsb2NrZWQtc2Nyb2xsJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYmxvY2tlZC1zY3JvbGwnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCcoXnxcXFxcYiknICsgJ2Jsb2NrZWQtc2Nyb2xsJy5zcGxpdCgnICcpLmpvaW4oJ3wnKSArICcoXFxcXGJ8JCknLCAnZ2knKSwgJyAnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGVNZW51KCkge1xuICAgICAgICB0aGlzLmxheW91dC5zdGF0ZS51cGRhdGUoc3RhdGUgPT4gKHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgb3ZlcmxheU1lbnVBY3RpdmU6IGZhbHNlLFxuICAgICAgICAgICAgc3RhdGljTWVudU1vYmlsZUFjdGl2ZTogZmFsc2UsXG4gICAgICAgICAgICBtZW51SG92ZXJBY3RpdmU6IGZhbHNlXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5tZW51U2VydmljZS5yZXNldCgpO1xuICAgICAgICBpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51bmJsb2NrQm9keVNjcm9sbCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKHVzZU5vdGlmaWNhdGlvbldyYXBwZXIoKSkge1xuICAgIDxtbmctbm90aWZpY2F0aW9uLXdyYXBwZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L21uZy1ub3RpZmljYXRpb24td3JhcHBlcj5cbn0gQGVsc2Uge1xuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbn1cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJsYXlvdXQtY29udGFpbmVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2xheW91dC1saWdodCc6IGxheW91dC5jb2xvclNjaGVtZSgpID09PSAnbGlnaHQnLFxuICAgICAgICAgICAgJ2xheW91dC1kYXJrJzogbGF5b3V0LmNvbG9yU2NoZW1lKCkgPT09ICdkYXJrJyxcbiAgICAgICAgICAgICdsYXlvdXQtb3ZlcmxheSc6IGxheW91dC5tZW51TW9kZSgpID09PSAnb3ZlcmxheScsXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYyc6IGxheW91dC5tZW51TW9kZSgpID09PSAnc3RhdGljJyxcbiAgICAgICAgICAgICdsYXlvdXQtcmV2ZWFsJzogbGF5b3V0Lm1lbnVNb2RlKCkgPT09ICdyZXZlYWwnLFxuICAgICAgICAgICAgJ2xheW91dC1kcmF3ZXInOiBsYXlvdXQubWVudU1vZGUoKSA9PT0gJ2RyYXdlcicsXG4gICAgICAgICAgICAnbGF5b3V0LXNsaW0nOiBsYXlvdXQubWVudU1vZGUoKSA9PT0gJ3NsaW0nLFxuICAgICAgICAgICAgJ2xheW91dC1zbGltLXBsdXMnOiBsYXlvdXQubWVudU1vZGUoKSA9PT0gJ3NsaW0tcGx1cycsXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYy1pbmFjdGl2ZSc6IGxheW91dC5zdGF0ZSgpLnN0YXRpY01lbnVEZXNrdG9wSW5hY3RpdmUgJiYgbGF5b3V0Lm1lbnVNb2RlKCkgPT09ICdzdGF0aWMnLFxuICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5LWFjdGl2ZSc6IGxheW91dC5zdGF0ZSgpLm92ZXJsYXlNZW51QWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1tb2JpbGUtYWN0aXZlJzogbGF5b3V0LnN0YXRlKCkuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSxcbiAgICAgICAgICAgICdwLXJpcHBsZS1kaXNhYmxlZCc6ICFyaXBwbGUoKSxcbiAgICAgICAgICAgICdsYXlvdXQtc2lkZWJhci1hY3RpdmUnOiBsYXlvdXQuc3RhdGUoKS5zaWRlYmFyQWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1zaWRlYmFyLWFuY2hvcmVkJzogbGF5b3V0LnN0YXRlKCkuYW5jaG9yZWRcbiAgICAgICAgfVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgICAgICAgQGlmICh0b3BiYXJDb21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxkaXYgI3RvcGJhckNtcCBjbGFzcz1cImxheW91dC10b3BiYXItd3JhcHBlclwiIFttbmdDb21wb25lbnRdPVwidG9wYmFyQ29tcG9uZW50KClcIiBbYXR0YWNoVG9Ib3N0XT1cInRydWVcIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoYnJlYWRjcnVtYnNDb21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJyZWFkY3J1bWJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbbW5nQ29tcG9uZW50XT1cImJyZWFkY3J1bWJzQ29tcG9uZW50KClcIiBbYXR0YWNoVG9Ib3N0XT1cInRydWVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1tYXNrXCI+PC9kaXY+XG4gICAgICAgICAgICBAaWYgKGZvb3RlckNvbXBvbmVudCgpKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBbbW5nQ29tcG9uZW50XT1cImZvb3RlckNvbXBvbmVudCgpXCIgW2F0dGFjaFRvSG9zdF09XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -8,7 +8,7 @@ import { RippleModule } from 'primeng/ripple';
|
|
|
8
8
|
import { TooltipModule } from 'primeng/tooltip';
|
|
9
9
|
import { distinctUntilChanged, of, switchMap } from 'rxjs';
|
|
10
10
|
import { PermissionService, toObservable } from '@mediusinc/mng-commons/core';
|
|
11
|
-
import {
|
|
11
|
+
import { LayoutService } from '../services/layout.service';
|
|
12
12
|
import { MenuService } from '../services/menu.service';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "primeng/ripple";
|
|
@@ -18,7 +18,7 @@ export class MenuItemComponent {
|
|
|
18
18
|
constructor() {
|
|
19
19
|
this.menuService = inject(MenuService);
|
|
20
20
|
this.permissionService = inject(PermissionService);
|
|
21
|
-
this.
|
|
21
|
+
this.layout = inject(LayoutService);
|
|
22
22
|
this.item = input.required();
|
|
23
23
|
this.root = input(false);
|
|
24
24
|
this.visibleChange = output();
|
|
@@ -57,13 +57,13 @@ export class MenuItemComponent {
|
|
|
57
57
|
return true;
|
|
58
58
|
});
|
|
59
59
|
effect(() => {
|
|
60
|
-
if (this.root() && this.active() && this.
|
|
60
|
+
if (this.root() && this.active() && this.layout.isDesktop() && (this.layout.isSlim() || this.layout.isSlimPlus())) {
|
|
61
61
|
this.calculatePosition(this.submenuElRef()?.nativeElement, this.submenuElRef()?.nativeElement.parentElement);
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
get submenuAnimation() {
|
|
66
|
-
if (this.
|
|
66
|
+
if (this.layout.isDesktop() && (this.layout.isSlim() || this.layout.isSlimPlus())) {
|
|
67
67
|
return this.active() ? 'visible' : 'hidden';
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
@@ -79,20 +79,20 @@ export class MenuItemComponent {
|
|
|
79
79
|
}
|
|
80
80
|
// toggle active state
|
|
81
81
|
if (item.hasItemsOrLazyChildren()) {
|
|
82
|
-
if ((this.root() || this.active()) && (this.
|
|
83
|
-
this.
|
|
82
|
+
if ((this.root() || this.active()) && (this.layout.isSlim() || this.layout.isSlimPlus())) {
|
|
83
|
+
this.layout.onOverlaySubmenuOpen();
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
|
-
if (this.
|
|
88
|
-
this.
|
|
87
|
+
if (this.layout.isMobile()) {
|
|
88
|
+
this.layout.state.update(state => ({
|
|
89
89
|
...state,
|
|
90
90
|
staticMenuMobileActive: false
|
|
91
91
|
}));
|
|
92
92
|
}
|
|
93
|
-
if (this.
|
|
93
|
+
if (this.layout.isSlim() || this.layout.isSlimPlus()) {
|
|
94
94
|
this.menuService.reset();
|
|
95
|
-
this.
|
|
95
|
+
this.layout.state.update(state => ({
|
|
96
96
|
...state,
|
|
97
97
|
menuHoverActive: false
|
|
98
98
|
}));
|
|
@@ -100,7 +100,7 @@ export class MenuItemComponent {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
onSubmenuAnimated(event) {
|
|
103
|
-
if (event.toState === 'visible' && this.
|
|
103
|
+
if (event.toState === 'visible' && this.layout.isDesktop() && (this.layout.isSlim() || this.layout.isSlimPlus())) {
|
|
104
104
|
const el = event.element;
|
|
105
105
|
const elParent = el.parentElement;
|
|
106
106
|
this.calculatePosition(el, elParent);
|
|
@@ -117,7 +117,7 @@ export class MenuItemComponent {
|
|
|
117
117
|
// reset
|
|
118
118
|
overlay.style.top = '';
|
|
119
119
|
overlay.style.left = '';
|
|
120
|
-
if (this.
|
|
120
|
+
if (this.layout.isSlim() || this.layout.isSlimPlus()) {
|
|
121
121
|
const height = top + oHeight;
|
|
122
122
|
overlay.style.top = vHeight < height ? `${top - (height - vHeight)}px` : `${top}px`;
|
|
123
123
|
}
|
|
@@ -165,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
|
|
|
165
165
|
'[class.layout-root-menuitem]': 'root()'
|
|
166
166
|
}, providers: [PermissionService], template: "@if (visible()) {\n @if (root()) {\n <div class=\"layout-menuitem-root-text\">\n {{ item().label! | translate }}\n </div>\n }\n @if (!item().href) {\n @if (!item().routerLink || item().hasItems()) {\n <a\n [attr.href]=\"item().href\"\n (click)=\"itemClick($event)\"\n (keydown.enter)=\"itemClick($event)\"\n [routerLink]=\"item().routerLink\"\n [attr.target]=\"item().target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item().className ?? ''\"\n pRipple>\n <i [ngClass]=\"item().icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item().label! | translate }}</span>\n @if (item().hasItemsOrLazyChildren()) {\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\n }\n @if (item().badge) {\n <span class=\"menuitem-badge\">{{ item().badge }}</span>\n }\n </a>\n } @else if (item().routerLink && !item().hasItems()) {\n <a\n (click)=\"itemClick($event)\"\n [routerLink]=\"item().routerLink\"\n [attr.target]=\"item().target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item().className ?? '' + (this.active() ? ' active-route' : '')\"\n [preserveFragment]=\"item().preserveFragment\"\n [skipLocationChange]=\"item().skipLocationChange\"\n [replaceUrl]=\"item().replaceUrl\"\n [queryParams]=\"item().queryParams\"\n pRipple>\n <i [ngClass]=\"item().icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item().label! | translate }}</span>\n @if (item().hasItemsOrLazyChildren()) {\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\n }\n @if (item().badge) {\n <span class=\"menuitem-badge\">{{ item().badge }}</span>\n }\n </a>\n }\n } @else {\n @if (!item().hasItems()) {\n <a (click)=\"itemClick($event)\" [attr.href]=\"item().href\" [attr.target]=\"item().target\" [attr.tabindex]=\"0\" [ngClass]=\"item().className ?? ''\" pRipple>\n <i [ngClass]=\"item().icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item().label! | translate }}</span>\n @if (item().hasItemsOrLazyChildren()) {\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\n }\n @if (item().badge) {\n <span class=\"menuitem-badge\">{{ item().badge }}</span>\n }\n </a>\n }\n }\n @if (item().hasItems()) {\n <ul #submenu [@children]=\"submenuAnimation\" (@children.done)=\"onSubmenuAnimated($event)\">\n @for (child of item().items(); track child; let i = $index) {\n <li mng-menuitem [item]=\"child\" [class]=\"child.badgeClassName\" (visibleChange)=\"onChildVisibleChange($event, child, i)\"></li>\n }\n </ul>\n }\n}\n" }]
|
|
167
167
|
}], ctorParameters: () => [] });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRixPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFDLFlBQVksSUFBSSxjQUFjLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpELE9BQU8sRUFBMEIsaUJBQWlCLEVBQUUsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFckcsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFD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QUM7U0FDTDs7MkZBT1EsaUJBQWlCO2tCQTFDN0IsU0FBUztpQ0FDTSxJQUFJLFlBRU4sZ0JBQWdCLFdBRWpCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsbUJBQ3hFLHVCQUF1QixDQUFDLE1BQU0sY0FDbkM7d0JBQ1IsT0FBTyxDQUFDLFVBQVUsRUFBRTs0QkFDaEIsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7Z0NBQ0YsTUFBTSxFQUFFLEdBQUc7NkJBQ2QsQ0FBQyxDQUNMOzRCQUNELEtBQUssQ0FDRCxVQUFVLEVBQ1YsS0FBSyxDQUFDO2dDQUNGLE1BQU0sRUFBRSxHQUFHOzZCQUNkLENBQUMsQ0FDTDs0QkFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSLEtBQUssQ0FBQztnQ0FDRixPQUFPLEVBQUUsTUFBTTs2QkFDbEIsQ0FBQyxDQUNMOzRCQUNELEtBQUssQ0FDRCxTQUFTLEVBQ1QsS0FBSyxDQUFDO2dDQUNGLE9BQU8sRUFBRSxPQUFPOzZCQUNuQixDQUFDLENBQ0w7NEJBQ0QsVUFBVSxDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO3lCQUN4RixDQUFDO3FCQUNMLFFBQ0s7d0JBQ0YseUJBQXlCLEVBQUUscUJBQXFCO3dCQUNoRCw4QkFBOEIsRUFBRSxRQUFRO3FCQUMzQyxhQUNVLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbkV2ZW50LCBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtBc3luY1BpcGUsIE5nQ2xhc3N9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgdmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9PYnNlcnZhYmxlIGFzIG5nVG9PYnNlcnZhYmxlLCB0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7UmlwcGxlTW9kdWxlfSBmcm9tICdwcmltZW5nL3JpcHBsZSc7XG5pbXBvcnQge1Rvb2x0aXBNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBvZiwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtJbnRlcm5hbENvbW1vbnNNZW51SXRlbSwgUGVybWlzc2lvblNlcnZpY2UsIHRvT2JzZXJ2YWJsZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbWFpbi1sYXlvdXQuY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtNZW51U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbWVudS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW21uZy1tZW51aXRlbV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgUmlwcGxlTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQXN5bmNQaXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2NoaWxkcmVuJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2NvbGxhcHNlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcwJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJyonXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkIDw9PiBleHBhbmRlZCcsIGFuaW1hdGUoJzQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKScpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmFjdGl2ZS1tZW51aXRlbV0nOiAnIXJvb3QoKSAmJiBhY3RpdmUoKScsXG4gICAgICAgICdbY2xhc3MubGF5b3V0LXJvb3QtbWVudWl0ZW1dJzogJ3Jvb3QoKSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1Blcm1pc3Npb25TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBNZW51SXRlbUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtZW51U2VydmljZSA9IGluamVjdChNZW51U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uU2VydmljZSA9IGluamVjdChQZXJtaXNzaW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KE1haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBpdGVtID0gaW5wdXQucmVxdWlyZWQ8SW50ZXJuYWxDb21tb25zTWVudUl0ZW0+KCk7XG4gICAgcHVibGljIHJvb3QgPSBpbnB1dChmYWxzZSk7XG4gICAgcHVibGljIHZpc2libGVDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgc3VibWVudUVsUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCdzdWJtZW51Jyk7XG5cbiAgICBwdWJsaWMgaXNQZXJtaXR0ZWQgPSB0b1NpZ25hbChuZ1RvT2JzZXJ2YWJsZSh0aGlzLml0ZW0pLnBpcGUoc3dpdGNoTWFwKGkgPT4gKGkucGVybWlzc2lvbnMgPyB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmlzTWVudUl0ZW1WaXNpYmxlKGkucGVybWlzc2lvbnMsIGkuY29uZmlnKSA6IG9mKHRydWUpKSkpKTtcbiAgICBwdWJsaWMgaXNWaXNpYmxlRnJvbUl0ZW1TZXR0aW5ncyA9IHRvU2lnbmFsKFxuICAgICAgICBuZ1RvT2JzZXJ2YWJsZSh0aGlzLml0ZW0pLnBpcGUoc3dpdGNoTWFwKGkgPT4gKHR5cGVvZiBpLmlzVmlzaWJsZSA9PT0gJ2Z1bmN0aW9uJyA/IHRvT2JzZXJ2YWJsZShpLmlzVmlzaWJsZShpLmNvbmZpZykpIDogb2YoaS5pc1Zpc2libGUgPz8gdHJ1ZSkpKSlcbiAgICApO1xuICAgIHByaXZhdGUgbWVudUNoYW5nZUV2ZW50cyA9IHRvU2lnbmFsKHRoaXMubWVudVNlcnZpY2UubWVudUNoYW5nZSQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgodjEsIHYyKSA9PiB2MS5rZXkgPT09IHYyLmtleSkpKTtcbiAgICBwdWJsaWMgYWN0aXZlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNQZXJtaXR0ZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1lbnVDaGFuZ2VFdmVudCA9IHRoaXMubWVudUNoYW5nZUV2ZW50cygpO1xuICAgICAgICBpZiAobWVudUNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbWVudUNoYW5nZUV2ZW50LmV2ZW50VHlwZSA9PT0gJ3Jlc2V0JyB8fCAhbWVudUNoYW5nZUV2ZW50LmtleVxuICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICA6IHRoaXMuaXRlbSgpLmtleSA9PT0gbWVudUNoYW5nZUV2ZW50LmtleSB8fCBtZW51Q2hhbmdlRXZlbnQua2V5LnN0YXJ0c1dpdGgoKHRoaXMuaXRlbSgpLmtleSA/PyAnJykgKyAnLScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBwdWJsaWMgdmlzaWJsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaXNQZXJtaXR0ZWQgPSB0aGlzLmlzUGVybWl0dGVkKCk7XG4gICAgICAgIGlmICghaXNQZXJtaXR0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaXNWaXNpYmxlRnJvbUl0ZW1TZXR0aW5ncygpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW0oKS5pdGVtcygpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGl0ZW1zKSAmJlxuICAgICAgICAgICAgaXRlbXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgdGhpcy5pdGVtKClcbiAgICAgICAgICAgICAgICAuaXRlbXNWaXNpYmlsaXR5KClcbiAgICAgICAgICAgICAgICAuZXZlcnkodiA9PiAhdigpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucm9vdCgpICYmIHRoaXMuYWN0aXZlKCkgJiYgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpICYmICh0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltKCkgfHwgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbVBsdXMoKSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKHRoaXMuc3VibWVudUVsUmVmKCk/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3VibWVudUVsUmVmKCk/Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBzdWJtZW51QW5pbWF0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpICYmICh0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltKCkgfHwgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbVBsdXMoKSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZSgpID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb290KCkgPyAnZXhwYW5kZWQnIDogdGhpcy5hY3RpdmUoKSA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpdGVtQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW0oKTtcbiAgICAgICAgLy8gYXZvaWQgcHJvY2Vzc2luZyBkaXNhYmxlZCBpdGVtc1xuICAgICAgICBpZiAoaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvZ2dsZSBhY3RpdmUgc3RhdGVcbiAgICAgICAgaWYgKGl0ZW0uaGFzSXRlbXNPckxhenlDaGlsZHJlbigpKSB7XG4gICAgICAgICAgICBpZiAoKHRoaXMucm9vdCgpIHx8IHRoaXMuYWN0aXZlKCkpICYmICh0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltKCkgfHwgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbVBsdXMoKSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25PdmVybGF5U3VibWVudU9wZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS51cGRhdGUoc3RhdGUgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY01lbnVNb2JpbGVBY3RpdmU6IGZhbHNlXG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5yZXNldCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS51cGRhdGUoc3RhdGUgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgIG1lbnVIb3ZlckFjdGl2ZTogZmFsc2VcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblN1Ym1lbnVBbmltYXRlZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJyAmJiB0aGlzLmxheW91dFNlcnZpY2UuaXNEZXNrdG9wKCkgJiYgKHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKSkge1xuICAgICAgICAgICAgY29uc3QgZWwgPSA8SFRNTFVMaXN0RWxlbWVudD5ldmVudC5lbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgZWxQYXJlbnQgPSA8SFRNTFVMaXN0RWxlbWVudD5lbC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbihlbCwgZWxQYXJlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hpbGRWaXNpYmxlQ2hhbmdlKHZpc2libGU6IGJvb2xlYW4sIGl0ZW06IEludGVybmFsQ29tbW9uc01lbnVJdGVtLCBpZHg6IG51bWJlcikge1xuICAgICAgICB0aGlzLml0ZW0oKS5pdGVtc1Zpc2liaWxpdHkoKVtpZHhdPy5zZXQodmlzaWJsZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3NpdGlvbihvdmVybGF5OiBIVE1MRWxlbWVudCwgdGFyZ2V0OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAob3ZlcmxheSkge1xuICAgICAgICAgICAgY29uc3QgdG9wID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgICAgICAgIGNvbnN0IHZIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBvSGVpZ2h0ID0gb3ZlcmxheS5vZmZzZXRIZWlnaHQ7XG5cbiAgICAgICAgICAgIC8vIHJlc2V0XG4gICAgICAgICAgICBvdmVybGF5LnN0eWxlLnRvcCA9ICcnO1xuICAgICAgICAgICAgb3ZlcmxheS5zdHlsZS5sZWZ0ID0gJyc7XG4gICAgICAgICAgICBpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbSgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWlnaHQgPSB0b3AgKyBvSGVpZ2h0O1xuICAgICAgICAgICAgICAgIG92ZXJsYXkuc3R5bGUudG9wID0gdkhlaWdodCA8IGhlaWdodCA/IGAke3RvcCAtIChoZWlnaHQgLSB2SGVpZ2h0KX1weGAgOiBgJHt0b3B9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICh2aXNpYmxlKCkpIHtcbiAgICBAaWYgKHJvb3QoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXJvb3QtdGV4dFwiPlxuICAgICAgICAgICAge3sgaXRlbSgpLmxhYmVsISB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmICghaXRlbSgpLmhyZWYpIHtcbiAgICAgICAgQGlmICghaXRlbSgpLnJvdXRlckxpbmsgfHwgaXRlbSgpLmhhc0l0ZW1zKCkpIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtKCkuaHJlZlwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJpdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbSgpLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtKCkudGFyZ2V0XCJcbiAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtKCkuY2xhc3NOYW1lID8/ICcnXCJcbiAgICAgICAgICAgICAgICBwUmlwcGxlPlxuICAgICAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cIml0ZW0oKS5pY29uID8/ICcnXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0taWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxheW91dC1tZW51aXRlbS10ZXh0XCI+e3sgaXRlbSgpLmxhYmVsISB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0oKS5oYXNJdGVtc09yTGF6eUNoaWxkcmVuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbSgpLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudWl0ZW0tYmFkZ2VcIj57eyBpdGVtKCkuYmFkZ2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIGlmIChpdGVtKCkucm91dGVyTGluayAmJiAhaXRlbSgpLmhhc0l0ZW1zKCkpIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtKCkucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cIml0ZW0oKS50YXJnZXRcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0oKS5jbGFzc05hbWUgPz8gJycgKyAodGhpcy5hY3RpdmUoKSA/ICcgYWN0aXZlLXJvdXRlJyA6ICcnKVwiXG4gICAgICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaXRlbSgpLnByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgICAgIFtza2lwTG9jYXRpb25DaGFuZ2VdPVwiaXRlbSgpLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICAgICAgW3JlcGxhY2VVcmxdPVwiaXRlbSgpLnJlcGxhY2VVcmxcIlxuICAgICAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJpdGVtKCkucXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgICAgIHBSaXBwbGU+XG4gICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbSgpLmljb24gPz8gJydcIiBjbGFzcz1cImxheW91dC1tZW51aXRlbS1pY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57eyBpdGVtKCkubGFiZWwhIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbSgpLmhhc0l0ZW1zT3JMYXp5Q2hpbGRyZW4oKSkge1xuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLWFuZ2xlLWRvd24gbGF5b3V0LXN1Ym1lbnUtdG9nZ2xlclwiPjwvaT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtKCkuYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51aXRlbS1iYWRnZVwiPnt7IGl0ZW0oKS5iYWRnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmICghaXRlbSgpLmhhc0l0ZW1zKCkpIHtcbiAgICAgICAgICAgIDxhIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50KVwiIFthdHRyLmhyZWZdPVwiaXRlbSgpLmhyZWZcIiBbYXR0ci50YXJnZXRdPVwiaXRlbSgpLnRhcmdldFwiIFthdHRyLnRhYmluZGV4XT1cIjBcIiBbbmdDbGFzc109XCJpdGVtKCkuY2xhc3NOYW1lID8/ICcnXCIgcFJpcHBsZT5cbiAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJpdGVtKCkuaWNvbiA/PyAnJ1wiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tdGV4dFwiPnt7IGl0ZW0oKS5sYWJlbCEgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtKCkuaGFzSXRlbXNPckxhenlDaGlsZHJlbigpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktYW5nbGUtZG93biBsYXlvdXQtc3VibWVudS10b2dnbGVyXCI+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0oKS5iYWRnZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnVpdGVtLWJhZGdlXCI+e3sgaXRlbSgpLmJhZGdlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGl0ZW0oKS5oYXNJdGVtcygpKSB7XG4gICAgICAgIDx1bCAjc3VibWVudSBbQGNoaWxkcmVuXT1cInN1Ym1lbnVBbmltYXRpb25cIiAoQGNoaWxkcmVuLmRvbmUpPVwib25TdWJtZW51QW5pbWF0ZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbSgpLml0ZW1zKCk7IHRyYWNrIGNoaWxkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxsaSBtbmctbWVudWl0ZW0gW2l0ZW1dPVwiY2hpbGRcIiBbY2xhc3NdPVwiY2hpbGQuYmFkZ2VDbGFzc05hbWVcIiAodmlzaWJsZUNoYW5nZSk9XCJvbkNoaWxkVmlzaWJsZUNoYW5nZSgkZXZlbnQsIGNoaWxkLCBpKVwiPjwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgfVxufVxuIl19
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRixPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFDLFlBQVksSUFBSSxjQUFjLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpELE9BQU8sRUFBMEIsaUJBQWlCLEVBQUUsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFckcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7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Q0w7OzJGQU9RLGlCQUFpQjtrQkExQzdCLFNBQVM7aUNBQ00sSUFBSSxZQUVOLGdCQUFnQixXQUVqQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDLG1CQUN4RSx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNSLE9BQU8sQ0FBQyxVQUFVLEVBQUU7NEJBQ2hCLEtBQUssQ0FDRCxXQUFXLEVBQ1gsS0FBSyxDQUFDO2dDQUNGLE1BQU0sRUFBRSxHQUFHOzZCQUNkLENBQUMsQ0FDTDs0QkFDRCxLQUFLLENBQ0QsVUFBVSxFQUNWLEtBQUssQ0FBQztnQ0FDRixNQUFNLEVBQUUsR0FBRzs2QkFDZCxDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7Z0NBQ0YsT0FBTyxFQUFFLE1BQU07NkJBQ2xCLENBQUMsQ0FDTDs0QkFDRCxLQUFLLENBQ0QsU0FBUyxFQUNULEtBQUssQ0FBQztnQ0FDRixPQUFPLEVBQUUsT0FBTzs2QkFDbkIsQ0FBQyxDQUNMOzRCQUNELFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzt5QkFDeEYsQ0FBQztxQkFDTCxRQUNLO3dCQUNGLHlCQUF5QixFQUFFLHFCQUFxQjt3QkFDaEQsOEJBQThCLEVBQUUsUUFBUTtxQkFDM0MsYUFDVSxDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25FdmVudCwgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7QXN5bmNQaXBlLCBOZ0NsYXNzfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvT2JzZXJ2YWJsZSBhcyBuZ1RvT2JzZXJ2YWJsZSwgdG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1JpcHBsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHtUb29sdGlwTW9kdWxlfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgb2YsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7SW50ZXJuYWxDb21tb25zTWVudUl0ZW0sIFBlcm1pc3Npb25TZXJ2aWNlLCB0b09ic2VydmFibGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7TGF5b3V0U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtNZW51U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbWVudS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW21uZy1tZW51aXRlbV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgUmlwcGxlTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQXN5bmNQaXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2NoaWxkcmVuJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2NvbGxhcHNlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcwJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJyonXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkIDw9PiBleHBhbmRlZCcsIGFuaW1hdGUoJzQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKScpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmFjdGl2ZS1tZW51aXRlbV0nOiAnIXJvb3QoKSAmJiBhY3RpdmUoKScsXG4gICAgICAgICdbY2xhc3MubGF5b3V0LXJvb3QtbWVudWl0ZW1dJzogJ3Jvb3QoKSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1Blcm1pc3Npb25TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBNZW51SXRlbUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtZW51U2VydmljZSA9IGluamVjdChNZW51U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uU2VydmljZSA9IGluamVjdChQZXJtaXNzaW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXQgPSBpbmplY3QoTGF5b3V0U2VydmljZSk7XG5cbiAgICBwdWJsaWMgaXRlbSA9IGlucHV0LnJlcXVpcmVkPEludGVybmFsQ29tbW9uc01lbnVJdGVtPigpO1xuICAgIHB1YmxpYyByb290ID0gaW5wdXQoZmFsc2UpO1xuICAgIHB1YmxpYyB2aXNpYmxlQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgICBwcml2YXRlIHN1Ym1lbnVFbFJlZiA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignc3VibWVudScpO1xuXG4gICAgcHVibGljIGlzUGVybWl0dGVkID0gdG9TaWduYWwobmdUb09ic2VydmFibGUodGhpcy5pdGVtKS5waXBlKHN3aXRjaE1hcChpID0+IChpLnBlcm1pc3Npb25zID8gdGhpcy5wZXJtaXNzaW9uU2VydmljZS5pc01lbnVJdGVtVmlzaWJsZShpLnBlcm1pc3Npb25zLCBpLmNvbmZpZykgOiBvZih0cnVlKSkpKSk7XG4gICAgcHVibGljIGlzVmlzaWJsZUZyb21JdGVtU2V0dGluZ3MgPSB0b1NpZ25hbChcbiAgICAgICAgbmdUb09ic2VydmFibGUodGhpcy5pdGVtKS5waXBlKHN3aXRjaE1hcChpID0+ICh0eXBlb2YgaS5pc1Zpc2libGUgPT09ICdmdW5jdGlvbicgPyB0b09ic2VydmFibGUoaS5pc1Zpc2libGUoaS5jb25maWcpKSA6IG9mKGkuaXNWaXNpYmxlID8/IHRydWUpKSkpXG4gICAgKTtcbiAgICBwcml2YXRlIG1lbnVDaGFuZ2VFdmVudHMgPSB0b1NpZ25hbCh0aGlzLm1lbnVTZXJ2aWNlLm1lbnVDaGFuZ2UkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKHYxLCB2MikgPT4gdjEua2V5ID09PSB2Mi5rZXkpKSk7XG4gICAgcHVibGljIGFjdGl2ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzUGVybWl0dGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtZW51Q2hhbmdlRXZlbnQgPSB0aGlzLm1lbnVDaGFuZ2VFdmVudHMoKTtcbiAgICAgICAgaWYgKG1lbnVDaGFuZ2VFdmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG1lbnVDaGFuZ2VFdmVudC5ldmVudFR5cGUgPT09ICdyZXNldCcgfHwgIW1lbnVDaGFuZ2VFdmVudC5rZXlcbiAgICAgICAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgICAgICAgOiB0aGlzLml0ZW0oKS5rZXkgPT09IG1lbnVDaGFuZ2VFdmVudC5rZXkgfHwgbWVudUNoYW5nZUV2ZW50LmtleS5zdGFydHNXaXRoKCh0aGlzLml0ZW0oKS5rZXkgPz8gJycpICsgJy0nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgcHVibGljIHZpc2libGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzUGVybWl0dGVkID0gdGhpcy5pc1Blcm1pdHRlZCgpO1xuICAgICAgICBpZiAoIWlzUGVybWl0dGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlzVmlzaWJsZUZyb21JdGVtU2V0dGluZ3MoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtKCkuaXRlbXMoKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShpdGVtcykgJiZcbiAgICAgICAgICAgIGl0ZW1zLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHRoaXMuaXRlbSgpXG4gICAgICAgICAgICAgICAgLml0ZW1zVmlzaWJpbGl0eSgpXG4gICAgICAgICAgICAgICAgLmV2ZXJ5KHYgPT4gIXYoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvb3QoKSAmJiB0aGlzLmFjdGl2ZSgpICYmIHRoaXMubGF5b3V0LmlzRGVza3RvcCgpICYmICh0aGlzLmxheW91dC5pc1NsaW0oKSB8fCB0aGlzLmxheW91dC5pc1NsaW1QbHVzKCkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbih0aGlzLnN1Ym1lbnVFbFJlZigpPy5uYXRpdmVFbGVtZW50LCB0aGlzLnN1Ym1lbnVFbFJlZigpPy5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgc3VibWVudUFuaW1hdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMubGF5b3V0LmlzRGVza3RvcCgpICYmICh0aGlzLmxheW91dC5pc1NsaW0oKSB8fCB0aGlzLmxheW91dC5pc1NsaW1QbHVzKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmUoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm9vdCgpID8gJ2V4cGFuZGVkJyA6IHRoaXMuYWN0aXZlKCkgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXRlbUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgICAgIC8vIGF2b2lkIHByb2Nlc3NpbmcgZGlzYWJsZWQgaXRlbXNcbiAgICAgICAgaWYgKGl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0b2dnbGUgYWN0aXZlIHN0YXRlXG4gICAgICAgIGlmIChpdGVtLmhhc0l0ZW1zT3JMYXp5Q2hpbGRyZW4oKSkge1xuICAgICAgICAgICAgaWYgKCh0aGlzLnJvb3QoKSB8fCB0aGlzLmFjdGl2ZSgpKSAmJiAodGhpcy5sYXlvdXQuaXNTbGltKCkgfHwgdGhpcy5sYXlvdXQuaXNTbGltUGx1cygpKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0Lm9uT3ZlcmxheVN1Ym1lbnVPcGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sYXlvdXQuaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0LnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljTWVudU1vYmlsZUFjdGl2ZTogZmFsc2VcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5sYXlvdXQuaXNTbGltKCkgfHwgdGhpcy5sYXlvdXQuaXNTbGltUGx1cygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5yZXNldCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0LnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgbWVudUhvdmVyQWN0aXZlOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU3VibWVudUFuaW1hdGVkKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnICYmIHRoaXMubGF5b3V0LmlzRGVza3RvcCgpICYmICh0aGlzLmxheW91dC5pc1NsaW0oKSB8fCB0aGlzLmxheW91dC5pc1NsaW1QbHVzKCkpKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IDxIVE1MVUxpc3RFbGVtZW50PmV2ZW50LmVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBlbFBhcmVudCA9IDxIVE1MVUxpc3RFbGVtZW50PmVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKGVsLCBlbFBhcmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGlsZFZpc2libGVDaGFuZ2UodmlzaWJsZTogYm9vbGVhbiwgaXRlbTogSW50ZXJuYWxDb21tb25zTWVudUl0ZW0sIGlkeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaXRlbSgpLml0ZW1zVmlzaWJpbGl0eSgpW2lkeF0/LnNldCh2aXNpYmxlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBvc2l0aW9uKG92ZXJsYXk6IEhUTUxFbGVtZW50LCB0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmIChvdmVybGF5KSB7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgICAgICAgY29uc3QgdkhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IG9IZWlnaHQgPSBvdmVybGF5Lm9mZnNldEhlaWdodDtcblxuICAgICAgICAgICAgLy8gcmVzZXRcbiAgICAgICAgICAgIG92ZXJsYXkuc3R5bGUudG9wID0gJyc7XG4gICAgICAgICAgICBvdmVybGF5LnN0eWxlLmxlZnQgPSAnJztcbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dC5pc1NsaW0oKSB8fCB0aGlzLmxheW91dC5pc1NsaW1QbHVzKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWlnaHQgPSB0b3AgKyBvSGVpZ2h0O1xuICAgICAgICAgICAgICAgIG92ZXJsYXkuc3R5bGUudG9wID0gdkhlaWdodCA8IGhlaWdodCA/IGAke3RvcCAtIChoZWlnaHQgLSB2SGVpZ2h0KX1weGAgOiBgJHt0b3B9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICh2aXNpYmxlKCkpIHtcbiAgICBAaWYgKHJvb3QoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXJvb3QtdGV4dFwiPlxuICAgICAgICAgICAge3sgaXRlbSgpLmxhYmVsISB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmICghaXRlbSgpLmhyZWYpIHtcbiAgICAgICAgQGlmICghaXRlbSgpLnJvdXRlckxpbmsgfHwgaXRlbSgpLmhhc0l0ZW1zKCkpIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtKCkuaHJlZlwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJpdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbSgpLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtKCkudGFyZ2V0XCJcbiAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtKCkuY2xhc3NOYW1lID8/ICcnXCJcbiAgICAgICAgICAgICAgICBwUmlwcGxlPlxuICAgICAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cIml0ZW0oKS5pY29uID8/ICcnXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0taWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxheW91dC1tZW51aXRlbS10ZXh0XCI+e3sgaXRlbSgpLmxhYmVsISB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0oKS5oYXNJdGVtc09yTGF6eUNoaWxkcmVuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbSgpLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudWl0ZW0tYmFkZ2VcIj57eyBpdGVtKCkuYmFkZ2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIGlmIChpdGVtKCkucm91dGVyTGluayAmJiAhaXRlbSgpLmhhc0l0ZW1zKCkpIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtKCkucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cIml0ZW0oKS50YXJnZXRcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0oKS5jbGFzc05hbWUgPz8gJycgKyAodGhpcy5hY3RpdmUoKSA/ICcgYWN0aXZlLXJvdXRlJyA6ICcnKVwiXG4gICAgICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaXRlbSgpLnByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgICAgIFtza2lwTG9jYXRpb25DaGFuZ2VdPVwiaXRlbSgpLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICAgICAgW3JlcGxhY2VVcmxdPVwiaXRlbSgpLnJlcGxhY2VVcmxcIlxuICAgICAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJpdGVtKCkucXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgICAgIHBSaXBwbGU+XG4gICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbSgpLmljb24gPz8gJydcIiBjbGFzcz1cImxheW91dC1tZW51aXRlbS1pY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57eyBpdGVtKCkubGFiZWwhIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbSgpLmhhc0l0ZW1zT3JMYXp5Q2hpbGRyZW4oKSkge1xuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLWFuZ2xlLWRvd24gbGF5b3V0LXN1Ym1lbnUtdG9nZ2xlclwiPjwvaT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtKCkuYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51aXRlbS1iYWRnZVwiPnt7IGl0ZW0oKS5iYWRnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmICghaXRlbSgpLmhhc0l0ZW1zKCkpIHtcbiAgICAgICAgICAgIDxhIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50KVwiIFthdHRyLmhyZWZdPVwiaXRlbSgpLmhyZWZcIiBbYXR0ci50YXJnZXRdPVwiaXRlbSgpLnRhcmdldFwiIFthdHRyLnRhYmluZGV4XT1cIjBcIiBbbmdDbGFzc109XCJpdGVtKCkuY2xhc3NOYW1lID8/ICcnXCIgcFJpcHBsZT5cbiAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJpdGVtKCkuaWNvbiA/PyAnJ1wiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tdGV4dFwiPnt7IGl0ZW0oKS5sYWJlbCEgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtKCkuaGFzSXRlbXNPckxhenlDaGlsZHJlbigpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktYW5nbGUtZG93biBsYXlvdXQtc3VibWVudS10b2dnbGVyXCI+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0oKS5iYWRnZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnVpdGVtLWJhZGdlXCI+e3sgaXRlbSgpLmJhZGdlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGl0ZW0oKS5oYXNJdGVtcygpKSB7XG4gICAgICAgIDx1bCAjc3VibWVudSBbQGNoaWxkcmVuXT1cInN1Ym1lbnVBbmltYXRpb25cIiAoQGNoaWxkcmVuLmRvbmUpPVwib25TdWJtZW51QW5pbWF0ZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbSgpLml0ZW1zKCk7IHRyYWNrIGNoaWxkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxsaSBtbmctbWVudWl0ZW0gW2l0ZW1dPVwiY2hpbGRcIiBbY2xhc3NdPVwiY2hpbGQuYmFkZ2VDbGFzc05hbWVcIiAodmlzaWJsZUNoYW5nZSk9XCJvbkNoaWxkVmlzaWJsZUNoYW5nZSgkZXZlbnQsIGNoaWxkLCBpKVwiPjwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgfVxufVxuIl19
|
|
@@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, effect, inject, untracked } from '@
|
|
|
2
2
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
3
|
import { ActivatedRoute } from '@angular/router';
|
|
4
4
|
import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '../services/layout-feature-config.token';
|
|
5
|
-
import {
|
|
5
|
+
import { LayoutService } from '../services/layout.service';
|
|
6
6
|
import { MenuService } from '../services/menu.service';
|
|
7
7
|
import { MenuItemComponent } from './menu-item.component';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
@@ -10,7 +10,7 @@ export class MenuComponent {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
this.route = inject(ActivatedRoute);
|
|
12
12
|
this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
|
|
13
|
-
this.
|
|
13
|
+
this.layout = inject(LayoutService);
|
|
14
14
|
this.menuService = inject(MenuService);
|
|
15
15
|
this.routeData = toSignal(this.route.data);
|
|
16
16
|
effect(() => {
|
|
@@ -22,7 +22,7 @@ export class MenuComponent {
|
|
|
22
22
|
items = this.routeData().menuItems;
|
|
23
23
|
}
|
|
24
24
|
// Wraps menu items
|
|
25
|
-
if (!(this.
|
|
25
|
+
if (!(this.layout.isSlim() || this.layout.isSlimPlus())) {
|
|
26
26
|
items = [{ items }];
|
|
27
27
|
}
|
|
28
28
|
untracked(() => this.menuService.setItems(items));
|
|
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
|
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{ standalone: true, selector: 'mng-menu', imports: [MenuItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"layout-menu\">\n @for (item of menuService.menuItems(); track item) {\n @if (!item.separator) {\n <li mng-menuitem [item]=\"item\" [root]=\"true\"></li>\n }\n @if (item.separator) {\n <li class=\"menu-separator\"></li>\n }\n }\n</ul>\n" }]
|
|
37
37
|
}], ctorParameters: () => [] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFJL0MsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFTeEQsTUFBTSxPQUFPLGFBQWE7SUFRdEI7UUFQaUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQixXQUFNLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDcEUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUzQyxjQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHekMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLElBQUksS0FBSyxHQUFzQixFQUFFLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDakUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ2xDLENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFFLElBQUksQ0FBQyxTQUFTLEVBQW1DLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDdEYsS0FBSyxHQUFJLElBQUksQ0FBQyxTQUFTLEVBQXVCLENBQUMsU0FBVSxDQUFDO1lBQzlELENBQUM7WUFDRCxtQkFBbUI7WUFDbkIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsS0FBSyxHQUFHLENBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO1lBQ3RCLENBQUM7WUFFRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdkJRLGFBQWE7a0dBQWIsYUFBYSxvRUNsQjFCLGlUQVVBLDRDREljLGlCQUFpQjs7MkZBSWxCLGFBQWE7a0JBUHpCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFVBQVUsV0FDWCxDQUFDLGlCQUFpQixDQUFDLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGVmZmVjdCwgaW5qZWN0LCB1bnRyYWNrZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtDb21tb25zTWVudUl0ZW0sIENvbW1vbnNSb3V0ZURhdGF9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7Q09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVR9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC1mZWF0dXJlLWNvbmZpZy50b2tlbic7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7TWVudVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL21lbnUuc2VydmljZSc7XG5pbXBvcnQge01lbnVJdGVtQ29tcG9uZW50fSBmcm9tICcuL21lbnUtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLW1lbnUnLFxuICAgIGltcG9ydHM6IFtNZW51SXRlbUNvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheW91dCA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWVudVNlcnZpY2UgPSBpbmplY3QoTWVudVNlcnZpY2UpO1xuXG4gICAgcHVibGljIHJvdXRlRGF0YSA9IHRvU2lnbmFsKHRoaXMucm91dGUuZGF0YSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGxldCBpdGVtczogQ29tbW9uc01lbnVJdGVtW10gPSBbXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZz8ubWVudUl0ZW1zICYmIEFycmF5LmlzQXJyYXkodGhpcy5jb25maWcubWVudUl0ZW1zKSkge1xuICAgICAgICAgICAgICAgIGl0ZW1zID0gdGhpcy5jb25maWcubWVudUl0ZW1zO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KCh0aGlzLnJvdXRlRGF0YSgpIGFzIENvbW1vbnNSb3V0ZURhdGEgfCB1bmRlZmluZWQpPy5tZW51SXRlbXMpKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMgPSAodGhpcy5yb3V0ZURhdGEoKSBhcyBDb21tb25zUm91dGVEYXRhKS5tZW51SXRlbXMhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gV3JhcHMgbWVudSBpdGVtc1xuICAgICAgICAgICAgaWYgKCEodGhpcy5sYXlvdXQuaXNTbGltKCkgfHwgdGhpcy5sYXlvdXQuaXNTbGltUGx1cygpKSkge1xuICAgICAgICAgICAgICAgIGl0ZW1zID0gW3tpdGVtc31dO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4gdGhpcy5tZW51U2VydmljZS5zZXRJdGVtcyhpdGVtcykpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8dWwgY2xhc3M9XCJsYXlvdXQtbWVudVwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgbWVudVNlcnZpY2UubWVudUl0ZW1zKCk7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgQGlmICghaXRlbS5zZXBhcmF0b3IpIHtcbiAgICAgICAgICAgIDxsaSBtbmctbWVudWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtyb290XT1cInRydWVcIj48L2xpPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaXRlbS5zZXBhcmF0b3IpIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1lbnUtc2VwYXJhdG9yXCI+PC9saT5cbiAgICAgICAgfVxuICAgIH1cbjwvdWw+XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
2
|
+
import { RouterLink } from '@angular/router';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { ButtonModule } from 'primeng/button';
|
|
5
|
+
import { LayoutService } from '../../../services/layout.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "primeng/button";
|
|
8
|
+
import * as i2 from "@ngx-translate/core";
|
|
9
|
+
export class ErrorPageComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.layout = inject(LayoutService);
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ErrorPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: ErrorPageComponent, isStandalone: true, selector: "mng-error-page", ngImport: i0, template: "<div [class]=\"'exception-body min-h-screen ' + (layout.colorSchemeIsLight() ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"layout.appLogo()\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"layout.appLogoName()\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ErrorPageComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ standalone: true, selector: 'mng-error-page', imports: [ButtonModule, TranslateModule, RouterLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'exception-body min-h-screen ' + (layout.colorSchemeIsLight() ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"layout.appLogo()\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"layout.appLogoName()\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"] }]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IucGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvZXJyb3IvZXJyb3IucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvZXJyb3IvZXJyb3IucGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFVL0QsTUFBTSxPQUFPLGtCQUFrQjtJQVIvQjtRQVNvQixXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2xEOzhHQUZZLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDBFQ2hCL0IsODlCQWFBLHk3QkRGYyxZQUFZLDRPQUFFLGVBQWUsNEZBQUUsVUFBVTs7MkZBSzFDLGtCQUFrQjtrQkFSOUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sZ0JBQWdCLFdBQ2pCLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsbUJBR25DLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlckxpbmt9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5cbmltcG9ydCB7TGF5b3V0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLWVycm9yLXBhZ2UnLFxuICAgIGltcG9ydHM6IFtCdXR0b25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgUm91dGVyTGlua10sXG4gICAgc3R5bGVVcmxzOiBbJ2Vycm9yLnBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXJyb3IucGFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JQYWdlQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0ID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xufVxuIiwiPGRpdiBbY2xhc3NdPVwiJ2V4Y2VwdGlvbi1ib2R5IG1pbi1oLXNjcmVlbiAnICsgKGxheW91dC5jb2xvclNjaGVtZUlzTGlnaHQoKSA/ICdsYXlvdXQtbGlnaHQnIDogJ2xheW91dC1kYXJrJylcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXhjZXB0aW9uLWNvbnRhaW5lciBtaW4taC1zY3JlZW4gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiBiZy1hdXRvIG1kOmJnLWNvbnRhaW4gYmctbm8tcmVwZWF0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGNlcHRpb24tcGFuZWwgdGV4dC1jZW50ZXIgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzPVwidGV4dC1yZWQtNDAwIG1iLTBcIj57eyAncGFnZXMubm90Rm91bmQudGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oMT5cbiAgICAgICAgICAgIDxoMyBjbGFzcz1cInRleHQtcmVkLTMwMFwiPnt7ICdwYWdlcy5ub3RGb3VuZC5zdWJ0aXRsZScgfCB0cmFuc2xhdGUgfX08L2gzPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgcEJ1dHRvbiBbbGFiZWxdPVwiJ2dlbmVyYWwucmV0dXJuSG9tZScgfCB0cmFuc2xhdGVcIiBbcm91dGVyTGlua109XCJbJy8nXVwiPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4Y2VwdGlvbi1mb290ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXhcIj5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJsYXlvdXQuYXBwTG9nbygpXCIgY2xhc3M9XCJleGNlcHRpb24tbG9nb1wiIGFsdD1cIkFwcCBsb2dvXCIgLz5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJsYXlvdXQuYXBwTG9nb05hbWUoKVwiIGNsYXNzPVwiZXhjZXB0aW9uLWFwcG5hbWUgbWwtM1wiIGFsdD1cIkFwcCBuYW1lXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
2
|
+
import { RouterLink } from '@angular/router';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { ButtonModule } from 'primeng/button';
|
|
5
|
+
import { LayoutService } from '../../../services/layout.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "primeng/button";
|
|
8
|
+
import * as i2 from "@ngx-translate/core";
|
|
9
|
+
export class NotFoundPageComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.layout = inject(LayoutService);
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: NotFoundPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: NotFoundPageComponent, isStandalone: true, selector: "mng-not-found-page", ngImport: i0, template: "<div [class]=\"'exception-body min-h-screen ' + (layout.colorSchemeIsLight() ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <p>{{ 'pages.notFound.message' | translate }}</p>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"layout.appLogo()\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"layout.appLogoName()\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel p{font-size:24px;font-weight:400;max-width:320px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: NotFoundPageComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ standalone: true, selector: 'mng-not-found-page', imports: [ButtonModule, RouterLink, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'exception-body min-h-screen ' + (layout.colorSchemeIsLight() ? 'layout-light' : 'layout-dark')\">\n <div class=\"exception-container min-h-screen flex align-items-center justify-content-center flex-column bg-auto md:bg-contain bg-no-repeat\">\n <div class=\"exception-panel text-center flex align-items-center justify-content-center flex-column\">\n <h1 class=\"text-red-400 mb-0\">{{ 'pages.notFound.title' | translate }}</h1>\n <h3 class=\"text-red-300\">{{ 'pages.notFound.subtitle' | translate }}</h3>\n <p>{{ 'pages.notFound.message' | translate }}</p>\n <button type=\"button\" pButton [label]=\"'general.returnHome' | translate\" [routerLink]=\"['/']\"></button>\n </div>\n <div class=\"exception-footer align-items-center flex\">\n <img [src]=\"layout.appLogo()\" class=\"exception-logo\" alt=\"App logo\" />\n <img [src]=\"layout.appLogoName()\" class=\"exception-appname ml-3\" alt=\"App name\" />\n </div>\n </div>\n</div>\n", styles: [".exception-body{background:var(--surface-ground)}.exception-body .exception-container{background:var(--exception-pages-image);background-repeat:no-repeat;background-size:contain;box-sizing:border-box}.exception-body .exception-container .exception-panel{box-sizing:border-box;flex-grow:1;margin-top:3rem;margin-bottom:3rem}.exception-body .exception-container .exception-panel h1{font-size:140px;font-weight:900;text-shadow:0 0 50px rgba(252,97,97,.2)}.exception-body .exception-container .exception-panel h3{font-size:80px;font-weight:900;margin-top:-90px;margin-bottom:50px}.exception-body .exception-container .exception-panel p{font-size:24px;font-weight:400;max-width:320px}.exception-body .exception-container .exception-panel button{margin-top:50px}.exception-body .exception-container .exception-footer{margin-bottom:2rem}.exception-body .exception-container .exception-footer .exception-logo{width:34px}.exception-body .exception-container .exception-footer .exception-appname{width:72px}\n"] }]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWZvdW5kLnBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VzL25vdC1mb3VuZC9ub3QtZm91bmQucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvbm90LWZvdW5kL25vdC1mb3VuZC5wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQVUvRCxNQUFNLE9BQU8scUJBQXFCO0lBUmxDO1FBU29CLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDbEQ7OEdBRlkscUJBQXFCO2tHQUFyQixxQkFBcUIsOEVDaEJsQyw2aENBY0EsZ2lDREhjLFlBQVksNk9BQUUsVUFBVSxtT0FBRSxlQUFlOzsyRkFLMUMscUJBQXFCO2tCQVJqQyxTQUFTO2lDQUNNLElBQUksWUFDTixvQkFBb0IsV0FDckIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxtQkFHbkMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcblxuaW1wb3J0IHtMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctbm90LWZvdW5kLXBhZ2UnLFxuICAgIGltcG9ydHM6IFtCdXR0b25Nb2R1bGUsIFJvdXRlckxpbmssIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgc3R5bGVVcmxzOiBbJ25vdC1mb3VuZC5wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdC1mb3VuZC5wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb3RGb3VuZFBhZ2VDb21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSBsYXlvdXQgPSBpbmplY3QoTGF5b3V0U2VydmljZSk7XG59XG4iLCI8ZGl2IFtjbGFzc109XCInZXhjZXB0aW9uLWJvZHkgbWluLWgtc2NyZWVuICcgKyAobGF5b3V0LmNvbG9yU2NoZW1lSXNMaWdodCgpID8gJ2xheW91dC1saWdodCcgOiAnbGF5b3V0LWRhcmsnKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJleGNlcHRpb24tY29udGFpbmVyIG1pbi1oLXNjcmVlbiBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uIGJnLWF1dG8gbWQ6YmctY29udGFpbiBiZy1uby1yZXBlYXRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4Y2VwdGlvbi1wYW5lbCB0ZXh0LWNlbnRlciBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJ0ZXh0LXJlZC00MDAgbWItMFwiPnt7ICdwYWdlcy5ub3RGb3VuZC50aXRsZScgfCB0cmFuc2xhdGUgfX08L2gxPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGV4dC1yZWQtMzAwXCI+e3sgJ3BhZ2VzLm5vdEZvdW5kLnN1YnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICAgICAgICA8cD57eyAncGFnZXMubm90Rm91bmQubWVzc2FnZScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBwQnV0dG9uIFtsYWJlbF09XCInZ2VuZXJhbC5yZXR1cm5Ib21lJyB8IHRyYW5zbGF0ZVwiIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCI+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhjZXB0aW9uLWZvb3RlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleFwiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImxheW91dC5hcHBMb2dvKClcIiBjbGFzcz1cImV4Y2VwdGlvbi1sb2dvXCIgYWx0PVwiQXBwIGxvZ29cIiAvPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImxheW91dC5hcHBMb2dvTmFtZSgpXCIgY2xhc3M9XCJleGNlcHRpb24tYXBwbmFtZSBtbC0zXCIgYWx0PVwiQXBwIG5hbWVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|