@esfaenza/core 15.2.196 → 15.2.198
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/components/breadcrumb/breadcrumb.component.d.ts +5 -2
- package/esm2020/components/breadcrumb/breadcrumb.component.mjs +28 -17
- package/esm2020/lib/app.component.mjs +2 -2
- package/fesm2015/esfaenza-core-components.mjs +47 -37
- package/fesm2015/esfaenza-core-components.mjs.map +1 -1
- package/fesm2015/esfaenza-core.mjs +2 -2
- package/fesm2015/esfaenza-core.mjs.map +1 -1
- package/fesm2020/esfaenza-core-components.mjs +46 -37
- package/fesm2020/esfaenza-core-components.mjs.map +1 -1
- package/fesm2020/esfaenza-core.mjs +2 -2
- package/fesm2020/esfaenza-core.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Title } from "@angular/platform-browser";
|
|
2
1
|
import { ActivatedRoute, Router, UrlTree } from "@angular/router";
|
|
2
|
+
import { Title } from "@angular/platform-browser";
|
|
3
|
+
import { AppEmbeddingExtensions } from "@esfaenza/extensions";
|
|
3
4
|
import { AppState } from "@esfaenza/core/services";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class Breadcrumb {
|
|
@@ -7,9 +8,11 @@ export declare class Breadcrumb {
|
|
|
7
8
|
private router;
|
|
8
9
|
private _activatedRoute;
|
|
9
10
|
private _titleService;
|
|
11
|
+
private emb;
|
|
10
12
|
MainLink: BreadcrumbItem;
|
|
11
13
|
SubLinks: BreadcrumbItem[];
|
|
12
|
-
constructor(_state: AppState, router: Router, _activatedRoute: ActivatedRoute, _titleService: Title);
|
|
14
|
+
constructor(_state: AppState, router: Router, _activatedRoute: ActivatedRoute, _titleService: Title, emb: AppEmbeddingExtensions);
|
|
15
|
+
handleNavigation(title: string, internal: boolean, tree?: UrlTree): void;
|
|
13
16
|
ngOnInit(): void;
|
|
14
17
|
onSubNavigation(tree: UrlTree, title: string): void;
|
|
15
18
|
onMainNavigation(tree: UrlTree, title: string): void;
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
// Angular
|
|
2
|
-
import { Component, ViewEncapsulation } from "@angular/core";
|
|
3
2
|
import { NavigationEnd, RouterLink } from "@angular/router";
|
|
3
|
+
import { Component, ViewEncapsulation } from "@angular/core";
|
|
4
4
|
import { NgFor, NgIf } from "@angular/common";
|
|
5
|
-
|
|
5
|
+
// Librerie
|
|
6
6
|
import { filter, map, mergeMap } from "rxjs/operators";
|
|
7
|
+
import { of, combineLatest } from "rxjs";
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@esfaenza/core/services";
|
|
9
10
|
import * as i2 from "@angular/router";
|
|
10
11
|
import * as i3 from "@angular/platform-browser";
|
|
12
|
+
import * as i4 from "@esfaenza/extensions";
|
|
11
13
|
export class Breadcrumb {
|
|
12
|
-
constructor(_state, router, _activatedRoute, _titleService) {
|
|
14
|
+
constructor(_state, router, _activatedRoute, _titleService, emb) {
|
|
13
15
|
this._state = _state;
|
|
14
16
|
this.router = router;
|
|
15
17
|
this._activatedRoute = _activatedRoute;
|
|
16
18
|
this._titleService = _titleService;
|
|
19
|
+
this.emb = emb;
|
|
17
20
|
this.MainLink = { title: "Dashboard", routerLink: ["/pages/dashboard"] };
|
|
18
21
|
this.SubLinks = [];
|
|
19
22
|
this.router.events.pipe(filter(event => event instanceof NavigationEnd), map((event) => { return { event: event, route: this._activatedRoute }; }), map((routeWithEvent) => {
|
|
@@ -27,14 +30,22 @@ export class Breadcrumb {
|
|
|
27
30
|
// false = MAIN - ricerca/dashboard
|
|
28
31
|
let internalNavigation = data["InternalNavigation"];
|
|
29
32
|
let title = data["title"];
|
|
30
|
-
|
|
31
|
-
this.onSubNavigation(tree, title);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.onMainNavigation(tree, title);
|
|
35
|
-
}
|
|
36
|
-
this._titleService.setTitle(myconfig.AppData.ModuleDescription + " > " + title);
|
|
33
|
+
this.handleNavigation(title, internalNavigation, tree);
|
|
37
34
|
});
|
|
35
|
+
this.emb.MessageObserver.pipe(filter(ev => ev.event == "navigation")).subscribe(event => {
|
|
36
|
+
let internalNavigation = event?.data?.internalNavigation;
|
|
37
|
+
let title = event?.data?.title;
|
|
38
|
+
this.handleNavigation(title, internalNavigation);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
handleNavigation(title, internal, tree = null) {
|
|
42
|
+
if (internal) {
|
|
43
|
+
this.onSubNavigation(tree, title);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.onMainNavigation(tree, title);
|
|
47
|
+
}
|
|
48
|
+
this._titleService.setTitle(myconfig.AppData.ModuleDescription + (title ? (" > " + title) : ''));
|
|
38
49
|
}
|
|
39
50
|
ngOnInit() { }
|
|
40
51
|
onSubNavigation(tree, title) {
|
|
@@ -45,11 +56,11 @@ export class Breadcrumb {
|
|
|
45
56
|
this.SubLinks.pop();
|
|
46
57
|
}
|
|
47
58
|
if (index == -1 && this.MainLink.title != title)
|
|
48
|
-
this.SubLinks.push({ title: title, routerLink: this.getRouterLink(tree) });
|
|
59
|
+
this.SubLinks.push({ title: title, routerLink: tree ? this.getRouterLink(tree) : null });
|
|
49
60
|
}
|
|
50
61
|
onMainNavigation(tree, title) {
|
|
51
62
|
this.SubLinks = [];
|
|
52
|
-
this.MainLink = { title: title, routerLink: this.getRouterLink(tree) };
|
|
63
|
+
this.MainLink = { title: title, routerLink: tree ? this.getRouterLink(tree) : null };
|
|
53
64
|
}
|
|
54
65
|
getRouterLink(tree) {
|
|
55
66
|
let segs = tree?.root?.children?.["primary"]?.segments ?? [];
|
|
@@ -58,12 +69,12 @@ export class Breadcrumb {
|
|
|
58
69
|
return [route, params];
|
|
59
70
|
}
|
|
60
71
|
}
|
|
61
|
-
Breadcrumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Breadcrumb, deps: [{ token: i1.AppState }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.Title }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
-
Breadcrumb.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Breadcrumb, isStandalone: true, selector: "breadcrumb", ngImport: i0, template: "<ol class=\"breadcrumb app-no-selection\">\r\n <li class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"['/pages/dashboard']\">Dashboard</li>\r\n <li *ngIf=\"MainLink?.title != 'Dashboard'\" [routerLink]=\"MainLink.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{MainLink.title}}</li>\r\n <
|
|
72
|
+
Breadcrumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Breadcrumb, deps: [{ token: i1.AppState }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.Title }, { token: i4.AppEmbeddingExtensions }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
+
Breadcrumb.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Breadcrumb, isStandalone: true, selector: "breadcrumb", ngImport: i0, template: "<ol class=\"breadcrumb app-no-selection\">\r\n <li class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"['/pages/dashboard']\">Dashboard</li>\r\n <li *ngIf=\"MainLink?.title != 'Dashboard'\" [routerLink]=\"MainLink.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{MainLink.title}}</li>\r\n \r\n <ng-container *ngFor=\"let link of SubLinks\">\r\n <li *ngIf=\"link.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"link.routerLink\">{{link.title}}</li>\r\n <li *ngIf=\"!link.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{link.title}}</li>\r\n </ng-container>\r\n</ol>", styles: [".breadcrumb{padding:0;margin:0;background:transparent;color:#344154;font-size:14px}.breadcrumb-item+.breadcrumb-item:before{font-weight:400!important;color:#fff;font-family:\"Font Awesome 6 Pro\";font-size:.6rem;line-height:1.4rem;content:\"\\f054\"}.breadcrumb-item{float:left}.breadcrumb-link{cursor:pointer;font-weight:500;color:#fff!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
63
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Breadcrumb, decorators: [{
|
|
64
75
|
type: Component,
|
|
65
|
-
args: [{ selector: "breadcrumb", encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf, NgFor, RouterLink], template: "<ol class=\"breadcrumb app-no-selection\">\r\n <li class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"['/pages/dashboard']\">Dashboard</li>\r\n <li *ngIf=\"MainLink?.title != 'Dashboard'\" [routerLink]=\"MainLink.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{MainLink.title}}</li>\r\n <
|
|
66
|
-
}], ctorParameters: function () { return [{ type: i1.AppState }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.Title }]; } });
|
|
76
|
+
args: [{ selector: "breadcrumb", encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf, NgFor, RouterLink], template: "<ol class=\"breadcrumb app-no-selection\">\r\n <li class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"['/pages/dashboard']\">Dashboard</li>\r\n <li *ngIf=\"MainLink?.title != 'Dashboard'\" [routerLink]=\"MainLink.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{MainLink.title}}</li>\r\n \r\n <ng-container *ngFor=\"let link of SubLinks\">\r\n <li *ngIf=\"link.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"link.routerLink\">{{link.title}}</li>\r\n <li *ngIf=\"!link.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{link.title}}</li>\r\n </ng-container>\r\n</ol>", styles: [".breadcrumb{padding:0;margin:0;background:transparent;color:#344154;font-size:14px}.breadcrumb-item+.breadcrumb-item:before{font-weight:400!important;color:#fff;font-family:\"Font Awesome 6 Pro\";font-size:.6rem;line-height:1.4rem;content:\"\\f054\"}.breadcrumb-item{float:left}.breadcrumb-link{cursor:pointer;font-weight:500;color:#fff!important}\n"] }]
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i1.AppState }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.Title }, { type: i4.AppEmbeddingExtensions }]; } });
|
|
67
78
|
export class BreadcrumbItem {
|
|
68
79
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQXdCLGFBQWEsRUFBVSxVQUFVLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSzlDLE9BQU8sRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVl2RCxNQUFNLE9BQU8sVUFBVTtJQUluQixZQUFtQixNQUFnQixFQUFVLE1BQWMsRUFBVSxlQUErQixFQUFVLGFBQW9CO1FBQS9HLFdBQU0sR0FBTixNQUFNLENBQVU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQU87UUFIM0gsYUFBUSxHQUFtQixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO1FBQ3BGLGFBQVEsR0FBcUIsRUFBRSxDQUFDO1FBR25DLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFF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RSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFhO1FBQy9CLElBQUksSUFBSSxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUM3RCxJQUFJLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7dUdBeERRLFVBQVU7MkZBQVYsVUFBVSxzRUN0QnZCLGlmQUlLLHVaRGdCUyxJQUFJLDZGQUFFLEtBQUssbUhBQUUsVUFBVTsyRkFFeEIsVUFBVTtrQkFSdEIsU0FBUzsrQkFDSSxZQUFZLGlCQUNQLGlCQUFpQixDQUFDLElBQUksY0FHekIsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUM7O0FBNkR0QyxNQUFNLE9BQU8sY0FBYztDQUcxQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTGluaywgVXJsVHJlZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBcHBTdGF0ZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBFbnZPcHRpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5pbXBvcnQgeyBvZiwgY29tYmluZUxhdGVzdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBtZXJnZU1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuZGVjbGFyZSB2YXIgbXljb25maWc6IEVudk9wdGlvbnM7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImJyZWFkY3J1bWJcIixcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgUm91dGVyTGlua11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWIge1xyXG4gICAgcHVibGljIE1haW5MaW5rOiBCcmVhZGNydW1iSXRlbSA9IHsgdGl0bGU6IFwiRGFzaGJvYXJkXCIsIHJvdXRlckxpbms6IFtcIi9wYWdlcy9kYXNoYm9hcmRcIl0gfTtcclxuICAgIHB1YmxpYyBTdWJMaW5rczogQnJlYWRjcnVtYkl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBfc3RhdGU6IEFwcFN0YXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgX3RpdGxlU2VydmljZTogVGl0bGUpIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXHJcbiAgICAgICAgICAgIG1hcCgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHsgcmV0dXJuIHsgZXZlbnQ6IGV2ZW50LCByb3V0ZTogdGhpcy5fYWN0aXZhdGVkUm91dGUgfSB9KSxcclxuICAgICAgICAgICAgbWFwKChyb3V0ZVdpdGhFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgd2hpbGUgKHJvdXRlV2l0aEV2ZW50LnJvdXRlLmZpcnN0Q2hpbGQpXHJcbiAgICAgICAgICAgICAgICAgICAgcm91dGVXaXRoRXZlbnQucm91dGUgPSByb3V0ZVdpdGhFdmVudC5yb3V0ZS5maXJzdENoaWxkO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvdXRlV2l0aEV2ZW50O1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbWVyZ2VNYXAocm91dGVXaXRoRXZlbnQgPT5cclxuICAgICAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgb2Yocm91dGVXaXRoRXZlbnQuZXZlbnQudXJsKS5waXBlKG1hcCh1cmwgPT4gdGhpcy5yb3V0ZXIucGFyc2VVcmwodXJsKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlV2l0aEV2ZW50LnJvdXRlLmRhdGEpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApLnN1YnNjcmliZSgodHJlZVBsdXNEYXRhOiBbVXJsVHJlZSwgRGF0YV0pID0+IHtcclxuICAgICAgICAgICAgbGV0IGRhdGEgPSB0cmVlUGx1c0RhdGFbMV07XHJcbiAgICAgICAgICAgIGxldCB0cmVlID0gdHJlZVBsdXNEYXRhWzBdO1xyXG5cclxuICAgICAgICAgICAgLy8gdHJ1ZSA9IFNVQiAtIGRldHRhZ2xpb1xyXG4gICAgICAgICAgICAvLyBmYWxzZSA9IE1BSU4gLSByaWNlcmNhL2Rhc2hib2FyZFxyXG4gICAgICAgICAgICBsZXQgaW50ZXJuYWxOYXZpZ2F0aW9uID0gZGF0YVtcIkludGVybmFsTmF2aWdhdGlvblwiXTtcclxuICAgICAgICAgICAgbGV0IHRpdGxlID0gZGF0YVtcInRpdGxlXCJdO1xyXG4gICAgICAgICAgICBpZiAoaW50ZXJuYWxOYXZpZ2F0aW9uKSB7IHRoaXMub25TdWJOYXZpZ2F0aW9uKHRyZWUsIHRpdGxlKTsgfVxyXG4gICAgICAgICAgICBlbHNlIHsgdGhpcy5vbk1haW5OYXZpZ2F0aW9uKHRyZWUsIHRpdGxlKTsgfVxyXG4gICAgICAgICAgICB0aGlzLl90aXRsZVNlcnZpY2Uuc2V0VGl0bGUobXljb25maWcuQXBwRGF0YS5Nb2R1bGVEZXNjcmlwdGlvbiArIFwiID4gXCIgKyB0aXRsZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7IH1cclxuXHJcbiAgICBvblN1Yk5hdmlnYXRpb24odHJlZTogVXJsVHJlZSwgdGl0bGU6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBpbmRleCA9IHRoaXMuU3ViTGlua3MuaW5kZXhPZih0aGlzLlN1YkxpbmtzLmZpbmQoZiA9PiBmLnRpdGxlID09IHRpdGxlKSk7XHJcbiAgICAgICAgbGV0IGRpZmZlcmVuY2UgPSB0aGlzLlN1YkxpbmtzLmxlbmd0aCAtIChpbmRleCArIDEpXHJcbiAgICAgICAgaWYgKGluZGV4ICE9IC0xICYmIChpbmRleCArIDEpICE9IHRoaXMuU3ViTGlua3MubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlmZmVyZW5jZTsgaSsrKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5TdWJMaW5rcy5wb3AoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGluZGV4ID09IC0xICYmIHRoaXMuTWFpbkxpbmsudGl0bGUgIT0gdGl0bGUpXHJcbiAgICAgICAgICAgIHRoaXMuU3ViTGlua3MucHVzaCh7IHRpdGxlOiB0aXRsZSwgcm91dGVyTGluazogdGhpcy5nZXRSb3V0ZXJMaW5rKHRyZWUpIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTWFpbk5hdmlnYXRpb24odHJlZTogVXJsVHJlZSwgdGl0bGU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuU3ViTGlua3MgPSBbXTtcclxuICAgICAgICB0aGlzLk1haW5MaW5rID0geyB0aXRsZTogdGl0bGUsIHJvdXRlckxpbms6IHRoaXMuZ2V0Um91dGVyTGluayh0cmVlKSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Um91dGVyTGluayh0cmVlOiBVcmxUcmVlKSB7XHJcbiAgICAgICAgbGV0IHNlZ3MgPSB0cmVlPy5yb290Py5jaGlsZHJlbj8uW1wicHJpbWFyeVwiXT8uc2VnbWVudHMgPz8gW107XHJcbiAgICAgICAgbGV0IHJvdXRlID0gXCIvXCIgKyBzZWdzLm1hcCh0ID0+IHQucGF0aCkuam9pbignLycpO1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBzZWdzW3NlZ3MubGVuZ3RoIC0gMV0/LnBhcmFtZXRlcnM7XHJcblxyXG4gICAgICAgIHJldHVybiBbcm91dGUsIHBhcmFtc107XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iSXRlbSB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgcm91dGVyTGluazogYW55W107XHJcbn0iLCI8b2wgY2xhc3M9XCJicmVhZGNydW1iIGFwcC1uby1zZWxlY3Rpb25cIj5cclxuICAgIDxsaSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbSB0ZXh0LXVwcGVyY2FzZSBicmVhZGNydW1iLWxpbmtcIiBbcm91dGVyTGlua109XCJbJy9wYWdlcy9kYXNoYm9hcmQnXVwiPkRhc2hib2FyZDwvbGk+XHJcbiAgICA8bGkgKm5nSWY9XCJNYWluTGluaz8udGl0bGUgIT0gJ0Rhc2hib2FyZCdcIiBbcm91dGVyTGlua109XCJNYWluTGluay5yb3V0ZXJMaW5rXCIgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gdGV4dC11cHBlcmNhc2UgYnJlYWRjcnVtYi1saW5rXCI+e3tNYWluTGluay50aXRsZX19PC9saT5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgbGluayBvZiBTdWJMaW5rc1wiIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtIHRleHQtdXBwZXJjYXNlIGJyZWFkY3J1bWItbGlua1wiIFtyb3V0ZXJMaW5rXT1cImxpbmsucm91dGVyTGlua1wiPnt7bGluay50aXRsZX19PC9saT5cclxuPC9vbD4iXX0=
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUF3QixhQUFhLEVBQVUsVUFBVSxFQUFXLE1BQU0saUJBQWlCLENBQUM7QUFDbkcsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTzlDLFdBQVc7QUFDWCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBWXpDLE1BQU0sT0FBTyxVQUFVO0lBSW5CLFlBQW1CLE1BQWdCLEVBQVUsTUFBYyxFQUFVLGVBQStCLEVBQVUsYUFBb0IsRUFBVSxHQUEyQjtRQUFwSixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFPO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFIaEssYUFBUSxHQUFtQixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO1FBQ3BGLGFBQVEsR0FBcUIsRUFBRSxDQUFDO1FBR25DLElBQUksQ0FBQyxNQUFNLENB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LEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7dUdBcEVRLFVBQVU7MkZBQVYsVUFBVSxzRUN6QnZCLDJyQkFRSyx1WkRlUyxJQUFJLDZGQUFFLEtBQUssbUhBQUUsVUFBVTsyRkFFeEIsVUFBVTtrQkFSdEIsU0FBUzsrQkFDSSxZQUFZLGlCQUNQLGlCQUFpQixDQUFDLElBQUksY0FHekIsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUM7O0FBeUV0QyxNQUFNLE9BQU8sY0FBYztDQUcxQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTGluaywgVXJsVHJlZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBcHBFbWJlZGRpbmdFeHRlbnNpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IEFwcFN0YXRlIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IEVudk9wdGlvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcblxyXG4vLyBMaWJyZXJpZVxyXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgb2YsIGNvbWJpbmVMYXRlc3QgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZGVjbGFyZSB2YXIgbXljb25maWc6IEVudk9wdGlvbnM7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImJyZWFkY3J1bWJcIixcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgUm91dGVyTGlua11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWIge1xyXG4gICAgcHVibGljIE1haW5MaW5rOiBCcmVhZGNydW1iSXRlbSA9IHsgdGl0bGU6IFwiRGFzaGJvYXJkXCIsIHJvdXRlckxpbms6IFtcIi9wYWdlcy9kYXNoYm9hcmRcIl0gfTtcclxuICAgIHB1YmxpYyBTdWJMaW5rczogQnJlYWRjcnVtYkl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBfc3RhdGU6IEFwcFN0YXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgX3RpdGxlU2VydmljZTogVGl0bGUsIHByaXZhdGUgZW1iOiBBcHBFbWJlZGRpbmdFeHRlbnNpb25zKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxyXG4gICAgICAgICAgICBtYXAoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7IHJldHVybiB7IGV2ZW50OiBldmVudCwgcm91dGU6IHRoaXMuX2FjdGl2YXRlZFJvdXRlIH0gfSksXHJcbiAgICAgICAgICAgIG1hcCgocm91dGVXaXRoRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgIHdoaWxlIChyb3V0ZVdpdGhFdmVudC5yb3V0ZS5maXJzdENoaWxkKVxyXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlV2l0aEV2ZW50LnJvdXRlID0gcm91dGVXaXRoRXZlbnQucm91dGUuZmlyc3RDaGlsZDtcclxuICAgICAgICAgICAgICAgIHJldHVybiByb3V0ZVdpdGhFdmVudDtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKHJvdXRlV2l0aEV2ZW50ID0+XHJcbiAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxyXG4gICAgICAgICAgICAgICAgICAgIG9mKHJvdXRlV2l0aEV2ZW50LmV2ZW50LnVybCkucGlwZShtYXAodXJsID0+IHRoaXMucm91dGVyLnBhcnNlVXJsKHVybCkpKSxcclxuICAgICAgICAgICAgICAgICAgICByb3V0ZVdpdGhFdmVudC5yb3V0ZS5kYXRhKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKHRyZWVQbHVzRGF0YTogW1VybFRyZWUsIERhdGFdKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gdHJlZVBsdXNEYXRhWzFdO1xyXG4gICAgICAgICAgICBsZXQgdHJlZSA9IHRyZWVQbHVzRGF0YVswXTtcclxuXHJcbiAgICAgICAgICAgIC8vIHRydWUgPSBTVUIgLSBkZXR0YWdsaW9cclxuICAgICAgICAgICAgLy8gZmFsc2UgPSBNQUlOIC0gcmljZXJjYS9kYXNoYm9hcmRcclxuICAgICAgICAgICAgbGV0IGludGVybmFsTmF2aWdhdGlvbiA9IGRhdGFbXCJJbnRlcm5hbE5hdmlnYXRpb25cIl07XHJcbiAgICAgICAgICAgIGxldCB0aXRsZSA9IGRhdGFbXCJ0aXRsZVwiXTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTmF2aWdhdGlvbih0aXRsZSwgaW50ZXJuYWxOYXZpZ2F0aW9uLCB0cmVlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5lbWIuTWVzc2FnZU9ic2VydmVyLnBpcGUoZmlsdGVyKGV2ID0+IGV2LmV2ZW50ID09IFwibmF2aWdhdGlvblwiKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgICAgICAgbGV0IGludGVybmFsTmF2aWdhdGlvbiA9IGV2ZW50Py5kYXRhPy5pbnRlcm5hbE5hdmlnYXRpb247XHJcbiAgICAgICAgICAgIGxldCB0aXRsZSA9IGV2ZW50Py5kYXRhPy50aXRsZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTmF2aWdhdGlvbih0aXRsZSwgaW50ZXJuYWxOYXZpZ2F0aW9uKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVOYXZpZ2F0aW9uKHRpdGxlOiBzdHJpbmcsIGludGVybmFsOiBib29sZWFuLCB0cmVlOiBVcmxUcmVlID0gbnVsbCl7XHJcbiAgICAgICAgaWYgKGludGVybmFsKSB7IHRoaXMub25TdWJOYXZpZ2F0aW9uKHRyZWUsIHRpdGxlKTsgfVxyXG4gICAgICAgIGVsc2UgeyB0aGlzLm9uTWFpbk5hdmlnYXRpb24odHJlZSwgdGl0bGUpOyB9XHJcbiAgICAgICAgdGhpcy5fdGl0bGVTZXJ2aWNlLnNldFRpdGxlKG15Y29uZmlnLkFwcERhdGEuTW9kdWxlRGVzY3JpcHRpb24gKyAodGl0bGUgPyAoXCIgPiBcIiArIHRpdGxlKSA6ICcnKSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7IH1cclxuXHJcbiAgICBvblN1Yk5hdmlnYXRpb24odHJlZTogVXJsVHJlZSwgdGl0bGU6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBpbmRleCA9IHRoaXMuU3ViTGlua3MuaW5kZXhPZih0aGlzLlN1YkxpbmtzLmZpbmQoZiA9PiBmLnRpdGxlID09IHRpdGxlKSk7XHJcbiAgICAgICAgbGV0IGRpZmZlcmVuY2UgPSB0aGlzLlN1YkxpbmtzLmxlbmd0aCAtIChpbmRleCArIDEpXHJcbiAgICAgICAgaWYgKGluZGV4ICE9IC0xICYmIChpbmRleCArIDEpICE9IHRoaXMuU3ViTGlua3MubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlmZmVyZW5jZTsgaSsrKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5TdWJMaW5rcy5wb3AoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGluZGV4ID09IC0xICYmIHRoaXMuTWFpbkxpbmsudGl0bGUgIT0gdGl0bGUpXHJcbiAgICAgICAgICAgIHRoaXMuU3ViTGlua3MucHVzaCh7IHRpdGxlOiB0aXRsZSwgcm91dGVyTGluazogdHJlZSA/IHRoaXMuZ2V0Um91dGVyTGluayh0cmVlKSA6IG51bGwgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25NYWluTmF2aWdhdGlvbih0cmVlOiBVcmxUcmVlLCB0aXRsZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5TdWJMaW5rcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuTWFpbkxpbmsgPSB7IHRpdGxlOiB0aXRsZSwgcm91dGVyTGluazogdHJlZSA/IHRoaXMuZ2V0Um91dGVyTGluayh0cmVlKSA6IG51bGwgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFJvdXRlckxpbmsodHJlZTogVXJsVHJlZSkge1xyXG4gICAgICAgIGxldCBzZWdzID0gdHJlZT8ucm9vdD8uY2hpbGRyZW4/LltcInByaW1hcnlcIl0/LnNlZ21lbnRzID8/IFtdO1xyXG4gICAgICAgIGxldCByb3V0ZSA9IFwiL1wiICsgc2Vncy5tYXAodCA9PiB0LnBhdGgpLmpvaW4oJy8nKTtcclxuICAgICAgICBsZXQgcGFyYW1zID0gc2Vnc1tzZWdzLmxlbmd0aCAtIDFdPy5wYXJhbWV0ZXJzO1xyXG5cclxuICAgICAgICByZXR1cm4gW3JvdXRlLCBwYXJhbXNdO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkl0ZW0ge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHJvdXRlckxpbms6IGFueVtdO1xyXG59IiwiPG9sIGNsYXNzPVwiYnJlYWRjcnVtYiBhcHAtbm8tc2VsZWN0aW9uXCI+XHJcbiAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gdGV4dC11cHBlcmNhc2UgYnJlYWRjcnVtYi1saW5rXCIgW3JvdXRlckxpbmtdPVwiWycvcGFnZXMvZGFzaGJvYXJkJ11cIj5EYXNoYm9hcmQ8L2xpPlxyXG4gICAgPGxpICpuZ0lmPVwiTWFpbkxpbms/LnRpdGxlICE9ICdEYXNoYm9hcmQnXCIgW3JvdXRlckxpbmtdPVwiTWFpbkxpbmsucm91dGVyTGlua1wiIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtIHRleHQtdXBwZXJjYXNlIGJyZWFkY3J1bWItbGlua1wiPnt7TWFpbkxpbmsudGl0bGV9fTwvbGk+XHJcbiAgICBcclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgU3ViTGlua3NcIj5cclxuICAgICAgICA8bGkgKm5nSWY9XCJsaW5rLnJvdXRlckxpbmtcIiBjbGFzcz1cImJyZWFkY3J1bWItaXRlbSB0ZXh0LXVwcGVyY2FzZSBicmVhZGNydW1iLWxpbmtcIiBbcm91dGVyTGlua109XCJsaW5rLnJvdXRlckxpbmtcIj57e2xpbmsudGl0bGV9fTwvbGk+XHJcbiAgICAgICAgPGxpICpuZ0lmPVwiIWxpbmsucm91dGVyTGlua1wiIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtIHRleHQtdXBwZXJjYXNlIGJyZWFkY3J1bWItbGlua1wiPnt7bGluay50aXRsZX19PC9saT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L29sPiJdfQ==
|