@bizdoc/core 1.17.1 → 1.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/esm2020/lib/admin/architecture/elements/control.component.mjs +7 -5
  2. package/esm2020/lib/admin/architecture/elements/rule.component.mjs +1 -1
  3. package/esm2020/lib/core/fields/checklist.designer.mjs +11 -11
  4. package/esm2020/lib/core/fields/checklist.field.mjs +16 -24
  5. package/esm2020/lib/core/fields/options.base.mjs +41 -0
  6. package/esm2020/lib/core/fields/options.component.mjs +3 -3
  7. package/esm2020/lib/core/fields/radio-button.designer.mjs +9 -8
  8. package/esm2020/lib/core/fields/radio-button.field.mjs +16 -23
  9. package/esm2020/lib/core/fields/select.designer.mjs +12 -12
  10. package/esm2020/lib/core/fields/select.field.mjs +17 -23
  11. package/esm2020/lib/reports/arguments-component.mjs +1 -1
  12. package/esm2020/lib/reports/report-ref.mjs +4 -2
  13. package/esm2020/lib/reports/report-viewer.component.mjs +4 -2
  14. package/fesm2015/bizdoc-core.mjs +458 -439
  15. package/fesm2015/bizdoc-core.mjs.map +1 -1
  16. package/fesm2020/bizdoc-core.mjs +454 -435
  17. package/fesm2020/bizdoc-core.mjs.map +1 -1
  18. package/lib/admin/architecture/elements/control.component.d.ts +1 -0
  19. package/lib/admin/architecture/elements/rule.component.d.ts +1 -2
  20. package/lib/core/fields/checklist.designer.d.ts +7 -10
  21. package/lib/core/fields/checklist.field.d.ts +2 -13
  22. package/lib/core/fields/options.base.d.ts +28 -0
  23. package/lib/core/fields/radio-button.designer.d.ts +6 -6
  24. package/lib/core/fields/radio-button.field.d.ts +2 -13
  25. package/lib/core/fields/select.designer.d.ts +5 -6
  26. package/lib/core/fields/select.field.d.ts +2 -14
  27. package/lib/reports/report-ref.d.ts +3 -1
  28. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component } from '@angular/core';
3
3
  import { BizDoc } from '../decorators';
4
+ import { OptionsControlDesigner } from './options.base';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../session.service";
6
7
  import * as i2 from "@angular/forms";
@@ -12,37 +13,36 @@ import * as i7 from "@angular/material/checkbox";
12
13
  import * as i8 from "../../admin/core/localized-string.component";
13
14
  import * as i9 from "./options.component";
14
15
  import * as i10 from "../pipes/translate.pipe";
15
- let SelectControlDesigner = class SelectControlDesigner {
16
- constructor(_session, _fb) {
17
- this._session = _session;
16
+ let SelectControlDesigner = class SelectControlDesigner extends OptionsControlDesigner {
17
+ constructor(session, _fb) {
18
+ super(session);
18
19
  this._fb = _fb;
19
20
  this.form = this._fb.group({
20
21
  label: null,
21
22
  placeholder: null,
22
23
  autocomplete: null,
23
24
  multiple: null,
24
- dataType: null,
25
+ dataType: this._fb.control(null, this._typeRequired),
25
26
  });
26
- this.datatypes = this._session.profile.types;
27
27
  }
28
28
  onBind(model) {
29
29
  this.model = model;
30
30
  }
31
31
  };
32
32
  SelectControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SelectControlDesigner, deps: [{ token: i1.SessionService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
33
- SelectControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectControlDesigner, selector: "ng-component", ngImport: i0, template: `
33
+ SelectControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
34
34
  <form autocomplete="off" [formGroup]="form" class="column">
35
35
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
36
36
  <mat-form-field>
37
37
  <mat-label>{{'DataType'|translate}}</mat-label>
38
- <mat-select formControlName="dataType" required>
38
+ <mat-select formControlName="dataType">
39
39
  <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
40
40
  </mat-select>
41
- <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:'DataType'"></mat-error>
41
+ <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
42
42
  </mat-form-field>
43
43
  <bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
44
44
  <mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
45
- </form>`, isInline: true, 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: 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: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i8.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "component", type: i9.ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
45
+ </form>`, isInline: true, 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: 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.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: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i8.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "component", type: i9.ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
46
46
  SelectControlDesigner = __decorate([
47
47
  BizDoc({ selector: 'select-control-designer' })
48
48
  ], SelectControlDesigner);
@@ -55,14 +55,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
55
55
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
56
56
  <mat-form-field>
57
57
  <mat-label>{{'DataType'|translate}}</mat-label>
58
- <mat-select formControlName="dataType" required>
58
+ <mat-select formControlName="dataType">
59
59
  <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
60
60
  </mat-select>
61
- <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:'DataType'"></mat-error>
61
+ <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
62
62
  </mat-form-field>
63
63
  <bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
64
64
  <mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
65
65
  </form>`
66
66
  }]
67
67
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.FormBuilder }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9zZWxlY3QuZGVzaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7O0FBcUJoQyxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQVVoQyxZQUNVLFFBQXdCLEVBQ3hCLEdBQWdCO1FBRGhCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFYakIsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLElBQUk7WUFDakIsWUFBWSxFQUFFLElBQUk7WUFDbEIsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQU1ELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7SUFDRCxNQUFNLENBQUUsS0FBa0I7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQzs7a0hBakJVLHFCQUFxQjtzR0FBckIscUJBQXFCLG9EQWhCdEI7Ozs7Ozs7Ozs7OztRQVlKO0FBSUsscUJBQXFCO0lBRGpDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRSxDQUFDO0dBQ25DLHFCQUFxQixDQWtCakM7U0FsQlkscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBakJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O1FBWUo7aUJBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbnRyb2xEZXNpZ25lciB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTG9jYWxpemVkU3RyaW5nLCBUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBcclxuICAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgPGJpemRvYy1sb2NhbGl6ZWQtc3RyaW5nIFtwbGFjZWhvbGRlcl09XCInTGFiZWwnfHRyYW5zbGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cImxhYmVsXCI+PC9iaXpkb2MtbG9jYWxpemVkLXN0cmluZz5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydEYXRhVHlwZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZGF0YVR5cGVcIiByZXF1aXJlZD5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdCBvZiBkYXRhdHlwZXNcIiBbdmFsdWVdPVwidC5uYW1lXCI+e3t0LnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdkYXRhVHlwZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTonRGF0YVR5cGUnXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxiaXpkb2MtZGVzaWduLW9wdGlvbnMgW2Zvcm1dPVwiZm9ybVwiIFttb2RlbF09XCJtb2RlbFwiPjwvYml6ZG9jLWRlc2lnbi1vcHRpb25zPlxyXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cIm11bHRpcGxlXCI+e3snTXVsdGlwbGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcbjwvZm9ybT5gIH0pXHJcbi8vICAgICAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJhdXRvY29tcGxldGVcIj57eydBdXRvY29tcGxldGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcblxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdzZWxlY3QtY29udHJvbC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbnRyb2xEZXNpZ25lciBpbXBsZW1lbnRzIENvbnRyb2xEZXNpZ25lcjxTZWxlY3RNb2RlbD4ge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBsYWJlbDogbnVsbCxcclxuICAgIHBsYWNlaG9sZGVyOiBudWxsLFxyXG4gICAgYXV0b2NvbXBsZXRlOiBudWxsLFxyXG4gICAgbXVsdGlwbGU6IG51bGwsXHJcbiAgICBkYXRhVHlwZTogbnVsbCxcclxuICB9KTtcclxuICByZWFkb25seSBkYXRhdHlwZXM6IFR5cGVbXTtcclxuICAgIG1vZGVsOiBTZWxlY3RNb2RlbDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICB0aGlzLmRhdGF0eXBlcyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS50eXBlcztcclxuICB9XHJcbiAgb25CaW5kPyhtb2RlbDogU2VsZWN0TW9kZWwpIHtcclxuICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RNb2RlbCB7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcclxuICBhdXRvY29tcGxldGU/OiBib29sZWFuO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIGRhdGFUeXBlPzogc3RyaW5nO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogTG9jYWxpemVkU3RyaW5nIH1bXTtcclxufVxyXG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9zZWxlY3QuZGVzaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBbUJqRCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFzQixTQUFRLHNCQUFzQjtJQVMvRCxZQUNFLE9BQXVCLEVBQ2YsR0FBZ0I7UUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRFAsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQVZqQixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsSUFBSTtZQUNqQixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNyRCxDQUFDLENBQUM7SUFNSCxDQUFDO0lBQ0QsTUFBTSxDQUFFLEtBQWtCO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7O2tIQWhCVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwyRUFoQnRCOzs7Ozs7Ozs7Ozs7UUFZSjtBQUlLLHFCQUFxQjtJQURqQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztHQUNuQyxxQkFBcUIsQ0FpQmpDO1NBakJZLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQWpCakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztRQVlKO2lCQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb250cm9sRGVzaWduZXIgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IExvY2FsaXplZFN0cmluZyB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3B0aW9uc0NvbnRyb2xEZXNpZ25lciB9IGZyb20gJy4vb3B0aW9ucy5iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgXHJcbiAgIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxiaXpkb2MtbG9jYWxpemVkLXN0cmluZyBbcGxhY2Vob2xkZXJdPVwiJ0xhYmVsJ3x0cmFuc2xhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJsYWJlbFwiPjwvYml6ZG9jLWxvY2FsaXplZC1zdHJpbmc+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snRGF0YVR5cGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImRhdGFUeXBlXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHQgb2YgZGF0YXR5cGVzXCIgW3ZhbHVlXT1cInQubmFtZVwiPnt7dC50aXRsZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnZGF0YVR5cGUnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdEYXRhVHlwZSd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8Yml6ZG9jLWRlc2lnbi1vcHRpb25zIFtmb3JtXT1cImZvcm1cIiBbbW9kZWxdPVwibW9kZWxcIj48L2JpemRvYy1kZXNpZ24tb3B0aW9ucz5cclxuICAgICAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJtdWx0aXBsZVwiPnt7J011bHRpcGxlJ3x0cmFuc2xhdGV9fTwvbWF0LWNoZWNrYm94PlxyXG48L2Zvcm0+YCB9KVxyXG4vLyAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiYXV0b2NvbXBsZXRlXCI+e3snQXV0b2NvbXBsZXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWNoZWNrYm94PlxyXG5cclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnc2VsZWN0LWNvbnRyb2wtZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb250cm9sRGVzaWduZXIgZXh0ZW5kcyBPcHRpb25zQ29udHJvbERlc2lnbmVyIGltcGxlbWVudHMgQ29udHJvbERlc2lnbmVyPFNlbGVjdE1vZGVsPiB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGxhYmVsOiBudWxsLFxyXG4gICAgcGxhY2Vob2xkZXI6IG51bGwsXHJcbiAgICBhdXRvY29tcGxldGU6IG51bGwsXHJcbiAgICBtdWx0aXBsZTogbnVsbCxcclxuICAgIGRhdGFUeXBlOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIHRoaXMuX3R5cGVSZXF1aXJlZCksXHJcbiAgfSk7XHJcbiAgbW9kZWw6IFNlbGVjdE1vZGVsO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHN1cGVyKHNlc3Npb24pO1xyXG4gIH1cclxuICBvbkJpbmQ/KG1vZGVsOiBTZWxlY3RNb2RlbCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xyXG4gIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdE1vZGVsIHtcclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIGF1dG9jb21wbGV0ZT86IGJvb2xlYW47XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgZGF0YVR5cGU/OiBzdHJpbmc7XHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgb3B0aW9ucz86IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBMb2NhbGl6ZWRTdHJpbmcgfVtdO1xyXG59XHJcbiJdfQ==
@@ -1,29 +1,23 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component, ViewChild } from '@angular/core';
3
- import { FormControl, Validators } from '@angular/forms';
3
+ import { FormControl } from '@angular/forms';
4
4
  import { MatSelect } from '@angular/material/select';
