@ecodev/natural-editor 60.1.1 → 61.0.1

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.
@@ -1,5 +1,5 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
1
+ import { Component, inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule } from '@angular/material/dialog';
3
3
  import { FormControl, FormGroup, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { ifValid } from '@ecodev/natural';
5
5
  import { MatButtonModule } from '@angular/material/button';
@@ -12,8 +12,8 @@ import * as i3 from "@angular/material/form-field";
12
12
  import * as i4 from "@angular/material/input";
13
13
  import * as i5 from "@angular/material/button";
14
14
  export class ClassDialogComponent {
15
- constructor(data, dialogRef) {
16
- this.dialogRef = dialogRef;
15
+ constructor() {
16
+ this.dialogRef = inject(MatDialogRef);
17
17
  this.classControl = new FormControl('', {
18
18
  validators: Validators.pattern(/(^\s*(-?[_a-zA-Z]+[_a-zA-Z0-9-]*\s*)+)/),
19
19
  nonNullable: true,
@@ -21,6 +21,7 @@ export class ClassDialogComponent {
21
21
  this.form = new FormGroup({
22
22
  class: this.classControl,
23
23
  });
24
+ const data = inject(MAT_DIALOG_DATA);
24
25
  this.form.setValue(data);
25
26
  }
26
27
  maybeConfirm() {
@@ -29,14 +30,11 @@ export class ClassDialogComponent {
29
30
  confirm() {
30
31
  this.dialogRef.close(this.form.getRawValue());
31
32
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ClassDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ClassDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
34
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: ClassDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<h2 i18n mat-dialog-title>Saisir les classes CSS</h2>\n\n<mat-dialog-content [formGroup]=\"form\">\n <mat-form-field>\n <mat-label i18n>Classes CSS</mat-label>\n <input matInput [formControl]=\"classControl\" (keydown.enter)=\"maybeConfirm()\" cdkFocusInitial />\n @if (classControl.hasError('pattern')) {\n <mat-error i18n>Doit \u00EAtre un ou plusieurs nom de classe CSS</mat-error>\n }\n </mat-form-field>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Annuler</button>\n <button mat-stroked-button (click)=\"maybeConfirm()\" [disabled]=\"!form.valid\"><span i18n>Valider</span></button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-content{display:grid;width:70vw;max-width:30em}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.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: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
34
35
  }
35
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ClassDialogComponent, decorators: [{
36
37
  type: Component,
37
38
  args: [{ standalone: true, imports: [MatDialogModule, FormsModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatButtonModule], template: "<h2 i18n mat-dialog-title>Saisir les classes CSS</h2>\n\n<mat-dialog-content [formGroup]=\"form\">\n <mat-form-field>\n <mat-label i18n>Classes CSS</mat-label>\n <input matInput [formControl]=\"classControl\" (keydown.enter)=\"maybeConfirm()\" cdkFocusInitial />\n @if (classControl.hasError('pattern')) {\n <mat-error i18n>Doit \u00EAtre un ou plusieurs nom de classe CSS</mat-error>\n }\n </mat-form-field>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Annuler</button>\n <button mat-stroked-button (click)=\"maybeConfirm()\" [disabled]=\"!form.valid\"><span i18n>Valider</span></button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-content{display:grid;width:70vw;max-width:30em}\n"] }]
38
- }], ctorParameters: () => [{ type: undefined, decorators: [{
39
- type: Inject,
40
- args: [MAT_DIALOG_DATA]
41
- }] }, { type: i1.MatDialogRef }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9saWIvY2xhc3MtZGlhbG9nL2NsYXNzLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsLWVkaXRvci9zcmMvbGliL2NsYXNzLWRpYWxvZy9jbGFzcy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBZ0IsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBb0JoRSxNQUFNLE9BQU8sb0JBQW9CO0lBUzdCLFlBQzZCLElBQXFCLEVBQ3RDLFNBQThEO1FBQTlELGNBQVMsR0FBVCxTQUFTLENBQXFEO1FBVjFELGlCQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQy9DLFVBQVUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO1lBQ3hFLFdBQVcsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztRQUNhLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDM0IsQ0FBQyxDQUFDO1FBTUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLFlBQVk7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sT0FBTztRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOzhHQXRCUSxvQkFBb0Isa0JBVWpCLGVBQWU7a0dBVmxCLG9CQUFvQix3RUMxQmpDLHF0QkFnQkEscUhEUWMsZUFBZSwrbkJBQUUsV0FBVyxrakJBQUUsbUJBQW1CLGtXQUFFLGtCQUFrQix1WUFBRSxjQUFjLDBXQUFFLGVBQWU7OzJGQUV2RyxvQkFBb0I7a0JBTmhDLFNBQVM7aUNBR00sSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDOzswQkFZNUcsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmLCBNYXREaWFsb2dNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2lmVmFsaWR9IGZyb20gJ0BlY29kZXYvbmF0dXJhbCc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuZXhwb3J0IHR5cGUgQ2xhc3NEaWFsb2dEYXRhID0ge1xuICAgIC8qKlxuICAgICAqIENTUyBjbGFzcyBuYW1lc1xuICAgICAqXG4gICAgICogRWc6XG4gICAgICpcbiAgICAgKiAtIGBcIlwiYFxuICAgICAqIC0gYFwibXktY2xhc3MgbXktb3RoZXItY2xhc3NcImBcbiAgICAgKi9cbiAgICBjbGFzczogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2NsYXNzLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NsYXNzLWRpYWxvZy5jb21wb25lbnQuc2NzcycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTWF0RGlhbG9nTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xhc3NEaWFsb2dDb21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSBjbGFzc0NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHtcbiAgICAgICAgdmFsaWRhdG9yczogVmFsaWRhdG9ycy5wYXR0ZXJuKC8oXlxccyooLT9bX2EtekEtWl0rW19hLXpBLVowLTktXSpcXHMqKSspLyksXG4gICAgICAgIG5vbk51bGxhYmxlOiB0cnVlLFxuICAgIH0pO1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGNsYXNzOiB0aGlzLmNsYXNzQ29udHJvbCxcbiAgICB9KTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIGRhdGE6IENsYXNzRGlhbG9nRGF0YSxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDbGFzc0RpYWxvZ0NvbXBvbmVudCwgQ2xhc3NEaWFsb2dEYXRhPixcbiAgICApIHtcbiAgICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXliZUNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIGlmVmFsaWQodGhpcy5mb3JtKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jb25maXJtKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpO1xuICAgIH1cbn1cbiIsIjxoMiBpMThuIG1hdC1kaWFsb2ctdGl0bGU+U2Fpc2lyIGxlcyBjbGFzc2VzIENTUzwvaDI+XG5cbjxtYXQtZGlhbG9nLWNvbnRlbnQgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG4+Q2xhc3NlcyBDU1M8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJjbGFzc0NvbnRyb2xcIiAoa2V5ZG93bi5lbnRlcik9XCJtYXliZUNvbmZpcm0oKVwiIGNka0ZvY3VzSW5pdGlhbCAvPlxuICAgICAgICBAaWYgKGNsYXNzQ29udHJvbC5oYXNFcnJvcigncGF0dGVybicpKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yIGkxOG4+RG9pdCDDqnRyZSB1biBvdSBwbHVzaWV1cnMgbm9tIGRlIGNsYXNzZSBDU1M8L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlIGkxOG4+QW5udWxlcjwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJtYXliZUNvbmZpcm0oKVwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPjxzcGFuIGkxOG4+VmFsaWRlcjwvc3Bhbj48L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
39
+ }], ctorParameters: () => [] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9saWIvY2xhc3MtZGlhbG9nL2NsYXNzLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsLWVkaXRvci9zcmMvbGliL2NsYXNzLWRpYWxvZy9jbGFzcy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBb0JoRSxNQUFNLE9BQU8sb0JBQW9CO0lBVzdCO1FBVlEsY0FBUyxHQUFHLE1BQU0sQ0FBc0QsWUFBWSxDQUFDLENBQUM7UUFFOUUsaUJBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsVUFBVSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsd0NBQXdDLENBQUM7WUFDeEUsV0FBVyxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO1FBQ2EsU0FBSSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtTQUMzQixDQUFDLENBQUM7UUFHQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQWtCLGVBQWUsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxZQUFZO1FBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLE9BQU87UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0F2QlEsb0JBQW9CO2tHQUFwQixvQkFBb0Isd0VDMUJqQyxxdEJBZ0JBLHFIRFFjLGVBQWUsK25CQUFFLFdBQVcsa2pCQUFFLG1CQUFtQixrV0FBRSxrQkFBa0IsdVlBQUUsY0FBYywwV0FBRSxlQUFlOzsyRkFFdkcsb0JBQW9CO2tCQU5oQyxTQUFTO2lDQUdNLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtpZlZhbGlkfSBmcm9tICdAZWNvZGV2L25hdHVyYWwnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbmV4cG9ydCB0eXBlIENsYXNzRGlhbG9nRGF0YSA9IHtcbiAgICAvKipcbiAgICAgKiBDU1MgY2xhc3MgbmFtZXNcbiAgICAgKlxuICAgICAqIEVnOlxuICAgICAqXG4gICAgICogLSBgXCJcImBcbiAgICAgKiAtIGBcIm15LWNsYXNzIG15LW90aGVyLWNsYXNzXCJgXG4gICAgICovXG4gICAgY2xhc3M6IHN0cmluZztcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9jbGFzcy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jbGFzcy1kaWFsb2cuY29tcG9uZW50LnNjc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdERpYWxvZ01vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIENsYXNzRGlhbG9nQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGRpYWxvZ1JlZiA9IGluamVjdDxNYXREaWFsb2dSZWY8Q2xhc3NEaWFsb2dDb21wb25lbnQsIENsYXNzRGlhbG9nRGF0YT4+KE1hdERpYWxvZ1JlZik7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xhc3NDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFZhbGlkYXRvcnMucGF0dGVybigvKF5cXHMqKC0/W19hLXpBLVpdK1tfYS16QS1aMC05LV0qXFxzKikrKS8pLFxuICAgICAgICBub25OdWxsYWJsZTogdHJ1ZSxcbiAgICB9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBjbGFzczogdGhpcy5jbGFzc0NvbnRyb2wsXG4gICAgfSk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBpbmplY3Q8Q2xhc3NEaWFsb2dEYXRhPihNQVRfRElBTE9HX0RBVEEpO1xuXG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZShkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWF5YmVDb25maXJtKCk6IHZvaWQge1xuICAgICAgICBpZlZhbGlkKHRoaXMuZm9ybSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY29uZmlybSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcbiAgICB9XG59XG4iLCI8aDIgaTE4biBtYXQtZGlhbG9nLXRpdGxlPlNhaXNpciBsZXMgY2xhc3NlcyBDU1M8L2gyPlxuXG48bWF0LWRpYWxvZy1jb250ZW50IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPkNsYXNzZXMgQ1NTPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiY2xhc3NDb250cm9sXCIgKGtleWRvd24uZW50ZXIpPVwibWF5YmVDb25maXJtKClcIiBjZGtGb2N1c0luaXRpYWwgLz5cbiAgICAgICAgQGlmIChjbGFzc0NvbnRyb2wuaGFzRXJyb3IoJ3BhdHRlcm4nKSkge1xuICAgICAgICAgICAgPG1hdC1lcnJvciBpMThuPkRvaXQgw6p0cmUgdW4gb3UgcGx1c2lldXJzIG5vbSBkZSBjbGFzc2UgQ1NTPC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgYWxpZ249XCJlbmRcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSBpMThuPkFubnVsZXI8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwibWF5YmVDb25maXJtKClcIiBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIj48c3BhbiBpMThuPlZhbGlkZXI8L3NwYW4+PC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
1
+ import { Component, inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule } from '@angular/material/dialog';
3
3
  import { FormControl, FormGroup, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { ifValid } from '@ecodev/natural';
5
5
  import { MatInputModule } from '@angular/material/input';
@@ -15,8 +15,8 @@ import * as i4 from "@angular/material/icon";
15
15
  import * as i5 from "@angular/material/form-field";
16
16
  import * as i6 from "@angular/material/input";
17
17
  export class ColorDialogComponent {
18
- constructor(data, dialogRef) {
19
- this.dialogRef = dialogRef;
18
+ constructor() {
19
+ this.dialogRef = inject(MatDialogRef);
20
20
  this.colors = [
21
21
  [
22
22
  '#000000',
@@ -166,6 +166,7 @@ export class ColorDialogComponent {
166
166
  this.form = new FormGroup({
167
167
  color: this.colorControl,
168
168
  });
169
+ const data = inject(MAT_DIALOG_DATA);
169
170
  this.form.setValue(data);
170
171
  }
171
172
  maybeConfirm() {
@@ -178,7 +179,7 @@ export class ColorDialogComponent {
178
179
  this.colorControl.setValue(color);
179
180
  this.maybeConfirm();
180
181
  }
181
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ColorDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ColorDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
182
183
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: ColorDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<h2 i18n mat-dialog-title>S\u00E9lectionner une couleur</h2>\n\n<mat-dialog-content [formGroup]=\"form\">\n <div>\n @for (row of colors; track row) {\n <div>\n @for (color of row; track color) {\n <div class=\"color\" [style]=\"{backgroundColor: color}\" (click)=\"selectColor(color)\"> </div>\n }\n </div>\n }\n </div>\n\n <div>\n <button mat-button (click)=\"selectColor('')\">\n <mat-icon naturalIcon=\"format_color_reset\" />\n <span i18n>Transparent</span></button\n >\n </div>\n\n <mat-form-field>\n <mat-label i18n>Couleur</mat-label>\n <input matInput [formControl]=\"colorControl\" (keydown.enter)=\"maybeConfirm()\" cdkFocusInitial />\n <div\n class=\"sample\"\n matTextSuffix\n [style]=\"{backgroundColor: colorControl.valid ? colorControl.value : ''}\"\n ></div>\n @if (colorControl.hasError('pattern')) {\n <mat-error i18n>Doit \u00EAtre le format hexadecimal. Par exemple: #ff4000 </mat-error>\n }\n </mat-form-field>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Annuler</button>\n <button mat-stroked-button (click)=\"maybeConfirm()\" [disabled]=\"!form.valid\"><span i18n>Valider</span></button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-content{display:grid;row-gap:25px;justify-content:center;width:70vw;max-width:30em}.color{display:inline-block;cursor:pointer;margin:3px;width:25px;height:25px}.color:hover{margin:0;padding:3px}.sample{width:27px;height:27px}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.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"] }] }); }
183
184
  }
184
185
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ColorDialogComponent, decorators: [{
@@ -193,8 +194,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
193
194
  MatFormFieldModule,
194
195
  MatInputModule,
195
196
  ], template: "<h2 i18n mat-dialog-title>S\u00E9lectionner une couleur</h2>\n\n<mat-dialog-content [formGroup]=\"form\">\n <div>\n @for (row of colors; track row) {\n <div>\n @for (color of row; track color) {\n <div class=\"color\" [style]=\"{backgroundColor: color}\" (click)=\"selectColor(color)\"> </div>\n }\n </div>\n }\n </div>\n\n <div>\n <button mat-button (click)=\"selectColor('')\">\n <mat-icon naturalIcon=\"format_color_reset\" />\n <span i18n>Transparent</span></button\n >\n </div>\n\n <mat-form-field>\n <mat-label i18n>Couleur</mat-label>\n <input matInput [formControl]=\"colorControl\" (keydown.enter)=\"maybeConfirm()\" cdkFocusInitial />\n <div\n class=\"sample\"\n matTextSuffix\n [style]=\"{backgroundColor: colorControl.valid ? colorControl.value : ''}\"\n ></div>\n @if (colorControl.hasError('pattern')) {\n <mat-error i18n>Doit \u00EAtre le format hexadecimal. Par exemple: #ff4000 </mat-error>\n }\n </mat-form-field>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Annuler</button>\n <button mat-stroked-button (click)=\"maybeConfirm()\" [disabled]=\"!form.valid\"><span i18n>Valider</span></button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-content{display:grid;row-gap:25px;justify-content:center;width:70vw;max-width:30em}.color{display:inline-block;cursor:pointer;margin:3px;width:25px;height:25px}.color:hover{margin:0;padding:3px}.sample{width:27px;height:27px}\n"] }]
196
- }], ctorParameters: () => [{ type: undefined, decorators: [{
197
- type: Inject,
198
- args: [MAT_DIALOG_DATA]
199
- }] }, { type: i1.MatDialogRef }] });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9saWIvY29sb3ItZGlhbG9nL2NvbG9yLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsLWVkaXRvci9zcmMvbGliL2NvbG9yLWRpYWxvZy9jb2xvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBZ0IsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUE2QnpELE1BQU0sT0FBTyxvQkFBb0I7SUF3SjdCLFlBQzZCLElBQXFCLEVBQ3RDLFNBQThEO1FBQTlELGNBQVMsR0FBVCxTQUFTLENBQXFEO1FBekoxRCxXQUFNLEdBQWU7WUFDakM7Z0JBQ0ksU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7YUFDWjtZQUNEO2dCQUNJLFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2FBQ1o7WUFDRDtnQkFDSSxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUzthQUNaO1lBQ0Q7Z0JBQ0ksU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7YUFDWjtZQUNEO2dCQUNJLFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2FBQ1o7WUFDRDtnQkFDSSxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUzthQUNaO1lBQ0Q7Z0JBQ0ksU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7YUFDWjtZQUNEO2dCQUNJLFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2FBQ1o7WUFDRDtnQkFDSSxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUzthQUNaO1lBQ0Q7Z0JBQ0ksU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7YUFDWjtTQUNKLENBQUM7UUFFYyxpQkFBWSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUMvQyxVQUFVLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztZQUNyRCxXQUFXLEVBQUUsSUFBSTtTQUNwQixDQUFDLENBQUM7UUFDYSxTQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDakMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQzNCLENBQUMsQ0FBQztRQU1DLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxZQUFZO1FBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLE9BQU87UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQTFLUSxvQkFBb0Isa0JBeUpqQixlQUFlO2tHQXpKbEIsb0JBQW9CLHdFQ3JDakMsbzVDQXNDQSx1U0RYUSxlQUFlLCtuQkFDZixXQUFXLGtqQkFDWCxtQkFBbUIsa1dBQ25CLGVBQWUsMk5BQ2YsYUFBYSxvTEFDYixvQkFBb0Isa0dBQ3BCLGtCQUFrQix3Z0JBQ2xCLGNBQWM7OzJGQUdULG9CQUFvQjtrQkFmaEMsU0FBUztpQ0FHTSxJQUFJLFdBQ1A7d0JBQ0wsZUFBZTt3QkFDZixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixjQUFjO3FCQUNqQjs7MEJBMkpJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtpZlZhbGlkfSBmcm9tICdAZWNvZGV2L25hdHVyYWwnO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtOYXR1cmFsSWNvbkRpcmVjdGl2ZX0gZnJvbSAnQGVjb2Rldi9uYXR1cmFsJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuZXhwb3J0IHR5cGUgQ29sb3JEaWFsb2dEYXRhID0ge1xuICAgIC8qKlxuICAgICAqIEVtcHR5IHN0cmluZyBtZWFucyBubyBjb2xvciBzZXQgYXQgYWxsLiBBbnl0aGluZyBlbHNlIG11c3QgYmUgYSB2YWxpZCBDU1MgY29sb3IgaW4gaGV4YSBmb3JtYXQuXG4gICAgICpcbiAgICAgKiBFZzpcbiAgICAgKlxuICAgICAqIC0gYFwiXCJgXG4gICAgICogLSBgXCIjZmY0MDAwXCJgXG4gICAgICovXG4gICAgY29sb3I6IHN0cmluZztcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2xvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jb2xvci1kaWFsb2cuY29tcG9uZW50LnNjc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE5hdHVyYWxJY29uRGlyZWN0aXZlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbG9yRGlhbG9nQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sb3JzOiBzdHJpbmdbXVtdID0gW1xuICAgICAgICBbXG4gICAgICAgICAgICAnIzAwMDAwMCcsXG4gICAgICAgICAgICAnIzExMTExMScsXG4gICAgICAgICAgICAnIzFjMWMxYycsXG4gICAgICAgICAgICAnIzMzMzMzMycsXG4gICAgICAgICAgICAnIzY2NjY2NicsXG4gICAgICAgICAgICAnIzgwODA4MCcsXG4gICAgICAgICAgICAnIzk5OTk5OScsXG4gICAgICAgICAgICAnI2IyYjJiMicsXG4gICAgICAgICAgICAnI2NjY2NjYycsXG4gICAgICAgICAgICAnI2RkZGRkZCcsXG4gICAgICAgICAgICAnI2VlZWVlZScsXG4gICAgICAgICAgICAnI2ZmZmZmZicsXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICAgICcjZmZmZjAwJyxcbiAgICAgICAgICAgICcjZmZiZjAwJyxcbiAgICAgICAgICAgICcjZmY4MDAwJyxcbiAgICAgICAgICAgICcjZmY0MDAwJyxcbiAgICAgICAgICAgICcjZmYwMDAwJyxcbiAgICAgICAgICAgICcjYmYwMDQxJyxcbiAgICAgICAgICAgICcjODAwMDgwJyxcbiAgICAgICAgICAgICcjNTUzMDhkJyxcbiAgICAgICAgICAgICcjMmE2MDk5JyxcbiAgICAgICAgICAgICcjMTU4NDY2JyxcbiAgICAgICAgICAgICcjMDBhOTMzJyxcbiAgICAgICAgICAgICcjODFkNDFhJyxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgICAgJyNmZmZmZDcnLFxuICAgICAgICAgICAgJyNmZmY1Y2UnLFxuICAgICAgICAgICAgJyNmZmRiYjYnLFxuICAgICAgICAgICAgJyNmZmQ4Y2UnLFxuICAgICAgICAgICAgJyNmZmQ3ZDcnLFxuICAgICAgICAgICAgJyNmN2QxZDUnLFxuICAgICAgICAgICAgJyNlMGMyY2QnLFxuICAgICAgICAgICAgJyNkZWRjZTYnLFxuICAgICAgICAgICAgJyNkZWU2ZWYnLFxuICAgICAgICAgICAgJyNkZWU3ZTUnLFxuICAgICAgICAgICAgJyNkZGU4Y2InLFxuICAgICAgICAgICAgJyNmNmY5ZDQnLFxuICAgICAgICBdLFxuICAgICAgICBbXG4gICAgICAgICAgICAnI2ZmZmZhNicsXG4gICAgICAgICAgICAnI2ZmZTk5NCcsXG4gICAgICAgICAgICAnI2ZmYjY2YycsXG4gICAgICAgICAgICAnI2ZmYWE5NScsXG4gICAgICAgICAgICAnI2ZmYTZhNicsXG4gICAgICAgICAgICAnI2VjOWJhNCcsXG4gICAgICAgICAgICAnI2JmODE5ZScsXG4gICAgICAgICAgICAnI2I3YjNjYScsXG4gICAgICAgICAgICAnI2I0YzdkYycsXG4gICAgICAgICAgICAnI2IzY2FjNycsXG4gICAgICAgICAgICAnI2FmZDA5NScsXG4gICAgICAgICAgICAnI2U4ZjJhMScsXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICAgICcjZmZmZjZkJyxcbiAgICAgICAgICAgICcjZmZkZTU5JyxcbiAgICAgICAgICAgICcjZmY5NzJmJyxcbiAgICAgICAgICAgICcjZmY3YjU5JyxcbiAgICAgICAgICAgICcjZmY2ZDZkJyxcbiAgICAgICAgICAgICcjZTE2MTczJyxcbiAgICAgICAgICAgICcjYTE0NjdlJyxcbiAgICAgICAgICAgICcjOGU4NmFlJyxcbiAgICAgICAgICAgICcjNzI5ZmNmJyxcbiAgICAgICAgICAgICcjODFhY2E2JyxcbiAgICAgICAgICAgICcjNzdiYzY1JyxcbiAgICAgICAgICAgICcjZDRlYTZiJyxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgICAgJyNmZmZmMzgnLFxuICAgICAgICAgICAgJyNmZmQ0MjgnLFxuICAgICAgICAgICAgJyNmZjg2MGQnLFxuICAgICAgICAgICAgJyNmZjU0MjknLFxuICAgICAgICAgICAgJyNmZjM4MzgnLFxuICAgICAgICAgICAgJyNkNjJlNGUnLFxuICAgICAgICAgICAgJyM4ZDFkNzUnLFxuICAgICAgICAgICAgJyM2YjVlOWInLFxuICAgICAgICAgICAgJyM1OTgzYjAnLFxuICAgICAgICAgICAgJyM1MDkzOGEnLFxuICAgICAgICAgICAgJyMzZmFmNDYnLFxuICAgICAgICAgICAgJyNiYmUzM2QnLFxuICAgICAgICBdLFxuICAgICAgICBbXG4gICAgICAgICAgICAnI2U2ZTkwNScsXG4gICAgICAgICAgICAnI2U4YTIwMicsXG4gICAgICAgICAgICAnI2VhNzUwMCcsXG4gICAgICAgICAgICAnI2VkNGMwNScsXG4gICAgICAgICAgICAnI2YxMGQwYycsXG4gICAgICAgICAgICAnI2E3MDc0YicsXG4gICAgICAgICAgICAnIzc4MDM3MycsXG4gICAgICAgICAgICAnIzViMjc3ZCcsXG4gICAgICAgICAgICAnIzM0NjVhNCcsXG4gICAgICAgICAgICAnIzE2ODI1MycsXG4gICAgICAgICAgICAnIzA2OWEyZScsXG4gICAgICAgICAgICAnIzVlYjkxZScsXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICAgICcjYWNiMjBjJyxcbiAgICAgICAgICAgICcjYjQ3ODA0JyxcbiAgICAgICAgICAgICcjYjg1YzAwJyxcbiAgICAgICAgICAgICcjYmU0ODBhJyxcbiAgICAgICAgICAgICcjYzkyMTFlJyxcbiAgICAgICAgICAgICcjODYxMTQxJyxcbiAgICAgICAgICAgICcjNjUwOTUzJyxcbiAgICAgICAgICAgICcjNTUyMTViJyxcbiAgICAgICAgICAgICcjMzU1MjY5JyxcbiAgICAgICAgICAgICcjMWU2YTM5JyxcbiAgICAgICAgICAgICcjMTI3NjIyJyxcbiAgICAgICAgICAgICcjNDY4YTFhJyxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgICAgJyM3MDZlMGMnLFxuICAgICAgICAgICAgJyM3ODRiMDQnLFxuICAgICAgICAgICAgJyM3YjNkMDAnLFxuICAgICAgICAgICAgJyM4MTM3MDknLFxuICAgICAgICAgICAgJyM4ZDI4MWUnLFxuICAgICAgICAgICAgJyM2MTE3MjknLFxuICAgICAgICAgICAgJyM0ZTEwMmQnLFxuICAgICAgICAgICAgJyM0ODFkMzInLFxuICAgICAgICAgICAgJyMzODNkM2MnLFxuICAgICAgICAgICAgJyMyODQ3MWYnLFxuICAgICAgICAgICAgJyMyMjRiMTInLFxuICAgICAgICAgICAgJyMzOTU1MTEnLFxuICAgICAgICBdLFxuICAgICAgICBbXG4gICAgICAgICAgICAnIzQ0MzIwNScsXG4gICAgICAgICAgICAnIzQ3MjcwMicsXG4gICAgICAgICAgICAnIzQ5MjMwMCcsXG4gICAgICAgICAgICAnIzRiMjIwNCcsXG4gICAgICAgICAgICAnIzUwMjAwYycsXG4gICAgICAgICAgICAnIzQxMTkwZCcsXG4gICAgICAgICAgICAnIzNiMTYwZScsXG4gICAgICAgICAgICAnIzNhMWEwZicsXG4gICAgICAgICAgICAnIzM2MjQxMycsXG4gICAgICAgICAgICAnIzMwMjcwOScsXG4gICAgICAgICAgICAnIzJlMjcwNicsXG4gICAgICAgICAgICAnIzM0MmEwNicsXG4gICAgICAgIF0sXG4gICAgXTtcblxuICAgIHB1YmxpYyByZWFkb25seSBjb2xvckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHtcbiAgICAgICAgdmFsaWRhdG9yczogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eI1xccHtIZXhfRGlnaXR9ezZ9L3UpLFxuICAgICAgICBub25OdWxsYWJsZTogdHJ1ZSxcbiAgICB9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBjb2xvcjogdGhpcy5jb2xvckNvbnRyb2wsXG4gICAgfSk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhOiBDb2xvckRpYWxvZ0RhdGEsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29sb3JEaWFsb2dDb21wb25lbnQsIENvbG9yRGlhbG9nRGF0YT4sXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZShkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWF5YmVDb25maXJtKCk6IHZvaWQge1xuICAgICAgICBpZlZhbGlkKHRoaXMuZm9ybSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY29uZmlybSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0Q29sb3IoY29sb3I6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbG9yQ29udHJvbC5zZXRWYWx1ZShjb2xvcik7XG4gICAgICAgIHRoaXMubWF5YmVDb25maXJtKCk7XG4gICAgfVxufVxuIiwiPGgyIGkxOG4gbWF0LWRpYWxvZy10aXRsZT5Tw6lsZWN0aW9ubmVyIHVuZSBjb3VsZXVyPC9oMj5cblxuPG1hdC1kaWFsb2ctY29udGVudCBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8ZGl2PlxuICAgICAgICBAZm9yIChyb3cgb2YgY29sb3JzOyB0cmFjayByb3cpIHtcbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgQGZvciAoY29sb3Igb2Ygcm93OyB0cmFjayBjb2xvcikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sb3JcIiBbc3R5bGVdPVwie2JhY2tncm91bmRDb2xvcjogY29sb3J9XCIgKGNsaWNrKT1cInNlbGVjdENvbG9yKGNvbG9yKVwiPiA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzZWxlY3RDb2xvcignJylcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBuYXR1cmFsSWNvbj1cImZvcm1hdF9jb2xvcl9yZXNldFwiIC8+XG4gICAgICAgICAgICA8c3BhbiBpMThuPlRyYW5zcGFyZW50PC9zcGFuPjwvYnV0dG9uXG4gICAgICAgID5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPkNvdWxldXI8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJjb2xvckNvbnRyb2xcIiAoa2V5ZG93bi5lbnRlcik9XCJtYXliZUNvbmZpcm0oKVwiIGNka0ZvY3VzSW5pdGlhbCAvPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNhbXBsZVwiXG4gICAgICAgICAgICBtYXRUZXh0U3VmZml4XG4gICAgICAgICAgICBbc3R5bGVdPVwie2JhY2tncm91bmRDb2xvcjogY29sb3JDb250cm9sLnZhbGlkID8gY29sb3JDb250cm9sLnZhbHVlIDogJyd9XCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgICBAaWYgKGNvbG9yQ29udHJvbC5oYXNFcnJvcigncGF0dGVybicpKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yIGkxOG4+RG9pdCDDqnRyZSBsZSBmb3JtYXQgaGV4YWRlY2ltYWwuIFBhciBleGVtcGxlOiAjZmY0MDAwIDwvbWF0LWVycm9yPlxuICAgICAgICB9XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2UgaTE4bj5Bbm51bGVyPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIm1heWJlQ29uZmlybSgpXCIgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkXCI+PHNwYW4gaTE4bj5WYWxpZGVyPC9zcGFuPjwvYnV0dG9uPlxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=
197
+ }], ctorParameters: () => [] });
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9saWIvY29sb3ItZGlhbG9nL2NvbG9yLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsLWVkaXRvci9zcmMvbGliL2NvbG9yLWRpYWxvZy9jb2xvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUE2QnpELE1BQU0sT0FBTyxvQkFBb0I7SUEwSjdCO1FBekpRLGNBQVMsR0FBRyxNQUFNLENBQXNELFlBQVksQ0FBQyxDQUFDO1FBRTlFLFdBQU0sR0FBZTtZQUNqQztnQkFDSSxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUzthQUNaO1lBQ0Q7Z0JBQ0ksU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7YUFDWjtZQUNEO2dCQUNJLFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2FBQ1o7WUFDRDtnQkFDSSxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUzthQUNaO1lBQ0Q7Z0JBQ0ksU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7YUFDWjtZQUNEO2dCQUNJLFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2FBQ1o7WUFDRDtnQkFDSSxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUzthQUNaO1lBQ0Q7Z0JBQ0ksU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7YUFDWjtZQUNEO2dCQUNJLFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2FBQ1o7WUFDRDtnQkFDSSxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsU0FBUzthQUNaO1NBQ0osQ0FBQztRQUVjLGlCQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQy9DLFVBQVUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDO1lBQ3JELFdBQVcsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztRQUNhLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDM0IsQ0FBQyxDQUFDO1FBR0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFrQixlQUFlLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sWUFBWTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxPQUFPO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxXQUFXLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0EzS1Esb0JBQW9CO2tHQUFwQixvQkFBb0Isd0VDckNqQyxvNUNBc0NBLHVTRFhRLGVBQWUsK25CQUNmLFdBQVcsa2pCQUNYLG1CQUFtQixrV0FDbkIsZUFBZSwyTkFDZixhQUFhLG9MQUNiLG9CQUFvQixrR0FDcEIsa0JBQWtCLHdnQkFDbEIsY0FBYzs7MkZBR1Qsb0JBQW9CO2tCQWZoQyxTQUFTO2lDQUdNLElBQUksV0FDUDt3QkFDTCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGNBQWM7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmLCBNYXREaWFsb2dNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2lmVmFsaWR9IGZyb20gJ0BlY29kZXYvbmF0dXJhbCc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge05hdHVyYWxJY29uRGlyZWN0aXZlfSBmcm9tICdAZWNvZGV2L25hdHVyYWwnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5leHBvcnQgdHlwZSBDb2xvckRpYWxvZ0RhdGEgPSB7XG4gICAgLyoqXG4gICAgICogRW1wdHkgc3RyaW5nIG1lYW5zIG5vIGNvbG9yIHNldCBhdCBhbGwuIEFueXRoaW5nIGVsc2UgbXVzdCBiZSBhIHZhbGlkIENTUyBjb2xvciBpbiBoZXhhIGZvcm1hdC5cbiAgICAgKlxuICAgICAqIEVnOlxuICAgICAqXG4gICAgICogLSBgXCJcImBcbiAgICAgKiAtIGBcIiNmZjQwMDBcImBcbiAgICAgKi9cbiAgICBjb2xvcjogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NvbG9yLWRpYWxvZy5jb21wb25lbnQuc2NzcycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTmF0dXJhbEljb25EaXJlY3RpdmUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JEaWFsb2dDb21wb25lbnQge1xuICAgIHByaXZhdGUgZGlhbG9nUmVmID0gaW5qZWN0PE1hdERpYWxvZ1JlZjxDb2xvckRpYWxvZ0NvbXBvbmVudCwgQ29sb3JEaWFsb2dEYXRhPj4oTWF0RGlhbG9nUmVmKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBjb2xvcnM6IHN0cmluZ1tdW10gPSBbXG4gICAgICAgIFtcbiAgICAgICAgICAgICcjMDAwMDAwJyxcbiAgICAgICAgICAgICcjMTExMTExJyxcbiAgICAgICAgICAgICcjMWMxYzFjJyxcbiAgICAgICAgICAgICcjMzMzMzMzJyxcbiAgICAgICAgICAgICcjNjY2NjY2JyxcbiAgICAgICAgICAgICcjODA4MDgwJyxcbiAgICAgICAgICAgICcjOTk5OTk5JyxcbiAgICAgICAgICAgICcjYjJiMmIyJyxcbiAgICAgICAgICAgICcjY2NjY2NjJyxcbiAgICAgICAgICAgICcjZGRkZGRkJyxcbiAgICAgICAgICAgICcjZWVlZWVlJyxcbiAgICAgICAgICAgICcjZmZmZmZmJyxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgICAgJyNmZmZmMDAnLFxuICAgICAgICAgICAgJyNmZmJmMDAnLFxuICAgICAgICAgICAgJyNmZjgwMDAnLFxuICAgICAgICAgICAgJyNmZjQwMDAnLFxuICAgICAgICAgICAgJyNmZjAwMDAnLFxuICAgICAgICAgICAgJyNiZjAwNDEnLFxuICAgICAgICAgICAgJyM4MDAwODAnLFxuICAgICAgICAgICAgJyM1NTMwOGQnLFxuICAgICAgICAgICAgJyMyYTYwOTknLFxuICAgICAgICAgICAgJyMxNTg0NjYnLFxuICAgICAgICAgICAgJyMwMGE5MzMnLFxuICAgICAgICAgICAgJyM4MWQ0MWEnLFxuICAgICAgICBdLFxuICAgICAgICBbXG4gICAgICAgICAgICAnI2ZmZmZkNycsXG4gICAgICAgICAgICAnI2ZmZjVjZScsXG4gICAgICAgICAgICAnI2ZmZGJiNicsXG4gICAgICAgICAgICAnI2ZmZDhjZScsXG4gICAgICAgICAgICAnI2ZmZDdkNycsXG4gICAgICAgICAgICAnI2Y3ZDFkNScsXG4gICAgICAgICAgICAnI2UwYzJjZCcsXG4gICAgICAgICAgICAnI2RlZGNlNicsXG4gICAgICAgICAgICAnI2RlZTZlZicsXG4gICAgICAgICAgICAnI2RlZTdlNScsXG4gICAgICAgICAgICAnI2RkZThjYicsXG4gICAgICAgICAgICAnI2Y2ZjlkNCcsXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICAgICcjZmZmZmE2JyxcbiAgICAgICAgICAgICcjZmZlOTk0JyxcbiAgICAgICAgICAgICcjZmZiNjZjJyxcbiAgICAgICAgICAgICcjZmZhYTk1JyxcbiAgICAgICAgICAgICcjZmZhNmE2JyxcbiAgICAgICAgICAgICcjZWM5YmE0JyxcbiAgICAgICAgICAgICcjYmY4MTllJyxcbiAgICAgICAgICAgICcjYjdiM2NhJyxcbiAgICAgICAgICAgICcjYjRjN2RjJyxcbiAgICAgICAgICAgICcjYjNjYWM3JyxcbiAgICAgICAgICAgICcjYWZkMDk1JyxcbiAgICAgICAgICAgICcjZThmMmExJyxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgICAgJyNmZmZmNmQnLFxuICAgICAgICAgICAgJyNmZmRlNTknLFxuICAgICAgICAgICAgJyNmZjk3MmYnLFxuICAgICAgICAgICAgJyNmZjdiNTknLFxuICAgICAgICAgICAgJyNmZjZkNmQnLFxuICAgICAgICAgICAgJyNlMTYxNzMnLFxuICAgICAgICAgICAgJyNhMTQ2N2UnLFxuICAgICAgICAgICAgJyM4ZTg2YWUnLFxuICAgICAgICAgICAgJyM3MjlmY2YnLFxuICAgICAgICAgICAgJyM4MWFjYTYnLFxuICAgICAgICAgICAgJyM3N2JjNjUnLFxuICAgICAgICAgICAgJyNkNGVhNmInLFxuICAgICAgICBdLFxuICAgICAgICBbXG4gICAgICAgICAgICAnI2ZmZmYzOCcsXG4gICAgICAgICAgICAnI2ZmZDQyOCcsXG4gICAgICAgICAgICAnI2ZmODYwZCcsXG4gICAgICAgICAgICAnI2ZmNTQyOScsXG4gICAgICAgICAgICAnI2ZmMzgzOCcsXG4gICAgICAgICAgICAnI2Q2MmU0ZScsXG4gICAgICAgICAgICAnIzhkMWQ3NScsXG4gICAgICAgICAgICAnIzZiNWU5YicsXG4gICAgICAgICAgICAnIzU5ODNiMCcsXG4gICAgICAgICAgICAnIzUwOTM4YScsXG4gICAgICAgICAgICAnIzNmYWY0NicsXG4gICAgICAgICAgICAnI2JiZTMzZCcsXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICAgICcjZTZlOTA1JyxcbiAgICAgICAgICAgICcjZThhMjAyJyxcbiAgICAgICAgICAgICcjZWE3NTAwJyxcbiAgICAgICAgICAgICcjZWQ0YzA1JyxcbiAgICAgICAgICAgICcjZjEwZDBjJyxcbiAgICAgICAgICAgICcjYTcwNzRiJyxcbiAgICAgICAgICAgICcjNzgwMzczJyxcbiAgICAgICAgICAgICcjNWIyNzdkJyxcbiAgICAgICAgICAgICcjMzQ2NWE0JyxcbiAgICAgICAgICAgICcjMTY4MjUzJyxcbiAgICAgICAgICAgICcjMDY5YTJlJyxcbiAgICAgICAgICAgICcjNWViOTFlJyxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgICAgJyNhY2IyMGMnLFxuICAgICAgICAgICAgJyNiNDc4MDQnLFxuICAgICAgICAgICAgJyNiODVjMDAnLFxuICAgICAgICAgICAgJyNiZTQ4MGEnLFxuICAgICAgICAgICAgJyNjOTIxMWUnLFxuICAgICAgICAgICAgJyM4NjExNDEnLFxuICAgICAgICAgICAgJyM2NTA5NTMnLFxuICAgICAgICAgICAgJyM1NTIxNWInLFxuICAgICAgICAgICAgJyMzNTUyNjknLFxuICAgICAgICAgICAgJyMxZTZhMzknLFxuICAgICAgICAgICAgJyMxMjc2MjInLFxuICAgICAgICAgICAgJyM0NjhhMWEnLFxuICAgICAgICBdLFxuICAgICAgICBbXG4gICAgICAgICAgICAnIzcwNmUwYycsXG4gICAgICAgICAgICAnIzc4NGIwNCcsXG4gICAgICAgICAgICAnIzdiM2QwMCcsXG4gICAgICAgICAgICAnIzgxMzcwOScsXG4gICAgICAgICAgICAnIzhkMjgxZScsXG4gICAgICAgICAgICAnIzYxMTcyOScsXG4gICAgICAgICAgICAnIzRlMTAyZCcsXG4gICAgICAgICAgICAnIzQ4MWQzMicsXG4gICAgICAgICAgICAnIzM4M2QzYycsXG4gICAgICAgICAgICAnIzI4NDcxZicsXG4gICAgICAgICAgICAnIzIyNGIxMicsXG4gICAgICAgICAgICAnIzM5NTUxMScsXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICAgICcjNDQzMjA1JyxcbiAgICAgICAgICAgICcjNDcyNzAyJyxcbiAgICAgICAgICAgICcjNDkyMzAwJyxcbiAgICAgICAgICAgICcjNGIyMjA0JyxcbiAgICAgICAgICAgICcjNTAyMDBjJyxcbiAgICAgICAgICAgICcjNDExOTBkJyxcbiAgICAgICAgICAgICcjM2IxNjBlJyxcbiAgICAgICAgICAgICcjM2ExYTBmJyxcbiAgICAgICAgICAgICcjMzYyNDEzJyxcbiAgICAgICAgICAgICcjMzAyNzA5JyxcbiAgICAgICAgICAgICcjMmUyNzA2JyxcbiAgICAgICAgICAgICcjMzQyYTA2JyxcbiAgICAgICAgXSxcbiAgICBdO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbG9yQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywge1xuICAgICAgICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JzLnBhdHRlcm4oL14jXFxwe0hleF9EaWdpdH17Nn0vdSksXG4gICAgICAgIG5vbk51bGxhYmxlOiB0cnVlLFxuICAgIH0pO1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGNvbG9yOiB0aGlzLmNvbG9yQ29udHJvbCxcbiAgICB9KTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGluamVjdDxDb2xvckRpYWxvZ0RhdGE+KE1BVF9ESUFMT0dfREFUQSk7XG5cbiAgICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXliZUNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIGlmVmFsaWQodGhpcy5mb3JtKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jb25maXJtKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RDb2xvcihjb2xvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sb3JDb250cm9sLnNldFZhbHVlKGNvbG9yKTtcbiAgICAgICAgdGhpcy5tYXliZUNvbmZpcm0oKTtcbiAgICB9XG59XG4iLCI8aDIgaTE4biBtYXQtZGlhbG9nLXRpdGxlPlPDqWxlY3Rpb25uZXIgdW5lIGNvdWxldXI8L2gyPlxuXG48bWF0LWRpYWxvZy1jb250ZW50IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxkaXY+XG4gICAgICAgIEBmb3IgKHJvdyBvZiBjb2xvcnM7IHRyYWNrIHJvdykge1xuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICBAZm9yIChjb2xvciBvZiByb3c7IHRyYWNrIGNvbG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xvclwiIFtzdHlsZV09XCJ7YmFja2dyb3VuZENvbG9yOiBjb2xvcn1cIiAoY2xpY2spPVwic2VsZWN0Q29sb3IoY29sb3IpXCI+IDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2PlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNlbGVjdENvbG9yKCcnKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIG5hdHVyYWxJY29uPVwiZm9ybWF0X2NvbG9yX3Jlc2V0XCIgLz5cbiAgICAgICAgICAgIDxzcGFuIGkxOG4+VHJhbnNwYXJlbnQ8L3NwYW4+PC9idXR0b25cbiAgICAgICAgPlxuICAgIDwvZGl2PlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG4+Q291bGV1cjwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImNvbG9yQ29udHJvbFwiIChrZXlkb3duLmVudGVyKT1cIm1heWJlQ29uZmlybSgpXCIgY2RrRm9jdXNJbml0aWFsIC8+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwic2FtcGxlXCJcbiAgICAgICAgICAgIG1hdFRleHRTdWZmaXhcbiAgICAgICAgICAgIFtzdHlsZV09XCJ7YmFja2dyb3VuZENvbG9yOiBjb2xvckNvbnRyb2wudmFsaWQgPyBjb2xvckNvbnRyb2wudmFsdWUgOiAnJ31cIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIEBpZiAoY29sb3JDb250cm9sLmhhc0Vycm9yKCdwYXR0ZXJuJykpIHtcbiAgICAgICAgICAgIDxtYXQtZXJyb3IgaTE4bj5Eb2l0IMOqdHJlIGxlIGZvcm1hdCBoZXhhZGVjaW1hbC4gUGFyIGV4ZW1wbGU6ICNmZjQwMDAgPC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgYWxpZ249XCJlbmRcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSBpMThuPkFubnVsZXI8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwibWF5YmVDb25maXJtKClcIiBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIj48c3BhbiBpMThuPlZhbGlkZXI8L3NwYW4+PC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Directive, HostBinding, Inject, Input } from '@angular/core';
1
+ import { Directive, HostBinding, Input, inject } from '@angular/core';
2
2
  import { DOCUMENT } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
