@guajiritos/general-autocomplete 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -145
- package/esm2022/lib/guachos-general-autocomplete.component.mjs +34 -28
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/utils/interfaces/interfaces.mjs +1 -1
- package/esm2022/utils/pipes/duration.pipe.mjs +4 -4
- package/esm2022/utils/pipes/humanize-duration.pipe.mjs +3 -3
- package/esm2022/utils/pipes/i18n-field.pipe.mjs +3 -3
- package/esm2022/utils/pipes/ida-return.pipe.mjs +4 -4
- package/esm2022/utils/pipes/pipes.module.mjs +5 -5
- package/esm2022/utils/pipes/resolve-property-path.pipe.mjs +3 -3
- package/esm2022/utils/pipes/show-roles.pipe.mjs +4 -4
- package/esm2022/utils/pipes/show-segments.pipe.mjs +4 -4
- package/esm2022/utils/pipes/show-transport-types.pipe.mjs +4 -4
- package/esm2022/utils/services/autocomplete.service.mjs +3 -3
- package/esm2022/utils/services/utils.service.mjs +3 -3
- package/fesm2022/guajiritos-general-autocomplete.mjs +64 -58
- package/fesm2022/guajiritos-general-autocomplete.mjs.map +1 -1
- package/lib/guachos-general-autocomplete.component.d.ts +6 -3
- package/package.json +1 -1
- package/theme.scss +14 -14
@@ -1,18 +1,18 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, Input, NgZone, Output, signal, TemplateRef, ViewChild } from '@angular/core';
|
2
|
-
import { NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormControl, Validators } from '@angular/forms';
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, Input, NgZone, Output, signal, TemplateRef, ViewChild, } from '@angular/core';
|
2
|
+
import { NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormControl, Validators, } from '@angular/forms';
|
3
3
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
4
4
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
5
5
|
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
6
6
|
import { debounceTime, Subject, takeUntil } from 'rxjs';
|
7
|
-
import { NgClass, NgForOf, NgIf, NgStyle, NgTemplateOutlet } from
|
8
|
-
import { MatInputModule } from
|
9
|
-
import { MatButtonModule } from
|
10
|
-
import { MatIconModule } from
|
11
|
-
import { MatProgressSpinnerModule } from
|
7
|
+
import { NgClass, NgForOf, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';
|
8
|
+
import { MatInputModule } from '@angular/material/input';
|
9
|
+
import { MatButtonModule } from '@angular/material/button';
|
10
|
+
import { MatIconModule } from '@angular/material/icon';
|
11
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
12
12
|
import { GENERAL_DISPLAY_OPTIONS } from '../utils/constants/contacts';
|
13
13
|
import { AutocompleteService } from '../utils/services/autocomplete.service';
|
14
14
|
import { UtilsService } from '../utils/services/utils.service';
|
15
|
-
import { PipesModule } from
|
15
|
+
import { PipesModule } from '../utils/pipes/pipes.module';
|
16
16
|
import * as i0 from "@angular/core";
|
17
17
|
import * as i1 from "../utils/services/autocomplete.service";
|
18
18
|
import * as i2 from "@ngx-translate/core";
|
@@ -41,15 +41,14 @@ export class GuajiritosGeneralAutocomplete {
|
|
41
41
|
this.loading = signal(false);
|
42
42
|
this.required = signal(false);
|
43
43
|
this.filteredOptions = signal([]);
|
44
|
-
this.component = new UntypedFormControl({
|
45
|
-
value: null, disabled: false
|
46
|
-
});
|
44
|
+
this.component = new UntypedFormControl({ value: null, disabled: false });
|
47
45
|
/**
|
48
46
|
* Possible values 'never', 'auto' or 'always'
|
49
47
|
*/
|
50
48
|
this.floatLabel = 'auto';
|
51
49
|
this.debounceTimeValue = 300;
|
52
50
|
this.label = 'Seleccione';
|
51
|
+
this.showLabel = true;
|
53
52
|
this.appearance = 'outline';
|
54
53
|
this.color = 'accent';
|
55
54
|
this.placeholder = 'Seleccione un elemento';
|
@@ -58,7 +57,8 @@ export class GuajiritosGeneralAutocomplete {
|
|
58
57
|
this.displayOptions = GENERAL_DISPLAY_OPTIONS;
|
59
58
|
this.withoutPaddingBottom = true;
|
60
59
|
this.valueId = false;
|
61
|
-
this.
|
60
|
+
this.showSuffix = false;
|
61
|
+
this.suffixIcon = 'search';
|
62
62
|
this.removeProperties = [];
|
63
63
|
this.SelectElement = new EventEmitter();
|
64
64
|
this.propagateChange = (_) => {
|
@@ -107,7 +107,7 @@ export class GuajiritosGeneralAutocomplete {
|
|
107
107
|
this.SelectElement.emit(null);
|
108
108
|
this.filteredOptions.set([]);
|
109
109
|
this.propagateChange(null);
|
110
|
-
}
|
110
|
+
},
|
111
111
|
});
|
112
112
|
}
|
113
113
|
}
|
@@ -159,7 +159,7 @@ export class GuajiritosGeneralAutocomplete {
|
|
159
159
|
this.inputText?.nativeElement?.focus();
|
160
160
|
}, 500);
|
161
161
|
});
|
162
|
-
}
|
162
|
+
},
|
163
163
|
});
|
164
164
|
}
|
165
165
|
}
|
@@ -189,7 +189,7 @@ export class GuajiritosGeneralAutocomplete {
|
|
189
189
|
this.firstCall.set(false);
|
190
190
|
}
|
191
191
|
this.wasSelected.set(false);
|
192
|
-
}
|
192
|
+
},
|
193
193
|
});
|
194
194
|
}
|
195
195
|
/**
|
@@ -205,7 +205,7 @@ export class GuajiritosGeneralAutocomplete {
|
|
205
205
|
next: (result) => {
|
206
206
|
this.filteredOptions.set(result?.payload?.data ?? result?.data);
|
207
207
|
this.loading.set(false);
|
208
|
-
}
|
208
|
+
},
|
209
209
|
});
|
210
210
|
});
|
211
211
|
}
|
@@ -301,7 +301,7 @@ export class GuajiritosGeneralAutocomplete {
|
|
301
301
|
this.selectedElement.set(item);
|
302
302
|
this.SelectElement.emit(item);
|
303
303
|
if (this.valueId) {
|
304
|
-
this.propagateChange(typeof item ===
|
304
|
+
this.propagateChange(typeof item === 'object' ? item?.id : item);
|
305
305
|
}
|
306
306
|
else {
|
307
307
|
this.propagateChange(item);
|
@@ -314,16 +314,16 @@ export class GuajiritosGeneralAutocomplete {
|
|
314
314
|
this.unsubscribeAll$.next();
|
315
315
|
this.unsubscribeAll$.complete();
|
316
316
|
}
|
317
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
318
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.
|
317
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: GuajiritosGeneralAutocomplete, deps: [{ token: i1.AutocompleteService }, { token: i0.NgZone }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
318
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: GuajiritosGeneralAutocomplete, isStandalone: true, selector: "guajiritos-general-autocomplete", inputs: { floatLabel: "floatLabel", bodyRequest: "bodyRequest", debounceTimeValue: "debounceTimeValue", detailsTemplate: "detailsTemplate", label: "label", showLabel: "showLabel", appearance: "appearance", color: "color", placeholder: "placeholder", field: "field", filterString: "filterString", displayOptions: "displayOptions", withoutPaddingBottom: "withoutPaddingBottom", valueId: "valueId", showSuffix: "showSuffix", order: "order", suffixIcon: "suffixIcon", removeProperties: "removeProperties", url: "url", clearData: "clearData", initialValue: "initialValue", restrictions: "restrictions", isRequired: "isRequired", doFocus: "doFocus" }, outputs: { SelectElement: "SelectElement" }, providers: [
|
319
319
|
{
|
320
320
|
provide: NG_VALUE_ACCESSOR,
|
321
321
|
useExisting: forwardRef(() => GuajiritosGeneralAutocomplete),
|
322
|
-
multi: true
|
323
|
-
}
|
324
|
-
], viewQueries: [{ propertyName: "inputText", first: true, predicate: ["inputText"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\" class=\"w-100\"\r\n [appearance]=\"appearance\" [color]=\"color\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (focus)=\"onFocus()\" [formControl]=\"component\"\r\n [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\" aria-label=\"autocomplete\"\r\n autocomplete=\"off\" matInput type=\"text\" [required]=\"required()\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading() && component?.value\" [disabled]=\"disabledButton()\"\r\n aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading()\" aria-label=\"search\" mat-icon-button matSuffix>\r\n <mat-spinner [value]=\"90\" color=\"accent\" diameter=\"25\"></mat-spinner>\r\n </button>\r\n <mat-autocomplete #autocomplete=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of filteredOptions()\" [value]=\"option\" (onSelectionChange)=\"onSelectElement(option)\">\r\n\r\n <ng-container *ngIf=\"!displayOptions && !detailsTemplate\">\r\n {{ option?.name | i18nField: translateService.currentLang }}\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!detailsTemplate\">\r\n <div class=\"display-options\">\r\n <span [ngStyle]=\"{'line-height': displayOptions?.secondLabel ? '16px' : ''}\">\r\n {{option | resolvePropertyPath:displayOptions.firthLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n <span *ngIf=\"displayOptions?.secondLabel\" class=\"mat-caption\">\r\n {{option | resolvePropertyPath: displayOptions.secondLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"detailsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate;context:{$implicit: option }\"></ng-container>\r\n </ng-container>\r\n </mat-option>\r\n </mat-autocomplete>\r\n\r\n <mat-error *ngIf=\"component.invalid\">\r\n {{'Este campo es requerido.' | translate}}\r\n </mat-error>\r\n</mat-form-field>\r\n", styles: [".w-100{width:100%}.display-options{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}\n"], dependencies: [{ 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: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { 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"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i10.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PipesModule }, { kind: "pipe", type: i11.I18nFieldPipe, name: "i18nField" }, { kind: "pipe", type: i12.ResolvePropertyPath, name: "resolvePropertyPath" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
322
|
+
multi: true,
|
323
|
+
},
|
324
|
+
], viewQueries: [{ propertyName: "inputText", first: true, predicate: ["inputText"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\" class=\"w-100\"\r\n [appearance]=\"appearance\" [color]=\"color\">\r\n\r\n <mat-label *ngIf=\"showLabel\">{{label | translate}}</mat-label>\r\n <mat-icon matSuffix *ngIf=\"showSuffix\">{{suffixIcon ?? \"search\"}}</mat-icon>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (focus)=\"onFocus()\" [formControl]=\"component\"\r\n [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\" aria-label=\"autocomplete\"\r\n autocomplete=\"off\" matInput type=\"text\" [required]=\"required()\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading() && component?.value\" [disabled]=\"disabledButton()\"\r\n aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading()\" aria-label=\"search\" mat-icon-button matSuffix>\r\n <mat-spinner [value]=\"90\" color=\"accent\" diameter=\"25\"></mat-spinner>\r\n </button>\r\n <mat-autocomplete #autocomplete=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of filteredOptions()\" [value]=\"option\" (onSelectionChange)=\"onSelectElement(option)\">\r\n\r\n <ng-container *ngIf=\"!displayOptions && !detailsTemplate\">\r\n {{ option?.name | i18nField: translateService.currentLang }}\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!detailsTemplate\">\r\n <div class=\"display-options\">\r\n <span [ngStyle]=\"{'line-height': displayOptions?.secondLabel ? '16px' : ''}\">\r\n {{option | resolvePropertyPath:displayOptions.firthLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n <span *ngIf=\"displayOptions?.secondLabel\" class=\"mat-caption\">\r\n {{option | resolvePropertyPath: displayOptions.secondLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"detailsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate;context:{$implicit: option }\"></ng-container>\r\n </ng-container>\r\n </mat-option>\r\n </mat-autocomplete>\r\n\r\n <mat-error *ngIf=\"component.invalid\">\r\n {{'Este campo es requerido.' | translate}}\r\n </mat-error>\r\n</mat-form-field>\r\n", styles: [".w-100{width:100%}.display-options{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}\n"], dependencies: [{ 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: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { 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"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i10.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PipesModule }, { kind: "pipe", type: i11.I18nFieldPipe, name: "i18nField" }, { kind: "pipe", type: i12.ResolvePropertyPath, name: "resolvePropertyPath" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
325
325
|
}
|
326
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: GuajiritosGeneralAutocomplete, decorators: [{
|
327
327
|
type: Component,
|
328
328
|
args: [{ selector: 'guajiritos-general-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
329
329
|
MatFormFieldModule,
|
@@ -339,14 +339,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
|
|
339
339
|
NgForOf,
|
340
340
|
NgStyle,
|
341
341
|
PipesModule,
|
342
|
-
NgTemplateOutlet
|
342
|
+
NgTemplateOutlet,
|
343
343
|
], providers: [
|
344
344
|
{
|
345
345
|
provide: NG_VALUE_ACCESSOR,
|
346
346
|
useExisting: forwardRef(() => GuajiritosGeneralAutocomplete),
|
347
|
-
multi: true
|
348
|
-
}
|
349
|
-
], template: "<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\" class=\"w-100\"\r\n [appearance]=\"appearance\" [color]=\"color\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (focus)=\"onFocus()\" [formControl]=\"component\"\r\n [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\" aria-label=\"autocomplete\"\r\n autocomplete=\"off\" matInput type=\"text\" [required]=\"required()\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading() && component?.value\" [disabled]=\"disabledButton()\"\r\n aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading()\" aria-label=\"search\" mat-icon-button matSuffix>\r\n <mat-spinner [value]=\"90\" color=\"accent\" diameter=\"25\"></mat-spinner>\r\n </button>\r\n <mat-autocomplete #autocomplete=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of filteredOptions()\" [value]=\"option\" (onSelectionChange)=\"onSelectElement(option)\">\r\n\r\n <ng-container *ngIf=\"!displayOptions && !detailsTemplate\">\r\n {{ option?.name | i18nField: translateService.currentLang }}\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!detailsTemplate\">\r\n <div class=\"display-options\">\r\n <span [ngStyle]=\"{'line-height': displayOptions?.secondLabel ? '16px' : ''}\">\r\n {{option | resolvePropertyPath:displayOptions.firthLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n <span *ngIf=\"displayOptions?.secondLabel\" class=\"mat-caption\">\r\n {{option | resolvePropertyPath: displayOptions.secondLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"detailsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate;context:{$implicit: option }\"></ng-container>\r\n </ng-container>\r\n </mat-option>\r\n </mat-autocomplete>\r\n\r\n <mat-error *ngIf=\"component.invalid\">\r\n {{'Este campo es requerido.' | translate}}\r\n </mat-error>\r\n</mat-form-field>\r\n", styles: [".w-100{width:100%}.display-options{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}\n"] }]
|
347
|
+
multi: true,
|
348
|
+
},
|
349
|
+
], template: "<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\" class=\"w-100\"\r\n [appearance]=\"appearance\" [color]=\"color\">\r\n\r\n <mat-label *ngIf=\"showLabel\">{{label | translate}}</mat-label>\r\n <mat-icon matSuffix *ngIf=\"showSuffix\">{{suffixIcon ?? \"search\"}}</mat-icon>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (focus)=\"onFocus()\" [formControl]=\"component\"\r\n [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\" aria-label=\"autocomplete\"\r\n autocomplete=\"off\" matInput type=\"text\" [required]=\"required()\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading() && component?.value\" [disabled]=\"disabledButton()\"\r\n aria-label=\"Clear\" mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading()\" aria-label=\"search\" mat-icon-button matSuffix>\r\n <mat-spinner [value]=\"90\" color=\"accent\" diameter=\"25\"></mat-spinner>\r\n </button>\r\n <mat-autocomplete #autocomplete=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of filteredOptions()\" [value]=\"option\" (onSelectionChange)=\"onSelectElement(option)\">\r\n\r\n <ng-container *ngIf=\"!displayOptions && !detailsTemplate\">\r\n {{ option?.name | i18nField: translateService.currentLang }}\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!detailsTemplate\">\r\n <div class=\"display-options\">\r\n <span [ngStyle]=\"{'line-height': displayOptions?.secondLabel ? '16px' : ''}\">\r\n {{option | resolvePropertyPath:displayOptions.firthLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n <span *ngIf=\"displayOptions?.secondLabel\" class=\"mat-caption\">\r\n {{option | resolvePropertyPath: displayOptions.secondLabel | i18nField: translateService.currentLang}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"detailsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate;context:{$implicit: option }\"></ng-container>\r\n </ng-container>\r\n </mat-option>\r\n </mat-autocomplete>\r\n\r\n <mat-error *ngIf=\"component.invalid\">\r\n {{'Este campo es requerido.' | translate}}\r\n </mat-error>\r\n</mat-form-field>\r\n", styles: [".w-100{width:100%}.display-options{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}\n"] }]
|
350
350
|
}], ctorParameters: function () { return [{ type: i1.AutocompleteService }, { type: i0.NgZone }, { type: i2.TranslateService }]; }, propDecorators: { inputText: [{
|
351
351
|
type: ViewChild,
|
352
352
|
args: ['inputText', { static: true }]
|
@@ -360,6 +360,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
|
|
360
360
|
type: Input
|
361
361
|
}], label: [{
|
362
362
|
type: Input
|
363
|
+
}], showLabel: [{
|
364
|
+
type: Input
|
363
365
|
}], appearance: [{
|
364
366
|
type: Input
|
365
367
|
}], color: [{
|
@@ -376,8 +378,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
|
|
376
378
|
type: Input
|
377
379
|
}], valueId: [{
|
378
380
|
type: Input
|
381
|
+
}], showSuffix: [{
|
382
|
+
type: Input
|
379
383
|
}], order: [{
|
380
384
|
type: Input
|
385
|
+
}], suffixIcon: [{
|
386
|
+
type: Input
|
381
387
|
}], removeProperties: [{
|
382
388
|
type: Input
|
383
389
|
}], SelectElement: [{
|
@@ -395,4 +401,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
|
|
395
401
|
}], doFocus: [{
|
396
402
|
type: Input
|
397
403
|
}] } });
|
398
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUdOLE1BQU0sRUFDTixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFFbEIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHFCQUFxQixFQUF5QixNQUFNLGdDQUFnQyxDQUFDO0FBQzdGLE9BQU8sRUFBeUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RyxPQUFPLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVB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RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSTdCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUVNLEdBQUc7c0JBQWYsS0FBSztnQkFPTyxTQUFTO3NCQUFyQixLQUFLO2dCQWlCTyxZQUFZO3NCQUF4QixLQUFLO2dCQVNPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBYU8sVUFBVTtzQkFBdEIsS0FBSztnQkFpQk8sT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBXcml0YWJsZVNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBNYXRBdXRvY29tcGxldGVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtGbG9hdExhYmVsVHlwZSwgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSwgTWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWx9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQge01hdFByb2dyZXNzU3Bpbm5lck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXJcIjtcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xuXG5pbXBvcnQge0dFTkVSQUxfRElTUExBWV9PUFRJT05TfSBmcm9tICcuLi91dGlscy9jb25zdGFudHMvY29udGFjdHMnO1xuaW1wb3J0IHtBdXRvY29tcGxldGVTZXJ2aWNlfSBmcm9tICcuLi91dGlscy9zZXJ2aWNlcy9hdXRvY29tcGxldGUuc2VydmljZSc7XG5pbXBvcnQge1V0aWxzU2VydmljZX0gZnJvbSAnLi4vdXRpbHMvc2VydmljZXMvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQge0FwaUZvcm1EYXRhLCBEaXNwbGF5T3B0aW9uLCBSZXN0cmljdGlvbkZpbHRlcn0gZnJvbSBcIi4uL3V0aWxzL2ludGVyZmFjZXMvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHtQaXBlc01vZHVsZX0gZnJvbSBcIi4uL3V0aWxzL3BpcGVzL3BpcGVzLm1vZHVsZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdndWFqaXJpdG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2d1YWNob3MtZ2VuZXJhbC1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBOZ0lmLFxuICAgIE5nRm9yT2YsXG4gICAgTmdTdHlsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGUpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2F1dG9jb21wbGV0ZVNlcnZpY2U6IEF1dG9jb21wbGV0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxuICAgIHB1YmxpYyB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIHByaXZhdGUgd2FzU2VsZWN0ZWQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSBmaXJzdENhbGw6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKHRydWUpO1xuICBwcml2YXRlIGNsZWFyRGF0YSQ6IFN1YmplY3Q8dm9pZD47XG4gIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBkb0ZvY3VzU3ViamVjdCQ6IFN1YmplY3Q8dm9pZD47XG4gIHByaXZhdGUgc2VsZWN0ZWRFbGVtZW50OiBXcml0YWJsZVNpZ25hbDxhbnk+ID0gc2lnbmFsKG51bGwpO1xuICBwcml2YXRlIF91cmw6IFdyaXRhYmxlU2lnbmFsPHN0cmluZz4gPSBzaWduYWwobnVsbCk7XG4gIHByaXZhdGUgcmVzdHJpY3Rpb25zRmlsdGVyczogV3JpdGFibGVTaWduYWw8UmVzdHJpY3Rpb25GaWx0ZXJbXT4gPSBzaWduYWwoW10pO1xuXG4gIHB1YmxpYyBkaXNhYmxlZEJ1dHRvbjogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuICBwdWJsaWMgbG9hZGluZzogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuICBwdWJsaWMgcmVxdWlyZWQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogV3JpdGFibGVTaWduYWw8YW55W10+ID0gc2lnbmFsKFtdKTtcbiAgcHVibGljIGNvbXBvbmVudDogVW50eXBlZEZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7XG4gICAgdmFsdWU6IG51bGwsIGRpc2FibGVkOiBmYWxzZVxuICB9KTtcblxuICBAVmlld0NoaWxkKCdpbnB1dFRleHQnLCB7c3RhdGljOiB0cnVlfSkgaW5wdXRUZXh0OiBFbGVtZW50UmVmO1xuICAvKipcbiAgICogUG9zc2libGUgdmFsdWVzICduZXZlcicsICdhdXRvJyBvciAnYWx3YXlzJ1xuICAgKi9cbiAgQElucHV0KCkgZmxvYXRMYWJlbDogRmxvYXRMYWJlbFR5cGUgPSAnYXV0byc7XG4gIEBJbnB1dCgpIGJvZHlSZXF1ZXN0OiBBcGlGb3JtRGF0YTtcbiAgQElucHV0KCkgZGVib3VuY2VUaW1lVmFsdWU6IG51bWJlciA9IDMwMDtcbiAgQElucHV0KCkgZGV0YWlsc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ1NlbGVjY2lvbmUnO1xuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlID0gJ291dGxpbmUnO1xuICBASW5wdXQoKSBjb2xvcjogVGhlbWVQYWxldHRlID0gJ2FjY2VudCc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWNjaW9uZSB1biBlbGVtZW50byc7XG4gIEBJbnB1dCgpIGZpZWxkOiBzdHJpbmdbXSA9IFsnbmFtZSddO1xuICBASW5wdXQoKSBmaWx0ZXJTdHJpbmc6IHN0cmluZyA9ICdmaWx0ZXJbJGFuZF1bbmFtZV1bJGxpa2VdJztcbiAgQElucHV0KCkgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb24gPSBHRU5FUkFMX0RJU1BMQVlfT1BUSU9OUztcbiAgQElucHV0KCkgd2l0aG91dFBhZGRpbmdCb3R0b206IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSB2YWx1ZUlkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9yZGVyOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSByZW1vdmVQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtdO1xuICBAT3V0cHV0KCkgU2VsZWN0RWxlbWVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASW5wdXQoKSBzZXQgdXJsKGRhdGE6IHN0cmluZykge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLl91cmwuc2V0KGRhdGEpO1xuICAgICAgdGhpcy5zdWJzY3JpYmVDb21wb25lbnRDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IGNsZWFyRGF0YSh2YWx1ZTogU3ViamVjdDx2b2lkPikge1xuICAgIHRoaXMuY2xlYXJEYXRhJCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmNsZWFyRGF0YSQpIHtcbiAgICAgIHRoaXMuY2xlYXJEYXRhJFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZShudWxsLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQuc2V0KG51bGwpO1xuICAgICAgICAgICAgdGhpcy5TZWxlY3RFbGVtZW50LmVtaXQobnVsbCk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5zZXQoW10pO1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaW5pdGlhbFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIG8gZWxpbWluYSByZXN0cmljY2lvbmVzIHBhcmEgbGEgYsO6c3F1ZWRhXG4gICAqXG4gICAqIEBwYXJhbSByZXN0cmljdGlvbnMgLSBSZXN0cmljY2lvbmVzIHBhcmEgbGEgYsO6c3F1ZWRhXG4gICAqL1xuICBASW5wdXQoKSBzZXQgcmVzdHJpY3Rpb25zKHJlc3RyaWN0aW9uczogUmVzdHJpY3Rpb25GaWx0ZXJbXSkge1xuICAgIGlmIChyZXN0cmljdGlvbnMpIHtcbiAgICAgIHRoaXMucmVzdHJpY3Rpb25zRmlsdGVycy5zZXQocmVzdHJpY3Rpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXN0cmljdGlvbnNGaWx0ZXJzLnNldChbXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSBvIGVsaW1pbmEgbGEgdmFsaWRhY2nDs24gZGUgcXVlIGVsIGNhbXBvIHNlYSByZXF1ZXJpZG9cbiAgICpcbiAgICogQHBhcmFtIHJlcXVpcmVkIC0gRGVmaW5lIHNpIGVzIHJlcXVlcmlkbyBvIG5vXG4gICAqL1xuICBASW5wdXQoKSBzZXQgaXNSZXF1aXJlZChyZXF1aXJlZDogYm9vbGVhbikge1xuICAgIHRoaXMucmVxdWlyZWQuc2V0KHJlcXVpcmVkKTtcblxuICAgIGlmIChyZXF1aXJlZCkge1xuICAgICAgdGhpcy5jb21wb25lbnQuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCwgR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlVmFsaWRhdG9yXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2kgdmFtb3MgYSByZWFsaXphciB1bmEgYsO6c3F1ZWRhIGFsIGVsZW1lbnRvIGVzdGFyIGVuIGVsIGZvY3VzIGRlIGxhIGFwbGljYWNpw7NuXG4gICAqXG4gICAqIEBwYXJhbSBmb2N1c1N1YmplY3QgLSBPYnNlcnZhYmxlIHBhcmEgbGEgc3Vic2NyaXBjacOzbiBhbCBldmVudG8gRm9jdXNcbiAgICovXG4gIEBJbnB1dCgpIHNldCBkb0ZvY3VzKGZvY3VzU3ViamVjdDogU3ViamVjdDx2b2lkPikge1xuICAgIHRoaXMuZG9Gb2N1c1N1YmplY3QkID0gZm9jdXNTdWJqZWN0O1xuXG4gICAgaWYgKHRoaXMuZG9Gb2N1c1N1YmplY3QkKSB7XG4gICAgICB0aGlzLmRvRm9jdXNTdWJqZWN0JFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl96b25lLnJ1bigoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRUZXh0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhY2nDs24gY3VzdG9taXphZGEgcGFyYSBsYSBzZWxlY2Npw7NuIGRlIGVsZW1lbnRvc1xuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYXV0b2NvbXBsZXRlVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcbiAgICAgIGlmIChjb250cm9sPy52YWx1ZT8uY29uc3RydWN0b3IgIT09IE9iamVjdCB8fCAhY29udHJvbD8udmFsdWU/LmlkKSB7XG4gICAgICAgIHJldHVybiB7aW52YWxpZFNlbGVjdGlvbjogdHJ1ZX07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmlwY2nDs24gYSBsb3MgY2FtYmlvcyBkZWwgaW5wdXQgZGUgYsO6c3F1ZWRhXG4gICAqL1xuICBwcml2YXRlIHN1YnNjcmliZUNvbXBvbmVudENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQ/LnZhbHVlQ2hhbmdlc1xuICAgICAgPy5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZVZhbHVlKSwgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSlcbiAgICAgID8uc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5maXJzdENhbGwoKSAmJiAhdGhpcy53YXNTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZUJ5VGV4dEhhbmRsZXIodGhpcy5nZXRBdXRvY29tcGxldGVTZWFyY2hUZXh0KCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpcnN0Q2FsbC5zZXQoZmFsc2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMud2FzU2VsZWN0ZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQsO6c3F1ZWRhIGRlIGxvcyBlbGVtZW50b3MgYSBtb3N0cmFyIGVuIGVsIGNvbXBvbmVudGUgZGUgYXV0b2NvbXBsZXRhbWllbnRvXG4gICAqXG4gICAqIEBwYXJhbSB0ZXh0IC0gVGV4dG8gYSBidXNjYXJcbiAgICovXG4gIHByaXZhdGUgZ2V0QXV0b2NvbXBsZXRlQnlUZXh0SGFuZGxlcih0ZXh0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fYXV0b2NvbXBsZXRlU2VydmljZVxuICAgICAgLmdldEF1dG9jb21wbGV0ZUJ5VGV4dCh0aGlzLl91cmwoKSwgdGV4dCwgdGhpcy5maWx0ZXJTdHJpbmcsIHRoaXMucmVzdHJpY3Rpb25zRmlsdGVycygpLFxuICAgICAgICB0aGlzLnJlbW92ZVByb3BlcnRpZXMsIHRoaXMub3JkZXIsIHRoaXMuYm9keVJlcXVlc3QpXG4gICAgICAudGhlbigocmVzcDogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCA9PiB7XG4gICAgICAgIHJlc3A/LnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlc3VsdDogYW55KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5zZXQocmVzdWx0Py5wYXlsb2FkPy5kYXRhID8/IHJlc3VsdD8uZGF0YSk7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGVsIHRleHRvIHBvciBlbCBxdWUgc2UgdmEgYSByZWFsaXphciBsYSBiw7pzcXVlZGFcbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nfSBUZXh0byBkZSBsYSBiw7pzcXVlZGFcbiAgICovXG4gIHByaXZhdGUgZ2V0QXV0b2NvbXBsZXRlU2VhcmNoVGV4dCgpOiBzdHJpbmcge1xuICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG5cbiAgICBsZXQgdGV4dDogc3RyaW5nID0gJyc7XG5cbiAgICBpZiAodGhpcy5jb21wb25lbnQ/LnZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuY29tcG9uZW50LnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25zdCBjb21wb25lbnRWYWx1ZSA9IHRoaXMuY29tcG9uZW50Py52YWx1ZVt0aGlzLmZpZWxkWzBdXVxuICAgICAgICBpZiAodHlwZW9mIGNvbXBvbmVudFZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGxldCBsYW5nOiBzdHJpbmcgPSAnZXMnO1xuICAgICAgICAgIGlmICh0aGlzLmZpZWxkWzFdKSB7XG4gICAgICAgICAgICBsYW5nID0gdGhpcy5maWVsZFsxXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0ZXh0ID0gY29tcG9uZW50VmFsdWVbbGFuZ107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuY29tcG9uZW50Py52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGV4dCA9IHRoaXMuY29tcG9uZW50LnZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSk6IHZvaWQgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoKTogdm9pZCB7XG4gIH1cblxuICAvKipcbiAgICogUmVjaWJlIGVsIHZhbG9yIGRlbCBGb3JtQ29udHJvbFxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBlbnRyYWRvIHBvciBGb3JtQ29udHJvbFxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSwge2VtaXRFdmVudDogZmFsc2V9KTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdGhpcy52YWx1ZUlkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnNldCh2YWx1ZT8uaWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQuc2V0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQuc2V0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWRCdXR0b24uc2V0KGlzRGlzYWJsZWQpO1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jacOzbiBwYXJhIG1vc3RyYXIgbG9zIGVsZW1lbnRvcyBhIHNlbGVjY2lvbmFyXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbG9yIGEgbW9zdHJhclxuICAgKi9cbiAgcHVibGljIGRpc3BsYXlGbiA9ICh2YWx1ZTogYW55KTogc3RyaW5nID0+IHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgbGV0IGRpc3BsYXlUZXh0OiBzdHJpbmcgPSAnJztcbiAgICAgIGlmICghdGhpcy5kaXNwbGF5T3B0aW9ucykge1xuICAgICAgICB0aGlzLmRpc3BsYXlPcHRpb25zID0gR0VORVJBTF9ESVNQTEFZX09QVElPTlM7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlzcGxheU9wdGlvbnM/LmZpcnRoTGFiZWw/LmZvckVhY2goKGZpZWxkOiBhbnkpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKGZpZWxkPy50eXBlID09PSAncGF0aCcpIHtcbiAgICAgICAgICBkaXNwbGF5VGV4dCArPSBVdGlsc1NlcnZpY2UucmVzb2x2ZVByb3BlcnR5QnlQYXRoKHZhbHVlLCBmaWVsZD8ucGF0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGlzcGxheVRleHQgKz0gZmllbGQ/LmRpdmlkZXI7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gZGlzcGxheVRleHQ7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBBY2Npw7NuIGFsIGxpbXBpYXIgZWwgdmFsb3IgZGVsIGlucHV0XG4gICAqXG4gICAqIEBwYXJhbSB0cmlnZ2VyXG4gICAqL1xuICBwdWJsaWMgY2xlYXIodHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcik6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50LnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnNldChudWxsKTtcbiAgICB0aGlzLlNlbGVjdEVsZW1lbnQuZW1pdChudWxsKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShudWxsKTtcblxuICAgIHRoaXMuX3pvbmUucnVuKCgpOiB2b2lkID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4ge1xuICAgICAgICB0cmlnZ2VyLm9wZW5QYW5lbCgpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2Npw7NuIGVuIGVsIEZvY3VzIGRlbCBlbGVtZW50b1xuICAgKi9cbiAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRWxlbWVudCgpKSB7XG4gICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZUJ5VGV4dEhhbmRsZXIodGhpcy5nZXRBdXRvY29tcGxldGVTZWFyY2hUZXh0KCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBY2Npw7NuIGFsIHNlbGVjY2lvbmFyIHVuIGVsZW1lbnRvXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIC0gRWxlbWVudG8gc2VsZWNjaW9uYWRvXG4gICAqL1xuICBwdWJsaWMgb25TZWxlY3RFbGVtZW50KGl0ZW06IGFueSk6IHZvaWQge1xuICAgIHRoaXMud2FzU2VsZWN0ZWQuc2V0KHRydWUpXG4gICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQuc2V0KGl0ZW0pO1xuICAgIHRoaXMuU2VsZWN0RWxlbWVudC5lbWl0KGl0ZW0pO1xuXG4gICAgaWYgKHRoaXMudmFsdWVJZCkge1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodHlwZW9mIGl0ZW0gPT09IFwib2JqZWN0XCIgPyBpdGVtPy5pZCA6IGl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShpdGVtKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmNvbXBvbmVudC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZUFsbCQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIiBbbmdDbGFzc109XCJ7J3dpdGhvdXQtcGFkZGluZy1ib3R0b20nOiB3aXRob3V0UGFkZGluZ0JvdHRvbX1cIiBjbGFzcz1cInctMTAwXCJcclxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIiBbY29sb3JdPVwiY29sb3JcIj5cclxuXHJcbiAgPG1hdC1sYWJlbD57e2xhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICA8aW5wdXQgI2lucHV0VGV4dCAjdHJpZ2dlcj1cIm1hdEF1dG9jb21wbGV0ZVRyaWdnZXJcIiAoZm9jdXMpPVwib25Gb2N1cygpXCIgW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudFwiXHJcbiAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgYXJpYS1sYWJlbD1cImF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkKClcIj5cclxuICA8YnV0dG9uIChjbGljayk9XCJjbGVhcih0cmlnZ2VyKVwiICpuZ0lmPVwiIWxvYWRpbmcoKSAmJiBjb21wb25lbnQ/LnZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkQnV0dG9uKClcIlxyXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCIgbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeD5cclxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiAqbmdJZj1cImxvYWRpbmcoKVwiIGFyaWEtbGFiZWw9XCJzZWFyY2hcIiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4PlxyXG4gICAgPG1hdC1zcGlubmVyIFt2YWx1ZV09XCI5MFwiIGNvbG9yPVwiYWNjZW50XCIgZGlhbWV0ZXI9XCIyNVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC9idXR0b24+XHJcbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9jb21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIj5cclxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zKClcIiBbdmFsdWVdPVwib3B0aW9uXCIgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0RWxlbWVudChvcHRpb24pXCI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRpc3BsYXlPcHRpb25zICYmICFkZXRhaWxzVGVtcGxhdGVcIj5cclxuICAgICAgICB7eyBvcHRpb24/Lm5hbWUgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgfX1cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRldGFpbHNUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LW9wdGlvbnNcIj5cclxuICAgICAgICAgIDxzcGFuIFtuZ1N0eWxlXT1cInsnbGluZS1oZWlnaHQnOiBkaXNwbGF5T3B0aW9ucz8uc2Vjb25kTGFiZWwgPyAnMTZweCcgOiAnJ31cIj5cclxuICAgICAgICAgICAge3tvcHRpb24gfCByZXNvbHZlUHJvcGVydHlQYXRoOmRpc3BsYXlPcHRpb25zLmZpcnRoTGFiZWwgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmd9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaXNwbGF5T3B0aW9ucz8uc2Vjb25kTGFiZWxcIiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+XHJcbiAgICAgICAgICAgIHt7b3B0aW9uIHwgcmVzb2x2ZVByb3BlcnR5UGF0aDogZGlzcGxheU9wdGlvbnMuc2Vjb25kTGFiZWwgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmd9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXRhaWxzVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGV0YWlsc1RlbXBsYXRlO2NvbnRleHQ6eyRpbXBsaWNpdDogb3B0aW9uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG5cclxuICA8bWF0LWVycm9yICpuZ0lmPVwiY29tcG9uZW50LmludmFsaWRcIj5cclxuICAgIHt7J0VzdGUgY2FtcG8gZXMgcmVxdWVyaWRvLicgfCB0cmFuc2xhdGV9fVxyXG4gIDwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
|
404
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUdOLE1BQU0sRUFDTixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFFbEIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHFCQUFxQixFQUF5QixNQUFNLGdDQUFnQyxDQUFDO0FBQzdGLE9BQU8sRUFBeUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RyxPQUFPLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVB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QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEpBMEJ1QyxTQUFTO3NCQUFoRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSTdCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUVNLEdBQUc7c0JBQWYsS0FBSztnQkFPTyxTQUFTO3NCQUFyQixLQUFLO2dCQWlCTyxZQUFZO3NCQUF4QixLQUFLO2dCQVNPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBYU8sVUFBVTtzQkFBdEIsS0FBSztnQkFpQk8sT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgV3JpdGFibGVTaWduYWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIFZhbGlkYXRvckZuLFxyXG4gIFZhbGlkYXRvcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZU1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHtGbG9hdExhYmVsVHlwZSwgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSwgTWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQge01hdFByb2dyZXNzU3Bpbm5lck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcbmltcG9ydCB7R0VORVJBTF9ESVNQTEFZX09QVElPTlN9IGZyb20gJy4uL3V0aWxzL2NvbnN0YW50cy9jb250YWN0cyc7XHJcbmltcG9ydCB7QXV0b2NvbXBsZXRlU2VydmljZX0gZnJvbSAnLi4vdXRpbHMvc2VydmljZXMvYXV0b2NvbXBsZXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1V0aWxzU2VydmljZX0gZnJvbSAnLi4vdXRpbHMvc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7QXBpRm9ybURhdGEsIERpc3BsYXlPcHRpb24sIFJlc3RyaWN0aW9uRmlsdGVyfSBmcm9tICcuLi91dGlscy9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQge1BpcGVzTW9kdWxlfSBmcm9tICcuLi91dGlscy9waXBlcy9waXBlcy5tb2R1bGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdndWFqaXJpdG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBOZ0lmLFxyXG4gICAgTmdGb3JPZixcclxuICAgIE5nU3R5bGUsXHJcbiAgICBQaXBlc01vZHVsZSxcclxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEd1YWppcml0b3NHZW5lcmFsQXV0b2NvbXBsZXRlKSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHdWFqaXJpdG9zR2VuZXJhbEF1dG9jb21wbGV0ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfYXV0b2NvbXBsZXRlU2VydmljZTogQXV0b2NvbXBsZXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcclxuICAgIHB1YmxpYyB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3YXNTZWxlY3RlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xyXG4gIHByaXZhdGUgZmlyc3RDYWxsOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbCh0cnVlKTtcclxuICBwcml2YXRlIGNsZWFyRGF0YSQ6IFN1YmplY3Q8dm9pZD47XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgZG9Gb2N1c1N1YmplY3QkOiBTdWJqZWN0PHZvaWQ+O1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRFbGVtZW50OiBXcml0YWJsZVNpZ25hbDxhbnk+ID0gc2lnbmFsKG51bGwpO1xyXG4gIHByaXZhdGUgX3VybDogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbChudWxsKTtcclxuICBwcml2YXRlIHJlc3RyaWN0aW9uc0ZpbHRlcnM6IFdyaXRhYmxlU2lnbmFsPFJlc3RyaWN0aW9uRmlsdGVyW10+ID0gc2lnbmFsKFtdKTtcclxuXHJcbiAgcHVibGljIGRpc2FibGVkQnV0dG9uOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XHJcbiAgcHVibGljIGxvYWRpbmc6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcclxuICBwdWJsaWMgcmVxdWlyZWQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcclxuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBXcml0YWJsZVNpZ25hbDxhbnlbXT4gPSBzaWduYWwoW10pO1xyXG4gIHB1YmxpYyBjb21wb25lbnQ6IFVudHlwZWRGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2V9KTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRUZXh0Jywge3N0YXRpYzogdHJ1ZX0pIGlucHV0VGV4dDogRWxlbWVudFJlZjtcclxuICAvKipcclxuICAgKiBQb3NzaWJsZSB2YWx1ZXMgJ25ldmVyJywgJ2F1dG8nIG9yICdhbHdheXMnXHJcbiAgICovXHJcbiAgQElucHV0KCkgZmxvYXRMYWJlbDogRmxvYXRMYWJlbFR5cGUgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgYm9keVJlcXVlc3Q6IEFwaUZvcm1EYXRhO1xyXG4gIEBJbnB1dCgpIGRlYm91bmNlVGltZVZhbHVlOiBudW1iZXIgPSAzMDA7XHJcbiAgQElucHV0KCkgZGV0YWlsc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnU2VsZWNjaW9uZSc7XHJcbiAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlID0gJ291dGxpbmUnO1xyXG4gIEBJbnB1dCgpIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAnYWNjZW50JztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjY2lvbmUgdW4gZWxlbWVudG8nO1xyXG4gIEBJbnB1dCgpIGZpZWxkOiBzdHJpbmdbXSA9IFsnbmFtZSddO1xyXG4gIEBJbnB1dCgpIGZpbHRlclN0cmluZzogc3RyaW5nID0gJ2ZpbHRlclskYW5kXVtuYW1lXVskbGlrZV0nO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlPcHRpb25zOiBEaXNwbGF5T3B0aW9uID0gR0VORVJBTF9ESVNQTEFZX09QVElPTlM7XHJcbiAgQElucHV0KCkgd2l0aG91dFBhZGRpbmdCb3R0b206IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHZhbHVlSWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93U3VmZml4OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgb3JkZXIhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc3VmZml4SWNvbjogc3RyaW5nID0gJ3NlYXJjaCc7XHJcbiAgQElucHV0KCkgcmVtb3ZlUHJvcGVydGllczogc3RyaW5nW10gPSBbXTtcclxuICBAT3V0cHV0KCkgU2VsZWN0RWxlbWVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQElucHV0KCkgc2V0IHVybChkYXRhOiBzdHJpbmcpIHtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIHRoaXMuX3VybC5zZXQoZGF0YSk7XHJcbiAgICAgIHRoaXMuc3Vic2NyaWJlQ29tcG9uZW50Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGNsZWFyRGF0YSh2YWx1ZTogU3ViamVjdDx2b2lkPikge1xyXG4gICAgdGhpcy5jbGVhckRhdGEkID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5jbGVhckRhdGEkKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJEYXRhJFxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LnNldFZhbHVlKG51bGwsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnNldChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5TZWxlY3RFbGVtZW50LmVtaXQobnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnNldChbXSk7XHJcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBpbml0aWFsVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5jb21wb25lbnQuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQcOxYWRlIG8gZWxpbWluYSByZXN0cmljY2lvbmVzIHBhcmEgbGEgYsO6c3F1ZWRhXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcmVzdHJpY3Rpb25zIC0gUmVzdHJpY2Npb25lcyBwYXJhIGxhIGLDunNxdWVkYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNldCByZXN0cmljdGlvbnMocmVzdHJpY3Rpb25zOiBSZXN0cmljdGlvbkZpbHRlcltdKSB7XHJcbiAgICBpZiAocmVzdHJpY3Rpb25zKSB7XHJcbiAgICAgIHRoaXMucmVzdHJpY3Rpb25zRmlsdGVycy5zZXQocmVzdHJpY3Rpb25zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVzdHJpY3Rpb25zRmlsdGVycy5zZXQoW10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQcOxYWRlIG8gZWxpbWluYSBsYSB2YWxpZGFjacOzbiBkZSBxdWUgZWwgY2FtcG8gc2VhIHJlcXVlcmlkb1xyXG4gICAqXHJcbiAgICogQHBhcmFtIHJlcXVpcmVkIC0gRGVmaW5lIHNpIGVzIHJlcXVlcmlkbyBvIG5vXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2V0IGlzUmVxdWlyZWQocmVxdWlyZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMucmVxdWlyZWQuc2V0KHJlcXVpcmVkKTtcclxuXHJcbiAgICBpZiAocmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCwgR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlVmFsaWRhdG9yXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgc2kgdmFtb3MgYSByZWFsaXphciB1bmEgYsO6c3F1ZWRhIGFsIGVsZW1lbnRvIGVzdGFyIGVuIGVsIGZvY3VzIGRlIGxhIGFwbGljYWNpw7NuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZm9jdXNTdWJqZWN0IC0gT2JzZXJ2YWJsZSBwYXJhIGxhIHN1YnNjcmlwY2nDs24gYWwgZXZlbnRvIEZvY3VzXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2V0IGRvRm9jdXMoZm9jdXNTdWJqZWN0OiBTdWJqZWN0PHZvaWQ+KSB7XHJcbiAgICB0aGlzLmRvRm9jdXNTdWJqZWN0JCA9IGZvY3VzU3ViamVjdDtcclxuXHJcbiAgICBpZiAodGhpcy5kb0ZvY3VzU3ViamVjdCQpIHtcclxuICAgICAgdGhpcy5kb0ZvY3VzU3ViamVjdCRcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKCk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl96b25lLnJ1bigoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0VGV4dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGFjacOzbiBjdXN0b21pemFkYSBwYXJhIGxhIHNlbGVjY2nDs24gZGUgZWxlbWVudG9zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgYXV0b2NvbXBsZXRlVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xyXG4gICAgICBpZiAoY29udHJvbD8udmFsdWU/LmNvbnN0cnVjdG9yICE9PSBPYmplY3QgfHwgIWNvbnRyb2w/LnZhbHVlPy5pZCkge1xyXG4gICAgICAgIHJldHVybiB7aW52YWxpZFNlbGVjdGlvbjogdHJ1ZX07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXBjacOzbiBhIGxvcyBjYW1iaW9zIGRlbCBpbnB1dCBkZSBiw7pzcXVlZGFcclxuICAgKi9cclxuICBwcml2YXRlIHN1YnNjcmliZUNvbXBvbmVudENoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbXBvbmVudD8udmFsdWVDaGFuZ2VzXHJcbiAgICAgID8ucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWVWYWx1ZSksIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuZmlyc3RDYWxsKCkgJiYgIXRoaXMud2FzU2VsZWN0ZWQoKSkge1xyXG4gICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZUJ5VGV4dEhhbmRsZXIodGhpcy5nZXRBdXRvY29tcGxldGVTZWFyY2hUZXh0KCkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5maXJzdENhbGwuc2V0KGZhbHNlKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLndhc1NlbGVjdGVkLnNldChmYWxzZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCw7pzcXVlZGEgZGUgbG9zIGVsZW1lbnRvcyBhIG1vc3RyYXIgZW4gZWwgY29tcG9uZW50ZSBkZSBhdXRvY29tcGxldGFtaWVudG9cclxuICAgKlxyXG4gICAqIEBwYXJhbSB0ZXh0IC0gVGV4dG8gYSBidXNjYXJcclxuICAgKi9cclxuICBwcml2YXRlIGdldEF1dG9jb21wbGV0ZUJ5VGV4dEhhbmRsZXIodGV4dD86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXV0b2NvbXBsZXRlU2VydmljZVxyXG4gICAgICAuZ2V0QXV0b2NvbXBsZXRlQnlUZXh0KHRoaXMuX3VybCgpLCB0ZXh0LCB0aGlzLmZpbHRlclN0cmluZywgdGhpcy5yZXN0cmljdGlvbnNGaWx0ZXJzKCksXHJcbiAgICAgICAgdGhpcy5yZW1vdmVQcm9wZXJ0aWVzLCB0aGlzLm9yZGVyLCB0aGlzLmJvZHlSZXF1ZXN0KVxyXG4gICAgICAudGhlbigocmVzcDogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCA9PiB7XHJcbiAgICAgICAgcmVzcD8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXN1bHQ6IGFueSk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5zZXQocmVzdWx0Py5wYXlsb2FkPy5kYXRhID8/IHJlc3VsdD8uZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgZWwgdGV4dG8gcG9yIGVsIHF1ZSBzZSB2YSBhIHJlYWxpemFyIGxhIGLDunNxdWVkYVxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUZXh0byBkZSBsYSBiw7pzcXVlZGFcclxuICAgKi9cclxuICBwcml2YXRlIGdldEF1dG9jb21wbGV0ZVNlYXJjaFRleHQoKTogc3RyaW5nIHtcclxuICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XHJcblxyXG4gICAgbGV0IHRleHQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8udmFsdWUpIHtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbXBvbmVudC52YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRWYWx1ZSA9IHRoaXMuY29tcG9uZW50Py52YWx1ZVt0aGlzLmZpZWxkWzBdXTtcclxuICAgICAgICBpZiAodHlwZW9mIGNvbXBvbmVudFZhbHVlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgbGV0IGxhbmc6IHN0cmluZyA9ICdlcyc7XHJcbiAgICAgICAgICBpZiAodGhpcy5maWVsZFsxXSkge1xyXG4gICAgICAgICAgICBsYW5nID0gdGhpcy5maWVsZFsxXTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0ZXh0ID0gY29tcG9uZW50VmFsdWVbbGFuZ107XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmNvbXBvbmVudD8udmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgdGV4dCA9IHRoaXMuY29tcG9uZW50LnZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVjaWJlIGVsIHZhbG9yIGRlbCBGb3JtQ29udHJvbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsb3IgZW50cmFkbyBwb3IgRm9ybUNvbnRyb2xcclxuICAgKi9cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSwge2VtaXRFdmVudDogZmFsc2V9KTtcclxuXHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHRoaXMudmFsdWVJZCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnNldCh2YWx1ZT8uaWQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnNldCh2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnNldChudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kaXNhYmxlZEJ1dHRvbi5zZXQoaXNEaXNhYmxlZCk7XHJcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5lbmFibGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bmNpw7NuIHBhcmEgbW9zdHJhciBsb3MgZWxlbWVudG9zIGEgc2VsZWNjaW9uYXJcclxuICAgKlxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbG9yIGEgbW9zdHJhclxyXG4gICAqL1xyXG4gIHB1YmxpYyBkaXNwbGF5Rm4gPSAodmFsdWU6IGFueSk6IHN0cmluZyA9PiB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBkaXNwbGF5VGV4dDogc3RyaW5nID0gJyc7XHJcbiAgICAgIGlmICghdGhpcy5kaXNwbGF5T3B0aW9ucykge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheU9wdGlvbnMgPSBHRU5FUkFMX0RJU1BMQVlfT1BUSU9OUztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5kaXNwbGF5T3B0aW9ucz8uZmlydGhMYWJlbD8uZm9yRWFjaCgoZmllbGQ6IGFueSk6IHZvaWQgPT4ge1xyXG4gICAgICAgIGlmIChmaWVsZD8udHlwZSA9PT0gJ3BhdGgnKSB7XHJcbiAgICAgICAgICBkaXNwbGF5VGV4dCArPSBVdGlsc1NlcnZpY2UucmVzb2x2ZVByb3BlcnR5QnlQYXRoKHZhbHVlLCBmaWVsZD8ucGF0aCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGRpc3BsYXlUZXh0ICs9IGZpZWxkPy5kaXZpZGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICByZXR1cm4gZGlzcGxheVRleHQ7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogQWNjacOzbiBhbCBsaW1waWFyIGVsIHZhbG9yIGRlbCBpbnB1dFxyXG4gICAqXHJcbiAgICogQHBhcmFtIHRyaWdnZXJcclxuICAgKi9cclxuICBwdWJsaWMgY2xlYXIodHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcik6IHZvaWQge1xyXG4gICAgdGhpcy5jb21wb25lbnQuc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRWxlbWVudC5zZXQobnVsbCk7XHJcbiAgICB0aGlzLlNlbGVjdEVsZW1lbnQuZW1pdChudWxsKTtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKG51bGwpO1xyXG5cclxuICAgIHRoaXMuX3pvbmUucnVuKCgpOiB2b2lkID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgdHJpZ2dlci5vcGVuUGFuZWwoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWNjacOzbiBlbiBlbCBGb2N1cyBkZWwgZWxlbWVudG9cclxuICAgKi9cclxuICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZEVsZW1lbnQoKSkge1xyXG4gICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZUJ5VGV4dEhhbmRsZXIodGhpcy5nZXRBdXRvY29tcGxldGVTZWFyY2hUZXh0KCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWNjacOzbiBhbCBzZWxlY2Npb25hciB1biBlbGVtZW50b1xyXG4gICAqXHJcbiAgICogQHBhcmFtIGl0ZW0gLSBFbGVtZW50byBzZWxlY2Npb25hZG9cclxuICAgKi9cclxuICBwdWJsaWMgb25TZWxlY3RFbGVtZW50KGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy53YXNTZWxlY3RlZC5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRWxlbWVudC5zZXQoaXRlbSk7XHJcbiAgICB0aGlzLlNlbGVjdEVsZW1lbnQuZW1pdChpdGVtKTtcclxuXHJcbiAgICBpZiAodGhpcy52YWx1ZUlkKSB7XHJcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyA/IGl0ZW0/LmlkIDogaXRlbSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShpdGVtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5jb21wb25lbnQubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5uZXh0KCk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiIFtuZ0NsYXNzXT1cInsnd2l0aG91dC1wYWRkaW5nLWJvdHRvbSc6IHdpdGhvdXRQYWRkaW5nQm90dG9tfVwiIGNsYXNzPVwidy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiIFtjb2xvcl09XCJjb2xvclwiPlxyXG5cclxuICA8bWF0LWxhYmVsICpuZ0lmPVwic2hvd0xhYmVsXCI+e3tsYWJlbCB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgPG1hdC1pY29uIG1hdFN1ZmZpeCAqbmdJZj1cInNob3dTdWZmaXhcIj57e3N1ZmZpeEljb24gPz8gXCJzZWFyY2hcIn19PC9tYXQtaWNvbj5cclxuICA8aW5wdXQgI2lucHV0VGV4dCAjdHJpZ2dlcj1cIm1hdEF1dG9jb21wbGV0ZVRyaWdnZXJcIiAoZm9jdXMpPVwib25Gb2N1cygpXCIgW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudFwiXHJcbiAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgYXJpYS1sYWJlbD1cImF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkKClcIj5cclxuICA8YnV0dG9uIChjbGljayk9XCJjbGVhcih0cmlnZ2VyKVwiICpuZ0lmPVwiIWxvYWRpbmcoKSAmJiBjb21wb25lbnQ/LnZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkQnV0dG9uKClcIlxyXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCIgbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeD5cclxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiAqbmdJZj1cImxvYWRpbmcoKVwiIGFyaWEtbGFiZWw9XCJzZWFyY2hcIiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4PlxyXG4gICAgPG1hdC1zcGlubmVyIFt2YWx1ZV09XCI5MFwiIGNvbG9yPVwiYWNjZW50XCIgZGlhbWV0ZXI9XCIyNVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC9idXR0b24+XHJcbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9jb21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIj5cclxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zKClcIiBbdmFsdWVdPVwib3B0aW9uXCIgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0RWxlbWVudChvcHRpb24pXCI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRpc3BsYXlPcHRpb25zICYmICFkZXRhaWxzVGVtcGxhdGVcIj5cclxuICAgICAgICB7eyBvcHRpb24/Lm5hbWUgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgfX1cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRldGFpbHNUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LW9wdGlvbnNcIj5cclxuICAgICAgICAgIDxzcGFuIFtuZ1N0eWxlXT1cInsnbGluZS1oZWlnaHQnOiBkaXNwbGF5T3B0aW9ucz8uc2Vjb25kTGFiZWwgPyAnMTZweCcgOiAnJ31cIj5cclxuICAgICAgICAgICAge3tvcHRpb24gfCByZXNvbHZlUHJvcGVydHlQYXRoOmRpc3BsYXlPcHRpb25zLmZpcnRoTGFiZWwgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmd9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaXNwbGF5T3B0aW9ucz8uc2Vjb25kTGFiZWxcIiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+XHJcbiAgICAgICAgICAgIHt7b3B0aW9uIHwgcmVzb2x2ZVByb3BlcnR5UGF0aDogZGlzcGxheU9wdGlvbnMuc2Vjb25kTGFiZWwgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmd9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXRhaWxzVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGV0YWlsc1RlbXBsYXRlO2NvbnRleHQ6eyRpbXBsaWNpdDogb3B0aW9uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG5cclxuICA8bWF0LWVycm9yICpuZ0lmPVwiY29tcG9uZW50LmludmFsaWRcIj5cclxuICAgIHt7J0VzdGUgY2FtcG8gZXMgcmVxdWVyaWRvLicgfCB0cmFuc2xhdGV9fVxyXG4gIDwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
@@ -4,4 +4,4 @@
|
|
4
4
|
export * from './utils/interfaces/interfaces';
|
5
5
|
export * from './utils/constants/contacts';
|
6
6
|
export * from './lib/guachos-general-autocomplete.component';
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2d1YWNob3MtZ2VuZXJhbC1hdXRvY29tcGxldGUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi91dGlscy9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2NvbnN0YW50cy9jb250YWN0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YWNob3MtZ2VuZXJhbC1hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuIl19
|
@@ -9,4 +9,4 @@ export var CustomPipes;
|
|
9
9
|
CustomPipes["CURRENCY"] = "currency";
|
10
10
|
CustomPipes["UPPERCASE"] = "uppercase";
|
11
11
|
})(CustomPipes || (CustomPipes = {}));
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1YWNob3MtZ2VuZXJhbC1hdXRvY29tcGxldGUvc3JjL3V0aWxzL2ludGVyZmFjZXMvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQU4sSUFBWSxXQVNYO0FBVEQsV0FBWSxXQUFXO0lBQ25CLDZDQUE4QixDQUFBO0lBQzlCLDZDQUE4QixDQUFBO0lBQzlCLHFEQUFzQyxDQUFBO0lBQ3RDLDBEQUEyQyxDQUFBO0lBQzNDLHVDQUF3QixDQUFBO0lBQ3hCLHVDQUF3QixDQUFBO0lBQ3hCLG9DQUFxQixDQUFBO0lBQ3JCLHNDQUF1QixDQUFBO0FBQzNCLENBQUMsRUFUVyxXQUFXLEtBQVgsV0FBVyxRQVN0QiIsInNvdXJjZXNDb250ZW50IjpbImRlY2xhcmUgdHlwZSBEaXNwbGF5T3B0aW9uSXRlbVR5cGUgPSAnZGl2aWRlcicgfCAncGF0aCc7XHJcblxyXG5leHBvcnQgZW51bSBDdXN0b21QaXBlcyB7XHJcbiAgICBTSE9XX1NFR01FTlRTID0gJ3Nob3dTZWdtZW50cycsXHJcbiAgICBEVVJBVElPTl9USU1FID0gJ2R1cmF0aW9uVGltZScsXHJcbiAgICBIVU1BTklaRV9EVVJBVElPTiA9ICdodW1hbml6ZUR1cmF0aW9uJyxcclxuICAgIFNIT1dfVFJBTlNQT1JUX1RZUEVTID0gJ3Nob3dUcmFuc3BvcnRUeXBlcycsXHJcbiAgICBTSE9XX1JPTEVTID0gJ3Nob3dSb2xlcycsXHJcbiAgICBJREFfUkVUVVJOID0gJ2lkYVJldHVybicsXHJcbiAgICBDVVJSRU5DWSA9ICdjdXJyZW5jeScsXHJcbiAgICBVUFBFUkNBU0UgPSAndXBwZXJjYXNlJyxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaXNwbGF5T3B0aW9uSXRlbSB7XHJcbiAgICB0eXBlOiBEaXNwbGF5T3B0aW9uSXRlbVR5cGU7XHJcbiAgICBjdXN0b21QaXBlPzogc3RyaW5nO1xyXG4gICAgZGl2aWRlcj86IHN0cmluZztcclxuICAgIHBhdGg/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaXNwbGF5T3B0aW9uIHtcclxuICAgIGZpcnRoTGFiZWw6IERpc3BsYXlPcHRpb25JdGVtW107XHJcbiAgICBzZWNvbmRMYWJlbD86IERpc3BsYXlPcHRpb25JdGVtW107XHJcbiAgICBmaWx0ZXJTdHJpbmc/OiBzdHJpbmdbXSB8IHN0cmluZztcclxuICAgIGFwcGx5VHJhbnNsYXRlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXN0cmljdGlvbkZpbHRlciB7XHJcbiAgICBmaWx0ZXI6IHN0cmluZztcclxuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXBpRm9ybURhdGEge1xyXG4gICAgYXR0cmlidXRlcz86IHN0cmluZ1tdLFxyXG4gICAgZmlsdGVyPzogYW55O1xyXG4gICAgcmVsYXRpb25zPzogYW55O1xyXG59XHJcbiJdfQ==
|
@@ -5,11 +5,11 @@ export class DurationTimePipe {
|
|
5
5
|
transform(value) {
|
6
6
|
return UtilsService.getTimePretty(value);
|
7
7
|
}
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
9
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.
|
10
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: DurationTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
9
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: DurationTimePipe, name: "durationTime" }); }
|
10
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: DurationTimePipe }); }
|
11
11
|
}
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: DurationTimePipe, decorators: [{
|
13
13
|
type: Injectable
|
14
14
|
}, {
|
15
15
|
type: Pipe,
|
@@ -5,10 +5,10 @@ export class HumanizeDurationPipe {
|
|
5
5
|
transform(input) {
|
6
6
|
return UtilsService.humanizeDuration(input);
|
7
7
|
}
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
9
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: HumanizeDurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
9
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: HumanizeDurationPipe, name: "humanizeDuration" }); }
|
10
10
|
}
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: HumanizeDurationPipe, decorators: [{
|
12
12
|
type: Pipe,
|
13
13
|
args: [{
|
14
14
|
name: 'humanizeDuration'
|
@@ -18,10 +18,10 @@ export class I18nFieldPipe {
|
|
18
18
|
}
|
19
19
|
return value[lang] || 'No está definido';
|
20
20
|
}
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
22
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: I18nFieldPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
22
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: I18nFieldPipe, name: "i18nField" }); }
|
23
23
|
}
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: I18nFieldPipe, decorators: [{
|
25
25
|
type: Pipe,
|
26
26
|
args: [{ name: 'i18nField' }]
|
27
27
|
}] });
|
@@ -10,11 +10,11 @@ export class IdaReturnPipe {
|
|
10
10
|
return 'solo Ida';
|
11
11
|
}
|
12
12
|
}
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
14
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.
|
15
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: IdaReturnPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: IdaReturnPipe, name: "idaReturn" }); }
|
15
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: IdaReturnPipe }); }
|
16
16
|
}
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: IdaReturnPipe, decorators: [{
|
18
18
|
type: Injectable
|
19
19
|
}, {
|
20
20
|
type: Pipe,
|
@@ -10,8 +10,8 @@ import { ShowSegmentsPipe } from "./show-segments.pipe";
|
|
10
10
|
import { ShowTransportTypesPipe } from "./show-transport-types.pipe";
|
11
11
|
import * as i0 from "@angular/core";
|
12
12
|
export class PipesModule {
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
14
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
14
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: PipesModule, declarations: [DurationTimePipe,
|
15
15
|
HumanizeDurationPipe,
|
16
16
|
I18nFieldPipe,
|
17
17
|
IdaReturnPipe,
|
@@ -27,7 +27,7 @@ export class PipesModule {
|
|
27
27
|
ShowRolesPipe,
|
28
28
|
ShowSegmentsPipe,
|
29
29
|
ShowTransportTypesPipe] }); }
|
30
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.
|
30
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: PipesModule, providers: [
|
31
31
|
DurationTimePipe,
|
32
32
|
HumanizeDurationPipe,
|
33
33
|
I18nFieldPipe,
|
@@ -40,7 +40,7 @@ export class PipesModule {
|
|
40
40
|
UpperCasePipe
|
41
41
|
] }); }
|
42
42
|
}
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: PipesModule, decorators: [{
|
44
44
|
type: NgModule,
|
45
45
|
args: [{
|
46
46
|
declarations: [
|
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
|
|
81
81
|
]
|
82
82
|
}]
|
83
83
|
}] });
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS9zcmMvdXRpbHMvcGlwZXMvcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBRSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUF3Q25FLE1BQU0sT0FBTyxXQUFXOzhHQUFYLFdBQVc7K0dBQVgsV0FBVyxpQkFwQ3BCLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixzQkFBc0IsYUFHdEIsWUFBWTtZQUNaLGFBQWEsYUFHYixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsc0JBQXNCOytHQWViLFdBQVcsYUFiWDtZQUNULGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixzQkFBc0I7WUFDdEIsWUFBWTtZQUNaLGFBQWE7U0FDZDs7MkZBRVUsV0FBVztrQkF0Q3ZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixZQUFZO3dCQUNaLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDdXJyZW5jeVBpcGUsIFVwcGVyQ2FzZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuXHJcbmltcG9ydCB7RHVyYXRpb25UaW1lUGlwZX0gZnJvbSBcIi4vZHVyYXRpb24ucGlwZVwiO1xyXG5pbXBvcnQge0h1bWFuaXplRHVyYXRpb25QaXBlfSBmcm9tIFwiLi9odW1hbml6ZS1kdXJhdGlvbi5waXBlXCI7XHJcbmltcG9ydCB7STE4bkZpZWxkUGlwZX0gZnJvbSBcIi4vaTE4bi1maWVsZC5waXBlXCI7XHJcbmltcG9ydCB7SWRhUmV0dXJuUGlwZX0gZnJvbSBcIi4vaWRhLXJldHVybi5waXBlXCI7XHJcbmltcG9ydCB7UmVzb2x2ZVByb3BlcnR5UGF0aH0gZnJvbSBcIi4vcmVzb2x2ZS1wcm9wZXJ0eS1wYXRoLnBpcGVcIjtcclxuaW1wb3J0IHtTaG93Um9sZXNQaXBlfSBmcm9tIFwiLi9zaG93LXJvbGVzLnBpcGVcIjtcclxuaW1wb3J0IHtTaG93U2VnbWVudHNQaXBlfSBmcm9tIFwiLi9zaG93LXNlZ21lbnRzLnBpcGVcIjtcclxuaW1wb3J0IHtTaG93VHJhbnNwb3J0VHlwZXNQaXBlfSBmcm9tIFwiLi9zaG93LXRyYW5zcG9ydC10eXBlcy5waXBlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRHVyYXRpb25UaW1lUGlwZSxcclxuICAgIEh1bWFuaXplRHVyYXRpb25QaXBlLFxyXG4gICAgSTE4bkZpZWxkUGlwZSxcclxuICAgIElkYVJldHVyblBpcGUsXHJcbiAgICBSZXNvbHZlUHJvcGVydHlQYXRoLFxyXG4gICAgU2hvd1JvbGVzUGlwZSxcclxuICAgIFNob3dTZWdtZW50c1BpcGUsXHJcbiAgICBTaG93VHJhbnNwb3J0VHlwZXNQaXBlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ3VycmVuY3lQaXBlLFxyXG4gICAgVXBwZXJDYXNlUGlwZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRHVyYXRpb25UaW1lUGlwZSxcclxuICAgIEh1bWFuaXplRHVyYXRpb25QaXBlLFxyXG4gICAgSTE4bkZpZWxkUGlwZSxcclxuICAgIElkYVJldHVyblBpcGUsXHJcbiAgICBSZXNvbHZlUHJvcGVydHlQYXRoLFxyXG4gICAgU2hvd1JvbGVzUGlwZSxcclxuICAgIFNob3dTZWdtZW50c1BpcGUsXHJcbiAgICBTaG93VHJhbnNwb3J0VHlwZXNQaXBlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIER1cmF0aW9uVGltZVBpcGUsXHJcbiAgICBIdW1hbml6ZUR1cmF0aW9uUGlwZSxcclxuICAgIEkxOG5GaWVsZFBpcGUsXHJcbiAgICBJZGFSZXR1cm5QaXBlLFxyXG4gICAgUmVzb2x2ZVByb3BlcnR5UGF0aCxcclxuICAgIFNob3dSb2xlc1BpcGUsXHJcbiAgICBTaG93U2VnbWVudHNQaXBlLFxyXG4gICAgU2hvd1RyYW5zcG9ydFR5cGVzUGlwZSxcclxuICAgIEN1cnJlbmN5UGlwZSxcclxuICAgIFVwcGVyQ2FzZVBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaXBlc01vZHVsZSB7XHJcbn1cclxuIl19
|
@@ -70,10 +70,10 @@ export class ResolvePropertyPath {
|
|
70
70
|
});
|
71
71
|
return result;
|
72
72
|
}
|
73
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
74
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ResolvePropertyPath, deps: [{ token: i1.ShowSegmentsPipe }, { token: i2.ShowRolesPipe }, { token: i3.ShowTransportTypesPipe }, { token: i4.IdaReturnPipe }, { token: i5.CurrencyPipe }, { token: i6.HumanizeDurationPipe }, { token: i5.UpperCasePipe }, { token: i7.DurationTimePipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
74
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: ResolvePropertyPath, name: "resolvePropertyPath" }); }
|
75
75
|
}
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ResolvePropertyPath, decorators: [{
|
77
77
|
type: Pipe,
|
78
78
|
args: [{ name: 'resolvePropertyPath' }]
|
79
79
|
}], ctorParameters: function () { return [{ type: i1.ShowSegmentsPipe }, { type: i2.ShowRolesPipe }, { type: i3.ShowTransportTypesPipe }, { type: i4.IdaReturnPipe }, { type: i5.CurrencyPipe }, { type: i6.HumanizeDurationPipe }, { type: i5.UpperCasePipe }, { type: i7.DurationTimePipe }]; } });
|
@@ -11,11 +11,11 @@ export class ShowRolesPipe {
|
|
11
11
|
}
|
12
12
|
return result;
|
13
13
|
}
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
15
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ShowRolesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
15
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: ShowRolesPipe, name: "showSegments" }); }
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ShowRolesPipe }); }
|
17
17
|
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ShowRolesPipe, decorators: [{
|
19
19
|
type: Injectable
|
20
20
|
}, {
|
21
21
|
type: Pipe,
|
@@ -11,11 +11,11 @@ export class ShowSegmentsPipe {
|
|
11
11
|
}
|
12
12
|
return result;
|
13
13
|
}
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
15
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ShowSegmentsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
15
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: ShowSegmentsPipe, name: "showSegments" }); }
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ShowSegmentsPipe }); }
|
17
17
|
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ShowSegmentsPipe, decorators: [{
|
19
19
|
type: Injectable
|
20
20
|
}, {
|
21
21
|
type: Pipe,
|
@@ -11,11 +11,11 @@ export class ShowTransportTypesPipe {
|
|
11
11
|
}
|
12
12
|
return result;
|
13
13
|
}
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
15
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ShowTransportTypesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
15
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: ShowTransportTypesPipe, name: "showTransportTypes" }); }
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ShowTransportTypesPipe }); }
|
17
17
|
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ShowTransportTypesPipe, decorators: [{
|
19
19
|
type: Injectable
|
20
20
|
}, {
|
21
21
|
type: Pipe,
|
@@ -149,10 +149,10 @@ export class AutocompleteService {
|
|
149
149
|
return result;
|
150
150
|
}));
|
151
151
|
}
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
153
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: AutocompleteService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
153
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: AutocompleteService, providedIn: 'root' }); }
|
154
154
|
}
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: AutocompleteService, decorators: [{
|
156
156
|
type: Injectable,
|
157
157
|
args: [{
|
158
158
|
providedIn: 'root'
|