@guajiritos/general-autocomplete 0.0.1 → 0.0.3
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 +138 -18
- package/esm2020/lib/guachos-general-autocomplete.component.mjs +8 -5
- package/esm2020/lib/guachos-general-autocomplete.module.mjs +30 -10
- package/fesm2015/guajiritos-general-autocomplete.mjs +24 -75
- package/fesm2015/guajiritos-general-autocomplete.mjs.map +1 -1
- package/fesm2020/guajiritos-general-autocomplete.mjs +24 -75
- package/fesm2020/guajiritos-general-autocomplete.mjs.map +1 -1
- package/lib/guachos-general-autocomplete.component.d.ts +2 -1
- package/lib/guachos-general-autocomplete.module.d.ts +18 -11
- package/package.json +1 -1
- package/esm2020/utils/pipes/pipes.module.mjs +0 -78
- package/utils/pipes/pipes.module.d.ts +0 -15
package/README.md
CHANGED
@@ -1,29 +1,149 @@
|
|
1
|
-
#
|
1
|
+
# Guajiritos General Autocomplete
|
2
2
|
|
3
|
-
|
3
|
+
`Guajiritos General Autocomplete` es una librería para Angular que proporciona un componente con una funcionalidad de
|
4
|
+
autocompletar elementos con peticiones a un API-REST.
|
4
5
|
|
5
|
-
##
|
6
|
+
## Instalación
|
6
7
|
|
7
|
-
|
8
|
-
also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project guachos-general-autocomplete`.
|
9
|
-
> Note: Don't forget to add `--project guachos-general-autocomplete` or else it will be added to the default project in
|
10
|
-
> your `angular.json` file.
|
8
|
+
Con `npm`
|
11
9
|
|
12
|
-
|
10
|
+
```sh
|
11
|
+
npm i @guajiritos/general-autocomplete --save
|
12
|
+
```
|
13
13
|
|
14
|
-
|
15
|
-
directory.
|
14
|
+
Con `yarn`
|
16
15
|
|
17
|
-
|
16
|
+
```sh
|
17
|
+
yarn add @guajiritos/general-autocomplete
|
18
|
+
```
|
18
19
|
|
19
|
-
|
20
|
-
folder `cd dist/guachos-general-autocomplete` and run `npm publish`.
|
20
|
+
Importar la dependencia en tu proyecto.
|
21
21
|
|
22
|
-
|
22
|
+
```ts
|
23
|
+
import {GuajiritosGeneralAutocomplete} from '@guajiritos/general-autocomplete';
|
24
|
+
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
23
25
|
|
24
|
-
|
26
|
+
@NgModule({
|
27
|
+
...
|
28
|
+
imports:
|
29
|
+
[
|
30
|
+
...
|
31
|
+
GuajiritosGeneralAutocomplete,
|
32
|
+
BrowserAnimationsModule,
|
33
|
+
...
|
34
|
+
]
|
35
|
+
})
|
36
|
+
```
|
25
37
|
|
26
|
-
|
38
|
+
Importar la etiqueta en el componente correspondiente.
|
27
39
|
|
28
|
-
|
29
|
-
|
40
|
+
```html
|
41
|
+
...
|
42
|
+
<guajiritos-general-autocomplete></guajiritos-general-autocomplete>
|
43
|
+
...
|
44
|
+
```
|
45
|
+
|
46
|
+
## Entrada
|
47
|
+
|
48
|
+
Como elementos opcionales se pueden introducir los siguientes campos:
|
49
|
+
|
50
|
+
* `floatLabel` - Corresponde a un valor `FloatLabelType` de @angular/material. Por defecto toma valor `auto`
|
51
|
+
|
52
|
+
```html
|
53
|
+
...
|
54
|
+
<guajiritos-general-autocomplete [floatLabel]="'always'"></guajiritos-general-autocomplete>
|
55
|
+
...
|
56
|
+
```
|
57
|
+
|
58
|
+
* `bodyRequest` - Corresponde a un valor de la interfaz `ApiFormData`.
|
59
|
+
* `debounceTimeValue` - Valor numérico para el tiempo de espera entre peticiones con la entrada de datos de búsqueda. Por defecto 250 ms.
|
60
|
+
* `detailsTemplate` - Corresponde a un valor `TemplateRef`.
|
61
|
+
* `label` - Corresponde al texto a mostrar en el componente del `input`.
|
62
|
+
|
63
|
+
```html
|
64
|
+
...
|
65
|
+
<guajiritos-general-autocomplete [label]="Hoteles"></guajiritos-general-autocomplete>
|
66
|
+
...
|
67
|
+
```
|
68
|
+
|
69
|
+
* `placeholder` - Corresponde al texto del placeholder a mostrar en el componente del `input`.
|
70
|
+
|
71
|
+
```html
|
72
|
+
...
|
73
|
+
<guajiritos-general-autocomplete [placeholder]="Seleccione un hotel"></guajiritos-general-autocomplete>
|
74
|
+
...
|
75
|
+
```
|
76
|
+
|
77
|
+
* `field` - Un arreglo de valores correspondiente a la ruta del campo a mostrar en el componente de `autocomplete`.
|
78
|
+
|
79
|
+
```html
|
80
|
+
...
|
81
|
+
<guajiritos-general-autocomplete [field]="['hotel', 'name']"></guajiritos-general-autocomplete>
|
82
|
+
...
|
83
|
+
```
|
84
|
+
|
85
|
+
* `filterString` - Corresponde a los posibles filtros que se pueden enviar en las peticiones.
|
86
|
+
* `displayOptions` - Corresponde a un valor de la interfaz `DisplayOption`.
|
87
|
+
* `withoutPaddingBottom` - Si elimina el relleno del componente.
|
88
|
+
* `valueId` - Si el valor a manejar es el `id` del objeto. Por defector toma valor `false`.
|
89
|
+
|
90
|
+
```html
|
91
|
+
...
|
92
|
+
<guajiritos-general-autocomplete [valueId]="true"></guajiritos-general-autocomplete>
|
93
|
+
...
|
94
|
+
```
|
95
|
+
|
96
|
+
* `disable` - Deshabilita el componente. Por defecto toma valor `false`.
|
97
|
+
|
98
|
+
```html
|
99
|
+
...
|
100
|
+
<guajiritos-general-autocomplete [valueId]="true"></guajiritos-general-autocomplete>
|
101
|
+
...
|
102
|
+
```
|
103
|
+
|
104
|
+
* `order` - Parámetro para ordenar la respuesta de las peticiones.
|
105
|
+
* `removeProperties` - Eliminar propiedades de las peticiones.
|
106
|
+
* `url` - Ruta para las peticiones API.
|
107
|
+
|
108
|
+
```html
|
109
|
+
...
|
110
|
+
<guajiritos-general-autocomplete [url]="https://www.guajiritos.com/"></guajiritos-general-autocomplete>
|
111
|
+
...
|
112
|
+
```
|
113
|
+
|
114
|
+
* `clearData` - Limpia los valores del formulario reactivo.
|
115
|
+
* `initialValue` - Valor inicial del formulario reactivo.
|
116
|
+
* `restrictions` - Restricciones de las peticiones.
|
117
|
+
* `isRequired` - Es requerida la selección de algún valor. Por defecto toma valor `false`.
|
118
|
+
|
119
|
+
```html
|
120
|
+
...
|
121
|
+
<guajiritos-general-autocomplete [isRequired]="true"></guajiritos-general-autocomplete>
|
122
|
+
...
|
123
|
+
```
|
124
|
+
|
125
|
+
* `doFocus` - Activa la propiedad focus del elemento.
|
126
|
+
|
127
|
+
## Salida
|
128
|
+
|
129
|
+
Salida del componente
|
130
|
+
|
131
|
+
* `SelectElement` - Elemento seleccionado
|
132
|
+
|
133
|
+
### Entrada de formulario reactivo
|
134
|
+
|
135
|
+
Este componente permite la entrada de un formulario reactivo para el manejo de los valores.
|
136
|
+
|
137
|
+
```html
|
138
|
+
...
|
139
|
+
<guajiritos-general-autocomplete [formControl]="control"></guajiritos-general-autocomplete>
|
140
|
+
...
|
141
|
+
```
|
142
|
+
|
143
|
+
o
|
144
|
+
|
145
|
+
```html
|
146
|
+
...
|
147
|
+
<guajiritos-general-autocomplete formControlName="controlName"></guajiritos-general-autocomplete>
|
148
|
+
...
|
149
|
+
```
|
@@ -38,7 +38,8 @@ export class GuajiritosGeneralAutocompleteComponent {
|
|
38
38
|
*/
|
39
39
|
this.floatLabel = 'auto';
|
40
40
|
this.debounceTimeValue = 250;
|
41
|
-
this.label = '
|
41
|
+
this.label = 'Seleccione';
|
42
|
+
this.placeholder = 'Seleccione un elemento';
|
42
43
|
this.field = ['name'];
|
43
44
|
this.filterString = 'filter[$and][name][$like]';
|
44
45
|
this.displayOptions = GENERAL_DISPLAY_OPTIONS;
|
@@ -243,13 +244,13 @@ export class GuajiritosGeneralAutocompleteComponent {
|
|
243
244
|
}
|
244
245
|
}
|
245
246
|
GuajiritosGeneralAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteComponent, deps: [{ token: i1.AutocompleteService }, { token: i0.ChangeDetectorRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
246
|
-
GuajiritosGeneralAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: GuajiritosGeneralAutocompleteComponent, selector: "guajiritos-general-autocomplete", inputs: { floatLabel: "floatLabel", bodyRequest: "bodyRequest", debounceTimeValue: "debounceTimeValue", detailsTemplate: "detailsTemplate", label: "label", field: "field", filterString: "filterString", displayOptions: "displayOptions", withoutPaddingBottom: "withoutPaddingBottom", valueId: "valueId", disable: "disable", order: "order", removeProperties: "removeProperties", url: "url", clearData: "clearData", initialValue: "initialValue", restrictions: "restrictions", isRequired: "isRequired", doFocus: "doFocus" }, outputs: { SelectElement: "SelectElement" }, providers: [
|
247
|
+
GuajiritosGeneralAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: GuajiritosGeneralAutocompleteComponent, selector: "guajiritos-general-autocomplete", inputs: { floatLabel: "floatLabel", bodyRequest: "bodyRequest", debounceTimeValue: "debounceTimeValue", detailsTemplate: "detailsTemplate", label: "label", placeholder: "placeholder", field: "field", filterString: "filterString", displayOptions: "displayOptions", withoutPaddingBottom: "withoutPaddingBottom", valueId: "valueId", disable: "disable", order: "order", removeProperties: "removeProperties", url: "url", clearData: "clearData", initialValue: "initialValue", restrictions: "restrictions", isRequired: "isRequired", doFocus: "doFocus" }, outputs: { SelectElement: "SelectElement" }, providers: [
|
247
248
|
{
|
248
249
|
provide: NG_VALUE_ACCESSOR,
|
249
250
|
useExisting: forwardRef(() => GuajiritosGeneralAutocompleteComponent),
|
250
251
|
multi: true
|
251
252
|
}
|
252
|
-
], viewQueries: [{ propertyName: "inputText", first: true, predicate: ["inputText"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\"\r\n appearance=\"outline\" class=\"w-100\" color=\"accent\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (blur)=\"onTouched()\" (focus)=\"onFocus()\" [disabled]=\"disable\"\r\n [formControl]=\"component\" [matAutocomplete]=\"autocomplete\" [placeholder]=\"
|
253
|
+
], viewQueries: [{ propertyName: "inputText", first: true, predicate: ["inputText"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\"\r\n appearance=\"outline\" class=\"w-100\" color=\"accent\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (blur)=\"onTouched()\" (focus)=\"onFocus()\" [disabled]=\"disable\"\r\n [formControl]=\"component\" [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\"\r\n aria-label=\"Number\" autocomplete=\"off\" matInput type=\"text\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading && component?.value\" [disabled]=\"disable\" aria-label=\"Clear\"\r\n mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading\" aria-label=\"Clear\" 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\"\r\n (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\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n", styles: ["::ng-deep .without-padding-bottom .mat-form-field-wrapper{padding-bottom:0!important}.w-100{width:100%}.display-options{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { 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.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i10.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i12.I18nFieldPipe, name: "i18nField" }, { kind: "pipe", type: i13.ResolvePropertyPath, name: "resolvePropertyPath" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
253
254
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteComponent, decorators: [{
|
254
255
|
type: Component,
|
255
256
|
args: [{ selector: 'guajiritos-general-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
@@ -258,7 +259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
258
259
|
useExisting: forwardRef(() => GuajiritosGeneralAutocompleteComponent),
|
259
260
|
multi: true
|
260
261
|
}
|
261
|
-
], template: "<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\"\r\n appearance=\"outline\" class=\"w-100\" color=\"accent\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (blur)=\"onTouched()\" (focus)=\"onFocus()\" [disabled]=\"disable\"\r\n [formControl]=\"component\" [matAutocomplete]=\"autocomplete\" [placeholder]=\"
|
262
|
+
], template: "<mat-form-field [floatLabel]=\"floatLabel\" [ngClass]=\"{'without-padding-bottom': withoutPaddingBottom}\"\r\n appearance=\"outline\" class=\"w-100\" color=\"accent\">\r\n\r\n <mat-label>{{label | translate}}</mat-label>\r\n <input #inputText #trigger=\"matAutocompleteTrigger\" (blur)=\"onTouched()\" (focus)=\"onFocus()\" [disabled]=\"disable\"\r\n [formControl]=\"component\" [matAutocomplete]=\"autocomplete\" [placeholder]=\"placeholder | translate\"\r\n aria-label=\"Number\" autocomplete=\"off\" matInput type=\"text\">\r\n <button (click)=\"clear(trigger)\" *ngIf=\"!loading && component?.value\" [disabled]=\"disable\" aria-label=\"Clear\"\r\n mat-icon-button matSuffix>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button *ngIf=\"loading\" aria-label=\"Clear\" 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\"\r\n (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\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n", styles: ["::ng-deep .without-padding-bottom .mat-form-field-wrapper{padding-bottom:0!important}.w-100{width:100%}.display-options{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}\n"] }]
|
262
263
|
}], ctorParameters: function () { return [{ type: i1.AutocompleteService }, { type: i0.ChangeDetectorRef }, { type: i2.TranslateService }]; }, propDecorators: { inputText: [{
|
263
264
|
type: ViewChild,
|
264
265
|
args: ['inputText', { static: true }]
|
@@ -272,6 +273,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
272
273
|
type: Input
|
273
274
|
}], label: [{
|
274
275
|
type: Input
|
276
|
+
}], placeholder: [{
|
277
|
+
type: Input
|
275
278
|
}], field: [{
|
276
279
|
type: Input
|
277
280
|
}], filterString: [{
|
@@ -303,4 +306,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
303
306
|
}], doFocus: [{
|
304
307
|
type: Input
|
305
308
|
}] } });
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBdUIsV0FBVyxFQUFFLGlCQUFpQixFQUFvQixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFnQjdELE1BQU0sT0FBTyxzQ0FBc0M7SUFFL0MsWUFDWSxvQkFBeUMsRUFDekMsTUFBeUIsRUFDMUIsZ0JBQWtDO1FBRmpDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsV0FBTSxHQUFOLE1BQU0sQ0FB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U0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUNBQXVDLENBQUM7NEJBQ3JFLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO3lLQTRCdUMsU0FBUztzQkFBaEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUk3QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUVNLEdBQUc7c0JBQWYsS0FBSztnQkFRTyxTQUFTO3NCQUFyQixLQUFLO2dCQWVPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFRTyxVQUFVO3NCQUF0QixLQUFLO2dCQWdCTyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlVHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7RmxvYXRMYWJlbFR5cGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWx9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0dFTkVSQUxfRElTUExBWV9PUFRJT05TfSBmcm9tICcuLi91dGlscy9jb25zdGFudHMvY29udHJhY3RzJztcbmltcG9ydCB7QXV0b2NvbXBsZXRlU2VydmljZX0gZnJvbSAnLi4vdXRpbHMvc2VydmljZXMvYXV0b2NvbXBsZXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtVdGlsc1NlcnZpY2V9IGZyb20gJy4uL3V0aWxzL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHtBcGlGb3JtRGF0YSwgRGlzcGxheU9wdGlvbiwgUmVzdHJpY3Rpb25GaWx0ZXJ9IGZyb20gXCIuLi91dGlscy9pbnRlcmZhY2VzL2ludGVyZmFjZXNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdndWFqaXJpdG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEd1YWppcml0b3NHZW5lcmFsQXV0b2NvbXBsZXRlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEd1YWppcml0b3NHZW5lcmFsQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9hdXRvY29tcGxldGVTZXJ2aWNlOiBBdXRvY29tcGxldGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICkge1xuICAgIH1cblxuICAgIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGZpcnN0Q2FsbDogYm9vbGVhbiA9IHRydWU7XG4gICAgcHJpdmF0ZSByZXN0cmljdGlvbnNGaWx0ZXJzOiBSZXN0cmljdGlvbkZpbHRlcltdID0gW107XG4gICAgcHJpdmF0ZSBzZWxlY3RlZEVsZW1lbnQ6IGFueTtcbiAgICBwcml2YXRlIGRvRm9jdXNTdWJqZWN0OiBTdWJqZWN0PGFueT47XG4gICAgcHJpdmF0ZSBjbGVhckRhdGEkOiBTdWJqZWN0PGFueT47XG4gICAgcHJpdmF0ZSBfdXJsOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHB1YmxpYyBjb21wb25lbnQ6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHtcbiAgICAgICAgdmFsdWU6IG51bGwsIGRpc2FibGVkOiBmYWxzZVxuICAgIH0pO1xuICAgIHB1YmxpYyB2YWx1ZTogYW55O1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IGFueVtdO1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dFRleHQnLCB7c3RhdGljOiB0cnVlfSkgaW5wdXRUZXh0OiBFbGVtZW50UmVmO1xuICAgIC8qKlxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyAnbmV2ZXInLCAnYXV0bycgb3IgJ2Fsd2F5cydcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICdhdXRvJztcbiAgICBASW5wdXQoKSBib2R5UmVxdWVzdDogQXBpRm9ybURhdGE7XG4gICAgQElucHV0KCkgZGVib3VuY2VUaW1lVmFsdWU6IG51bWJlciA9IDI1MDtcbiAgICBASW5wdXQoKSBkZXRhaWxzVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdTZWxlY2Npb25hIHVuIGVsZW1lbnRvJztcbiAgICBASW5wdXQoKSBmaWVsZDogc3RyaW5nW10gPSBbJ25hbWUnXTtcbiAgICBASW5wdXQoKSBmaWx0ZXJTdHJpbmc6IHN0cmluZyA9ICdmaWx0ZXJbJGFuZF1bbmFtZV1bJGxpa2VdJztcbiAgICBASW5wdXQoKSBkaXNwbGF5T3B0aW9uczogRGlzcGxheU9wdGlvbiA9IEdFTkVSQUxfRElTUExBWV9PUFRJT05TO1xuICAgIEBJbnB1dCgpIHdpdGhvdXRQYWRkaW5nQm90dG9tOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSB2YWx1ZUlkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG9yZGVyOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIHJlbW92ZVByb3BlcnRpZXM6IHN0cmluZ1tdID0gW107XG4gICAgQE91dHB1dCgpIFNlbGVjdEVsZW1lbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBASW5wdXQoKSBzZXQgdXJsKGRhdGE6IHN0cmluZykge1xuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5fdXJsID0gZGF0YTtcblxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVDb21wb25lbnRDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgY2xlYXJEYXRhKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jbGVhckRhdGEkID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmNsZWFyRGF0YSQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJEYXRhJFxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LnNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuU2VsZWN0RWxlbWVudC5lbWl0KG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlZChudWxsKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBpbml0aWFsVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHJlc3RyaWN0aW9ucyh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5yZXN0cmljdGlvbnNGaWx0ZXJzID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlc3RyaWN0aW9uc0ZpbHRlcnMgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBpc1JlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZWQgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlZCkge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnQuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCwgR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGVDb21wb25lbnQuVmFsaWRhdGVBdXRvY29tcGxldGVdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIGdldCBkb0ZvY3VzKCk6IFN1YmplY3Q8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvRm9jdXNTdWJqZWN0O1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkb0ZvY3VzKHZhbHVlOiBTdWJqZWN0PGFueT4pIHtcbiAgICAgICAgdGhpcy5kb0ZvY3VzU3ViamVjdCA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kb0ZvY3VzU3ViamVjdFxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dFRleHQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgVmFsaWRhdGVBdXRvY29tcGxldGUoY29udHJvbDogRm9ybUNvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICAgICAgaWYgKGNvbnRyb2w/LnZhbHVlPy5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0IHx8ICFjb250cm9sPy52YWx1ZT8uaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB7aW52YWxpZFNlbGVjdGlvbjogdHJ1ZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZUNvbXBvbmVudENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50Py52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgID8ucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWVWYWx1ZSksIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAgICAgICA/LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpcnN0Q2FsbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZUJ5VGV4dEhhbmRsZXIodGhpcy5nZXRBdXRvY29tcGxldGVTZWFyY2hUZXh0KCkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlyc3RDYWxsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBdXRvY29tcGxldGVCeVRleHRIYW5kbGVyKHRleHQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYXV0b2NvbXBsZXRlU2VydmljZVxuICAgICAgICAgICAgLmdldEF1dG9jb21wbGV0ZUJ5VGV4dCh0aGlzLl91cmwsIHRleHQsIHRoaXMuZmlsdGVyU3RyaW5nLCB0aGlzLnJlc3RyaWN0aW9uc0ZpbHRlcnMsXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVQcm9wZXJ0aWVzLCB0aGlzLm9yZGVyLCB0aGlzLmJvZHlSZXF1ZXN0KVxuICAgICAgICAgICAgLnRoZW4oKHJlc3A6IE9ic2VydmFibGU8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3A/LnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSByZXN1bHQ/LmRhdGE7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEF1dG9jb21wbGV0ZVNlYXJjaFRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICBsZXQgdGV4dDogc3RyaW5nID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50Py52YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbXBvbmVudC52YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRWYWx1ZSA9IHRoaXMuY29tcG9uZW50Py52YWx1ZVt0aGlzLmZpZWxkWzBdXVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY29tcG9uZW50VmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsYW5nOiBzdHJpbmcgPSAnZXMnO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maWVsZFsxXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFuZyA9IHRoaXMuZmllbGRbMV07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gY29tcG9uZW50VmFsdWVbbGFuZ107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5jb21wb25lbnQ/LnZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHRleHQgPSB0aGlzLmNvbXBvbmVudC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0ZXh0O1xuICAgIH1cblxuICAgIG9uQ2hhbmdlZDogYW55ID0gKCkgPT4ge1xuICAgIH07XG5cbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHtcbiAgICB9O1xuXG4gICAgcHVibGljIGNsZWFyKHRyaWdnZXI6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnQuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgdGhpcy5TZWxlY3RFbGVtZW50LmVtaXQobnVsbCk7XG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZWQobnVsbCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0cmlnZ2VyLm9wZW5QYW5lbCgpO1xuICAgICAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LCAyMDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZUJ5VGV4dEhhbmRsZXIodGhpcy5nZXRBdXRvY29tcGxldGVTZWFyY2hUZXh0KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNlbGVjdEVsZW1lbnQoaXRlbTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gaXRlbTtcbiAgICAgICAgdGhpcy5TZWxlY3RFbGVtZW50LmVtaXQoaXRlbSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBpdGVtO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlSWQpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VkKGl0ZW0/LmlkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VkKGl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGRpc3BsYXlGbiA9ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBkaXNwbGF5VGV4dCA9ICcnO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc3BsYXlPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5T3B0aW9ucyA9IEdFTkVSQUxfRElTUExBWV9PUFRJT05TO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kaXNwbGF5T3B0aW9ucz8uZmlydGhMYWJlbD8uZm9yRWFjaCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWVsZD8udHlwZSA9PT0gJ3BhdGgnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlUZXh0ICs9IFV0aWxzU2VydmljZS5yZXNvbHZlUHJvcGVydHlCeVBhdGgodmFsdWUsIGZpZWxkPy5wYXRoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VGV4dCArPSBmaWVsZD8uZGl2aWRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBkaXNwbGF5VGV4dDtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUuaWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlZCA9IGZuO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50Lm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCIgW25nQ2xhc3NdPVwieyd3aXRob3V0LXBhZGRpbmctYm90dG9tJzogd2l0aG91dFBhZGRpbmdCb3R0b219XCJcclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJ3LTEwMFwiIGNvbG9yPVwiYWNjZW50XCI+XHJcblxyXG4gICAgPG1hdC1sYWJlbD57e2xhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dCAjaW5wdXRUZXh0ICN0cmlnZ2VyPVwibWF0QXV0b2NvbXBsZXRlVHJpZ2dlclwiIChibHVyKT1cIm9uVG91Y2hlZCgpXCIgKGZvY3VzKT1cIm9uRm9jdXMoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlXCJcclxuICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29tcG9uZW50XCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIiBbcGxhY2Vob2xkZXJdPVwibGFiZWwgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgIGFyaWEtbGFiZWw9XCJOdW1iZXJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBtYXRJbnB1dCB0eXBlPVwidGV4dFwiPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xlYXIodHJpZ2dlcilcIiAqbmdJZj1cIiFsb2FkaW5nICYmIGNvbXBvbmVudD8udmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXg+XHJcbiAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cImxvYWRpbmdcIiBhcmlhLWxhYmVsPVwiQ2xlYXJcIiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4PlxyXG4gICAgICAgIDxtYXQtc3Bpbm5lciBbdmFsdWVdPVwiOTBcIiBjb2xvcj1cImFjY2VudFwiIGRpYW1ldGVyPVwiMjVcIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0b2NvbXBsZXRlPVwibWF0QXV0b2NvbXBsZXRlXCIgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlGblwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0RWxlbWVudChvcHRpb24pXCI+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRpc3BsYXlPcHRpb25zICYmICFkZXRhaWxzVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbj8ubmFtZSB8IGkxOG5GaWVsZDogdHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyB9fVxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGV0YWlsc1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheS1vcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ1N0eWxlXT1cInsnbGluZS1oZWlnaHQnOiBkaXNwbGF5T3B0aW9ucz8uc2Vjb25kTGFiZWwgPyAnMTZweCcgOiAnJ31cIj5cclxuICAgICAgICAgICAgICAgICAgICB7e29wdGlvbiB8IHJlc29sdmVQcm9wZXJ0eVBhdGg6ZGlzcGxheU9wdGlvbnM/LmZpcnRoTGFiZWwgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmd9fVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaXNwbGF5T3B0aW9ucz8uc2Vjb25kTGFiZWxcIiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tvcHRpb24gfCByZXNvbHZlUHJvcGVydHlQYXRoOiBkaXNwbGF5T3B0aW9ucz8uc2Vjb25kTGFiZWwgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmd9fVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGV0YWlsc1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGV0YWlsc1RlbXBsYXRlO2NvbnRleHQ6eyRpbXBsaWNpdDogb3B0aW9uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
|
309
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBdUIsV0FBVyxFQUFFLGlCQUFpQixFQUFvQixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFnQjdELE1BQU0sT0FBTyxzQ0FBc0M7SUFFL0MsWUFDWSxvQkFBeUMsRUFDekMsTUFBeUIsRUFDMUIsZ0JBQWtDO1FBRmpDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsV0FBTSxHQUFOLE1BQU0sQ0FB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MEVBd0NBOzJGREZhLHNDQUFzQztrQkFibEQsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUNBQXVDLENBQUM7NEJBQ3JFLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO3lLQTRCdUMsU0FBUztzQkFBaEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUk3QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBRU0sR0FBRztzQkFBZixLQUFLO2dCQVFPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBZU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJTyxZQUFZO3NCQUF4QixLQUFLO2dCQVFPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBZ0JPLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtGbG9hdExhYmVsVHlwZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7R0VORVJBTF9ESVNQTEFZX09QVElPTlN9IGZyb20gJy4uL3V0aWxzL2NvbnN0YW50cy9jb250cmFjdHMnO1xuaW1wb3J0IHtBdXRvY29tcGxldGVTZXJ2aWNlfSBmcm9tICcuLi91dGlscy9zZXJ2aWNlcy9hdXRvY29tcGxldGUuc2VydmljZSc7XG5pbXBvcnQge1V0aWxzU2VydmljZX0gZnJvbSAnLi4vdXRpbHMvc2VydmljZXMvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQge0FwaUZvcm1EYXRhLCBEaXNwbGF5T3B0aW9uLCBSZXN0cmljdGlvbkZpbHRlcn0gZnJvbSBcIi4uL3V0aWxzL2ludGVyZmFjZXMvaW50ZXJmYWNlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2d1YWppcml0b3MtZ2VuZXJhbC1hdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGVDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgR3VhamlyaXRvc0dlbmVyYWxBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2F1dG9jb21wbGV0ZVNlcnZpY2U6IEF1dG9jb21wbGV0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgZmlyc3RDYWxsOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwcml2YXRlIHJlc3RyaWN0aW9uc0ZpbHRlcnM6IFJlc3RyaWN0aW9uRmlsdGVyW10gPSBbXTtcbiAgICBwcml2YXRlIHNlbGVjdGVkRWxlbWVudDogYW55O1xuICAgIHByaXZhdGUgZG9Gb2N1c1N1YmplY3Q6IFN1YmplY3Q8YW55PjtcbiAgICBwcml2YXRlIGNsZWFyRGF0YSQ6IFN1YmplY3Q8YW55PjtcbiAgICBwcml2YXRlIF91cmw6IHN0cmluZztcblxuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbiA9IHRydWU7XG4gICAgcHVibGljIGNvbXBvbmVudDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woe1xuICAgICAgICB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IGZhbHNlXG4gICAgfSk7XG4gICAgcHVibGljIHZhbHVlOiBhbnk7XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogYW55W107XG4gICAgcHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0VGV4dCcsIHtzdGF0aWM6IHRydWV9KSBpbnB1dFRleHQ6IEVsZW1lbnRSZWY7XG4gICAgLyoqXG4gICAgICogUG9zc2libGUgdmFsdWVzICduZXZlcicsICdhdXRvJyBvciAnYWx3YXlzJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xuICAgIEBJbnB1dCgpIGJvZHlSZXF1ZXN0OiBBcGlGb3JtRGF0YTtcbiAgICBASW5wdXQoKSBkZWJvdW5jZVRpbWVWYWx1ZTogbnVtYmVyID0gMjUwO1xuICAgIEBJbnB1dCgpIGRldGFpbHNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ1NlbGVjY2lvbmUnO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWNjaW9uZSB1biBlbGVtZW50byc7XG4gICAgQElucHV0KCkgZmllbGQ6IHN0cmluZ1tdID0gWyduYW1lJ107XG4gICAgQElucHV0KCkgZmlsdGVyU3RyaW5nOiBzdHJpbmcgPSAnZmlsdGVyWyRhbmRdW25hbWVdWyRsaWtlXSc7XG4gICAgQElucHV0KCkgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb24gPSBHRU5FUkFMX0RJU1BMQVlfT1BUSU9OUztcbiAgICBASW5wdXQoKSB3aXRob3V0UGFkZGluZ0JvdHRvbTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgdmFsdWVJZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBvcmRlcjogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSByZW1vdmVQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBPdXRwdXQoKSBTZWxlY3RFbGVtZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQElucHV0KCkgc2V0IHVybChkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuX3VybCA9IGRhdGE7XG5cbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlQ29tcG9uZW50Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNsZWFyRGF0YSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuY2xlYXJEYXRhJCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5jbGVhckRhdGEkKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyRGF0YSRcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLlNlbGVjdEVsZW1lbnQuZW1pdChudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZWQobnVsbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgaW5pdGlhbFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnQuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCByZXN0cmljdGlvbnModmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdHJpY3Rpb25zRmlsdGVycyA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZXN0cmljdGlvbnNGaWx0ZXJzID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgaXNSZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnJlcXVpcmVkID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEd1YWppcml0b3NHZW5lcmFsQXV0b2NvbXBsZXRlQ29tcG9uZW50LlZhbGlkYXRlQXV0b2NvbXBsZXRlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBnZXQgZG9Gb2N1cygpOiBTdWJqZWN0PGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb0ZvY3VzU3ViamVjdDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZG9Gb2N1cyh2YWx1ZTogU3ViamVjdDxhbnk+KSB7XG4gICAgICAgIHRoaXMuZG9Gb2N1c1N1YmplY3QgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZG9Gb2N1c1N1YmplY3RcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRUZXh0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIFZhbGlkYXRlQXV0b2NvbXBsZXRlKGNvbnRyb2w6IEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgICAgIGlmIChjb250cm9sPy52YWx1ZT8uY29uc3RydWN0b3IgIT09IE9iamVjdCB8fCAhY29udHJvbD8udmFsdWU/LmlkKSB7XG4gICAgICAgICAgICByZXR1cm4ge2ludmFsaWRTZWxlY3Rpb246IHRydWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVDb21wb25lbnRDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudD8udmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICA/LnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lVmFsdWUpLCB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAgICAgPy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5maXJzdENhbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGVCeVRleHRIYW5kbGVyKHRoaXMuZ2V0QXV0b2NvbXBsZXRlU2VhcmNoVGV4dCgpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcnN0Q2FsbCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QXV0b2NvbXBsZXRlQnlUZXh0SGFuZGxlcih0ZXh0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRBdXRvY29tcGxldGVCeVRleHQodGhpcy5fdXJsLCB0ZXh0LCB0aGlzLmZpbHRlclN0cmluZywgdGhpcy5yZXN0cmljdGlvbnNGaWx0ZXJzLFxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlUHJvcGVydGllcywgdGhpcy5vcmRlciwgdGhpcy5ib2R5UmVxdWVzdClcbiAgICAgICAgICAgIC50aGVuKChyZXNwOiBPYnNlcnZhYmxlPGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICByZXNwPy5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gcmVzdWx0Py5kYXRhO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBdXRvY29tcGxldGVTZWFyY2hUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgbGV0IHRleHQ6IHN0cmluZyA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudD8udmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb21wb25lbnQudmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50VmFsdWUgPSB0aGlzLmNvbXBvbmVudD8udmFsdWVbdGhpcy5maWVsZFswXV1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbXBvbmVudFZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbGFuZzogc3RyaW5nID0gJ2VzJztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRbMV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcgPSB0aGlzLmZpZWxkWzFdO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGNvbXBvbmVudFZhbHVlW2xhbmddO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuY29tcG9uZW50Py52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICB0ZXh0ID0gdGhpcy5jb21wb25lbnQudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG5cbiAgICBvbkNoYW5nZWQ6IGFueSA9ICgpID0+IHtcbiAgICB9O1xuXG4gICAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7XG4gICAgfTtcblxuICAgIHB1YmxpYyBjbGVhcih0cmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50LnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudCA9IG51bGw7XG4gICAgICAgIHRoaXMuU2VsZWN0RWxlbWVudC5lbWl0KG51bGwpO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2VkKG51bGwpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdHJpZ2dlci5vcGVuUGFuZWwoKTtcbiAgICAgICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSwgMjAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGVCeVRleHRIYW5kbGVyKHRoaXMuZ2V0QXV0b2NvbXBsZXRlU2VhcmNoVGV4dCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3RFbGVtZW50KGl0ZW06IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudCA9IGl0ZW07XG4gICAgICAgIHRoaXMuU2VsZWN0RWxlbWVudC5lbWl0KGl0ZW0pO1xuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbTtcblxuICAgICAgICBpZiAodGhpcy52YWx1ZUlkKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlZChpdGVtPy5pZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlZChpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5Rm4gPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgZGlzcGxheVRleHQgPSAnJztcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNwbGF5T3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU9wdGlvbnMgPSBHRU5FUkFMX0RJU1BMQVlfT1BUSU9OUztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGlzcGxheU9wdGlvbnM/LmZpcnRoTGFiZWw/LmZvckVhY2goKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQ/LnR5cGUgPT09ICdwYXRoJykge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VGV4dCArPSBVdGlsc1NlcnZpY2UucmVzb2x2ZVByb3BlcnR5QnlQYXRoKHZhbHVlLCBmaWVsZD8ucGF0aCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVRleHQgKz0gZmllbGQ/LmRpdmlkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZGlzcGxheVRleHQ7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlLmlkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZWQgPSBmbjtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiIFtuZ0NsYXNzXT1cInsnd2l0aG91dC1wYWRkaW5nLWJvdHRvbSc6IHdpdGhvdXRQYWRkaW5nQm90dG9tfVwiXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwidy0xMDBcIiBjb2xvcj1cImFjY2VudFwiPlxyXG5cclxuICAgIDxtYXQtbGFiZWw+e3tsYWJlbCB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXQgI2lucHV0VGV4dCAjdHJpZ2dlcj1cIm1hdEF1dG9jb21wbGV0ZVRyaWdnZXJcIiAoYmx1cik9XCJvblRvdWNoZWQoKVwiIChmb2N1cyk9XCJvbkZvY3VzKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiXHJcbiAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudFwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICBhcmlhLWxhYmVsPVwiTnVtYmVyXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgbWF0SW5wdXQgdHlwZT1cInRleHRcIj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyKHRyaWdnZXIpXCIgKm5nSWY9XCIhbG9hZGluZyAmJiBjb21wb25lbnQ/LnZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVcIiBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4PlxyXG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJsb2FkaW5nXCIgYXJpYS1sYWJlbD1cIkNsZWFyXCIgbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeD5cclxuICAgICAgICA8bWF0LXNwaW5uZXIgW3ZhbHVlXT1cIjkwXCIgY29sb3I9XCJhY2NlbnRcIiBkaWFtZXRlcj1cIjI1XCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9jb21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdEVsZW1lbnQob3B0aW9uKVwiPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkaXNwbGF5T3B0aW9ucyAmJiAhZGV0YWlsc1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBvcHRpb24/Lm5hbWUgfCBpMThuRmllbGQ6IHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgfX1cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRldGFpbHNUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXktb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7J2xpbmUtaGVpZ2h0JzogZGlzcGxheU9wdGlvbnM/LnNlY29uZExhYmVsID8gJzE2cHgnIDogJyd9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tvcHRpb24gfCByZXNvbHZlUHJvcGVydHlQYXRoOmRpc3BsYXlPcHRpb25zPy5maXJ0aExhYmVsIHwgaTE4bkZpZWxkOiB0cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGlzcGxheU9wdGlvbnM/LnNlY29uZExhYmVsXCIgY2xhc3M9XCJtYXQtY2FwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7b3B0aW9uIHwgcmVzb2x2ZVByb3BlcnR5UGF0aDogZGlzcGxheU9wdGlvbnM/LnNlY29uZExhYmVsIHwgaTE4bkZpZWxkOiB0cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRldGFpbHNUZW1wbGF0ZTtjb250ZXh0OnskaW1wbGljaXQ6IG9wdGlvbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbiJdfQ==
|
@@ -8,14 +8,29 @@ import { MatButtonModule } from "@angular/material/button";
|
|
8
8
|
import { MatIconModule } from "@angular/material/icon";
|
9
9
|
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
|
10
10
|
import { MatFormFieldModule } from "@angular/material/form-field";
|
11
|
-
import { PipesModule } from "../utils/pipes/pipes.module";
|
12
11
|
import { AutocompleteService } from "../utils/services/autocomplete.service";
|
13
12
|
import { GuajiritosGeneralAutocompleteComponent } from './guachos-general-autocomplete.component';
|
13
|
+
import { DurationTimePipe } from "../utils/pipes/duration.pipe";
|
14
|
+
import { I18nFieldPipe } from "../utils/pipes/i18n-field.pipe";
|
15
|
+
import { ResolvePropertyPath } from "../utils/pipes/resolve-property-path.pipe";
|
16
|
+
import { HumanizeDurationPipe } from "../utils/pipes/humanize-duration.pipe";
|
17
|
+
import { IdaReturnPipe } from "../utils/pipes/ida-return.pipe";
|
18
|
+
import { ShowRolesPipe } from "../utils/pipes/show-roles.pipe";
|
19
|
+
import { ShowSegmentsPipe } from "../utils/pipes/show-segments.pipe";
|
20
|
+
import { ShowTransportTypesPipe } from "../utils/pipes/show-transport-types.pipe";
|
14
21
|
import * as i0 from "@angular/core";
|
15
22
|
export class GuajiritosGeneralAutocompleteModule {
|
16
23
|
}
|
17
24
|
GuajiritosGeneralAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
18
|
-
GuajiritosGeneralAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteModule, declarations: [GuajiritosGeneralAutocompleteComponent
|
25
|
+
GuajiritosGeneralAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteModule, declarations: [GuajiritosGeneralAutocompleteComponent,
|
26
|
+
DurationTimePipe,
|
27
|
+
I18nFieldPipe,
|
28
|
+
ResolvePropertyPath,
|
29
|
+
HumanizeDurationPipe,
|
30
|
+
IdaReturnPipe,
|
31
|
+
ShowRolesPipe,
|
32
|
+
ShowSegmentsPipe,
|
33
|
+
ShowTransportTypesPipe], imports: [CommonModule,
|
19
34
|
TranslateModule,
|
20
35
|
FormsModule,
|
21
36
|
ReactiveFormsModule,
|
@@ -24,8 +39,7 @@ GuajiritosGeneralAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersio
|
|
24
39
|
MatProgressSpinnerModule,
|
25
40
|
MatButtonModule,
|
26
41
|
MatInputModule,
|
27
|
-
MatAutocompleteModule,
|
28
|
-
PipesModule], exports: [GuajiritosGeneralAutocompleteComponent] });
|
42
|
+
MatAutocompleteModule], exports: [GuajiritosGeneralAutocompleteComponent] });
|
29
43
|
GuajiritosGeneralAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteModule, providers: [
|
30
44
|
UpperCasePipe,
|
31
45
|
CurrencyPipe,
|
@@ -39,13 +53,20 @@ GuajiritosGeneralAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersio
|
|
39
53
|
MatProgressSpinnerModule,
|
40
54
|
MatButtonModule,
|
41
55
|
MatInputModule,
|
42
|
-
MatAutocompleteModule
|
43
|
-
PipesModule] });
|
56
|
+
MatAutocompleteModule] });
|
44
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GuajiritosGeneralAutocompleteModule, decorators: [{
|
45
58
|
type: NgModule,
|
46
59
|
args: [{
|
47
60
|
declarations: [
|
48
|
-
GuajiritosGeneralAutocompleteComponent
|
61
|
+
GuajiritosGeneralAutocompleteComponent,
|
62
|
+
DurationTimePipe,
|
63
|
+
I18nFieldPipe,
|
64
|
+
ResolvePropertyPath,
|
65
|
+
HumanizeDurationPipe,
|
66
|
+
IdaReturnPipe,
|
67
|
+
ShowRolesPipe,
|
68
|
+
ShowSegmentsPipe,
|
69
|
+
ShowTransportTypesPipe
|
49
70
|
],
|
50
71
|
imports: [
|
51
72
|
CommonModule,
|
@@ -57,8 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
57
78
|
MatProgressSpinnerModule,
|
58
79
|
MatButtonModule,
|
59
80
|
MatInputModule,
|
60
|
-
MatAutocompleteModule
|
61
|
-
PipesModule
|
81
|
+
MatAutocompleteModule
|
62
82
|
],
|
63
83
|
providers: [
|
64
84
|
UpperCasePipe,
|
@@ -70,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
70
90
|
]
|
71
91
|
}]
|
72
92
|
}] });
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ3VhY2hvcy1nZW5lcmFsLWF1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxzQ0FBc0MsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDOztBQW1DaEYsTUFBTSxPQUFPLG1DQUFtQzs7Z0lBQW5DLG1DQUFtQztpSUFBbkMsbUNBQW1DLGlCQS9CeEMsc0NBQXNDO1FBQ3RDLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixzQkFBc0IsYUFHdEIsWUFBWTtRQUNaLGVBQWU7UUFDZixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLGVBQWU7UUFDZixjQUFjO1FBQ2QscUJBQXFCLGFBUXJCLHNDQUFzQztpSUFHakMsbUNBQW1DLGFBVGpDO1FBQ1AsYUFBYTtRQUNiLFlBQVk7UUFDWixtQkFBbUI7S0FDdEIsWUFmRyxZQUFZO1FBQ1osZUFBZTtRQUNmLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLGNBQWM7UUFDZCxxQkFBcUI7MkZBV2hCLG1DQUFtQztrQkFqQy9DLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLHNDQUFzQzt3QkFDdEMsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxxQkFBcUI7cUJBQ3hCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsc0NBQXNDO3FCQUN6QztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGUsIEN1cnJlbmN5UGlwZSwgVXBwZXJDYXNlUGlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQge01hdFByb2dyZXNzU3Bpbm5lck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXJcIjtcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuXG5pbXBvcnQge0F1dG9jb21wbGV0ZVNlcnZpY2V9IGZyb20gXCIuLi91dGlscy9zZXJ2aWNlcy9hdXRvY29tcGxldGUuc2VydmljZVwiO1xuaW1wb3J0IHtHdWFqaXJpdG9zR2VuZXJhbEF1dG9jb21wbGV0ZUNvbXBvbmVudH0gZnJvbSAnLi9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0R1cmF0aW9uVGltZVBpcGV9IGZyb20gXCIuLi91dGlscy9waXBlcy9kdXJhdGlvbi5waXBlXCI7XG5pbXBvcnQge0kxOG5GaWVsZFBpcGV9IGZyb20gXCIuLi91dGlscy9waXBlcy9pMThuLWZpZWxkLnBpcGVcIjtcbmltcG9ydCB7UmVzb2x2ZVByb3BlcnR5UGF0aH0gZnJvbSBcIi4uL3V0aWxzL3BpcGVzL3Jlc29sdmUtcHJvcGVydHktcGF0aC5waXBlXCI7XG5pbXBvcnQge0h1bWFuaXplRHVyYXRpb25QaXBlfSBmcm9tIFwiLi4vdXRpbHMvcGlwZXMvaHVtYW5pemUtZHVyYXRpb24ucGlwZVwiO1xuaW1wb3J0IHtJZGFSZXR1cm5QaXBlfSBmcm9tIFwiLi4vdXRpbHMvcGlwZXMvaWRhLXJldHVybi5waXBlXCI7XG5pbXBvcnQge1Nob3dSb2xlc1BpcGV9IGZyb20gXCIuLi91dGlscy9waXBlcy9zaG93LXJvbGVzLnBpcGVcIjtcbmltcG9ydCB7U2hvd1NlZ21lbnRzUGlwZX0gZnJvbSBcIi4uL3V0aWxzL3BpcGVzL3Nob3ctc2VnbWVudHMucGlwZVwiO1xuaW1wb3J0IHtTaG93VHJhbnNwb3J0VHlwZXNQaXBlfSBmcm9tIFwiLi4vdXRpbHMvcGlwZXMvc2hvdy10cmFuc3BvcnQtdHlwZXMucGlwZVwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBHdWFqaXJpdG9zR2VuZXJhbEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICAgICAgRHVyYXRpb25UaW1lUGlwZSxcbiAgICAgICAgSTE4bkZpZWxkUGlwZSxcbiAgICAgICAgUmVzb2x2ZVByb3BlcnR5UGF0aCxcbiAgICAgICAgSHVtYW5pemVEdXJhdGlvblBpcGUsXG4gICAgICAgIElkYVJldHVyblBpcGUsXG4gICAgICAgIFNob3dSb2xlc1BpcGUsXG4gICAgICAgIFNob3dTZWdtZW50c1BpcGUsXG4gICAgICAgIFNob3dUcmFuc3BvcnRUeXBlc1BpcGVcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVXBwZXJDYXNlUGlwZSxcbiAgICAgICAgQ3VycmVuY3lQaXBlLFxuICAgICAgICBBdXRvY29tcGxldGVTZXJ2aWNlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEd1YWppcml0b3NHZW5lcmFsQXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBHdWFqaXJpdG9zR2VuZXJhbEF1dG9jb21wbGV0ZU1vZHVsZSB7XG59XG4iXX0=
|