@@ -36,6 +36,11 @@ let componentCount = 0;
36
36
  * ```
37
37
  */
38
38
  export class NaturalCustomCssDirective {
39
+ constructor() {
40
+ this.document = inject(DOCUMENT);
41
+ this.style = null;
42
+ this.id = 'n' + ++uniqueId;
43
+ }
39
44
  set naturalCustomCss(value) {
40
45
  if (value && !this.style) {
41
46
  this.style = this.document.createElement('style');
@@ -45,11 +50,6 @@ export class NaturalCustomCssDirective {
45
50
  this.style.innerHTML = value ? prefixCss(`[data-natural-id=${this.id}]`, value) : '';
46
51
  }
47
52
  }
48
- constructor(document) {
49
- this.document = document;
50
- this.style = null;
51
- this.id = 'n' + ++uniqueId;
52
- }
53
53
  ngOnDestroy() {
54
54
  this.style?.remove();
55
55
  // Reset uniqueId if we have no component alive anymore, so that we never reach max int
@@ -58,7 +58,7 @@ export class NaturalCustomCssDirective {
58
58
  uniqueId = 0;
59
59
  }
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalCustomCssDirective, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalCustomCssDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
62
62
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: NaturalCustomCssDirective, isStandalone: true, selector: "[naturalCustomCss]", inputs: { naturalCustomCss: "naturalCustomCss" }, host: { properties: { "attr.data-natural-id": "this.id" } }, ngImport: i0 }); }
63
63
  }
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalCustomCssDirective, decorators: [{
@@ -67,14 +67,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
67
67
  selector: '[naturalCustomCss]',
68
68
  standalone: true,
69
69
  }]
70
- }], ctorParameters: () => [{ type: Document, decorators: [{
71
- type: Inject,
72
- args: [DOCUMENT]
73
- }] }], propDecorators: { id: [{
70
+ }], propDecorators: { id: [{
74
71
  type: HostBinding,
75
72
  args: ['attr.data-natural-id']
76
73
  }], naturalCustomCss: [{
77
74
  type: Input,
78
75
  args: [{ required: true }]
79
76
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsLWVkaXRvci9zcmMvbGliL2N1c3RvbS1jc3MvY3VzdG9tLWNzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBRXpDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQWMsRUFBRSxHQUFXO0lBQ2pELE1BQU0sR0FBRyxJQUFJLEdBQUcsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUU3QixPQUFPLEdBQUc7U0FDTCxPQUFPLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQ2hDLFNBQVM7U0FDSixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ1osSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDakI7U0FDQSxJQUFJLEVBQUUsQ0FBQztBQUNoQixDQUFDO0FBRUQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztBQUV2Qjs7Ozs7Ozs7OztHQVVHO0FBS0gsTUFBTSxPQUFPLHlCQUF5QjtJQUtsQyxJQUNXLGdCQUFnQixDQUFDLEtBQXlCO1FBQ2pELElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekYsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFzRCxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBaEJoRSxVQUFLLEdBQTRCLElBQUksQ0FBQztRQUVRLE9BQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxRQUFRLENBQUM7SUFjRCxDQUFDO0lBRXJFLFdBQVc7UUFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBRXJCLHVGQUF1RjtRQUN2RixjQUFjLEVBQUUsQ0FBQztRQUNqQixJQUFJLGNBQWMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0QixRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7SUFDTCxDQUFDOzhHQTNCUSx5QkFBeUIsa0JBaUJQLFFBQVE7a0dBakIxQix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFrQnVCLE1BQU07MkJBQUMsUUFBUTt5Q0FkbUIsRUFBRTtzQkFBdkQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBR3hCLGdCQUFnQjtzQkFEMUIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIFByZWZpeCBhbGwgQ1NTIHNlbGVjdG9ycyB3aXRoIHRoZSBnaXZlbiBzZWxlY3RvclxuICpcbiAqIFRoaXMgaXMgbWVhbnQgdG8gYmUgcmVsYXRpdmVseSBzaW1wbGUgYW5kIG1pZ2h0IG5vdCBjb3ZlciBhZHZhbmNlZCBDU1Mgc3ludGF4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVmaXhDc3MocHJlZml4OiBzdHJpbmcsIGNzczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBwcmVmaXggPSAnXFxuJyArIHByZWZpeCArICcgJztcblxuICAgIHJldHVybiBjc3NcbiAgICAgICAgLnJlcGxhY2UoLyhbXnt9XSopey9ncywgc2VsZWN0b3JzID0+XG4gICAgICAgICAgICBzZWxlY3RvcnNcbiAgICAgICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgICAgIC5tYXAoc2VsZWN0b3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IudHJpbSgpLnN0YXJ0c1dpdGgoJ0BtZWRpYScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0b3IudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZpeCArIHNlbGVjdG9yLnRyaW0oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmpvaW4oJywnKSxcbiAgICAgICAgKVxuICAgICAgICAudHJpbSgpO1xufVxuXG5sZXQgdW5pcXVlSWQgPSAwO1xubGV0IGNvbXBvbmVudENvdW50ID0gMDtcblxuLyoqXG4gKiBJbmplY3QgY3VzdG9tIENTUyBpbnRvIGNvbXBvbmVudCBhbmQgc2NvcGUgdGhlIENTUyBvbmx5IHRvIHRoaXMgY29tcG9uZW50XG4gKlxuICogVXNhZ2UgOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgW25hdHVyYWxDdXN0b21Dc3NdPVwiLm15LWNsYXNzIHtiYWNrZ3JvdW5kOiByZWR9XCI+XG4gKiAgICAgPHAgY2xhc3M9XCJteS1jbGFzc1wiPmZvbyBiYXI8L3A+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuYXR1cmFsQ3VzdG9tQ3NzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEN1c3RvbUNzc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBzdHlsZTogSFRNTFN0eWxlRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbmF0dXJhbC1pZCcpIHByaXZhdGUgcmVhZG9ubHkgaWQgPSAnbicgKyArK3VuaXF1ZUlkO1xuXG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gICAgcHVibGljIHNldCBuYXR1cmFsQ3VzdG9tQ3NzKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHZhbHVlICYmICF0aGlzLnN0eWxlKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuc3R5bGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3R5bGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGUuaW5uZXJIVE1MID0gdmFsdWUgPyBwcmVmaXhDc3MoYFtkYXRhLW5hdHVyYWwtaWQ9JHt0aGlzLmlkfV1gLCB2YWx1ZSkgOiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudCkge31cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdHlsZT8ucmVtb3ZlKCk7XG5cbiAgICAgICAgLy8gUmVzZXQgdW5pcXVlSWQgaWYgd2UgaGF2ZSBubyBjb21wb25lbnQgYWxpdmUgYW55bW9yZSwgc28gdGhhdCB3ZSBuZXZlciByZWFjaCBtYXggaW50XG4gICAgICAgIGNvbXBvbmVudENvdW50LS07XG4gICAgICAgIGlmIChjb21wb25lbnRDb3VudCA8PSAwKSB7XG4gICAgICAgICAgICB1bmlxdWVJZCA9IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsLWVkaXRvci9zcmMvbGliL2N1c3RvbS1jc3MvY3VzdG9tLWNzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBRXpDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQWMsRUFBRSxHQUFXO0lBQ2pELE1BQU0sR0FBRyxJQUFJLEdBQUcsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUU3QixPQUFPLEdBQUc7U0FDTCxPQUFPLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQ2hDLFNBQVM7U0FDSixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ1osSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDakI7U0FDQSxJQUFJLEVBQUUsQ0FBQztBQUNoQixDQUFDO0FBRUQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztBQUV2Qjs7Ozs7Ozs7OztHQVVHO0FBS0gsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQUtxQixhQUFRLEdBQUcsTUFBTSxDQUFXLFFBQVEsQ0FBQyxDQUFDO1FBRS9DLFVBQUssR0FBNEIsSUFBSSxDQUFDO1FBRVEsT0FBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztLQXVCL0U7SUFyQkcsSUFDVyxnQkFBZ0IsQ0FBQyxLQUF5QjtRQUNqRCxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pGLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFFckIsdUZBQXVGO1FBQ3ZGLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLElBQUksY0FBYyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RCLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7OEdBM0JRLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFNeUQsRUFBRTtzQkFBdkQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBR3hCLGdCQUFnQjtzQkFEMUIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIFByZWZpeCBhbGwgQ1NTIHNlbGVjdG9ycyB3aXRoIHRoZSBnaXZlbiBzZWxlY3RvclxuICpcbiAqIFRoaXMgaXMgbWVhbnQgdG8gYmUgcmVsYXRpdmVseSBzaW1wbGUgYW5kIG1pZ2h0IG5vdCBjb3ZlciBhZHZhbmNlZCBDU1Mgc3ludGF4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVmaXhDc3MocHJlZml4OiBzdHJpbmcsIGNzczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBwcmVmaXggPSAnXFxuJyArIHByZWZpeCArICcgJztcblxuICAgIHJldHVybiBjc3NcbiAgICAgICAgLnJlcGxhY2UoLyhbXnt9XSopey9ncywgc2VsZWN0b3JzID0+XG4gICAgICAgICAgICBzZWxlY3RvcnNcbiAgICAgICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgICAgIC5tYXAoc2VsZWN0b3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IudHJpbSgpLnN0YXJ0c1dpdGgoJ0BtZWRpYScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0b3IudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZpeCArIHNlbGVjdG9yLnRyaW0oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmpvaW4oJywnKSxcbiAgICAgICAgKVxuICAgICAgICAudHJpbSgpO1xufVxuXG5sZXQgdW5pcXVlSWQgPSAwO1xubGV0IGNvbXBvbmVudENvdW50ID0gMDtcblxuLyoqXG4gKiBJbmplY3QgY3VzdG9tIENTUyBpbnRvIGNvbXBvbmVudCBhbmQgc2NvcGUgdGhlIENTUyBvbmx5IHRvIHRoaXMgY29tcG9uZW50XG4gKlxuICogVXNhZ2UgOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgW25hdHVyYWxDdXN0b21Dc3NdPVwiLm15LWNsYXNzIHtiYWNrZ3JvdW5kOiByZWR9XCI+XG4gKiAgICAgPHAgY2xhc3M9XCJteS1jbGFzc1wiPmZvbyBiYXI8L3A+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuYXR1cmFsQ3VzdG9tQ3NzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEN1c3RvbUNzc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xuXG4gICAgcHJpdmF0ZSBzdHlsZTogSFRNTFN0eWxlRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbmF0dXJhbC1pZCcpIHByaXZhdGUgcmVhZG9ubHkgaWQgPSAnbicgKyArK3VuaXF1ZUlkO1xuXG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gICAgcHVibGljIHNldCBuYXR1cmFsQ3VzdG9tQ3NzKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHZhbHVlICYmICF0aGlzLnN0eWxlKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuc3R5bGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3R5bGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGUuaW5uZXJIVE1MID0gdmFsdWUgPyBwcmVmaXhDc3MoYFtkYXRhLW5hdHVyYWwtaWQ9JHt0aGlzLmlkfV1gLCB2YWx1ZSkgOiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdHlsZT8ucmVtb3ZlKCk7XG5cbiAgICAgICAgLy8gUmVzZXQgdW5pcXVlSWQgaWYgd2UgaGF2ZSBubyBjb21wb25lbnQgYWxpdmUgYW55bW9yZSwgc28gdGhhdCB3ZSBuZXZlciByZWFjaCBtYXggaW50XG4gICAgICAgIGNvbXBvbmVudENvdW50LS07XG4gICAgICAgIGlmIChjb21wb25lbnRDb3VudCA8PSAwKSB7XG4gICAgICAgICAgICB1bmlxdWVJZCA9IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=