@bizdoc/core 1.16.10 → 1.16.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/admin/configuration-designer/cube-axes-filter.component.mjs +14 -30
- package/esm2020/lib/admin/configuration-designer/declarations.mjs +10 -2
- package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +38 -43
- package/esm2020/lib/admin/configuration-designer/designer-privileges.component.mjs +90 -0
- package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +17 -10
- package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +5 -6
- package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +3 -3
- package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +2 -2
- package/esm2020/lib/admin/patterns/patterns.component.mjs +2 -2
- package/esm2020/lib/core/controls/combination-pool.mjs +2 -2
- package/esm2020/lib/core/models.mjs +1 -1
- package/esm2020/lib/core/translations.mjs +4 -1
- package/esm2020/lib/cube/explore/explore-items.component.mjs +2 -2
- package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
- package/esm2020/lib/cube/view-base.mjs +1 -2
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +2 -2
- package/esm2020/lib/home/sign/sign.component.mjs +6 -1
- package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +2 -2
- package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-base.mjs +2 -2
- package/esm2020/lib/reports/cube/usage-pivot.component.mjs +2 -2
- package/esm2020/lib/system.module.mjs +4 -3
- package/esm2020/lib/views/cube/view.component.mjs +2 -2
- package/fesm2015/bizdoc-core.mjs +248 -168
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +245 -167
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/configuration-designer/cube-axes-filter.component.d.ts +4 -8
- package/lib/admin/configuration-designer/declarations.d.ts +7 -0
- package/lib/admin/configuration-designer/designer-element.component.d.ts +10 -7
- package/lib/admin/configuration-designer/designer-privileges.component.d.ts +34 -0
- package/lib/admin/configuration-designer/elements/cube.component.d.ts +2 -3
- package/lib/core/models.d.ts +0 -1
- package/lib/core/translations.d.ts +3 -0
- package/lib/system.module.d.ts +65 -64
- package/package.json +1 -1
@@ -1,26 +1,25 @@
|
|
1
1
|
import { Component, ContentChild, Directive, EventEmitter, Inject, Input, Optional, Output } from "@angular/core";
|
2
2
|
import { FormGroup, Validators } from "@angular/forms";
|
3
|
+
import { ComponentPortal } from "@angular/cdk/portal";
|
3
4
|
import { Subject, takeUntil } from "rxjs";
|
4
5
|
import { DesignerRef, programName, FAMILY_SVG } from "./declarations";
|
5
6
|
import { LayoutComponent } from "../../core/layout/layout.component";
|
6
|
-
import { ComponentPortal } from "@angular/cdk/portal";
|
7
7
|
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "
|
8
|
+
import * as i1 from "../system.service";
|
9
9
|
import * as i2 from "@angular/forms";
|
10
|
-
import * as i3 from "../../core/
|
11
|
-
import * as i4 from "
|
10
|
+
import * as i3 from "../../core/slots/pane-ref";
|
11
|
+
import * as i4 from "../../core/component-factory-resolver";
|
12
12
|
import * as i5 from "@angular/common";
|
13
13
|
import * as i6 from "@angular/cdk/portal";
|
14
|
-
import * as i7 from "@angular/material/
|
15
|
-
import * as i8 from "@angular/material/
|
16
|
-
import * as i9 from "@angular/material/
|
17
|
-
import * as i10 from "@angular/material/
|
18
|
-
import * as i11 from "@angular/material/
|
19
|
-
import * as i12 from "
|
20
|
-
import * as i13 from "
|
21
|
-
import * as i14 from "../../core/pipes/
|
22
|
-
import * as i15 from "
|
23
|
-
import * as i16 from "./declarations";
|
14
|
+
import * as i7 from "@angular/material/toolbar";
|
15
|
+
import * as i8 from "@angular/material/form-field";
|
16
|
+
import * as i9 from "@angular/material/button";
|
17
|
+
import * as i10 from "@angular/material/input";
|
18
|
+
import * as i11 from "@angular/material/icon";
|
19
|
+
import * as i12 from "./designer-privileges.component";
|
20
|
+
import * as i13 from "../../core/pipes/sanitize-html.pipe";
|
21
|
+
import * as i14 from "../../core/pipes/translate.pipe";
|
22
|
+
import * as i15 from "./declarations";
|
24
23
|
export class EditContentDirective {
|
25
24
|
constructor(templateRef) {
|
26
25
|
this.templateRef = templateRef;
|
@@ -63,13 +62,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
63
62
|
/**
|
64
63
|
*/
|
65
64
|
export class DesignerItemComponent {
|
66
|
-
constructor(
|
67
|
-
this._ref = _ref;
|
65
|
+
constructor(_element, _service, _fb, _pane, _ref, _cfr) {
|
68
66
|
this._element = _element;
|
69
|
-
this.
|
67
|
+
this._service = _service;
|
70
68
|
this._fb = _fb;
|
69
|
+
this._pane = _pane;
|
70
|
+
this._ref = _ref;
|
71
71
|
this._cfr = _cfr;
|
72
|
-
this._service = _service;
|
73
72
|
this.svg = FAMILY_SVG;
|
74
73
|
this.form = new FormGroup({});
|
75
74
|
//@Input() state: string;
|
@@ -86,7 +85,7 @@ export class DesignerItemComponent {
|
|
86
85
|
instance.model = this.model;
|
87
86
|
if (this.mode === 'add' && !this._options.onContinue) {
|
88
87
|
this.mode = 'edit';
|
89
|
-
this.
|
88
|
+
this._addForm();
|
90
89
|
this.onContinue.emit();
|
91
90
|
}
|
92
91
|
this._options.mode = this.mode;
|
@@ -102,41 +101,37 @@ export class DesignerItemComponent {
|
|
102
101
|
if (this.model.template) {
|
103
102
|
const comp = this._cfr.component(this.model.template);
|
104
103
|
this.options = new ComponentPortal(comp);
|
104
|
+
this.mode !== 'widget' &&
|
105
|
+
this._ref.state.pipe(takeUntil(this._destroy)).subscribe(v => this.state = v);
|
105
106
|
}
|
106
107
|
else if (this.mode !== 'widget' && this.model.arguments?.length)
|
107
108
|
this.options = new ComponentPortal(LayoutComponent);
|
109
|
+
else if (this.mode === 'add')
|
110
|
+
this.mode = 'edit';
|
108
111
|
switch (this.mode) {
|
109
112
|
case 'add':
|
113
|
+
this.form.markAsDirty();
|
114
|
+
break;
|
110
115
|
case 'edit':
|
111
116
|
this._addForm();
|
117
|
+
break;
|
112
118
|
}
|
113
119
|
}
|
114
120
|
_addForm() {
|
115
121
|
const name = this._fb.control(null, Validators.required), title = this._fb.control(null, Validators.required);
|
116
122
|
this.model.resource && title.disable();
|
117
123
|
if (this.model.draft)
|
118
|
-
title.valueChanges.
|
124
|
+
title.valueChanges.
|
125
|
+
pipe(takeUntil(this._destroy)).subscribe((t) => t && name.setValue(programName(t)));
|
119
126
|
else
|
120
127
|
name.disable();
|
121
128
|
this.form.addControl('name', name);
|
122
129
|
this.form.addControl('title', title);
|
123
|
-
|
130
|
+
this.model.privileges &&
|
124
131
|
this.form.addControl('privileges', this._fb.group({
|
125
132
|
rule: null,
|
126
133
|
roles: this._fb.control(null),
|
127
134
|
}), { emitEvent: false });
|
128
|
-
this._service.roles().subscribe(r => {
|
129
|
-
this.roles = r.concat(this._ref.designer.roles.
|
130
|
-
filter(r => !r.disabled).
|
131
|
-
map(r => ({
|
132
|
-
name: r.name,
|
133
|
-
title: r.title,
|
134
|
-
dataType: r.dataType
|
135
|
-
})));
|
136
|
-
});
|
137
|
-
}
|
138
|
-
this.form.statusChanges.pipe(takeUntil(this._destroy)).subscribe(s => {
|
139
|
-
});
|
140
135
|
this.form.patchValue(this.model, { emitEvent: !this.model.draft });
|
141
136
|
}
|
142
137
|
ngAfterViewInit() {
|
@@ -152,10 +147,10 @@ export class DesignerItemComponent {
|
|
152
147
|
this._ref._unlock$.next(false);
|
153
148
|
}
|
154
149
|
continue() {
|
155
|
-
this._ref._state$.next(null);
|
156
150
|
this._options.onContinue && this._options.onContinue();
|
157
151
|
this.onContinue.emit();
|
158
|
-
this.
|
152
|
+
this._addForm();
|
153
|
+
this.mode = this._options.mode = 'edit';
|
159
154
|
}
|
160
155
|
save() {
|
161
156
|
Object.assign(this.model, this.form.value);
|
@@ -177,17 +172,17 @@ export class DesignerItemComponent {
|
|
177
172
|
this._destroy?.complete();
|
178
173
|
}
|
179
174
|
}
|
180
|
-
DesignerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DesignerItemComponent, deps: [{ token:
|
181
|
-
DesignerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: { form: "form" }, outputs: { onContinue: "continue", onSave: "save" }, queries: [{ propertyName: "editContent", first: true, predicate: EditContentDirective, descendants: true }, { propertyName: "widgetContent", first: true, predicate: WidgetContentDirective, descendants: true }], ngImport: i0, template: "<ng-conatiner [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <ng-container *ngIf=\"options\" (attached)=\"attached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"!form.valid\" (click)=\"continue()\">{{'Continue'|translate}} <mat-icon>double_arrow</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'edit'\">\r\n <mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.valid || !form.dirty\"><mat-icon>save</mat-icon></button>\r\n </mat-toolbar>\r\n <p class=\"help\">{{model.help}}</p>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\"\r\n (document:keydown)=\"handleKeyboardEvent($event)\">\r\n
|
175
|
+
DesignerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DesignerItemComponent, deps: [{ token: i0.ElementRef }, { token: i1.SystemService }, { token: i2.FormBuilder }, { token: i3.PaneRef, optional: true }, { token: DesignerRef }, { token: i4.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
|
176
|
+
DesignerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: { form: "form" }, outputs: { onContinue: "continue", onSave: "save" }, queries: [{ propertyName: "editContent", first: true, predicate: EditContentDirective, descendants: true }, { propertyName: "widgetContent", first: true, predicate: WidgetContentDirective, descendants: true }], ngImport: i0, template: "<ng-conatiner [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <ng-container *ngIf=\"options\" (attached)=\"attached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"!form.valid\" (click)=\"continue()\">{{'Continue'|translate}} <mat-icon>double_arrow</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'edit'\">\r\n <mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.valid || !form.dirty\"><mat-icon>save</mat-icon></button>\r\n </mat-toolbar>\r\n <p class=\"help\">{{model.help}}</p>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"!state\"\r\n (document:keydown)=\"handleKeyboardEvent($event)\">\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required #title />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <p *ngIf=\"model.resource\" class=\"message\" (click)=\"unlock($event)\" [innerHTML]=\"'Unlock'|translate\"></p>\r\n\r\n <ng-container [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n\r\n <ng-container *ngIf=\"options\" (attached)=\"attached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n\r\n <bizdoc-designer-privileges *ngIf=\"form.contains('privileges') && !state\" [form]=\"form.get('privileges')\"></bizdoc-designer-privileges>\r\n </form>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div [innerHTML]=\"(svg[model.family]|sanitizeHtml)||model.family\" *ngIf=\"model.family\"></div>\r\n <ng-container [ngTemplateOutlet]=\"widgetContent?.templateRef\"></ng-container>\r\n <ng-container *ngIf=\"options\" (attached)=\"attached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n </ng-container>\r\n</ng-conatiner>\r\n", styles: [":host{flex:1}::ng-deep form{padding:8px}::ng-deep .flex{flex:1}p.message{margin:5px}.actions{margin:8px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i8.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i12.DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "pipe", type: i13.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] });
|
182
177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DesignerItemComponent, decorators: [{
|
183
178
|
type: Component,
|
184
|
-
args: [{ selector: 'bizdoc-designer-element', template: "<ng-conatiner [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <ng-container *ngIf=\"options\" (attached)=\"attached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"!form.valid\" (click)=\"continue()\">{{'Continue'|translate}} <mat-icon>double_arrow</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'edit'\">\r\n <mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.valid || !form.dirty\"><mat-icon>save</mat-icon></button>\r\n </mat-toolbar>\r\n <p class=\"help\">{{model.help}}</p>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\"\r\n (document:keydown)=\"handleKeyboardEvent($event)\">\r\n
|
185
|
-
}], ctorParameters: function () { return [{ type:
|
179
|
+
args: [{ selector: 'bizdoc-designer-element', template: "<ng-conatiner [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <ng-container *ngIf=\"options\" (attached)=\"attached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-stroked-button [disabled]=\"!form.valid\" (click)=\"continue()\">{{'Continue'|translate}} <mat-icon>double_arrow</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'edit'\">\r\n <mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!form.valid || !form.dirty\"><mat-icon>save</mat-icon></button>\r\n </mat-toolbar>\r\n <p class=\"help\">{{model.help}}</p>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"!state\"\r\n (document:keydown)=\"handleKeyboardEvent($event)\">\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required #title />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <p *ngIf=\"model.resource\" class=\"message\" (click)=\"unlock($event)\" [innerHTML]=\"'Unlock'|translate\"></p>\r\n\r\n <ng-container [ngTemplateOutlet]=\"editContent?.templateRef\"></ng-container>\r\n\r\n <ng-container *ngIf=\"options\" (attached)=\"attached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n\r\n <bizdoc-designer-privileges *ngIf=\"form.contains('privileges') && !state\" [form]=\"form.get('privileges')\"></bizdoc-designer-privileges>\r\n </form>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div [innerHTML]=\"(svg[model.family]|sanitizeHtml)||model.family\" *ngIf=\"model.family\"></div>\r\n <ng-container [ngTemplateOutlet]=\"widgetContent?.templateRef\"></ng-container>\r\n <ng-container *ngIf=\"options\" (attached)=\"attached($event)\" [cdkPortalOutlet]=\"options\"></ng-container>\r\n </ng-container>\r\n</ng-conatiner>\r\n", styles: [":host{flex:1}::ng-deep form{padding:8px}::ng-deep .flex{flex:1}p.message{margin:5px}.actions{margin:8px}\n"] }]
|
180
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SystemService }, { type: i2.FormBuilder }, { type: i3.PaneRef, decorators: [{
|
181
|
+
type: Optional
|
182
|
+
}] }, { type: i15.DesignerRef, decorators: [{
|
186
183
|
type: Inject,
|
187
184
|
args: [DesignerRef]
|
188
|
-
}] }, { type:
|
189
|
-
type: Optional
|
190
|
-
}] }, { type: i2.FormBuilder }, { type: i3.BizDocComponentFactoryResolver }, { type: i4.SystemService }]; }, propDecorators: { form: [{
|
185
|
+
}] }, { type: i4.BizDocComponentFactoryResolver }]; }, propDecorators: { form: [{
|
191
186
|
type: Input
|
192
187
|
}], onContinue: [{
|
193
188
|
type: Output,
|
@@ -202,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
202
197
|
type: ContentChild,
|
203
198
|
args: [WidgetContentDirective]
|
204
199
|
}] } });
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXItZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZGVzaWduZXItZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZGVzaWduZXItZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBMEMsWUFBWSxFQUFtQixTQUFTLEVBQWMsWUFBWSxFQUFnQixNQUFNLEVBQVksS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFxRSxNQUFNLGVBQWUsQ0FBQztBQUN2VSxPQUFPLEVBQWUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTFDLE9BQU8sRUFBRSxXQUFXLEVBQWdCLFdBQVcsRUFBYyxVQUFVLEVBQTRCLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBbUIsZUFBZSxFQUFVLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU0vRSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW1CLFdBQWlDO1FBQWpDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtJQUFJLENBQUM7O2lIQUQ5QyxvQkFBb0I7cUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOztBQU9ELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFB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QUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDL0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7a0hBNUhLLHFCQUFxQixrQkFlakIsV0FBVztzR0FmZixxQkFBcUIsdUxBT2Isb0JBQW9CLGdGQUNwQixzQkFBc0IsZ0RDOUN0Qywrd0ZBb0RBOzJGRGRRLHFCQUFxQjtrQkFONUIsU0FBUzsrQkFDRSx5QkFBeUI7OzBCQW9CaEMsTUFBTTsyQkFBQyxXQUFXOzswQkFFbEIsUUFBUTsrSUFmRixJQUFJO3NCQUFaLEtBQUs7Z0JBRXVCLFVBQVU7c0JBQXRDLE1BQU07dUJBQUMsVUFBVTtnQkFDTyxNQUFNO3NCQUE5QixNQUFNO3VCQUFDLE1BQU07Z0JBRXNCLFdBQVc7c0JBQTlDLFlBQVk7dUJBQUMsb0JBQW9CO2dCQUNJLGFBQWE7c0JBQWxELFlBQVk7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIENvbnRlbnRDaGlsZCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tIFwiLi4vLi4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlclwiO1xyXG5pbXBvcnQgeyBTeXN0ZW1TZXJ2aWNlIH0gZnJvbSBcIi4uL3N5c3RlbS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvbGUgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJSZWYsIEVsZW1lbnRNb2RlbCwgcHJvZ3JhbU5hbWUsIERlc2lnbk1vZGUsIEZBTUlMWV9TVkcsIERlc2lnbmVyRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuL2RlY2xhcmF0aW9uc1wiO1xyXG5pbXBvcnQgeyBMYXlvdXRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29yZS9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXQsIENvbXBvbmVudFBvcnRhbCwgUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gXCIuLi8uLi9jb3JlL3Nsb3RzL3BhbmUtcmVmXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tiaXpkb2NFZGl0Q29udGVudF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0Q29udGVudERpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikgeyB9XHJcbn1cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYml6ZG9jQ29udGVudF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb250ZW50RGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+KSB7IH1cclxufVxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tiaXpkb2NBZGRDb250ZW50XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZENvbnRlbnREaXJlY3RpdmUge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHsgfVxyXG59XHJcblxyXG4vKipcclxuKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZGVzaWduZXItZWxlbWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICdkZXNpZ25lci1lbGVtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnZGVzaWduZXItZWxlbWVudC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBEZXNpZ25lckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IHN2ZyA9IEZBTUlMWV9TVkc7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgLy9ASW5wdXQoKSBzdGF0ZTogc3RyaW5nO1xyXG4gIEBPdXRwdXQoJ2NvbnRpbnVlJykgcmVhZG9ubHkgb25Db250aW51ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCdzYXZlJykgcmVhZG9ubHkgb25TYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxFbGVtZW50TW9kZWw+KCk7XHJcbiAgcm9sZXM6IFJvbGVbXTtcclxuICBAQ29udGVudENoaWxkKEVkaXRDb250ZW50RGlyZWN0aXZlKSBlZGl0Q29udGVudDogRWRpdENvbnRlbnREaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChXaWRnZXRDb250ZW50RGlyZWN0aXZlKSB3aWRnZXRDb250ZW50OiBXaWRnZXRDb250ZW50RGlyZWN0aXZlO1xyXG4gIG9wdGlvbnM6IFBvcnRhbDxhbnk+O1xyXG4gIG1vZGU6IERlc2lnbk1vZGU7XHJcbiAgbW9kZWw6IEVsZW1lbnRNb2RlbDxhbnk+O1xyXG4gIHByaXZhdGUgX29wdGlvbnM6IERlc2lnbmVyRWxlbWVudENvbXBvbmVudDxhbnk+O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChEZXNpZ25lclJlZikgcHJpdmF0ZSBfcmVmOiBEZXNpZ25lclJlZjxhbnk+LFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9wYW5lOiBQYW5lUmVmLFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBfY2ZyOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5tb2RlID0gX3JlZi5tb2RlO1xyXG4gICAgdGhpcy5tb2RlbCA9IF9yZWYubW9kZWwgYXMgRWxlbWVudE1vZGVsO1xyXG4gIH1cclxuICBhdHRhY2hlZChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxEZXNpZ25lckVsZW1lbnRDb21wb25lbnQ8YW55Pj4gfCBDb21wb25lbnRSZWY8TGF5b3V0Q29tcG9uZW50Pikge1xyXG4gICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gY29tcG9uZW50UmVmO1xyXG4gICAgaWYgKHRoaXMubW9kZWwudGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5fb3B0aW9ucyA9IGluc3RhbmNlIGFzIERlc2lnbmVyRWxlbWVudENvbXBvbmVudDxhbnk+O1xyXG4gICAgICBpbnN0YW5jZS5tb2RlbCA9IHRoaXMubW9kZWw7XHJcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdhZGQnICYmICF0aGlzLl9vcHRpb25zLm9uQ29udGludWUpIHtcclxuICAgICAgICB0aGlzLm1vZGUgPSAnZWRpdCc7XHJcbiAgICAgICAgdGhpcy5mb3JtLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgdGhpcy5vbkNvbnRpbnVlLmVtaXQoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9vcHRpb25zLm1vZGUgPSB0aGlzLm1vZGU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgKGluc3RhbmNlIGFzIExheW91dENvbXBvbmVudCkuZmllbGRzID0gdGhpcy5tb2RlbC5hcmd1bWVudHM7XHJcbiAgICAgIChpbnN0YW5jZSBhcyBMYXlvdXRDb21wb25lbnQpLmZvcm11bGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tb2RlICE9PSAnd2lkZ2V0JyAmJlxyXG4gICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgnb3B0aW9ucycsIGluc3RhbmNlLmZvcm0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5tb2RlbC50ZW1wbGF0ZSkge1xyXG4gICAgICBjb25zdCBjb21wID0gdGhpcy5fY2ZyLmNvbXBvbmVudCh0aGlzLm1vZGVsLnRlbXBsYXRlKTtcclxuICAgICAgdGhpcy5vcHRpb25zID0gbmV3IENvbXBvbmVudFBvcnRhbDxEZXNpZ25lckVsZW1lbnRDb21wb25lbnQ8YW55Pj4oY29tcCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLm1vZGUgIT09ICd3aWRnZXQnICYmIHRoaXMubW9kZWwuYXJndW1lbnRzPy5sZW5ndGgpXHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IG5ldyBDb21wb25lbnRQb3J0YWwoTGF5b3V0Q29tcG9uZW50KTtcclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xyXG4gICAgICBjYXNlICdhZGQnOlxyXG4gICAgICBjYXNlICdlZGl0JzpcclxuICAgICAgICB0aGlzLl9hZGRGb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FkZEZvcm0oKSB7XHJcbiAgICBjb25zdCBuYW1lID0gdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdGl0bGUgPSB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgdGhpcy5tb2RlbC5yZXNvdXJjZSAmJiB0aXRsZS5kaXNhYmxlKCk7XHJcbiAgICBpZiAodGhpcy5tb2RlbC5kcmFmdCkgdGl0bGUudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKHQ6IHN0cmluZykgPT5cclxuICAgICAgdCAmJiBuYW1lLnNldFZhbHVlKHByb2dyYW1OYW1lKHQpKVxyXG4gICAgKTtcclxuICAgIGVsc2VcclxuICAgICAgbmFtZS5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgnbmFtZScsIG5hbWUpO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3RpdGxlJywgdGl0bGUpO1xyXG4gICAgaWYgKHRoaXMubW9kZWwucHJpdmlsZWdlcykge1xyXG4gICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgncHJpdmlsZWdlcycsXHJcbiAgICAgICAgdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICAgICAgcnVsZTogbnVsbCxcclxuICAgICAgICAgIHJvbGVzOiB0aGlzLl9mYi5jb250cm9sPHN0cmluZ1tdPihudWxsKSxcclxuICAgICAgICB9KSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLnJvbGVzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgIHRoaXMucm9sZXMgPSByLmNvbmNhdCgodGhpcy5fcmVmLmRlc2lnbmVyLnJvbGVzIGFzIEVsZW1lbnRNb2RlbFtdKS5cclxuICAgICAgICAgIGZpbHRlcihyID0+ICFyLmRpc2FibGVkKS5cclxuICAgICAgICAgIG1hcChyID0+ICh7XHJcbiAgICAgICAgICAgIG5hbWU6IHIubmFtZSxcclxuICAgICAgICAgICAgdGl0bGU6IHIudGl0bGUsXHJcbiAgICAgICAgICAgIGRhdGFUeXBlOiByLmRhdGFUeXBlXHJcbiAgICAgICAgICB9KSkpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybS5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUocyA9PiB7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMubW9kZWwsIHsgZW1pdEV2ZW50OiAhdGhpcy5tb2RlbC5kcmFmdCB9KTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMubW9kZSAhPT0gJ3dpZGdldCcpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKT8uZm9jdXMoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVubG9jayhldnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAoKGV2dC5zcmNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS50YWdOYW1lICE9PSAnQScpIHJldHVybjtcclxuICAgIHRoaXMubW9kZWwucmVzb3VyY2UgPSBudWxsO1xyXG4gICAgdGhpcy5mb3JtLmdldCgndGl0bGUnKS5lbmFibGUoKTtcclxuICAgIHRoaXMuX3JlZi5fdW5sb2NrJC5uZXh0KGZhbHNlKTtcclxuICB9XHJcbiAgY29udGludWUoKSB7XHJcbiAgICB0aGlzLl9yZWYuX3N0YXRlJC5uZXh0KG51bGwpO1xyXG4gICAgdGhpcy5fb3B0aW9ucy5vbkNvbnRpbnVlICYmIHRoaXMuX29wdGlvbnMub25Db250aW51ZSgpO1xyXG4gICAgdGhpcy5vbkNvbnRpbnVlLmVtaXQoKTtcclxuICAgIHRoaXMubW9kZSA9ICdlZGl0JztcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5tb2RlbCwgdGhpcy5mb3JtLnZhbHVlKTtcclxuICAgIHRoaXMub25TYXZlLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB0aGlzLl9wYW5lLmNsb3NlKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEN0cmwtcyBzYXZlXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmN0cmxLZXkgJiYgKGV2ZW50LndoaWNoID09PSA4MyB8fCBldmVudC53aGljaCA9PT0gMTE1KSkge1xyXG4gICAgICB0aGlzLmZvcm0udmFsaWQgJiYgdGhpcy5zYXZlKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveT8ubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveT8uY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbmF0aW5lciBbbmdTd2l0Y2hdPVwibW9kZVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidhZGQnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uc1wiIChhdHRhY2hlZCk9XCJhdHRhY2hlZCgkZXZlbnQpXCIgW2Nka1BvcnRhbE91dGxldF09XCJvcHRpb25zXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGFjdGlvbnNcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIiAoY2xpY2spPVwiY29udGludWUoKVwiPnt7J0NvbnRpbnVlJ3x0cmFuc2xhdGV9fSZuYnNwOzxtYXQtaWNvbj5kb3VibGVfYXJyb3c8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2VkaXQnXCI+XHJcbiAgICA8bWF0LXRvb2xiYXI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzYXZlKClcIiBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWQgfHwgIWZvcm0uZGlydHlcIj48bWF0LWljb24+c2F2ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L21hdC10b29sYmFyPlxyXG4gICAgPHAgY2xhc3M9XCJoZWxwXCI+e3ttb2RlbC5oZWxwfX08L3A+XHJcbiAgICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiXHJcbiAgICAgICAgICAoZG9jdW1lbnQ6a2V5ZG93bik9XCJoYW5kbGVLZXlib2FyZEV2ZW50KCRldmVudClcIj5cclxuICAgICAgPCEtLTxuZy1jb250YWluZXIgI2Vjb250YWluZXI+PC9uZy1jb250YWluZXI+LS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cImZvcm0uY29udGFpbnMoJ25hbWUnKVwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3snVGl0bGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiByZXF1aXJlZCAjdGl0bGUgLz5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICZuYnNwO1xyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3snTmFtZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxwICpuZ0lmPVwibW9kZWwucmVzb3VyY2VcIiBjbGFzcz1cIm1lc3NhZ2VcIiAoY2xpY2spPVwidW5sb2NrKCRldmVudClcIiBbaW5uZXJIVE1MXT1cIidVbmxvY2snfHRyYW5zbGF0ZVwiPjwvcD5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRpdENvbnRlbnQ/LnRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uc1wiIChhdHRhY2hlZCk9XCJhdHRhY2hlZCgkZXZlbnQpXCIgW2Nka1BvcnRhbE91dGxldF09XCJvcHRpb25zXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybS5jb250YWlucygncHJpdmlsZWdlcycpXCIgZm9ybUdyb3VwTmFtZT1cInByaXZpbGVnZXNcIj5cclxuICAgICAgICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57eydQcml2aWxlZ2VzJ3x0cmFuc2xhdGV9fTwvaDI+XHJcbiAgICAgICAgPG1hdC1zZWxlY3Rpb24tbGlzdCBmb3JtQ29udHJvbE5hbWU9XCJyb2xlc1wiICpuZ0lmPVwicm9sZXNcIj5cclxuICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKm5nRm9yPVwibGV0IHIgb2Ygcm9sZXNcIiBbdmFsdWVdPVwici5uYW1lXCI+e3tyLnRpdGxlfX08L21hdC1saXN0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8Yml6ZG9jLWFjZS1pbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ0NvbmRpdGlvbid8dHJhbnNsYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwicnVsZVwiPjwvYml6ZG9jLWFjZS1pbnB1dD5cclxuICAgICAgICAgIDxtYXQtaGludD4ge3sgJ1Byb2dyYW1tYWJsZUV4cHJlc3Npb24nfHRyYW5zbGF0ZSB9fTwvbWF0LWhpbnQ+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cIihzdmdbbW9kZWwuZmFtaWx5XXxzYW5pdGl6ZUh0bWwpfHxtb2RlbC5mYW1pbHlcIiAqbmdJZj1cIm1vZGVsLmZhbWlseVwiPjwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ3aWRnZXRDb250ZW50Py50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbnNcIiAoYXR0YWNoZWQpPVwiYXR0YWNoZWQoJGV2ZW50KVwiIFtjZGtQb3J0YWxPdXRsZXRdPVwib3B0aW9uc1wiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbmF0aW5lcj5cclxuIl19
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXItZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZGVzaWduZXItZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZGVzaWduZXItZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBZ0IsWUFBWSxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ25MLE9BQU8sRUFBNEIsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUkxQyxPQUFPLEVBQUUsV0FBVyxFQUFnQixXQUFXLEVBQWMsVUFBVSxFQUE0QixNQUFNLGdCQUFnQixDQUFDO0FBQzFILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNckUsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFtQixXQUFpQztRQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7SUFBSSxDQUFDOztpSEFEOUMsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQzs7QUFPRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW1CLFdB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LFdBQVc7c0dBdEJmLHFCQUFxQix1TEFRYixvQkFBb0IsZ0ZBQ3BCLHNCQUFzQixnREMvQ3RDLHkvRUE0Q0E7MkZETlEscUJBQXFCO2tCQU41QixTQUFTOytCQUNFLHlCQUF5Qjs7MEJBMEJoQyxRQUFROzswQkFDUixNQUFNOzJCQUFDLFdBQVc7eUZBcEJaLElBQUk7c0JBQVosS0FBSztnQkFFdUIsVUFBVTtzQkFBdEMsTUFBTTt1QkFBQyxVQUFVO2dCQUNPLE1BQU07c0JBQTlCLE1BQU07dUJBQUMsTUFBTTtnQkFHc0IsV0FBVztzQkFBOUMsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBQ0ksYUFBYTtzQkFBbEQsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSBcIi4uLy4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXJcIjtcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gXCIuLi9zeXN0ZW0uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb2xlIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyUmVmLCBFbGVtZW50TW9kZWwsIHByb2dyYW1OYW1lLCBEZXNpZ25Nb2RlLCBGQU1JTFlfU1ZHLCBEZXNpZ25lckVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi9kZWNsYXJhdGlvbnNcIjtcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvbGF5b3V0L2xheW91dC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gXCIuLi8uLi9jb3JlL3Nsb3RzL3BhbmUtcmVmXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tiaXpkb2NFZGl0Q29udGVudF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0Q29udGVudERpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikgeyB9XHJcbn1cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYml6ZG9jQ29udGVudF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb250ZW50RGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+KSB7IH1cclxufVxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tiaXpkb2NBZGRDb250ZW50XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZENvbnRlbnREaXJlY3RpdmUge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHsgfVxyXG59XHJcblxyXG4vKipcclxuKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZGVzaWduZXItZWxlbWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICdkZXNpZ25lci1lbGVtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnZGVzaWduZXItZWxlbWVudC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBEZXNpZ25lckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IHN2ZyA9IEZBTUlMWV9TVkc7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgLy9ASW5wdXQoKSBzdGF0ZTogc3RyaW5nO1xyXG4gIEBPdXRwdXQoJ2NvbnRpbnVlJykgcmVhZG9ubHkgb25Db250aW51ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCdzYXZlJykgcmVhZG9ubHkgb25TYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxFbGVtZW50TW9kZWw+KCk7XHJcbiAgcm9sZXM6IFJvbGVbXTtcclxuICBmcm9sZXM6IFJvbGVbXTtcclxuICBAQ29udGVudENoaWxkKEVkaXRDb250ZW50RGlyZWN0aXZlKSBlZGl0Q29udGVudDogRWRpdENvbnRlbnREaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChXaWRnZXRDb250ZW50RGlyZWN0aXZlKSB3aWRnZXRDb250ZW50OiBXaWRnZXRDb250ZW50RGlyZWN0aXZlO1xyXG4gIG9wdGlvbnM6IFBvcnRhbDxhbnk+O1xyXG4gIG1vZGU6IERlc2lnbk1vZGU7XHJcbiAgbW9kZWw6IEVsZW1lbnRNb2RlbDxhbnk+O1xyXG4gIHJvbGVzZmlsdGVyOiBGb3JtQ29udHJvbDtcclxuICBwcml2YXRlIF9vcHRpb25zOiBEZXNpZ25lckVsZW1lbnRDb21wb25lbnQ8YW55PjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBzdGF0ZTogYW55O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZixcclxuICAgIEBJbmplY3QoRGVzaWduZXJSZWYpIHByaXZhdGUgX3JlZjogRGVzaWduZXJSZWY8YW55PixcclxuICAgIHByaXZhdGUgX2NmcjogQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICkge1xyXG4gICAgdGhpcy5tb2RlID0gX3JlZi5tb2RlO1xyXG4gICAgdGhpcy5tb2RlbCA9IF9yZWYubW9kZWwgYXMgRWxlbWVudE1vZGVsO1xyXG4gIH1cclxuICBhdHRhY2hlZChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxEZXNpZ25lckVsZW1lbnRDb21wb25lbnQ8YW55Pj4gfCBDb21wb25lbnRSZWY8TGF5b3V0Q29tcG9uZW50Pikge1xyXG4gICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gY29tcG9uZW50UmVmO1xyXG4gICAgaWYgKHRoaXMubW9kZWwudGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5fb3B0aW9ucyA9IGluc3RhbmNlIGFzIERlc2lnbmVyRWxlbWVudENvbXBvbmVudDxhbnk+O1xyXG4gICAgICBpbnN0YW5jZS5tb2RlbCA9IHRoaXMubW9kZWw7XHJcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdhZGQnICYmICF0aGlzLl9vcHRpb25zLm9uQ29udGludWUpIHtcclxuICAgICAgICB0aGlzLm1vZGUgPSAnZWRpdCc7XHJcbiAgICAgICAgdGhpcy5fYWRkRm9ybSgpO1xyXG4gICAgICAgIHRoaXMub25Db250aW51ZS5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fb3B0aW9ucy5tb2RlID0gdGhpcy5tb2RlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIChpbnN0YW5jZSBhcyBMYXlvdXRDb21wb25lbnQpLmZpZWxkcyA9IHRoaXMubW9kZWwuYXJndW1lbnRzO1xyXG4gICAgICAoaW5zdGFuY2UgYXMgTGF5b3V0Q29tcG9uZW50KS5mb3JtdWxhdGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMubW9kZSAhPT0gJ3dpZGdldCcgJiZcclxuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ29wdGlvbnMnLCBpbnN0YW5jZS5mb3JtLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMubW9kZWwudGVtcGxhdGUpIHtcclxuICAgICAgY29uc3QgY29tcCA9IHRoaXMuX2Nmci5jb21wb25lbnQodGhpcy5tb2RlbC50ZW1wbGF0ZSk7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IG5ldyBDb21wb25lbnRQb3J0YWw8RGVzaWduZXJFbGVtZW50Q29tcG9uZW50PGFueT4+KGNvbXApO1xyXG4gICAgICB0aGlzLm1vZGUgIT09ICd3aWRnZXQnICYmXHJcbiAgICAgICAgdGhpcy5fcmVmLnN0YXRlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodiA9PiB0aGlzLnN0YXRlID0gdik7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLm1vZGUgIT09ICd3aWRnZXQnICYmIHRoaXMubW9kZWwuYXJndW1lbnRzPy5sZW5ndGgpXHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IG5ldyBDb21wb25lbnRQb3J0YWwoTGF5b3V0Q29tcG9uZW50KTtcclxuICAgIGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gJ2FkZCcpXHJcbiAgICAgIHRoaXMubW9kZSA9ICdlZGl0JztcclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xyXG4gICAgICBjYXNlICdhZGQnOlxyXG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdlZGl0JzpcclxuICAgICAgICB0aGlzLl9hZGRGb3JtKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FkZEZvcm0oKSB7XHJcbiAgICBjb25zdCBuYW1lID0gdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdGl0bGUgPSB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgdGhpcy5tb2RlbC5yZXNvdXJjZSAmJiB0aXRsZS5kaXNhYmxlKCk7XHJcbiAgICBpZiAodGhpcy5tb2RlbC5kcmFmdCkgdGl0bGUudmFsdWVDaGFuZ2VzLlxyXG4gICAgICBwaXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCh0OiBzdHJpbmcpID0+XHJcbiAgICAgICAgdCAmJiBuYW1lLnNldFZhbHVlKHByb2dyYW1OYW1lKHQpKVxyXG4gICAgICApO1xyXG4gICAgZWxzZVxyXG4gICAgICBuYW1lLmRpc2FibGUoKTtcclxuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCduYW1lJywgbmFtZSk7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgndGl0bGUnLCB0aXRsZSk7XHJcbiAgICB0aGlzLm1vZGVsLnByaXZpbGVnZXMgJiZcclxuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3ByaXZpbGVnZXMnLFxyXG4gICAgICAgIHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgICAgICAgIHJ1bGU6IG51bGwsXHJcbiAgICAgICAgICByb2xlczogdGhpcy5fZmIuY29udHJvbDxzdHJpbmdbXT4obnVsbCksXHJcbiAgICAgICAgfSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMubW9kZWwsIHsgZW1pdEV2ZW50OiAhdGhpcy5tb2RlbC5kcmFmdCB9KTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMubW9kZSAhPT0gJ3dpZGdldCcpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKT8uZm9jdXMoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVubG9jayhldnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAoKGV2dC5zcmNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS50YWdOYW1lICE9PSAnQScpIHJldHVybjtcclxuICAgIHRoaXMubW9kZWwucmVzb3VyY2UgPSBudWxsO1xyXG4gICAgdGhpcy5mb3JtLmdldCgndGl0bGUnKS5lbmFibGUoKTtcclxuICAgIHRoaXMuX3JlZi5fdW5sb2NrJC5uZXh0KGZhbHNlKTtcclxuICB9XHJcbiAgY29udGludWUoKSB7XHJcbiAgICB0aGlzLl9vcHRpb25zLm9uQ29udGludWUgJiYgdGhpcy5fb3B0aW9ucy5vbkNvbnRpbnVlKCk7XHJcbiAgICB0aGlzLm9uQ29udGludWUuZW1pdCgpO1xyXG4gICAgdGhpcy5fYWRkRm9ybSgpO1xyXG4gICAgdGhpcy5tb2RlID0gdGhpcy5fb3B0aW9ucy5tb2RlID0gJ2VkaXQnO1xyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLCB0aGlzLmZvcm0udmFsdWUpO1xyXG4gICAgdGhpcy5vblNhdmUuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIHRoaXMuX3BhbmUuY2xvc2UoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ3RybC1zIHNhdmVcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiAoZXZlbnQud2hpY2ggPT09IDgzIHx8IGV2ZW50LndoaWNoID09PSAxMTUpKSB7XHJcbiAgICAgIHRoaXMuZm9ybS52YWxpZCAmJiB0aGlzLnNhdmUoKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Py5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95Py5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29uYXRpbmVyIFtuZ1N3aXRjaF09XCJtb2RlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2FkZCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zXCIgKGF0dGFjaGVkKT1cImF0dGFjaGVkKCRldmVudClcIiBbY2RrUG9ydGFsT3V0bGV0XT1cIm9wdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgYWN0aW9uc1wiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiIChjbGljayk9XCJjb250aW51ZSgpXCI+e3snQ29udGludWUnfHRyYW5zbGF0ZX19Jm5ic3A7PG1hdC1pY29uPmRvdWJsZV9hcnJvdzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZWRpdCdcIj5cclxuICAgIDxtYXQtdG9vbGJhcj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZCB8fCAhZm9ybS5kaXJ0eVwiPjxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvbWF0LXRvb2xiYXI+XHJcbiAgICA8cCBjbGFzcz1cImhlbHBcIj57e21vZGVsLmhlbHB9fTwvcD5cclxuICAgIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCIgKm5nSWY9XCIhc3RhdGVcIlxyXG4gICAgICAgICAgKGRvY3VtZW50OmtleWRvd24pPVwiaGFuZGxlS2V5Ym9hcmRFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7J1RpdGxlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgcmVxdWlyZWQgI3RpdGxlIC8+XHJcbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3RpdGxlJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignVGl0bGUnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICZuYnNwO1xyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3snTmFtZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnbmFtZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ05hbWUnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxwICpuZ0lmPVwibW9kZWwucmVzb3VyY2VcIiBjbGFzcz1cIm1lc3NhZ2VcIiAoY2xpY2spPVwidW5sb2NrKCRldmVudClcIiBbaW5uZXJIVE1MXT1cIidVbmxvY2snfHRyYW5zbGF0ZVwiPjwvcD5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRpdENvbnRlbnQ/LnRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uc1wiIChhdHRhY2hlZCk9XCJhdHRhY2hlZCgkZXZlbnQpXCIgW2Nka1BvcnRhbE91dGxldF09XCJvcHRpb25zXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8Yml6ZG9jLWRlc2lnbmVyLXByaXZpbGVnZXMgKm5nSWY9XCJmb3JtLmNvbnRhaW5zKCdwcml2aWxlZ2VzJykgJiYgIXN0YXRlXCIgW2Zvcm1dPVwiZm9ybS5nZXQoJ3ByaXZpbGVnZXMnKVwiPjwvYml6ZG9jLWRlc2lnbmVyLXByaXZpbGVnZXM+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cIihzdmdbbW9kZWwuZmFtaWx5XXxzYW5pdGl6ZUh0bWwpfHxtb2RlbC5mYW1pbHlcIiAqbmdJZj1cIm1vZGVsLmZhbWlseVwiPjwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ3aWRnZXRDb250ZW50Py50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbnNcIiAoYXR0YWNoZWQpPVwiYXR0YWNoZWQoJGV2ZW50KVwiIFtjZGtQb3J0YWxPdXRsZXRdPVwib3B0aW9uc1wiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbmF0aW5lcj5cclxuIl19
|
@@ -0,0 +1,90 @@
|
|
1
|
+
import { Component, Inject, Input } from "@angular/core";
|
2
|
+
import { ENTER, COMMA, SEMICOLON } from "@angular/cdk/keycodes";
|
3
|
+
import { DesignerRef } from "./declarations";
|
4
|
+
import { debounceTime } from "rxjs/operators";
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "@angular/forms";
|
7
|
+
import * as i2 from "../system.service";
|
8
|
+
import * as i3 from "@angular/common";
|
9
|
+
import * as i4 from "@angular/material/list";
|
10
|
+
import * as i5 from "@angular/material/form-field";
|
11
|
+
import * as i6 from "../core/ace.input";
|
12
|
+
import * as i7 from "../../core/pipes/translate.pipe";
|
13
|
+
import * as i8 from "./declarations";
|
14
|
+
/** */
|
15
|
+
export class DesignerPrivilegesComponent {
|
16
|
+
constructor(_fb, _service, _ref) {
|
17
|
+
this._fb = _fb;
|
18
|
+
this._service = _service;
|
19
|
+
this._ref = _ref;
|
20
|
+
this.separatorKeysCodes = [ENTER, COMMA, SEMICOLON];
|
21
|
+
this.roles = [];
|
22
|
+
this.search = this._fb.control(null);
|
23
|
+
}
|
24
|
+
ngOnInit() {
|
25
|
+
this.search.valueChanges.pipe(debounceTime(150)).subscribe(v => {
|
26
|
+
if (v) {
|
27
|
+
const val = v.toLowerCase();
|
28
|
+
this.roles = this._roles.filter(r => r['_index'].indexOf(val) > -1);
|
29
|
+
}
|
30
|
+
else
|
31
|
+
this.roles = this._roles.slice();
|
32
|
+
});
|
33
|
+
this.form.addControl('roles', this._fb.control(null), { emitEvent: false });
|
34
|
+
this.form.addControl('rule', this._fb.control(null), { emitEvent: false });
|
35
|
+
this._service.roles().subscribe(r => {
|
36
|
+
this._roles = r.concat((this._ref.designer.roles).filter(r => !r.disabled));
|
37
|
+
r.forEach(r => {
|
38
|
+
this._roles[r.name] = r;
|
39
|
+
r['_index'] = (r.title || r.name).toLowerCase();
|
40
|
+
});
|
41
|
+
this._ref.designer.roles.forEach(r => {
|
42
|
+
this._roles[r.name] = r;
|
43
|
+
r['_index'] = (r.title || r.name).toLowerCase();
|
44
|
+
});
|
45
|
+
this.roles = this._roles.slice();
|
46
|
+
});
|
47
|
+
}
|
48
|
+
titleOf(name) {
|
49
|
+
const role = this._roles[name];
|
50
|
+
return role?.title || name;
|
51
|
+
}
|
52
|
+
/**
|
53
|
+
*
|
54
|
+
* @param id
|
55
|
+
*/
|
56
|
+
remove(id) {
|
57
|
+
const roles = this.form.value.roles;
|
58
|
+
const index = roles.indexOf(id);
|
59
|
+
if (index >= 0)
|
60
|
+
roles.splice(index, 1);
|
61
|
+
this.form.patchValue({});
|
62
|
+
}
|
63
|
+
/**
|
64
|
+
*
|
65
|
+
* @param inp
|
66
|
+
* @param event
|
67
|
+
*/
|
68
|
+
add(inp, event) {
|
69
|
+
const roles = this.form.value.roles;
|
70
|
+
const id = event.option.value;
|
71
|
+
if (!roles)
|
72
|
+
this.form.controls['roles'].setValue([id]);
|
73
|
+
else
|
74
|
+
roles.push(id);
|
75
|
+
inp.value = '';
|
76
|
+
this.form.patchValue({});
|
77
|
+
}
|
78
|
+
}
|
79
|
+
DesignerPrivilegesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DesignerPrivilegesComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SystemService }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component });
|
80
|
+
DesignerPrivilegesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: { form: "form" }, ngImport: i0, template: " <h2 class=\"mat-title\">{{'Privileges'|translate}}</h2>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <!--<mat-form-field class=\"flex\">\r\n <mat-chip-list #chipList [attr.aria-label]=\"''\">\r\n <mat-chip *ngFor=\"let r of form.get('roles').value\"\r\n [removable]=\"true\"\r\n (removed)=\"remove(r)\">\r\n {{titleOf(r)}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input [placeholder]=\"'Roles'|translate\"\r\n [formControl]=search\r\n #nameInput\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n </mat-chip-list>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"add(nameInput, $event)\">\r\n <mat-option *ngFor=\"let u of roles\" [value]=\"r.name\">\r\n {{r.title || r.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>-->\r\n <mat-selection-list formControlName=\"roles\" *ngIf=\"roles\">\r\n <mat-list-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title||r.name}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"rule\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.AceInput, selector: "bizdoc-ace-input", inputs: ["params", "placeholder", "required", "disabled", "value"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DesignerPrivilegesComponent, decorators: [{
|
82
|
+
type: Component,
|
83
|
+
args: [{ selector: 'bizdoc-designer-privileges', template: " <h2 class=\"mat-title\">{{'Privileges'|translate}}</h2>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <!--<mat-form-field class=\"flex\">\r\n <mat-chip-list #chipList [attr.aria-label]=\"''\">\r\n <mat-chip *ngFor=\"let r of form.get('roles').value\"\r\n [removable]=\"true\"\r\n (removed)=\"remove(r)\">\r\n {{titleOf(r)}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input [placeholder]=\"'Roles'|translate\"\r\n [formControl]=search\r\n #nameInput\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n </mat-chip-list>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"add(nameInput, $event)\">\r\n <mat-option *ngFor=\"let u of roles\" [value]=\"r.name\">\r\n {{r.title || r.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>-->\r\n <mat-selection-list formControlName=\"roles\" *ngIf=\"roles\">\r\n <mat-list-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title||r.name}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"rule\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n" }]
|
84
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SystemService }, { type: i8.DesignerRef, decorators: [{
|
85
|
+
type: Inject,
|
86
|
+
args: [DesignerRef]
|
87
|
+
}] }]; }, propDecorators: { form: [{
|
88
|
+
type: Input
|
89
|
+
}] } });
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXItcHJpdmlsZWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZGVzaWduZXItcHJpdmlsZWdlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZGVzaWduZXItcHJpdmlsZWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQUM5QyxNQUFNO0FBS04sTUFBTSxPQUFPLDJCQUEyQjtJQU10QyxZQUNVLEdBQWdCLEVBQ2hCLFFBQXVCLEVBQ0YsSUFBc0I7UUFGM0MsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFlO1FBQ0YsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFSNUMsdUJBQWtCLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBR2xFLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDVixXQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFNekMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFB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M0IsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBcUIsRUFBRSxLQUFtQztRQUM1RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUM7UUFDeEMsSUFBSSxDQUFDLEtBQUs7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDOztZQUUzQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7d0hBbEVVLDJCQUEyQiwwRUFTNUIsV0FBVzs0R0FUViwyQkFBMkIsNEZDYnhDLCs4Q0ErQkE7MkZEbEJhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSw0QkFBNEI7OzBCQVluQyxNQUFNOzJCQUFDLFdBQVc7NENBUFosSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFTlRFUiwgQ09NTUEsIFNFTUlDT0xPTiB9IGZyb20gXCJAYW5ndWxhci9jZGsva2V5Y29kZXNcIjtcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTeXN0ZW1TZXJ2aWNlIH0gZnJvbSBcIi4uL3N5c3RlbS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvbGUgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJSZWYgfSBmcm9tIFwiLi9kZWNsYXJhdGlvbnNcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbi8qKiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1kZXNpZ25lci1wcml2aWxlZ2VzJyxcclxuICB0ZW1wbGF0ZVVybDogJ2Rlc2lnbmVyLXByaXZpbGVnZXMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVzaWduZXJQcml2aWxlZ2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQSwgU0VNSUNPTE9OXTtcclxuICBASW5wdXQoKSBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgX3JvbGVzOiBSb2xlW107XHJcbiAgcm9sZXM6IFJvbGVbXSA9IFtdO1xyXG4gIHJlYWRvbmx5IHNlYXJjaCA9IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgQEluamVjdChEZXNpZ25lclJlZikgcHJpdmF0ZSBfcmVmOiBEZXNpZ25lclJlZjxhbnk+LFxyXG4gICkge1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxNTApKS5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gKHYgYXMgc3RyaW5nKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIHRoaXMucm9sZXMgPSB0aGlzLl9yb2xlcy5maWx0ZXIociA9PiByWydfaW5kZXgnXS5pbmRleE9mKHZhbCkgPiAtMSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMucm9sZXMgPSB0aGlzLl9yb2xlcy5zbGljZSgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgncm9sZXMnLCB0aGlzLl9mYi5jb250cm9sPHN0cmluZ1tdPihudWxsKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3J1bGUnLCB0aGlzLl9mYi5jb250cm9sKG51bGwpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJvbGVzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9yb2xlcyA9IHIuY29uY2F0KCh0aGlzLl9yZWYuZGVzaWduZXIucm9sZXMpLmZpbHRlcihyID0+ICFyLmRpc2FibGVkKSBhcyBhbnkpO1xyXG4gICAgICByLmZvckVhY2gociA9PiB7XHJcbiAgICAgICAgdGhpcy5fcm9sZXNbci5uYW1lXSA9IHI7XHJcbiAgICAgICAgclsnX2luZGV4J10gPSAoci50aXRsZSB8fCByLm5hbWUpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9yZWYuZGVzaWduZXIucm9sZXMuZm9yRWFjaChyID0+IHtcclxuICAgICAgICB0aGlzLl9yb2xlc1tyLm5hbWVdID0gciBhcyBhbnk7XHJcbiAgICAgICAgclsnX2luZGV4J10gPSAoci50aXRsZSB8fCByLm5hbWUpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnJvbGVzID0gdGhpcy5fcm9sZXMuc2xpY2UoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICB0aXRsZU9mKG5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgcm9sZSA9IHRoaXMuX3JvbGVzW25hbWVdO1xyXG4gICAgcmV0dXJuIHJvbGU/LnRpdGxlIHx8IG5hbWU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBpZFxyXG4gICAqL1xyXG4gIHJlbW92ZShpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCByb2xlcyA9IHRoaXMuZm9ybS52YWx1ZS5yb2xlcztcclxuICAgIGNvbnN0IGluZGV4ID0gcm9sZXMuaW5kZXhPZihpZCk7XHJcblxyXG4gICAgaWYgKGluZGV4ID49IDApXHJcbiAgICAgIHJvbGVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7fSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBpbnBcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBhZGQoaW5wOiBIVE1MSW5wdXRFbGVtZW50LCBldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3Qgcm9sZXMgPSB0aGlzLmZvcm0udmFsdWUucm9sZXM7XHJcbiAgICBjb25zdCBpZCA9IGV2ZW50Lm9wdGlvbi52YWx1ZSBhcyBzdHJpbmc7XHJcbiAgICBpZiAoIXJvbGVzKVxyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbJ3JvbGVzJ10uc2V0VmFsdWUoW2lkXSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJvbGVzLnB1c2goaWQpO1xyXG4gICAgaW5wLnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7fSk7XHJcbiAgfVxyXG59XHJcbiIsIiAgPGgyIGNsYXNzPVwibWF0LXRpdGxlXCI+e3snUHJpdmlsZWdlcyd8dHJhbnNsYXRlfX08L2gyPlxyXG4gIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDwhLS08bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICA8bWF0LWNoaXAtbGlzdCAjY2hpcExpc3QgW2F0dHIuYXJpYS1sYWJlbF09XCInJ1wiPlxyXG4gICAgICA8bWF0LWNoaXAgKm5nRm9yPVwibGV0IHIgb2YgZm9ybS5nZXQoJ3JvbGVzJykudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZShyKVwiPlxyXG4gICAgICAgIHt7dGl0bGVPZihyKX19XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgPC9tYXQtY2hpcD5cclxuICAgICAgPGlucHV0IFtwbGFjZWhvbGRlcl09XCInUm9sZXMnfHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPXNlYXJjaFxyXG4gICAgICAgICAgICAgI25hbWVJbnB1dFxyXG4gICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcclxuICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcExpc3RcIlxyXG4gICAgICAgICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiPlxyXG4gICAgPC9tYXQtY2hpcC1saXN0PlxyXG4gICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwiYWRkKG5hbWVJbnB1dCwgJGV2ZW50KVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiByb2xlc1wiIFt2YWx1ZV09XCJyLm5hbWVcIj5cclxuICAgICAgICB7e3IudGl0bGUgfHwgci5uYW1lfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+LS0+XHJcbiAgICA8bWF0LXNlbGVjdGlvbi1saXN0IGZvcm1Db250cm9sTmFtZT1cInJvbGVzXCIgKm5nSWY9XCJyb2xlc1wiPlxyXG4gICAgICA8bWF0LWxpc3Qtb3B0aW9uICpuZ0Zvcj1cImxldCByIG9mIHJvbGVzXCIgW3ZhbHVlXT1cInIubmFtZVwiPnt7ci50aXRsZXx8ci5uYW1lfX08L21hdC1saXN0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8Yml6ZG9jLWFjZS1pbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ0NvbmRpdGlvbid8dHJhbnNsYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwicnVsZVwiPjwvYml6ZG9jLWFjZS1pbnB1dD5cclxuICAgICAgPG1hdC1oaW50PiB7eyAnUHJvZ3JhbW1hYmxlRXhwcmVzc2lvbid8dHJhbnNsYXRlIH19PC9tYXQtaGludD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9kaXY+XHJcbiJdfQ==
|
@@ -38,13 +38,13 @@ let ChartViewDesignComponent = class ChartViewDesignComponent extends DesignerCu
|
|
38
38
|
}
|
39
39
|
};
|
40
40
|
ChartViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ChartViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
41
|
-
ChartViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ChartViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length > 1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field
|
41
|
+
ChartViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ChartViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length > 1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple (selectionChange)=\"seriesSelected($event)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\" *ngIf=\"options.indices?.length\">\r\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\">\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple [disabled]=\"!secondaryAxes || !secondaryAxes.length\">\r\n <mat-option *ngFor=\"let x of (thirdAxes||secondaryAxes)\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n <!--<button mat-stroked-button (click)=\"showPreview = true\">{{'Preview'|translate}}</button>-->\r\n <!--<div *ngIf=\"options.xAxis\">\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\r\n [chartType]=\"options.chartType\"\r\n [width]=\"200\"\r\n [scope]=\"options.scope\"\r\n [cube]=\"selectedCube.name\"\r\n [filters]=\"options.filters\"\r\n [xAxis]=\"options.xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [indicesChartType]=\"options.indicesChartType\"\r\n [width]=\"200\"\r\n [scope]=\"options.scope\"></bizdoc-cube-chart>\r\n </ng-container>\r\n </div>-->\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
42
42
|
ChartViewDesignComponent = __decorate([
|
43
43
|
BizDoc({ selector: 'analysis-view-designer' })
|
44
44
|
], ChartViewDesignComponent);
|
45
45
|
export { ChartViewDesignComponent };
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ChartViewDesignComponent, decorators: [{
|
47
47
|
type: Component,
|
48
|
-
args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length > 1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field
|
48
|
+
args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length > 1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" multiple (selectionChange)=\"seriesSelected($event)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Doughnut\">{{'Doughnut'|translate}}</mat-option>\r\n <mat-option value=\"HalfDoughnut\">{{'HalfDoughnut'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar\">{{'StackingBar'|translate}}</mat-option>\r\n <mat-option value=\"StackingBar100\">{{'StackingBar100'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea\">{{'StackingArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingArea100\">{{'StackingArea100'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn\">{{'StackingColumn'|translate}}</mat-option>\r\n <mat-option value=\"StackingColumn100\">{{'StackingColumn100'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingStepArea\">{{'StackingStepArea'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine\">{{'StackingLine'|translate}}</mat-option>\r\n <mat-option value=\"StackingLine100\">{{'StackingLine100'|translate}}</mat-option>\r\n <mat-option value=\"Funnel\">{{'Funnel'|translate}}</mat-option>\r\n <mat-option value=\"Pyramid\">{{'Pyramid'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\" *ngIf=\"options.indices?.length\">\r\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"indicesChartType\">\r\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\r\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\r\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\r\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\r\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\r\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\r\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple [disabled]=\"!secondaryAxes || !secondaryAxes.length\">\r\n <mat-option *ngFor=\"let x of (thirdAxes||secondaryAxes)\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n <!--<button mat-stroked-button (click)=\"showPreview = true\">{{'Preview'|translate}}</button>-->\r\n <!--<div *ngIf=\"options.xAxis\">\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\r\n [chartType]=\"options.chartType\"\r\n [width]=\"200\"\r\n [scope]=\"options.scope\"\r\n [cube]=\"selectedCube.name\"\r\n [filters]=\"options.filters\"\r\n [xAxis]=\"options.xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [indicesChartType]=\"options.indicesChartType\"\r\n [width]=\"200\"\r\n [scope]=\"options.scope\"></bizdoc-cube-chart>\r\n </ng-container>\r\n </div>-->\r\n</ng-template>\r\n" }]
|
49
49
|
}] });
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHlzaXMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvYW5hbHlzaXMtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvYW5hbHlzaXMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7SUFJNUQsd0JBQXdCLFNBQXhCLHdCQUF5QixTQUFRLDRCQUFnRDs7O1FBQ25GLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxNQUFNLEVBQUUsSUFBSTtZQUNaLE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztLQVVKO0lBVEMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVGLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDWixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQzs7Z0JBRXRELElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7cUhBckJZLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDJFQ1RyQyxpNE5Ba0hBO0FEekdhLHdCQUF3QjtJQURsQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztHQUNwQyx3QkFBd0IsQ0FxQnBDO1NBckJZLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUZwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgQ2hhcnRTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdzL2N1YmUvY2hhcnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQsIGlzQWNjdW0gfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnYW5hbHlzaXMtdmlldy5jb21wb25lbnQuaHRtbCcgfSlcclxuICBAQml6RG9jKHsgc2VsZWN0b3I6ICdhbmFseXNpcy12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnRWaWV3RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxDaGFydFNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiBudWxsLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGNoYXJ0VHlwZTogbnVsbCxcclxuICAgIGluZGljZXNDaGFydFR5cGU6IG51bGwsXHJcbiAgICBhZ2dyZWdhdGU6IG51bGwsXHJcbiAgICBmaWx0ZXJzOiB0aGlzLl9mYi5ncm91cCh7fSksXHJcbiAgICBzY29wZTogbnVsbFxyXG4gIH0pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuZm9ybS5nZXQoJ2NoYXJ0VHlwZScpLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLm9wdGlvbnMuY2hhcnRUeXBlKSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICBpZiAoaXNBY2N1bSh2KSlcclxuICAgICAgICB0aGlzLmRpc2FibGUoJ2luZGljZXNDaGFydFR5cGUnLCAnc2VyaWVzJywgJ2luZGljZXMnKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuZW5hYmxlKCdpbmRpY2VzQ2hhcnRUeXBlJywgJ3NlcmllcycsICdpbmRpY2VzJyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICd3aWRnZXQnOyBlbHNlIGVkaXRcIj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdD5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoID4gMVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J1hBeGlzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInhBeGlzXCIgcmVxdWlyZWQgbXVsdGlwbGUgKHNlbGVjdGlvbkNoYW5nZSk9XCJ4QXhpc1NlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmU/LmF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlfHx4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+Jm5ic3A7XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzZXJpZXNcIiBtdWx0aXBsZSAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlcmllc1NlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIHNlY29uZGFyeUF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlfHx4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmU/LmluZGljZXM/Lmxlbmd0aFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0luZGljZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlLmluZGljZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlfHx4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snQ2hhcnRUeXBlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNoYXJ0VHlwZVwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJQaWVcIj57eydQaWUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJEb3VnaG51dFwiPnt7J0RvdWdobnV0J3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiSGFsZkRvdWdobnV0XCI+e3snSGFsZkRvdWdobnV0J3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQ29sdW1uXCI+e3snQ29sdW1uJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQmFyXCI+e3snQmFyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQnViYmxlXCI+e3snQnViYmxlJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RhY2tpbmdCYXJcIj57eydTdGFja2luZ0Jhcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN0YWNraW5nQmFyMTAwXCI+e3snU3RhY2tpbmdCYXIxMDAnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJMaW5lXCI+e3snTGluZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlNwbGluZVwiPnt7J1NwbGluZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkFyZWFcIj57eydBcmVhJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3BsaW5lQXJlYVwiPnt7J1NwbGluZUFyZWEnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTdGFja2luZ0FyZWFcIj57eydTdGFja2luZ0FyZWEnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTdGFja2luZ0FyZWExMDBcIj57eydTdGFja2luZ0FyZWExMDAnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTdGFja2luZ0NvbHVtblwiPnt7J1N0YWNraW5nQ29sdW1uJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RhY2tpbmdDb2x1bW4xMDBcIj57eydTdGFja2luZ0NvbHVtbjEwMCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlNjYXR0ZXJcIj57eydTY2F0dGVyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiUG9sYXJcIj57eydQb2xhcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlJhZGFyXCI+e3snUmFkYXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTdGVwTGluZVwiPnt7J1N0ZXBMaW5lJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RlcEFyZWFcIj57eydTdGVwQXJlYSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN0YWNraW5nU3RlcEFyZWFcIj57eydTdGFja2luZ1N0ZXBBcmVhJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RhY2tpbmdMaW5lXCI+e3snU3RhY2tpbmdMaW5lJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RhY2tpbmdMaW5lMTAwXCI+e3snU3RhY2tpbmdMaW5lMTAwJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiRnVubmVsXCI+e3snRnVubmVsJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiUHlyYW1pZFwiPnt7J1B5cmFtaWQnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiICpuZ0lmPVwib3B0aW9ucy5pbmRpY2VzPy5sZW5ndGhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J0luZGljZXNDaGFydFR5cGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kaWNlc0NoYXJ0VHlwZVwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJCYXJcIj57eydCYXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJCdWJibGVcIj57eydCdWJibGUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJMaW5lXCI+e3snTGluZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlNwbGluZVwiPnt7J1NwbGluZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkFyZWFcIj57eydBcmVhJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3BsaW5lQXJlYVwiPnt7J1NwbGluZUFyZWEnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTY2F0dGVyXCI+e3snU2NhdHRlcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlBvbGFyXCI+e3snUG9sYXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJSYWRhclwiPnt7J1JhZGFyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RlcExpbmVcIj57eydTdGVwTGluZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN0ZXBBcmVhXCI+e3snU3RlcEFyZWEnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0FnZ3JlZ2F0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRlXCIgbXVsdGlwbGUgW2Rpc2FibGVkXT1cIiFzZWNvbmRhcnlBeGVzIHx8ICFzZWNvbmRhcnlBeGVzLmxlbmd0aFwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mICh0aGlyZEF4ZXN8fHNlY29uZGFyeUF4ZXMpXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWhpbnQ+PC9tYXQtaGludD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3ViZVwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57eydGaWx0ZXJzJ3x0cmFuc2xhdGV9fTwvaDI+XHJcbiAgICAgIDxiaXpkb2MtZGVzaWduZXItY3ViZS1maWx0ZXIgW2N1YmVdPVwiY3ViZVwiIFtmb3JtXT1cImZvcm0uZ2V0KCdmaWx0ZXJzJylcIiBbbW9kZWxdPVwib3B0aW9ucy5maWx0ZXJzXCI+PC9iaXpkb2MtZGVzaWduZXItY3ViZS1maWx0ZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Zvcm0+XHJcbiAgPCEtLTxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJzaG93UHJldmlldyA9IHRydWVcIj57eydQcmV2aWV3J3x0cmFuc2xhdGV9fTwvYnV0dG9uPi0tPlxyXG4gIDwhLS08ZGl2ICpuZ0lmPVwib3B0aW9ucy54QXhpc1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXNBY2N1bVwiPlxyXG4gICAgICA8Yml6ZG9jLWN1YmUtYWNjdW0gKm5nU3dpdGNoQ2FzZT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NoYXJ0VHlwZV09XCJvcHRpb25zLmNoYXJ0VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPVwiMjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzY29wZV09XCJvcHRpb25zLnNjb3BlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjdWJlXT1cInNlbGVjdGVkQ3ViZS5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJzXT1cIm9wdGlvbnMuZmlsdGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbeEF4aXNdPVwib3B0aW9ucy54QXhpc1wiPjwvYml6ZG9jLWN1YmUtYWNjdW0+XHJcbiAgICAgIDxiaXpkb2MtY3ViZS1jaGFydCAqbmdTd2l0Y2hEZWZhdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY3ViZV09XCJjdWJlLm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3hBeGlzXT1cIm9wdGlvbnMueEF4aXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Nlcmllc109XCJvcHRpb25zLnNlcmllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJvcHRpb25zLmluZGljZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcnNdPVwib3B0aW9ucy5maWx0ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFydFR5cGVdPVwib3B0aW9ucy5jaGFydFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2luZGljZXNDaGFydFR5cGVdPVwib3B0aW9ucy5pbmRpY2VzQ2hhcnRUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIyMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Njb3BlXT1cIm9wdGlvbnMuc2NvcGVcIj48L2JpemRvYy1jdWJlLWNoYXJ0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+LS0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHlzaXMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvYW5hbHlzaXMtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvYW5hbHlzaXMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7SUFJNUQsd0JBQXdCLFNBQXhCLHdCQUF5QixTQUFRLDRCQUFnRDs7O1FBQ25GLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxNQUFNLEVBQUUsSUFBSTtZQUNaLE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztLQVVKO0lBVEMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVGLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDWixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQzs7Z0JBRXRELElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7cUhBckJZLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDJFQ1RyQyxrNU5BaUhBO0FEeEdhLHdCQUF3QjtJQURsQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztHQUNwQyx3QkFBd0IsQ0FxQnBDO1NBckJZLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUZwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgQ2hhcnRTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdzL2N1YmUvY2hhcnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQsIGlzQWNjdW0gfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnYW5hbHlzaXMtdmlldy5jb21wb25lbnQuaHRtbCcgfSlcclxuICBAQml6RG9jKHsgc2VsZWN0b3I6ICdhbmFseXNpcy12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnRWaWV3RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxDaGFydFNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiBudWxsLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGNoYXJ0VHlwZTogbnVsbCxcclxuICAgIGluZGljZXNDaGFydFR5cGU6IG51bGwsXHJcbiAgICBhZ2dyZWdhdGU6IG51bGwsXHJcbiAgICBmaWx0ZXJzOiB0aGlzLl9mYi5ncm91cCh7fSksXHJcbiAgICBzY29wZTogbnVsbFxyXG4gIH0pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuZm9ybS5nZXQoJ2NoYXJ0VHlwZScpLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLm9wdGlvbnMuY2hhcnRUeXBlKSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICBpZiAoaXNBY2N1bSh2KSlcclxuICAgICAgICB0aGlzLmRpc2FibGUoJ2luZGljZXNDaGFydFR5cGUnLCAnc2VyaWVzJywgJ2luZGljZXMnKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuZW5hYmxlKCdpbmRpY2VzQ2hhcnRUeXBlJywgJ3NlcmllcycsICdpbmRpY2VzJyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICd3aWRnZXQnOyBlbHNlIGVkaXRcIj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdD5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoID4gMVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J1hBeGlzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInhBeGlzXCIgcmVxdWlyZWQgbXVsdGlwbGUgKHNlbGVjdGlvbkNoYW5nZSk9XCJ4QXhpc1NlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmU/LmF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlfHx4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1hBeGlzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICZuYnNwO1xyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgbXVsdGlwbGUgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZXJpZXNTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBzZWNvbmRhcnlBeGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZXx8eC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlPy5pbmRpY2VzPy5sZW5ndGhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydJbmRpY2VzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJpbmRpY2VzXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2YgY3ViZS5pbmRpY2VzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZXx8eC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J0NoYXJ0VHlwZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjaGFydFR5cGVcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiUGllXCI+e3snUGllJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiRG91Z2hudXRcIj57eydEb3VnaG51dCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkhhbGZEb3VnaG51dFwiPnt7J0hhbGZEb3VnaG51dCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkNvbHVtblwiPnt7J0NvbHVtbid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkJhclwiPnt7J0Jhcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkJ1YmJsZVwiPnt7J0J1YmJsZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN0YWNraW5nQmFyXCI+e3snU3RhY2tpbmdCYXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTdGFja2luZ0JhcjEwMFwiPnt7J1N0YWNraW5nQmFyMTAwJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiTGluZVwiPnt7J0xpbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTcGxpbmVcIj57eydTcGxpbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJBcmVhXCI+e3snQXJlYSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlNwbGluZUFyZWFcIj57eydTcGxpbmVBcmVhJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RhY2tpbmdBcmVhXCI+e3snU3RhY2tpbmdBcmVhJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RhY2tpbmdBcmVhMTAwXCI+e3snU3RhY2tpbmdBcmVhMTAwJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RhY2tpbmdDb2x1bW5cIj57eydTdGFja2luZ0NvbHVtbid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN0YWNraW5nQ29sdW1uMTAwXCI+e3snU3RhY2tpbmdDb2x1bW4xMDAnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTY2F0dGVyXCI+e3snU2NhdHRlcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlBvbGFyXCI+e3snUG9sYXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJSYWRhclwiPnt7J1JhZGFyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RlcExpbmVcIj57eydTdGVwTGluZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN0ZXBBcmVhXCI+e3snU3RlcEFyZWEnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTdGFja2luZ1N0ZXBBcmVhXCI+e3snU3RhY2tpbmdTdGVwQXJlYSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN0YWNraW5nTGluZVwiPnt7J1N0YWNraW5nTGluZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN0YWNraW5nTGluZTEwMFwiPnt7J1N0YWNraW5nTGluZTEwMCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkZ1bm5lbFwiPnt7J0Z1bm5lbCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlB5cmFtaWRcIj57eydQeXJhbWlkJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIiAqbmdJZj1cIm9wdGlvbnMuaW5kaWNlcz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydJbmRpY2VzQ2hhcnRUeXBlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNDaGFydFR5cGVcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQmFyXCI+e3snQmFyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQnViYmxlXCI+e3snQnViYmxlJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiTGluZVwiPnt7J0xpbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTcGxpbmVcIj57eydTcGxpbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJBcmVhXCI+e3snQXJlYSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlNwbGluZUFyZWFcIj57eydTcGxpbmVBcmVhJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU2NhdHRlclwiPnt7J1NjYXR0ZXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJQb2xhclwiPnt7J1BvbGFyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiUmFkYXJcIj57eydSYWRhcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN0ZXBMaW5lXCI+e3snU3RlcExpbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTdGVwQXJlYVwiPnt7J1N0ZXBBcmVhJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydBZ2dyZWdhdGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImFnZ3JlZ2F0ZVwiIG11bHRpcGxlIFtkaXNhYmxlZF09XCIhc2Vjb25kYXJ5QXhlcyB8fCAhc2Vjb25kYXJ5QXhlcy5sZW5ndGhcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiAodGhpcmRBeGVzfHxzZWNvbmRhcnlBeGVzKVwiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1oaW50PjwvbWF0LWhpbnQ+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGJpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlciAqbmdJZj1cImN1YmVcIiBbY3ViZV09XCJjdWJlXCIgW2Zvcm1dPVwiZm9ybS5nZXQoJ2ZpbHRlcnMnKVwiPjwvYml6ZG9jLWRlc2lnbmVyLWN1YmUtZmlsdGVyPlxyXG4gIDwvZm9ybT5cclxuICA8IS0tPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cInNob3dQcmV2aWV3ID0gdHJ1ZVwiPnt7J1ByZXZpZXcnfHRyYW5zbGF0ZX19PC9idXR0b24+LS0+XHJcbiAgPCEtLTxkaXYgKm5nSWY9XCJvcHRpb25zLnhBeGlzXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJpc0FjY3VtXCI+XHJcbiAgICAgIDxiaXpkb2MtY3ViZS1hY2N1bSAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY2hhcnRUeXBlXT1cIm9wdGlvbnMuY2hhcnRUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIyMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Njb3BlXT1cIm9wdGlvbnMuc2NvcGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2N1YmVdPVwic2VsZWN0ZWRDdWJlLm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcnNdPVwib3B0aW9ucy5maWx0ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFt4QXhpc109XCJvcHRpb25zLnhBeGlzXCI+PC9iaXpkb2MtY3ViZS1hY2N1bT5cclxuICAgICAgPGJpemRvYy1jdWJlLWNoYXJ0ICpuZ1N3aXRjaERlZmF1bHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjdWJlXT1cImN1YmUubmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbeEF4aXNdPVwib3B0aW9ucy54QXhpc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc2VyaWVzXT1cIm9wdGlvbnMuc2VyaWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmRpY2VzXT1cIm9wdGlvbnMuaW5kaWNlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyc109XCJvcHRpb25zLmZpbHRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NoYXJ0VHlwZV09XCJvcHRpb25zLmNoYXJ0VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc0NoYXJ0VHlwZV09XCJvcHRpb25zLmluZGljZXNDaGFydFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjIwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc2NvcGVdPVwib3B0aW9ucy5zY29wZVwiPjwvYml6ZG9jLWN1YmUtY2hhcnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj4tLT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|