5
5
  import { TypeSelect } from '../inputs/select.input';
6
6
  import { BizDoc } from '../decorators';
7
+ import { OptionsControlField } from './options.base';
7
8
  import * as i0 from "@angular/core";
8
- import * as i1 from "../datasource.service";
9
- import * as i2 from "@angular/common";
10
- import * as i3 from "@angular/forms";
11
- import * as i4 from "@angular/material/core";
12
- import * as i5 from "@angular/material/form-field";
13
- import * as i6 from "@angular/material/select";
14
- import * as i7 from "../pipes/localized-string.pipe";
15
- import * as i8 from "../pipes/type-value.pipe";
16
- import * as i9 from "../pipes/translate.pipe";
17
- let SelectField = class SelectField {
18
- constructor(_ds) {
19
- this._ds = _ds;
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "@angular/forms";
11
+ import * as i3 from "@angular/material/core";
12
+ import * as i4 from "@angular/material/form-field";
13
+ import * as i5 from "@angular/material/select";
14
+ import * as i6 from "../pipes/localized-string.pipe";
15
+ import * as i7 from "../pipes/translate.pipe";
16
+ let SelectField = class SelectField extends OptionsControlField {
17
+ constructor() {
18
+ super(...arguments);
20
19
  this.control = new FormControl();
21
20
  }
22
- ngOnInit() {
23
- this.dataType &&
24
- this._ds.all(this.dataType, this.params).subscribe(v => this.options = v);
25
- this.required && this.control.addValidators(Validators.required);
26
- }
27
21
  focus() {
28
22
  if (this.input)
29
23
  this.input.focus();
@@ -31,20 +25,20 @@ let SelectField = class SelectField {
31
25
  this.select.focus();
32
26
  }
33
27
  };
34
- SelectField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SelectField, deps: [{ token: i1.DatasourceService }], target: i0.ɵɵFactoryTarget.Component });
35
- SelectField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: TypeSelect, descendants: true }, { propertyName: "select", first: true, predicate: MatSelect, descendants: true }], ngImport: i0, template: "<mat-form-field [appearance]=appearance *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <mat-select [placeholder]=\"placeholder\" [formControl]=control\r\n [required]=\"required\" [multiple]=\"multiple\">\r\n <mat-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</mat-form-field>\r\n<ng-template #view>\r\n <span>{{control.value | typeValue: dataType | async}}</span>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { 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: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i8.TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
28
+ SelectField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SelectField, deps: null, target: i0.ɵɵFactoryTarget.Component });
29
+ SelectField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: TypeSelect, descendants: true }, { propertyName: "select", first: true, predicate: MatSelect, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=appearance *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <mat-select [placeholder]=\"placeholder\" [formControl]=control\r\n [required]=\"required\" [multiple]=\"multiple\">\r\n <mat-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</mat-form-field>\r\n<ng-template #view>\r\n <span *ngIf=\"control.value\" [ngSwitch]=\"multiple\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <ng-container *ngFor=\"let o of control.value; index as index\">\r\n {{optionOf(o)|localizedString}}\r\n <ng-container *ngIf=\"index>0\">,&nbsp;</ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{optionOf(control.value)|localizedString}}\r\n </ng-container>\r\n </span>\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: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { 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: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
36
30
  SelectField = __decorate([
37
31
  BizDoc({ selector: 'select-control' })
38
32
  ], SelectField);
39
33
  export { SelectField };
40
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SelectField, decorators: [{
41
35
  type: Component,
42
- args: [{ host: { class: 'field' }, template: "<mat-form-field [appearance]=appearance *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <mat-select [placeholder]=\"placeholder\" [formControl]=control\r\n [required]=\"required\" [multiple]=\"multiple\">\r\n <mat-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</mat-form-field>\r\n<ng-template #view>\r\n <span>{{control.value | typeValue: dataType | async}}</span>\r\n</ng-template>\r\n" }]
43
- }], ctorParameters: function () { return [{ type: i1.DatasourceService }]; }, propDecorators: { input: [{
36
+ args: [{ host: { class: 'field' }, template: "<mat-form-field [appearance]=appearance *ngIf=\"mode==='compose';else view\">\r\n <mat-label>{{label |localizedString}}</mat-label>\r\n <mat-select [placeholder]=\"placeholder\" [formControl]=control\r\n [required]=\"required\" [multiple]=\"multiple\">\r\n <mat-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</mat-form-field>\r\n<ng-template #view>\r\n <span *ngIf=\"control.value\" [ngSwitch]=\"multiple\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <ng-container *ngFor=\"let o of control.value; index as index\">\r\n {{optionOf(o)|localizedString}}\r\n <ng-container *ngIf=\"index>0\">,&nbsp;</ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{optionOf(control.value)|localizedString}}\r\n </ng-container>\r\n </span>\r\n</ng-template>\r\n" }]
37
+ }], propDecorators: { input: [{
44
38
  type: ViewChild,
45
39
  args: [TypeSelect]
46
40
  }], select: [{
47
41
  type: ViewChild,
48
42
  args: [MatSelect]
49
43
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9zZWxlY3QuZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL3NlbGVjdC5maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7QUFRaEMsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQWN0QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUpqQyxZQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUtyQyxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRO1lBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDOztZQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7O3dHQTFCVSxXQUFXOzRGQUFYLFdBQVcsOEhBV1gsVUFBVSx5RUFDVixTQUFTLGdEQzVCdEIsdXNCQVlBO0FESWEsV0FBVztJQUR2QixNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztHQUMxQixXQUFXLENBNEJ2QjtTQTVCWSxXQUFXOzJGQUFYLFdBQVc7a0JBTHZCLFNBQVM7MkJBRUYsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO3dHQWNELEtBQUs7c0JBQTNCLFNBQVM7dUJBQUMsVUFBVTtnQkFDQyxNQUFNO3NCQUEzQixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29udHJvbENvbXBvbmVudCwgVmlld01vZGUgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgVHlwZVNlbGVjdCB9IGZyb20gJy4uL2lucHV0cy9zZWxlY3QuaW5wdXQnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRTdHJpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdzZWxlY3QuZmllbGQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2ZpZWxkJyB9XHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ3NlbGVjdC1jb250cm9sJyB9KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0RmllbGQgaW1wbGVtZW50cyBDb250cm9sQ29tcG9uZW50PGFueT4sIE9uSW5pdCB7XHJcbiAgcGFyYW1zOiBhbnk7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIGF1dG9jb21wbGV0ZT86IGJvb2xlYW47XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgaGludD86IHN0cmluZztcclxuICBkYXRhVHlwZT86IHN0cmluZztcclxuICBsYWJlbD86IHN0cmluZztcclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgb3B0aW9ucz86IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBMb2NhbGl6ZWRTdHJpbmcgfVtdO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBAVmlld0NoaWxkKFR5cGVTZWxlY3QpIGlucHV0OiBUeXBlU2VsZWN0O1xyXG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0KSBzZWxlY3Q6IE1hdFNlbGVjdDtcclxuICBzb3VyY2U6IE9ic2VydmFibGU8YW55W10+O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSkge1xyXG4gIH1cclxuICBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xyXG4gIG1vZGU6IFZpZXdNb2RlO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhVHlwZSAmJlxyXG4gICAgICB0aGlzLl9kcy5hbGwodGhpcy5kYXRhVHlwZSwgdGhpcy5wYXJhbXMpLnN1YnNjcmliZSh2ID0+IHRoaXMub3B0aW9ucyA9IHYpO1xyXG4gICAgdGhpcy5yZXF1aXJlZCAmJiB0aGlzLmNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcbiAgZm9jdXMoKSB7XHJcbiAgICBpZiAodGhpcy5pbnB1dCkgdGhpcy5pbnB1dC5mb2N1cygpO1xyXG4gICAgZWxzZSB0aGlzLnNlbGVjdC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1hcHBlYXJhbmNlICpuZ0lmPVwibW9kZT09PSdjb21wb3NlJztlbHNlIHZpZXdcIj5cclxuICA8bWF0LWxhYmVsPnt7bGFiZWwgfGxvY2FsaXplZFN0cmluZ319PC9tYXQtbGFiZWw+XHJcbiAgPG1hdC1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1jb250cm9sXHJcbiAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCI+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBvcHRpb25zXCIgW3ZhbHVlXT1cIm8ua2V5XCI+e3tvLnZhbHVlfX08L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG4gIDxtYXQtaGludCAqbmdJZj1cImhpbnRcIj4ge3sgaGludHxsb2NhbGl6ZWRTdHJpbmcgfX08L21hdC1oaW50PlxyXG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJjb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZToobGFiZWx8bG9jYWxpemVkU3RyaW5nKVwiPjwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG48bmctdGVtcGxhdGUgI3ZpZXc+XHJcbiAgPHNwYW4+e3tjb250cm9sLnZhbHVlIHwgdHlwZVZhbHVlOiBkYXRhVHlwZSB8IGFzeW5jfX08L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9zZWxlY3QuZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL3NlbGVjdC5maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFPOUMsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBWSxTQUFRLG1CQUFtQjtJQUE3Qzs7UUFPSSxZQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztLQVV0QztJQUxDLEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDOzt3R0FmVSxXQUFXOzRGQUFYLFdBQVcsOEhBUVgsVUFBVSx5RUFDVixTQUFTLHVFQzFCdEIscWxDQXNCQTtBRExhLFdBQVc7SUFEdkIsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLENBQUM7R0FDMUIsV0FBVyxDQWlCdkI7U0FqQlksV0FBVzsyRkFBWCxXQUFXO2tCQUx2QixTQUFTOzJCQUVGLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTs4QkFXRCxLQUFLO3NCQUEzQixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0MsTUFBTTtzQkFBM0IsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbnRyb2xDb21wb25lbnQsIFZpZXdNb2RlIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IFR5cGVTZWxlY3QgfSBmcm9tICcuLi9pbnB1dHMvc2VsZWN0LmlucHV0JztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTG9jYWxpemVkU3RyaW5nIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgT3B0aW9uc0NvbnRyb2xGaWVsZCB9IGZyb20gJy4vb3B0aW9ucy5iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnc2VsZWN0LmZpZWxkLmh0bWwnLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdmaWVsZCcgfVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdzZWxlY3QtY29udHJvbCcgfSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpZWxkIGV4dGVuZHMgT3B0aW9uc0NvbnRyb2xGaWVsZCBpbXBsZW1lbnRzIENvbnRyb2xDb21wb25lbnQ8YW55PiwgT25Jbml0IHtcclxuICBwYXJhbXM6IGFueTtcclxuICBtdWx0aXBsZT86IGJvb2xlYW47XHJcbiAgYXV0b2NvbXBsZXRlPzogYm9vbGVhbjtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBoaW50Pzogc3RyaW5nO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBAVmlld0NoaWxkKFR5cGVTZWxlY3QpIGlucHV0OiBUeXBlU2VsZWN0O1xyXG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0KSBzZWxlY3Q6IE1hdFNlbGVjdDtcclxuICBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xyXG4gIG1vZGU6IFZpZXdNb2RlO1xyXG4gIGZvY3VzKCkge1xyXG4gICAgaWYgKHRoaXMuaW5wdXQpIHRoaXMuaW5wdXQuZm9jdXMoKTtcclxuICAgIGVsc2UgdGhpcy5zZWxlY3QuZm9jdXMoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09YXBwZWFyYW5jZSAqbmdJZj1cIm1vZGU9PT0nY29tcG9zZSc7ZWxzZSB2aWV3XCI+XHJcbiAgPG1hdC1sYWJlbD57e2xhYmVsIHxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LWxhYmVsPlxyXG4gIDxtYXQtc2VsZWN0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09Y29udHJvbFxyXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiPlxyXG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvLmtleVwiPnt7by52YWx1ZX19PC9tYXQtb3B0aW9uPlxyXG4gIDwvbWF0LXNlbGVjdD5cclxuICA8bWF0LWhpbnQgKm5nSWY9XCJoaW50XCI+IHt7IGhpbnR8bG9jYWxpemVkU3RyaW5nIH19PC9tYXQtaGludD5cclxuICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KGxhYmVsfGxvY2FsaXplZFN0cmluZylcIj48L21hdC1lcnJvcj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuPG5nLXRlbXBsYXRlICN2aWV3PlxyXG4gIDxzcGFuICpuZ0lmPVwiY29udHJvbC52YWx1ZVwiIFtuZ1N3aXRjaF09XCJtdWx0aXBsZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvIG9mIGNvbnRyb2wudmFsdWU7IGluZGV4IGFzIGluZGV4XCI+XHJcbiAgICAgICAge3tvcHRpb25PZihvKXxsb2NhbGl6ZWRTdHJpbmd9fVxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmRleD4wXCI+LCZuYnNwOzwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICB7e29wdGlvbk9mKGNvbnRyb2wudmFsdWUpfGxvY2FsaXplZFN0cmluZ319XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
80
80
  }], argsChange: [{
81
81
  type: Output
82
82
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvcmVwb3J0cy9hcmd1bWVudHMtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDaEosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztBQU10QyxnQ0FBZ0M7QUFDaEMsTUFBTSxPQUFPLHdCQUF3QjtJQU9uQyxZQUNVLFNBQW1CLEVBQ25CLFVBQTRCLEVBQzVCLHlCQUFtRCxFQUNuRCxnQkFBZ0Q7UUFIaEQsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1Qiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBQ25ELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7UUFQakQsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNULGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBS2MsQ0FBQztJQUUvRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FB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O3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcmd1bWVudHNDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBGaWVsZEluZm8gfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiB9IGZyb20gJy4vcmVwb3J0LXJlZic7XHJcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUvbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBjbGVhbnVwIH0gZnJvbSAnLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFSR1VNRU5UU19ERUJPVU5DRSA9IDI1MDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXJlcG9ydC1hcmd1bWVudHMnLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG4vKiogcmVwb3J0IGFyZ3VtZW50cyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgUmVwb3J0QXJndW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHJlcG9ydFJlZjogUmVwb3J0UmVmO1xyXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYXJndW1lbnRzOiBGaWVsZEluZm9bXTtcclxuICBASW5wdXQoKSBhcmdzID0ge307XHJcbiAgQE91dHB1dCgpIGFyZ3NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBfZmFjdG9yeVJlc29sdmVyOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICBpZiAodGhpcy50ZW1wbGF0ZSkgdGhpcy5fZnJvbVRlbXBsYXRlKCk7XHJcbiAgICAgIGVsc2UgdGhpcy5fZnJvbUxheW91dCgpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF9mcm9tVGVtcGxhdGUoKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fZmFjdG9yeVJlc29sdmVyLnJlc29sdmUodGhpcy50ZW1wbGF0ZSk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShbeyBwcm92aWRlOiBSZXBvcnRSZWYsIHVzZVZhbHVlOiB0aGlzLnJlcG9ydFJlZiB9XSwgdGhpcy5faW5qZWN0b3IpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5fY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5LCAwLCBpbmplY3Rvcik7XHJcbiAgICBjb25zdCBmb3JtID0gKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBBcmd1bWVudHNDb21wb25lbnQ8YW55PikuZm9ybTtcclxuICAgIGZvcm0ucGF0Y2hWYWx1ZSh0aGlzLmFyZ3MsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICBmb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZShBUkdVTUVOVFNfREVCT1VOQ0UpLFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgICBpZiAoZm9ybS52YWxpZCkge1xyXG4gICAgICAgICAgY2xlYW51cChjKTtcclxuICAgICAgICAgIHRoaXMuYXJncyA9IGM7XHJcbiAgICAgICAgICB0aGlzLmFyZ3NDaGFuZ2UuZW1pdChjKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF9mcm9tTGF5b3V0KCkge1xyXG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShMYXlvdXRDb21wb25lbnQpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoW10sIHRoaXMuX2luamVjdG9yKTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX2NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSwgMCwgaW5qZWN0b3IpO1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICBpbnN0YW5jZS5maWVsZHMgPSB0aGlzLmFyZ3VtZW50cztcclxuICAgIGluc3RhbmNlLm1vZGVsID0gdGhpcy5hcmdzIHx8IHt9O1xyXG4gICAgaW5zdGFuY2UubGF5b3V0KCk7XHJcbiAgICBpbnN0YW5jZS5tb2RlbENoYW5nZS5waXBlKGRlYm91bmNlVGltZShBUkdVTUVOVFNfREVCT1VOQ0UpLFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgICBpZiAoaW5zdGFuY2UudmFsaWQpIHtcclxuICAgICAgICAgIHRoaXMuYXJncyA9IGM7XHJcbiAgICAgICAgICB0aGlzLmFyZ3NDaGFuZ2UuZW1pdChjKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvcmVwb3J0cy9hcmd1bWVudHMtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDaEosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztBQU10QyxnQ0FBZ0M7QUFDaEMsTUFBTSxPQUFPLHdCQUF3QjtJQU9uQyxZQUNVLFNBQW1CLEVBQ25CLFVBQTRCLEVBQzVCLHlCQUFtRCxFQUNuRCxnQkFBZ0Q7UUFIaEQsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1Qiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBQ25ELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7UUFQakQsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNULGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBS2MsQ0FBQztJQUUvRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FB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O3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcmd1bWVudHNDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBGaWVsZEluZm8gfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiB9IGZyb20gJy4vcmVwb3J0LXJlZic7XHJcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUvbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBjbGVhbnVwIH0gZnJvbSAnLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFSR1VNRU5UU19ERUJPVU5DRSA9IDI1MDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXJlcG9ydC1hcmd1bWVudHMnLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG4vKiogcmVwb3J0IGFyZ3VtZW50cyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgUmVwb3J0QXJndW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHJlcG9ydFJlZjogUmVwb3J0UmVmO1xyXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYXJndW1lbnRzOiBGaWVsZEluZm9bXTtcclxuICBASW5wdXQoKSBhcmdzID0ge307XHJcbiAgQE91dHB1dCgpIGFyZ3NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBfZmFjdG9yeVJlc29sdmVyOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgaWYgKHRoaXMudGVtcGxhdGUpIHRoaXMuX2Zyb21UZW1wbGF0ZSgpO1xyXG4gICAgZWxzZSB0aGlzLl9mcm9tTGF5b3V0KCk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX2Zyb21UZW1wbGF0ZSgpIHtcclxuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZSh0aGlzLnRlbXBsYXRlKTtcclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKFt7IHByb3ZpZGU6IFJlcG9ydFJlZiwgdXNlVmFsdWU6IHRoaXMucmVwb3J0UmVmIH1dLCB0aGlzLl9pbmplY3Rvcik7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLl9jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDAsIGluamVjdG9yKTtcclxuICAgIGNvbnN0IGZvcm0gPSAoY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIEFyZ3VtZW50c0NvbXBvbmVudDxhbnk+KS5mb3JtO1xyXG4gICAgZm9ybS5wYXRjaFZhbHVlKHRoaXMuYXJncywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgZm9ybS52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoQVJHVU1FTlRTX0RFQk9VTkNFKSxcclxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgaWYgKGZvcm0udmFsaWQpIHtcclxuICAgICAgICAgIGNsZWFudXAoYyk7XHJcbiAgICAgICAgICB0aGlzLmFyZ3MgPSBjO1xyXG4gICAgICAgICAgdGhpcy5hcmdzQ2hhbmdlLmVtaXQoYyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqICovXHJcbiAgcHJpdmF0ZSBfZnJvbUxheW91dCgpIHtcclxuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTGF5b3V0Q29tcG9uZW50KTtcclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKFtdLCB0aGlzLl9pbmplY3Rvcik7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLl9jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDAsIGluamVjdG9yKTtcclxuICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG4gICAgaW5zdGFuY2UuZmllbGRzID0gdGhpcy5hcmd1bWVudHM7XHJcbiAgICBpbnN0YW5jZS5tb2RlbCA9IHRoaXMuYXJncyB8fCB7fTtcclxuICAgIGluc3RhbmNlLmxheW91dCgpO1xyXG4gICAgaW5zdGFuY2UubW9kZWxDaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUoQVJHVU1FTlRTX0RFQk9VTkNFKSxcclxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgaWYgKGluc3RhbmNlLnZhbGlkKSB7XHJcbiAgICAgICAgICB0aGlzLmFyZ3MgPSBjO1xyXG4gICAgICAgICAgdGhpcy5hcmdzQ2hhbmdlLmVtaXQoYyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -2,11 +2,12 @@ import { filter, map } from 'rxjs/operators';
2
2
  import { BehaviorSubject, Subject } from 'rxjs';
3
3
  /** */
4
4
  export class ReportRef {
5
- constructor(_configuration, _hub, dim) {
5
+ constructor(_configuration, args, _hub, dim) {
6
6
  this._configuration = _configuration;
7
7
  this._hub = _hub;
8
8
  this._exporting = new Subject();
9
9
  this._resize = new BehaviorSubject(dim);
10
+ this._args = new BehaviorSubject(args);
10
11
  }
11
12
  /** intercept user export */
12
13
  exporting() {
@@ -24,8 +25,9 @@ export class ReportRef {
24
25
  }
25
26
  /** configuration name */
26
27
  get name() { return this._configuration.name; }
28
+ get arguments() { return this._args.value; }
27
29
  _destroy() {
28
30
  this._resize.unsubscribe();
29
31
  }
30
32
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvcmVwb3J0cy9yZXBvcnQtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFjLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUQsTUFBTTtBQUNOLE1BQU0sT0FDRSxTQUFTO0lBRWYsWUFBb0IsY0FBc0IsRUFBVSxJQUFnQixFQUFFLEdBQWU7UUFBakUsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRzNELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUZuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ00sTUFBTSxLQUE2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9FLHlEQUF5RDtJQUNsRCxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7WUFDOUIsSUFBSSxDQUNGLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFDaEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELDRCQUE0QjtJQUM1QixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUFDLENBQUM7SUFDN0MseUJBQXlCO0lBQ3pCLElBQUksSUFBSSxLQUFhLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9ydCwgRGltZW50aW9ucyB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFyYW1NYXAgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuLyoqICovXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFJlcG9ydFJlZjxPID0gYW55PiB7XHJcbiAgcmVhZG9ubHkgX3Jlc2l6ZTogQmVoYXZpb3JTdWJqZWN0PERpbWVudGlvbnM+O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZ3VyYXRpb246IFJlcG9ydCwgcHJpdmF0ZSBfaHViOiBIdWJTZXJ2aWNlLCBkaW06IERpbWVudGlvbnMpIHtcclxuICAgIHRoaXMuX3Jlc2l6ZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoZGltKTtcclxuICB9XHJcbiAgcmVhZG9ubHkgX2V4cG9ydGluZyA9IG5ldyBTdWJqZWN0PEV4cG9ydEV2ZW50QXJncz4oKTtcclxuICAvKiogaW50ZXJjZXB0IHVzZXIgZXhwb3J0ICovXHJcbiAgZXhwb3J0aW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2V4cG9ydGluZy5hc09ic2VydmFibGUoKTtcclxuICB9XHJcbiAgcHVibGljIHJlc2l6ZSgpOiBPYnNlcnZhYmxlPERpbWVudGlvbnM+IHsgcmV0dXJuIHRoaXMuX3Jlc2l6ZS5hc09ic2VydmFibGUoKTsgfVxyXG4gIC8qKiBsaXN0ZW4gdG8gcHJvZ3Jlc3MgZXZlbnRzIHJlcG9ydGVkIGJ5IGJhY2tlbmQgY29kZSAqL1xyXG4gIHB1YmxpYyBwcm9ncmVzcygpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h1Yi5yZXBvcnRQcm9ncmVzcyQuXHJcbiAgICAgIHBpcGUoXHJcbiAgICAgICAgZmlsdGVyKGUgPT4gZS5uYW1lID09PSB0aGlzLl9jb25maWd1cmF0aW9uLm5hbWUpLFxyXG4gICAgICAgIG1hcChlID0+IGUucHJvZ3Jlc3MpKTtcclxuICB9XHJcbiAgLyoqIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyAqL1xyXG4gIGdldCBvcHRpb25zKCk6IE8ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRpb24ub3B0aW9ucyB8fCB7fTsgfVxyXG4gIC8qKiBjb25maWd1cmF0aW9uIG5hbWUgKi9cclxuICBnZXQgbmFtZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fY29uZmlndXJhdGlvbi5uYW1lOyB9XHJcbiAgX2Rlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9yZXNpemUudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0RXZlbnRBcmdzIHtcclxuICBjYW5jZWw6IGJvb2xlYW47XHJcbiAgZGF0YToge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gIH1bXTtcclxuICBhcmdzOiBQYXJhbU1hcDtcclxufVxyXG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvcmVwb3J0cy9yZXBvcnQtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFjLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUQsTUFBTTtBQUNOLE1BQU0sT0FDRSxTQUFTO0lBR2YsWUFBb0IsY0FBc0IsRUFBRSxJQUFPLEVBQVUsSUFBZ0IsRUFBRSxHQUFlO1FBQTFFLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBQW1CLFNBQUksR0FBSixJQUFJLENBQVk7UUFJcEUsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBSG5ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsNEJBQTRCO0lBQzVCLFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUNNLE1BQU0sS0FBNkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRSx5REFBeUQ7SUFDbEQsUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBQzlCLElBQUksQ0FDRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQ2hELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCw0QkFBNEI7SUFDNUIsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUNELHlCQUF5QjtJQUN6QixJQUFJLElBQUksS0FBYSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxJQUFJLFNBQVMsS0FBUSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXBvcnQsIERpbWVudGlvbnMgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJhbU1hcCB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG4vKiogKi9cclxuZXhwb3J0XHJcbiAgY2xhc3MgUmVwb3J0UmVmPE8gPSBhbnk+IHtcclxuICByZWFkb25seSBfcmVzaXplOiBCZWhhdmlvclN1YmplY3Q8RGltZW50aW9ucz47XHJcbiAgcmVhZG9ubHkgX2FyZ3M6IEJlaGF2aW9yU3ViamVjdDxPPjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jb25maWd1cmF0aW9uOiBSZXBvcnQsIGFyZ3M6IE8sIHByaXZhdGUgX2h1YjogSHViU2VydmljZSwgZGltOiBEaW1lbnRpb25zKSB7XHJcbiAgICB0aGlzLl9yZXNpemUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGRpbSk7XHJcbiAgICB0aGlzLl9hcmdzID0gbmV3IEJlaGF2aW9yU3ViamVjdChhcmdzKTtcclxuICB9XHJcbiAgcmVhZG9ubHkgX2V4cG9ydGluZyA9IG5ldyBTdWJqZWN0PEV4cG9ydEV2ZW50QXJncz4oKTtcclxuICAvKiogaW50ZXJjZXB0IHVzZXIgZXhwb3J0ICovXHJcbiAgZXhwb3J0aW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2V4cG9ydGluZy5hc09ic2VydmFibGUoKTtcclxuICB9XHJcbiAgcHVibGljIHJlc2l6ZSgpOiBPYnNlcnZhYmxlPERpbWVudGlvbnM+IHsgcmV0dXJuIHRoaXMuX3Jlc2l6ZS5hc09ic2VydmFibGUoKTsgfVxyXG4gIC8qKiBsaXN0ZW4gdG8gcHJvZ3Jlc3MgZXZlbnRzIHJlcG9ydGVkIGJ5IGJhY2tlbmQgY29kZSAqL1xyXG4gIHB1YmxpYyBwcm9ncmVzcygpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h1Yi5yZXBvcnRQcm9ncmVzcyQuXHJcbiAgICAgIHBpcGUoXHJcbiAgICAgICAgZmlsdGVyKGUgPT4gZS5uYW1lID09PSB0aGlzLl9jb25maWd1cmF0aW9uLm5hbWUpLFxyXG4gICAgICAgIG1hcChlID0+IGUucHJvZ3Jlc3MpKTtcclxuICB9XHJcbiAgLyoqIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyAqL1xyXG4gIGdldCBvcHRpb25zKCk6IE8ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRpb24ub3B0aW9ucyB8fCB7fTtcclxuICB9XHJcbiAgLyoqIGNvbmZpZ3VyYXRpb24gbmFtZSAqL1xyXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9jb25maWd1cmF0aW9uLm5hbWU7IH1cclxuICBnZXQgYXJndW1lbnRzKCk6IE8geyByZXR1cm4gdGhpcy5fYXJncy52YWx1ZTsgfVxyXG4gIF9kZXN0cm95KCkge1xyXG4gICAgdGhpcy5fcmVzaXplLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydEV2ZW50QXJncyB7XHJcbiAgY2FuY2VsOiBib29sZWFuO1xyXG4gIGRhdGE6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICB9W107XHJcbiAgYXJnczogUGFyYW1NYXA7XHJcbn1cclxuIl19
@@ -34,7 +34,7 @@ export class ReportViewerComponent {
34
34
  if (changes['report']) {
35
35
  this._destroy.next();
36
36
  this._reportRef && this._reportRef._destroy();
37
- this._reportRef = new ReportRef(this.report, this._hub, this._dim());
37
+ this._reportRef = new ReportRef(this.report, this.args, this._hub, this._dim());
38
38
  if (this.report.template)
39
39
  this._createView();
40
40
  else
@@ -48,6 +48,8 @@ export class ReportViewerComponent {
48
48
  });
49
49
  this._resizing.pipe(debounceTime(150)).subscribe(() => this._reportRef._resize.next(this._dim()));
50
50
  }
51
+ if (changes['args'])
52
+ this._reportRef._args.next(this.args);
51
53
  }
52
54
  /** */
53
55
  _createView() {
@@ -151,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
151
153
  type: HostListener,
152
154
  args: ['window:resize']
153
155
  }] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0ksT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU94RCxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLGNBQWMsQ0FBQztBQUsxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7O0FBUWxFLDRCQUE0QjtBQUM1QixNQUFNLE9BQU8scUJBQXFCO0lBY2hDLHdCQUF3QjtJQUN4QixZQUNVLEtBQWlCLEVBQ2pCLEdBQWtCLEVBQ2xCLFNBQW1CLEVBQ25CLElBQWdCLEVBQ2hCLFVBQTRCLEVBQzVCLFFBQXdCLEVBQ3hCLGdCQUFnRDtRQU5oRCxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7UUFuQjFELGFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQVNHLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVVoRCxDQUFDO0lBbkJELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQWtCRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzs7Z0JBRW5CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUM5QixxQkFBcUI7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ2QsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUM1QixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ25CLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWixJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQztvQkFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQUM7WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDbkc7SUFDSCxDQUFDO0lBQ0QsTUFBTTtJQUNFLFdBQVc7UUFDakIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEcsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXZGLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFFBQXFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ08sSUFBSTtRQUNWLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBZ0MsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3SCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUNELE1BQU07SUFDTixPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBUSxlQUFlLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzdGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyQixDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFTO1FBQ2YsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUNuQixNQUFNLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLG1DQUFtQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFRLGVBQWUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hHLENBQUM7SUFFRCxNQUFNO0lBQ04sV0FBVztRQUNULE1BQU0sSUFBSSxHQUFHO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFDLENBQUM7WUFDOUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ0csQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDeEIsTUFBTSxJQUFJLEdBQUcsQ0FBQztnQkFDWixLQUFLLEVBQUUsQ0FBQztnQkFDUixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDeEMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUk7b0JBQ3RDLEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsSUFBSTt3QkFDVixNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUztxQkFDM0U7aUJBQ08sQ0FBQSxDQUFDO2FBQ1osQ0FBVSxDQUFDO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQztZQUNFLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNaLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzlCLEtBQUssRUFBRTtvQkFDTCxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUztpQkFDM0U7YUFDRixDQUFDLENBQUM7U0FDRyxDQUFDLENBQUMsQ0FBQztRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUN2QjtZQUNFLFVBQVUsRUFBRTtnQkFDVjtvQkFDQSxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO29CQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFhLENBQUEsQ0FBQztvQkFDcEYsSUFBSTtpQkFDUTthQUNmO1NBQ0YsRUFDRCxNQUFNLENBQ1AsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2tIQXRJVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw4T0FPTyxnQkFBZ0IsbUVBQzVDLGtCQUFrQixxRUNqQy9CLDBOQUVBOzJGRHVCYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usc0JBQXNCO3NSQU12QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUtxRCxhQUFhO3NCQUF2RSxTQUFTO3VCQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUMxQixLQUFLO3NCQUFuQyxTQUFTO3VCQUFDLGtCQUFrQjtnQkErQzdCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0b3IsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwsIGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBXb3JrYm9vayB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQnO1xyXG5pbXBvcnQgeyBXb3Jrc2hlZXQgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0L3NyYy93b3Jrc2hlZXQnO1xyXG5pbXBvcnQgeyBSb3cgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0L3NyYy9yb3cnO1xyXG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0L3NyYy9jb2x1bW4nO1xyXG5pbXBvcnQgeyBSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBSZXBvcnQgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFBhcmFtTWFwIH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgUmVwb3J0UmVmLCBFeHBvcnRFdmVudEFyZ3MgfSBmcm9tICcuL3JlcG9ydC1yZWYnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudC1mYWN0b3J5LXJlc29sdmVyJztcclxuaW1wb3J0IHsgVGFibGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS90YWJsZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcmVwb3J0LXZpZXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcG9ydC12aWV3ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG4vKiogcmVwb3J0dmlld2VyIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgcmVwb3J0ITogUmVwb3J0O1xyXG4gIEBJbnB1dCgpIGFyZ3M6IFBhcmFtTWFwO1xyXG4gIHByb2dyZXNzID0gLTE7XHJcbiAgcHVibGljIGdldCByZXBvcnRSZWYoKTogUmVwb3J0UmVmIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXBvcnRSZWY7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ3ZjJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICBAVmlld0NoaWxkKFRhYmxlVmlld0NvbXBvbmVudCkgdGFibGU6IFRhYmxlVmlld0NvbXBvbmVudDtcclxuICBwcml2YXRlIF9kYXRhOiBhbnlbXTtcclxuICBwcml2YXRlIF9pbnN0YW5jZTogUmVwb3J0Q29tcG9uZW50PGFueSwgYW55PjtcclxuICBwcml2YXRlIF9yZXBvcnRSZWY6IFJlcG9ydFJlZjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNpemluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiByZXBvcnR2aWV3ZXIgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfaHViOiBIdWJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYWN0b3J5UmVzb2x2ZXI6IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sncmVwb3J0J10pIHtcclxuICAgICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICAgIHRoaXMuX3JlcG9ydFJlZiAmJiB0aGlzLl9yZXBvcnRSZWYuX2Rlc3Ryb3koKTtcclxuICAgICAgdGhpcy5fcmVwb3J0UmVmID0gbmV3IFJlcG9ydFJlZih0aGlzLnJlcG9ydCwgdGhpcy5faHViLCB0aGlzLl9kaW0oKSk7XHJcbiAgICAgIGlmICh0aGlzLnJlcG9ydC50ZW1wbGF0ZSlcclxuICAgICAgICB0aGlzLl9jcmVhdGVWaWV3KCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IHRoaXMudGFibGU7XHJcbiAgICAgIC8vIGxpc3RlbiB0byBwcm9ncmVzc1xyXG4gICAgICB0aGlzLl9odWIucmVwb3J0UHJvZ3Jlc3MkLlxyXG4gICAgICAgIHBpcGUoZmlsdGVyKGUgPT5cclxuICAgICAgICAgIGUubmFtZSA9PT0gdGhpcy5yZXBvcnQubmFtZSksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoNTApKS5cclxuICAgICAgICBzdWJzY3JpYmUoaSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5wcm9ncmVzcyA+IDApIHRoaXMucHJvZ3Jlc3MgPSBpLnByb2dyZXNzO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9yZXNpemluZy5waXBlKGRlYm91bmNlVGltZSgxNTApKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVwb3J0UmVmLl9yZXNpemUubmV4dCh0aGlzLl9kaW0oKSkpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF9jcmVhdGVWaWV3KCkge1xyXG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuX2ZhY3RvcnlSZXNvbHZlci5yZXNvbHZlKHRoaXMucmVwb3J0LnRlbXBsYXRlKTtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoW3sgcHJvdmlkZTogUmVwb3J0UmVmLCB1c2VWYWx1ZTogdGhpcy5fcmVwb3J0UmVmIH1dLCB0aGlzLl9pbmplY3Rvcik7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDAsIGluamVjdG9yKTtcclxuXHJcbiAgICB0aGlzLl9pbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBSZXBvcnRDb21wb25lbnQ8YW55LCBhbnk+O1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICByZXNpemUoKSB7XHJcbiAgICB0aGlzLl9yZXNpemluZy5uZXh0KHt9KTsgXHJcbiAgfVxyXG4gIHByaXZhdGUgX2RpbSgpOiB7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyIH0ge1xyXG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSAodGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudCkucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHJldHVybiB7IHdpZHRoOiBNYXRoLmZsb29yKHdpZHRoIC0gMiksIGhlaWdodDogTWF0aC5mbG9vcihoZWlnaHQpIH07XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGV4ZWN1dGUoKSB7XHJcbiAgICB0aGlzLnByb2dyZXNzID0gMDtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8YW55W10+KGAvYXBpL3JlcG9ydC8ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLnJlcG9ydC5uYW1lKX1gLCB0aGlzLmFyZ3MpLlxyXG4gICAgICBwaXBlKHRhcChyID0+IHtcclxuICAgICAgICB0aGlzLl9pbnN0YW5jZS5vbkJpbmQociwgdGhpcy5hcmdzKTtcclxuICAgICAgICB0aGlzLl9kYXRhID0gcjtcclxuICAgICAgICB0aGlzLnByb2dyZXNzID0gLTE7XHJcbiAgICAgIH0sICgpID0+IHtcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgICAgIHRoaXMucHJvZ3Jlc3MgPSAtMTtcclxuICAgICAgfSkpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBleHBsb3JlKGl0ZW06IGFueSkge1xyXG4gICAgY29uc3QgYXJncyA9IHt9O1xyXG4gICAgY29uc3Qga2V5cyA9IHRoaXMucmVwb3J0LmZpZWxkcy5maWx0ZXIoZiA9PiBmLmtleSk7XHJcbiAgICBpZiAoa2V5cy5sZW5ndGggPT09IDApXHJcbiAgICAgIHRocm93IGByZXBvcnQgJHt0aGlzLnJlcG9ydC5uYW1lfSBpdGVtIG1vZGVsIG1pc3Npbmcga2V5IGF0dHJpYnV0ZWA7XHJcbiAgICBrZXlzLmZvckVhY2goZiA9PiBhcmdzW2YubmFtZV0gPSBpdGVtW2YubmFtZV0pO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PGFueVtdPihgL2FwaS9yZXBvcnQvJHtlbmNvZGVVUklDb21wb25lbnQodGhpcy5yZXBvcnQubmFtZSl9YCwgYXJncykudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG5cclxuICAvKiogKi9cclxuICBleHBvcnRFeGNlbCgpIHtcclxuICAgIGNvbnN0IGFyZ3MgPSB7XHJcbiAgICAgIGRhdGE6IHRoaXMuX2RhdGEubWFwKHIgPT4geyByZXR1cm4geyAuLi5yIH0gfSksXHJcbiAgICAgIGFyZ3M6IHRoaXMuYXJnc1xyXG4gICAgfSBhcyBFeHBvcnRFdmVudEFyZ3M7XHJcbiAgICB0aGlzLl9yZXBvcnRSZWYuX2V4cG9ydGluZy5uZXh0KGFyZ3MpO1xyXG4gICAgaWYgKGFyZ3MuY2FuY2VsKSByZXR1cm47XHJcbiAgICBjb25zdCByb3dzID0gW3tcclxuICAgICAgaW5kZXg6IDEsXHJcbiAgICAgIGNlbGxzOiB0aGlzLnJlcG9ydC5jb2x1bW5zLm1hcCgoYywgaikgPT4gKHtcclxuICAgICAgICBpbmRleDogaiArIDEsIHZhbHVlOiBjLmxhYmVsIHx8IGMubmFtZSxcclxuICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgYm9sZDogdHJ1ZSxcclxuICAgICAgICAgIGhBbGlnbjogYy5raW5kID09PSAnTnVtYmVyJyB8fCBjLmtpbmQgPT09ICdDdXJyZW5jeScgPyAncmlnaHQnIDogJ2dlbmVyYWwnXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGFzIENlbGwpKVxyXG4gICAgfV0gYXMgUm93W107XHJcbiAgICBhcmdzLmRhdGEuZm9yRWFjaCgociwgaSkgPT4gcm93cy5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgaW5kZXg6IGkgKyAyLFxyXG4gICAgICAgIGNlbGxzOiB0aGlzLnJlcG9ydC5jb2x1bW5zLm1hcCgoYywgaikgPT4gKHtcclxuICAgICAgICAgIGluZGV4OiBqICsgMSwgdmFsdWU6IHJbYy5uYW1lXSxcclxuICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgIGhBbGlnbjogYy5raW5kID09PSAnTnVtYmVyJyB8fCBjLmtpbmQgPT09ICdDdXJyZW5jeScgPyAncmlnaHQnIDogJ2dlbmVyYWwnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH0gYXMgUm93KSk7XHJcbiAgICBjb25zdCBib29rID0gbmV3IFdvcmtib29rKFxyXG4gICAgICB7XHJcbiAgICAgICAgd29ya3NoZWV0czogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgZW5hYmxlUnRsOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1NoZWV0TicsIDEpLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiB0aGlzLnJlcG9ydC5jb2x1bW5zLm1hcCgoXywgaSkgPT4gKHsgaW5kZXg6IGkgKyAxLCB3aWR0aDogMjUwIH0gYXMgQ29sdW1uKSksXHJcbiAgICAgICAgICAgIHJvd3NcclxuICAgICAgICAgIH0gYXMgV29ya3NoZWV0XHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgICAgJ3hsc3gnXHJcbiAgICApO1xyXG4gICAgYm9vay5zYXZlKGAke3RoaXMucmVwb3J0LnRpdGxlfS54bHN4YCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3JlcG9ydFJlZi5fZGVzdHJveSgpO1xyXG4gICAgdGhpcy5fcmVzaXppbmcuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgQ2VsbCB7IH1cclxuIiwiPG1hdC1wcm9ncmVzcy1iYXIgW21vZGVdPVwicHJvZ3Jlc3MgPT09IDAgPyAncXVlcnknIDogJ2J1ZmZlcidcIiBbdmFsdWVdPXByb2dyZXNzIFtidWZmZXJWYWx1ZV09MCBbc3R5bGUudmlzaWJpbGl0eV09XCJwcm9ncmVzcyA+IC0xID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48bmctY29udGFpbmVyICN2Yz48L25nLWNvbnRhaW5lcj5cclxuIl19
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0ksT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU94RCxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLGNBQWMsQ0FBQztBQUsxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7O0FBUWxFLDRCQUE0QjtBQUM1QixNQUFNLE9BQU8scUJBQXFCO0lBY2hDLHdCQUF3QjtJQUN4QixZQUNVLEtBQWlCLEVBQ2pCLEdBQWtCLEVBQ2xCLFNBQW1CLEVBQ25CLElBQWdCLEVBQ2hCLFVBQTRCLEVBQzVCLFFBQXdCLEVBQ3hCLGdCQUFnRDtRQU5oRCxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENB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QUFHLEVBQWEsQ0FBQSxDQUFDO29CQUNwRixJQUFJO2lCQUNRO2FBQ2Y7U0FDRixFQUNELE1BQU0sQ0FDUCxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7a0hBeElVLHFCQUFxQjtzR0FBckIscUJBQXFCLDhPQU9PLGdCQUFnQixtRUFDNUMsa0JBQWtCLHFFQ2pDL0IsME5BRUE7MkZEdUJhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxzQkFBc0I7c1JBTXZCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS3FELGFBQWE7c0JBQXZFLFNBQVM7dUJBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzFCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQWlEN0IsTUFBTTtzQkFETCxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgT25EZXN0cm95LCBWaWV3Q29udGFpbmVyUmVmLCBJbmplY3RvciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCwgZmlsdGVyLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFdvcmtib29rIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IFdvcmtzaGVldCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQvc3JjL3dvcmtzaGVldCc7XHJcbmltcG9ydCB7IFJvdyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQvc3JjL3Jvdyc7XHJcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQvc3JjL2NvbHVtbic7XHJcbmltcG9ydCB7IFJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IFJlcG9ydCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUGFyYW1NYXAgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYsIEV4cG9ydEV2ZW50QXJncyB9IGZyb20gJy4vcmVwb3J0LXJlZic7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBUYWJsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1yZXBvcnQtdmlld2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVwb3J0LXZpZXdlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbi8qKiByZXBvcnR2aWV3ZXIgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIFJlcG9ydFZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSByZXBvcnQhOiBSZXBvcnQ7XHJcbiAgQElucHV0KCkgYXJnczogUGFyYW1NYXA7XHJcbiAgcHJvZ3Jlc3MgPSAtMTtcclxuICBwdWJsaWMgZ2V0IHJlcG9ydFJlZigpOiBSZXBvcnRSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcG9ydFJlZjtcclxuICB9XHJcbiAgQFZpZXdDaGlsZCgndmMnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIEBWaWV3Q2hpbGQoVGFibGVWaWV3Q29tcG9uZW50KSB0YWJsZTogVGFibGVWaWV3Q29tcG9uZW50O1xyXG4gIHByaXZhdGUgX2RhdGE6IGFueVtdO1xyXG4gIHByaXZhdGUgX2luc3RhbmNlOiBSZXBvcnRDb21wb25lbnQ8YW55LCBhbnk+O1xyXG4gIHByaXZhdGUgX3JlcG9ydFJlZjogUmVwb3J0UmVmO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2l6aW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgLyoqIHJlcG9ydHZpZXdlciBjdG9yICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF9odWI6IEh1YlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZhY3RvcnlSZXNvbHZlcjogQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydyZXBvcnQnXSkge1xyXG4gICAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgICAgdGhpcy5fcmVwb3J0UmVmICYmIHRoaXMuX3JlcG9ydFJlZi5fZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLl9yZXBvcnRSZWYgPSBuZXcgUmVwb3J0UmVmKHRoaXMucmVwb3J0LCB0aGlzLmFyZ3MsIHRoaXMuX2h1YiwgdGhpcy5fZGltKCkpO1xyXG4gICAgICBpZiAodGhpcy5yZXBvcnQudGVtcGxhdGUpXHJcbiAgICAgICAgdGhpcy5fY3JlYXRlVmlldygpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5faW5zdGFuY2UgPSB0aGlzLnRhYmxlO1xyXG4gICAgICAvLyBsaXN0ZW4gdG8gcHJvZ3Jlc3NcclxuICAgICAgdGhpcy5faHViLnJlcG9ydFByb2dyZXNzJC5cclxuICAgICAgICBwaXBlKGZpbHRlcihlID0+XHJcbiAgICAgICAgICBlLm5hbWUgPT09IHRoaXMucmVwb3J0Lm5hbWUpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDUwKSkuXHJcbiAgICAgICAgc3Vic2NyaWJlKGkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMucHJvZ3Jlc3MgPiAwKSB0aGlzLnByb2dyZXNzID0gaS5wcm9ncmVzcztcclxuICAgICAgICB9KTtcclxuICAgICAgdGhpcy5fcmVzaXppbmcucGlwZShkZWJvdW5jZVRpbWUoMTUwKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3JlcG9ydFJlZi5fcmVzaXplLm5leHQodGhpcy5fZGltKCkpKTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydhcmdzJ10pXHJcbiAgICAgIHRoaXMuX3JlcG9ydFJlZi5fYXJncy5uZXh0KHRoaXMuYXJncyk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX2NyZWF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fZmFjdG9yeVJlc29sdmVyLnJlc29sdmUodGhpcy5yZXBvcnQudGVtcGxhdGUpO1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShbeyBwcm92aWRlOiBSZXBvcnRSZWYsIHVzZVZhbHVlOiB0aGlzLl9yZXBvcnRSZWYgfV0sIHRoaXMuX2luamVjdG9yKTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSwgMCwgaW5qZWN0b3IpO1xyXG5cclxuICAgIHRoaXMuX2luc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIFJlcG9ydENvbXBvbmVudDxhbnksIGFueT47XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gIHJlc2l6ZSgpIHtcclxuICAgIHRoaXMuX3Jlc2l6aW5nLm5leHQoe30pOyBcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGltKCk6IHsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSB7XHJcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9ICh0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50KS5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgcmV0dXJuIHsgd2lkdGg6IE1hdGguZmxvb3Iod2lkdGggLSAyKSwgaGVpZ2h0OiBNYXRoLmZsb29yKGhlaWdodCkgfTtcclxuICB9XHJcbiAgLyoqICovXHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIHRoaXMucHJvZ3Jlc3MgPSAwO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdDxhbnlbXT4oYC9hcGkvcmVwb3J0LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMucmVwb3J0Lm5hbWUpfWAsIHRoaXMuYXJncykuXHJcbiAgICAgIHBpcGUodGFwKHIgPT4ge1xyXG4gICAgICAgIHRoaXMuX2luc3RhbmNlLm9uQmluZChyLCB0aGlzLmFyZ3MpO1xyXG4gICAgICAgIHRoaXMuX2RhdGEgPSByO1xyXG4gICAgICAgIHRoaXMucHJvZ3Jlc3MgPSAtMTtcclxuICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCk7XHJcbiAgICAgICAgdGhpcy5wcm9ncmVzcyA9IC0xO1xyXG4gICAgICB9KSkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGV4cGxvcmUoaXRlbTogYW55KSB7XHJcbiAgICBjb25zdCBhcmdzID0ge307XHJcbiAgICBjb25zdCBrZXlzID0gdGhpcy5yZXBvcnQuZmllbGRzLmZpbHRlcihmID0+IGYua2V5KTtcclxuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMClcclxuICAgICAgdGhyb3cgYHJlcG9ydCAke3RoaXMucmVwb3J0Lm5hbWV9IGl0ZW0gbW9kZWwgbWlzc2luZyBrZXkgYXR0cmlidXRlYDtcclxuICAgIGtleXMuZm9yRWFjaChmID0+IGFyZ3NbZi5uYW1lXSA9IGl0ZW1bZi5uYW1lXSk7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8YW55W10+KGAvYXBpL3JlcG9ydC8ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLnJlcG9ydC5uYW1lKX1gLCBhcmdzKS50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIC8qKiAqL1xyXG4gIGV4cG9ydEV4Y2VsKCkge1xyXG4gICAgY29uc3QgYXJncyA9IHtcclxuICAgICAgZGF0YTogdGhpcy5fZGF0YS5tYXAociA9PiB7IHJldHVybiB7IC4uLnIgfSB9KSxcclxuICAgICAgYXJnczogdGhpcy5hcmdzXHJcbiAgICB9IGFzIEV4cG9ydEV2ZW50QXJncztcclxuICAgIHRoaXMuX3JlcG9ydFJlZi5fZXhwb3J0aW5nLm5leHQoYXJncyk7XHJcbiAgICBpZiAoYXJncy5jYW5jZWwpIHJldHVybjtcclxuICAgIGNvbnN0IHJvd3MgPSBbe1xyXG4gICAgICBpbmRleDogMSxcclxuICAgICAgY2VsbHM6IHRoaXMucmVwb3J0LmNvbHVtbnMubWFwKChjLCBqKSA9PiAoe1xyXG4gICAgICAgIGluZGV4OiBqICsgMSwgdmFsdWU6IGMubGFiZWwgfHwgYy5uYW1lLFxyXG4gICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICBib2xkOiB0cnVlLFxyXG4gICAgICAgICAgaEFsaWduOiBjLmtpbmQgPT09ICdOdW1iZXInIHx8IGMua2luZCA9PT0gJ0N1cnJlbmN5JyA/ICdyaWdodCcgOiAnZ2VuZXJhbCdcclxuICAgICAgICB9XHJcbiAgICAgIH0gYXMgQ2VsbCkpXHJcbiAgICB9XSBhcyBSb3dbXTtcclxuICAgIGFyZ3MuZGF0YS5mb3JFYWNoKChyLCBpKSA9PiByb3dzLnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICBpbmRleDogaSArIDIsXHJcbiAgICAgICAgY2VsbHM6IHRoaXMucmVwb3J0LmNvbHVtbnMubWFwKChjLCBqKSA9PiAoe1xyXG4gICAgICAgICAgaW5kZXg6IGogKyAxLCB2YWx1ZTogcltjLm5hbWVdLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgaEFsaWduOiBjLmtpbmQgPT09ICdOdW1iZXInIHx8IGMua2luZCA9PT0gJ0N1cnJlbmN5JyA/ICdyaWdodCcgOiAnZ2VuZXJhbCdcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSlcclxuICAgICAgfSBhcyBSb3cpKTtcclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICBlbmFibGVSdGw6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICAgICAgbmFtZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnU2hlZXROJywgMSksXHJcbiAgICAgICAgICAgIGNvbHVtbnM6IHRoaXMucmVwb3J0LmNvbHVtbnMubWFwKChfLCBpKSA9PiAoeyBpbmRleDogaSArIDEsIHdpZHRoOiAyNTAgfSBhcyBDb2x1bW4pKSxcclxuICAgICAgICAgICAgcm93c1xyXG4gICAgICAgICAgfSBhcyBXb3Jrc2hlZXRcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICAneGxzeCdcclxuICAgICk7XHJcbiAgICBib29rLnNhdmUoYCR7dGhpcy5yZXBvcnQudGl0bGV9Lnhsc3hgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVwb3J0UmVmLl9kZXN0cm95KCk7XHJcbiAgICB0aGlzLl9yZXNpemluZy5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBDZWxsIHsgfVxyXG4iLCI8bWF0LXByb2dyZXNzLWJhciBbbW9kZV09XCJwcm9ncmVzcyA9PT0gMCA/ICdxdWVyeScgOiAnYnVmZmVyJ1wiIFt2YWx1ZV09cHJvZ3Jlc3MgW2J1ZmZlclZhbHVlXT0wIFtzdHlsZS52aXNpYmlsaXR5XT1cInByb2dyZXNzID4gLTEgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjxuZy1jb250YWluZXIgI3ZjPjwvbmctY29udGFpbmVyPlxyXG4iXX0=