@po-ui/ng-components 5.11.0 → 5.14.0
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/bundles/po-ui-ng-components.umd.js +392 -146
- package/bundles/po-ui-ng-components.umd.js.map +1 -1
- package/esm2015/lib/components/po-calendar/po-calendar-base.component.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.js +3 -2
- package/esm2015/lib/components/po-field/po-input/po-input-base.component.js +11 -3
- package/esm2015/lib/components/po-field/po-input/po-input.component.js +8 -6
- package/esm2015/lib/components/po-field/po-input-generic/po-input-generic.js +6 -5
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-base.component.js +103 -14
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.js +42 -2
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-filter.service.js +50 -0
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-item/po-multiselect-item.component.js +3 -3
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.js +1 -1
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.js +4 -1
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect.component.js +18 -6
- package/esm2015/lib/components/po-page/po-page-action.interface.js +1 -1
- package/esm2015/lib/components/po-table/interfaces/po-table-column.interface.js +1 -1
- package/esm2015/lib/components/po-table/po-table-base.component.js +2 -2
- package/esm2015/lib/components/po-table/po-table.component.js +2 -2
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.js +2 -1
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.component.js +16 -6
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.interface.js +1 -1
- package/esm2015/lib/interceptors/po-http-request/po-http-request-interceptor.service.js +3 -11
- package/esm2015/lib/services/po-date/po-date.service.js +1 -1
- package/esm2015/po-ui-ng-components.js +104 -103
- package/fesm2015/po-ui-ng-components.js +252 -45
- package/fesm2015/po-ui-ng-components.js.map +1 -1
- package/lib/components/po-field/po-input/po-input-base.component.d.ts +3 -1
- package/lib/components/po-field/po-input/po-input.component.d.ts +2 -2
- package/lib/components/po-field/po-input-generic/po-input-generic.d.ts +2 -2
- package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +67 -4
- package/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.d.ts +7 -0
- package/lib/components/po-field/po-multiselect/po-multiselect-filter.service.d.ts +18 -0
- package/lib/components/po-field/po-multiselect/po-multiselect-item/po-multiselect-item.component.d.ts +1 -1
- package/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.d.ts +2 -0
- package/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.d.ts +1 -0
- package/lib/components/po-field/po-multiselect/po-multiselect.component.d.ts +6 -3
- package/lib/components/po-page/po-page-action.interface.d.ts +2 -0
- package/lib/components/po-table/interfaces/po-table-column.interface.d.ts +11 -0
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.d.ts +1 -0
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.interface.d.ts +2 -0
- package/lib/interceptors/po-http-request/po-http-request-interceptor.service.d.ts +2 -2
- package/lib/services/po-date/po-date.service.d.ts +1 -1
- package/package.json +4 -4
- package/po-ui-ng-components-5.14.0.tgz +0 -0
- package/po-ui-ng-components.d.ts +103 -102
- package/po-ui-ng-components.metadata.json +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/po-ui-ng-components-5.11.0.tgz +0 -0
|
@@ -29,6 +29,9 @@ export class PoMultiselectSearchComponent {
|
|
|
29
29
|
get placeholder() {
|
|
30
30
|
return this._placeholder || this.literals.placeholderSearch;
|
|
31
31
|
}
|
|
32
|
+
get inputValue() {
|
|
33
|
+
return this.inputElement.nativeElement.value;
|
|
34
|
+
}
|
|
32
35
|
onChange(event) {
|
|
33
36
|
this.change.emit({ event: event, value: this.inputElement.nativeElement.value });
|
|
34
37
|
}
|
|
@@ -51,4 +54,4 @@ PoMultiselectSearchComponent.propDecorators = {
|
|
|
51
54
|
change: [{ type: Output, args: ['p-change',] }],
|
|
52
55
|
placeholder: [{ type: Input, args: ['p-placeholder',] }]
|
|
53
56
|
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbXVsdGlzZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1zZWFyY2gvcG8tbXVsdGlzZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSWxEOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTyw0QkFBNEI7SUFKekM7UUFVRSx5RUFBeUU7UUFDckQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFzQ2xELENBQUM7SUFsQ0M7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQTRCLFdBQVcsQ0FBQyxXQUFtQjtRQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsSUFBSSxRQUFRLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7SUFDckgsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQUs7UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDN0MsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxnYUFBcUQ7YUFDdEQ7OzsyQkFFRSxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3VCQUc1RCxLQUFLLFNBQUMsWUFBWTtxQkFHbEIsTUFBTSxTQUFDLFVBQVU7MEJBZWpCLEtBQUssU0FBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc1R5cGVvZiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb011bHRpc2VsZWN0TGl0ZXJhbHMgfSBmcm9tICcuLi8uLi9pbmRleCc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSBkZSBwZXNxdWlzYSBxdWUgc2Vyw6EgY3JpYWRvIGRlbnRybyBkbyBkcm9wZG93biBkbyBgcG8tbXVsdGlzZWxlY3RgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1tdWx0aXNlbGVjdC1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbXVsdGlzZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb011bHRpc2VsZWN0U2VhcmNoQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIC8qKiBQcm9wcmllZGFkZSBxdWUgcmVjZWJlIGFzIGxpdGVyYWlzIGRlZmluaWRhcyBubyBgcG8tbXVsdGlzZWxlY3RgLiAqL1xuICBASW5wdXQoJ3AtbGl0ZXJhbHMnKSBsaXRlcmFscz86IFBvTXVsdGlzZWxlY3RMaXRlcmFscztcblxuICAvKiogRXZlbnRvIHF1ZSBzZXLDoSBkaXNwYXJhZG8gYSBjYWRhIHRlY2xhIGRpZ2l0YWRhIG5vIGNhbXBvIGRlIGJ1c2NhLiAqL1xuICBAT3V0cHV0KCdwLWNoYW5nZScpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIF9wbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBQbGFjZWhvbGRlciBkbyBjYW1wbyBkZSBwZXNxdWlzYS5cbiAgICpcbiAgICogPiBDYXNvIG8gbWVzbW8gbsOjbyBzZWphIGluZm9ybWFkbywgbyB2YWxvciBwYWRyw6NvIHNlcsOhIHRyYWR1emlkbyBjb20gYmFzZSBubyBpZGlvbWEgZG8gbmF2ZWdhZG9yIChwdCwgZXMgZSBlbikuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBCdXNjYXJgXG4gICAqL1xuICBASW5wdXQoJ3AtcGxhY2Vob2xkZXInKSBzZXQgcGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZykge1xuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXIgJiYgaXNUeXBlb2YocGxhY2Vob2xkZXIsICdzdHJpbmcnKSA/IHBsYWNlaG9sZGVyIDogdGhpcy5saXRlcmFscy5wbGFjZWhvbGRlclNlYXJjaDtcbiAgfVxuXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXIgfHwgdGhpcy5saXRlcmFscy5wbGFjZWhvbGRlclNlYXJjaDtcbiAgfVxuXG4gIGdldCBpbnB1dFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICB9XG5cbiAgb25DaGFuZ2UoZXZlbnQpIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHsgZXZlbnQ6IGV2ZW50LCB2YWx1ZTogdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSB9KTtcbiAgfVxuXG4gIHNldEZvY3VzKCkge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGNsZWFuKCkge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgfVxufVxuIl19
|
|
@@ -7,10 +7,12 @@ import { PoControlPositionService } from './../../../services/po-control-positio
|
|
|
7
7
|
import { PoKeyCodeEnum } from './../../../enums/po-key-code.enum';
|
|
8
8
|
import { PoLanguageService } from '../../../services/po-language/po-language.service';
|
|
9
9
|
import { PoMultiselectBaseComponent } from './po-multiselect-base.component';
|
|
10
|
+
import { PoMultiselectFilterService } from './po-multiselect-filter.service';
|
|
10
11
|
const poMultiselectContainerOffset = 8;
|
|
11
12
|
const poMultiselectContainerPositionDefault = 'bottom';
|
|
12
13
|
/* istanbul ignore next */
|
|
13
14
|
const providers = [
|
|
15
|
+
PoMultiselectFilterService,
|
|
14
16
|
PoControlPositionService,
|
|
15
17
|
{
|
|
16
18
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -57,12 +59,13 @@ const providers = [
|
|
|
57
59
|
* </example>
|
|
58
60
|
*/
|
|
59
61
|
export class PoMultiselectComponent extends PoMultiselectBaseComponent {
|
|
60
|
-
constructor(renderer, changeDetector, el, controlPosition, languageService) {
|
|
62
|
+
constructor(renderer, changeDetector, el, controlPosition, defaultService, languageService) {
|
|
61
63
|
super(languageService);
|
|
62
64
|
this.renderer = renderer;
|
|
63
65
|
this.changeDetector = changeDetector;
|
|
64
66
|
this.el = el;
|
|
65
67
|
this.controlPosition = controlPosition;
|
|
68
|
+
this.defaultService = defaultService;
|
|
66
69
|
this.disclaimerOffset = 0;
|
|
67
70
|
this.dropdownIcon = 'po-icon-arrow-down';
|
|
68
71
|
this.dropdownOpen = false;
|
|
@@ -79,6 +82,11 @@ export class PoMultiselectComponent extends PoMultiselectBaseComponent {
|
|
|
79
82
|
}
|
|
80
83
|
this.initialized = true;
|
|
81
84
|
}
|
|
85
|
+
ngOnChanges(changes) {
|
|
86
|
+
if (changes.filterService || changes.fieldValue || changes.fieldLabel) {
|
|
87
|
+
this.setService(this.filterService);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
82
90
|
ngDoCheck() {
|
|
83
91
|
const inputWidth = this.inputElement.nativeElement.offsetWidth;
|
|
84
92
|
// Permite que os disclaimers sejam calculados na primeira vez que o componente torna-se visível,
|
|
@@ -255,8 +263,8 @@ export class PoMultiselectComponent extends PoMultiselectBaseComponent {
|
|
|
255
263
|
}
|
|
256
264
|
}
|
|
257
265
|
applyFilter(value = '') {
|
|
258
|
-
const param = { property: 'label', value };
|
|
259
|
-
return this.
|
|
266
|
+
const param = { property: 'label', value: value };
|
|
267
|
+
return this.service.getFilteredData(param).pipe(catchError(err => {
|
|
260
268
|
this.isServerSearching = false;
|
|
261
269
|
return of([]);
|
|
262
270
|
}), tap((options) => {
|
|
@@ -266,7 +274,10 @@ export class PoMultiselectComponent extends PoMultiselectBaseComponent {
|
|
|
266
274
|
applyFilterInFirstClick() {
|
|
267
275
|
if (this.isFirstFilter) {
|
|
268
276
|
this.isServerSearching = true;
|
|
269
|
-
|
|
277
|
+
// necessario enviar um objeto string vazia para refazer a busca, quando alterar filterService, fieldValue e fieldLabel
|
|
278
|
+
// pois temos o distinctUntilChange no pipe do filterSubject
|
|
279
|
+
/* eslint-disable no-new-wrappers */
|
|
280
|
+
this.filterSubject.next(new String());
|
|
270
281
|
}
|
|
271
282
|
else {
|
|
272
283
|
this.options = [...this.cacheOptions];
|
|
@@ -327,7 +338,7 @@ export class PoMultiselectComponent extends PoMultiselectBaseComponent {
|
|
|
327
338
|
PoMultiselectComponent.decorators = [
|
|
328
339
|
{ type: Component, args: [{
|
|
329
340
|
selector: 'po-multiselect',
|
|
330
|
-
template: "<po-field-container [p-label]=\"label\" [p-help]=\"help\" [p-optional]=\"!required && optional\">\n <div class=\"po-field-container-content\" [class.po-multiselect-show]=\"dropdownOpen\">\n <div\n #inputElement\n [tabindex]=\"disabled ? -1 : 0\"\n class=\"po-input po-input-icon-right po-multiselect-input po-clickable\"\n [class.po-multiselect-input-auto]=\"autoHeight\"\n [class.po-multiselect-input-static]=\"!autoHeight\"\n [class.po-multiselect-input-disabled]=\"disabled\"\n (keyup.enter)=\"toggleDropdownVisibility()\"\n (keydown)=\"onKeyDown($event)\"\n (click)=\"toggleDropdownVisibility()\"\n (blur)=\"onBlur()\"\n >\n <span *ngIf=\"placeholder && !visibleDisclaimers?.length\" class=\"po-multiselect-input-placeholder\">\n {{ placeholder }}\n </span>\n\n <po-disclaimer\n *ngFor=\"let disclaimer of visibleDisclaimers\"\n class=\"po-multiselect-input-disclaimer\"\n [p-label]=\"disclaimer.label\"\n [p-value]=\"disclaimer.value\"\n [p-hide-close]=\"disclaimer.value === '' || disabled\"\n [class.po-clickable]=\"disclaimer.value === '' && !disabled\"\n (click)=\"openDropdown(disclaimer.value === '')\"\n (p-close-action)=\"closeDisclaimer(disclaimer.value)\"\n >\n </po-disclaimer>\n\n <div class=\"po-field-icon-container-right\">\n <span\n #iconElement\n class=\"po-icon po-field-icon {{ dropdownIcon }}\"\n [ngClass]=\"disabled ? 'po-field-icon-disabled' : ''\"\n >\n </span>\n </div>\n </div>\n </div>\n\n <po-multiselect-dropdown\n #dropdownElement\n [p-searching]=\"isServerSearching\"\n [p-hide-search]=\"hideSearch\"\n [p-literals]=\"literals\"\n [p-options]=\"options\"\n [p-visible-options]=\"visibleOptionsDropdown\"\n [p-selected-options]=\"selectedOptions\"\n [p-placeholder-search]=\"placeholderSearch\"\n (p-change)=\"changeItems($event)\"\n (p-change-search)=\"changeSearch($event)\"\n (p-close-dropdown)=\"controlDropdownVisibility(false)\"\n >\n </po-multiselect-dropdown>\n\n <po-field-container-bottom></po-field-container-bottom>\n</po-field-container>\n",
|
|
341
|
+
template: "<po-field-container [p-label]=\"label\" [p-help]=\"help\" [p-optional]=\"!required && optional\">\n <div class=\"po-field-container-content\" [class.po-multiselect-show]=\"dropdownOpen\">\n <div\n #inputElement\n [tabindex]=\"disabled ? -1 : 0\"\n class=\"po-input po-input-icon-right po-multiselect-input po-clickable\"\n [class.po-multiselect-input-auto]=\"autoHeight\"\n [class.po-multiselect-input-static]=\"!autoHeight\"\n [class.po-multiselect-input-disabled]=\"disabled\"\n (keyup.enter)=\"toggleDropdownVisibility()\"\n (keydown)=\"onKeyDown($event)\"\n (click)=\"toggleDropdownVisibility()\"\n (blur)=\"onBlur()\"\n >\n <span *ngIf=\"placeholder && !visibleDisclaimers?.length\" class=\"po-multiselect-input-placeholder\">\n {{ placeholder }}\n </span>\n\n <po-disclaimer\n *ngFor=\"let disclaimer of visibleDisclaimers\"\n class=\"po-multiselect-input-disclaimer\"\n [p-label]=\"disclaimer.label\"\n [p-value]=\"disclaimer.value\"\n [p-hide-close]=\"disclaimer.value === '' || disabled\"\n [class.po-clickable]=\"disclaimer.value === '' && !disabled\"\n (click)=\"openDropdown(disclaimer.value === '')\"\n (p-close-action)=\"closeDisclaimer(disclaimer.value)\"\n >\n </po-disclaimer>\n\n <div class=\"po-field-icon-container-right\">\n <span\n #iconElement\n class=\"po-icon po-field-icon {{ dropdownIcon }}\"\n [ngClass]=\"disabled ? 'po-field-icon-disabled' : ''\"\n >\n </span>\n </div>\n </div>\n </div>\n\n <po-multiselect-dropdown\n #dropdownElement\n [p-searching]=\"isServerSearching\"\n [p-hide-search]=\"hideSearch\"\n [p-hide-select-all]=\"hideSelectAll\"\n [p-literals]=\"literals\"\n [p-options]=\"options\"\n [p-visible-options]=\"visibleOptionsDropdown\"\n [p-selected-options]=\"selectedOptions\"\n [p-placeholder-search]=\"placeholderSearch\"\n (p-change)=\"changeItems($event)\"\n (p-change-search)=\"changeSearch($event)\"\n (p-close-dropdown)=\"controlDropdownVisibility(false)\"\n >\n </po-multiselect-dropdown>\n\n <po-field-container-bottom></po-field-container-bottom>\n</po-field-container>\n",
|
|
331
342
|
providers
|
|
332
343
|
},] }
|
|
333
344
|
];
|
|
@@ -336,6 +347,7 @@ PoMultiselectComponent.ctorParameters = () => [
|
|
|
336
347
|
{ type: ChangeDetectorRef },
|
|
337
348
|
{ type: ElementRef },
|
|
338
349
|
{ type: PoControlPositionService },
|
|
350
|
+
{ type: PoMultiselectFilterService },
|
|
339
351
|
{ type: PoLanguageService }
|
|
340
352
|
];
|
|
341
353
|
PoMultiselectComponent.propDecorators = {
|
|
@@ -344,4 +356,4 @@ PoMultiselectComponent.propDecorators = {
|
|
|
344
356
|
iconElement: [{ type: ViewChild, args: ['iconElement', { read: ElementRef, static: true },] }],
|
|
345
357
|
inputElement: [{ type: ViewChild, args: ['inputElement', { read: ElementRef, static: true },] }]
|
|
346
358
|
};
|
|
347
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLW11bHRpc2VsZWN0L3BvLW11bHRpc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLFNBQVMsRUFDVCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDL0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRXRGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzdFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0scUNBQXFDLEdBQUcsUUFBUSxDQUFDO0FBRXZELDBCQUEwQjtBQUMxQixNQUFNLFNBQVMsR0FBRztJQUNoQix3QkFBd0I7SUFDeEI7UUFDRSxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLDJCQUEyQjtRQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO1FBQ3JELEtBQUssRUFBRSxJQUFJO0tB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RTtZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7UUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUNyQyw0QkFBNEIsRUFDNUIsSUFBSSxDQUFDLFlBQVksRUFDakIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQ2pCLElBQUksQ0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQzs7O1lBeFZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixtc0VBQThDO2dCQUM5QyxTQUFTO2FBQ1Y7OztZQXZFQyxTQUFTO1lBTlQsaUJBQWlCO1lBR2pCLFVBQVU7WUFZSCx3QkFBd0I7WUFFeEIsaUJBQWlCOzs7OEJBOER2QixTQUFTLFNBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7dUJBQy9ELFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MEJBQzdDLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MkJBQzNELFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnLi8uLi8uLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvQ29udHJvbFBvc2l0aW9uU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vc2VydmljZXMvcG8tY29udHJvbC1wb3NpdGlvbi9wby1jb250cm9sLXBvc2l0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9LZXlDb2RlRW51bSB9IGZyb20gJy4vLi4vLi4vLi4vZW51bXMvcG8ta2V5LWNvZGUuZW51bSc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQb011bHRpc2VsZWN0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tbXVsdGlzZWxlY3QtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9NdWx0aXNlbGVjdE9wdGlvbiB9IGZyb20gJy4vcG8tbXVsdGlzZWxlY3Qtb3B0aW9uLmludGVyZmFjZSc7XG5cbmNvbnN0IHBvTXVsdGlzZWxlY3RDb250YWluZXJPZmZzZXQgPSA4O1xuY29uc3QgcG9NdWx0aXNlbGVjdENvbnRhaW5lclBvc2l0aW9uRGVmYXVsdCA9ICdib3R0b20nO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuY29uc3QgcHJvdmlkZXJzID0gW1xuICBQb0NvbnRyb2xQb3NpdGlvblNlcnZpY2UsXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb011bHRpc2VsZWN0Q29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9LFxuICB7XG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb011bHRpc2VsZWN0Q29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XG5dO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb011bHRpc2VsZWN0QmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLW11bHRpc2VsZWN0LWJhc2ljXCIgdGl0bGU9XCJQTyBNdWx0aXNlbGVjdCBCYXNpY1wiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LWJhc2ljL3NhbXBsZS1wby1tdWx0aXNlbGVjdC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtYmFzaWMvc2FtcGxlLXBvLW11bHRpc2VsZWN0LWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLW11bHRpc2VsZWN0LWxhYnNcIiB0aXRsZT1cIlBPIE11bHRpc2VsZWN0IExhYnNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC1sYWJzL3NhbXBsZS1wby1tdWx0aXNlbGVjdC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC1sYWJzL3NhbXBsZS1wby1tdWx0aXNlbGVjdC1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLW11bHRpc2VsZWN0LXZhY2F0aW9uXCIgdGl0bGU9XCJQTyBNdWx0aXNlbGVjdCAtIFZhY2F0aW9uXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24vc2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC12YWNhdGlvbi9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbXVsdGlzZWxlY3QtdmFjYXRpb24tcmVhY3RpdmUtZm9ybVwiIHRpdGxlPVwiUE8gTXVsdGlzZWxlY3QgLSBWYWNhdGlvbiBSZWFjdGl2ZSBGb3JtXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24tcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24tcmVhY3RpdmUtZm9ybS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24tcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24tcmVhY3RpdmUtZm9ybS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC1oZXJvZXNcIiB0aXRsZT1cIlBPIE11bHRpc2VsZWN0IC0gSGVyb2VzIC0gdXNpbmcgQVBJXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtaGVyb2VzL3NhbXBsZS1wby1tdWx0aXNlbGVjdC1oZXJvZXMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LWhlcm9lcy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtaGVyb2VzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtaGVyb2VzL3NhbXBsZS1wby1tdWx0aXNlbGVjdC1oZXJvZXMuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLW11bHRpc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzXG59KVxuZXhwb3J0IGNsYXNzIFBvTXVsdGlzZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBQb011bHRpc2VsZWN0QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2ssIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duRWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25FbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgZHJvcGRvd247XG4gIEBWaWV3Q2hpbGQoJ2ljb25FbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgaWNvbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICBkaXNjbGFpbWVyT2Zmc2V0ID0gMDtcbiAgZHJvcGRvd25JY29uOiBzdHJpbmcgPSAncG8taWNvbi1hcnJvdy1kb3duJztcbiAgZHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIGluaXRpYWxpemVkID0gZmFsc2U7XG4gIHBvc2l0aW9uRGlzY2xhaW1lckV4dHJhO1xuICB0aW1lb3V0UmVzaXplO1xuICB2aXNpYmxlRWxlbWVudCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXM6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIGNhY2hlT3B0aW9uczogQXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjb250cm9sUG9zaXRpb246IFBvQ29udHJvbFBvc2l0aW9uU2VydmljZSxcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGxhbmd1YWdlU2VydmljZSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIGNvbnN0IGlucHV0V2lkdGggPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIC8vIFBlcm1pdGUgcXVlIG9zIGRpc2NsYWltZXJzIHNlamFtIGNhbGN1bGFkb3MgbmEgcHJpbWVpcmEgdmV6IHF1ZSBvIGNvbXBvbmVudGUgdG9ybmEtc2Ugdmlzw612ZWwsXG4gICAgLy8gZXZpdGFuZG8gY29tIGlzc28sIHByb2JsZW1hcyBjb20gVGFicyBvdSBEaXZzIHF1ZSBpbmljaWVtIGVzY29uZGlkYXMuXG4gICAgaWYgKChpbnB1dFdpZHRoICYmICF0aGlzLnZpc2libGVFbGVtZW50ICYmIHRoaXMuaW5pdGlhbGl6ZWQpIHx8IChpbnB1dFdpZHRoICYmIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMpKSB7XG4gICAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XG4gICAgICB0aGlzLnZpc2libGVFbGVtZW50ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJlbW92ZUxpc3RlbmVycygpO1xuICAgIHRoaXMuZ2V0T2JqZWN0c0J5VmFsdWVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZmlsdGVyU3ViamVjdD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgYXRyaWJ1aSBmb2NvIGFvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIG8gVmlld0NoaWxkIGRhIHNlZ3VpbnRlIGZvcm1hOlxuICAgKlxuICAgKiBgYGBcbiAgICogaW1wb3J0IHsgUG9NdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcbiAgICpcbiAgICogLi4uXG4gICAqXG4gICAqIEBWaWV3Q2hpbGQoUG9NdWx0aXNlbGVjdENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgbXVsdGlzZWxlY3Q6IFBvTXVsdGlzZWxlY3RDb21wb25lbnQ7XG4gICAqXG4gICAqIGZvY3VzTXVsdGlzZWxlY3QoKSB7XG4gICAqICAgdGhpcy5tdWx0aXNlbGVjdC5mb2N1cygpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0SW5wdXRXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wby1pbnB1dCcpLm9mZnNldFdpZHRoIC0gNDA7XG4gIH1cblxuICBnZXREaXNjbGFpbWVyc1dpZHRoKCkge1xuICAgIGNvbnN0IGRpc2NsYWltZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3BvLWRpc2NsYWltZXInKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShkaXNjbGFpbWVycykubWFwKGRpc2NsYWltZXIgPT4gZGlzY2xhaW1lclsnb2Zmc2V0V2lkdGgnXSk7XG4gIH1cblxuICBjYWxjdWxhdGVWaXNpYmxlSXRlbXMoKSB7XG4gICAgY29uc3QgZGlzY2xhaW1lcnNXaWR0aCA9IHRoaXMuZ2V0RGlzY2xhaW1lcnNXaWR0aCgpO1xuICAgIGNvbnN0IGlucHV0V2lkdGggPSB0aGlzLmdldElucHV0V2lkdGgoKTtcbiAgICBjb25zdCBleHRyYURpc2NsYWltZXJTaXplID0gMzg7XG4gICAgY29uc3QgZGlzY2xhaW1lcnNWaXNpYmxlID0gZGlzY2xhaW1lcnNXaWR0aFswXTtcblxuICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzID0gW107XG5cbiAgICBpZiAoaW5wdXRXaWR0aCA+IDApIHtcbiAgICAgIGxldCBzdW0gPSAwO1xuICAgICAgbGV0IGkgPSAwO1xuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHN1bSArPSBkaXNjbGFpbWVyc1dpZHRoW2ldO1xuICAgICAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycy5wdXNoKHRoaXMuc2VsZWN0ZWRPcHRpb25zW2ldKTtcblxuICAgICAgICBpZiAoc3VtID4gaW5wdXRXaWR0aCkge1xuICAgICAgICAgIHN1bSAtPSBkaXNjbGFpbWVyc1dpZHRoW2ldO1xuICAgICAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZGlzY2xhaW1lcnNWaXNpYmxlIHx8ICF0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgaWYgKGkgPT09IHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3VtICsgZXh0cmFEaXNjbGFpbWVyU2l6ZSA+IGlucHV0V2lkdGgpIHtcbiAgICAgICAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycy5zcGxpY2UoLTIsIDIpO1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gJysnICsgKHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCArIDEgLSBpKS50b1N0cmluZygpO1xuICAgICAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzLnB1c2goeyB2YWx1ZTogJycsIGxhYmVsOiBsYWJlbCB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycy5zcGxpY2UoLTEsIDEpO1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gJysnICsgKHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCAtIGkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMucHVzaCh7IHZhbHVlOiAnJywgbGFiZWw6IGxhYmVsIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlSXRlbXMoY2hhbmdlZEl0ZW1zKSB7XG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZE9wdGlvbnMoY2hhbmdlZEl0ZW1zKTtcbiAgICB0aGlzLmNhbGxPbkNoYW5nZSh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XG5cbiAgICBpZiAodGhpcy5hdXRvSGVpZ2h0ICYmIHRoaXMuZHJvcGRvd25PcGVuKSB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWaXNpYmxlSXRlbXMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25zKSB7XG4gICAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycyA9IFtdLmNvbmNhdCh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgdGhpcy5kZWJvdW5jZVJlc2l6ZSgpO1xuXG4gICAgLy8gcXVhbmRvIGVzdGl2ZXIgZGVudHJvIGRlIG1vZGFsXG4gICAgaWYgKCF0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XG4gICAgICB0aGlzLmlzQ2FsY3VsYXRlVmlzaWJsZUl0ZW1zID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBkZWJvdW5jZVJlc2l6ZSgpIHtcbiAgICBpZiAoIXRoaXMuYXV0b0hlaWdodCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFJlc2l6ZSk7XG4gICAgICB0aGlzLnRpbWVvdXRSZXNpemUgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVWaXNpYmxlSXRlbXMoKTtcbiAgICAgIH0sIDIwMCk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQ/LigpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50PzogYW55KSB7XG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFBvS2V5Q29kZUVudW0uYXJyb3dVcCB8fCBldmVudC5rZXlDb2RlID09PSBQb0tleUNvZGVFbnVtLmFycm93RG93bikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuY29udHJvbERyb3Bkb3duVmlzaWJpbGl0eSh0cnVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gUG9LZXlDb2RlRW51bS50YWIpIHtcbiAgICAgIHRoaXMuY29udHJvbERyb3Bkb3duVmlzaWJpbGl0eShmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRHJvcGRvd25WaXNpYmlsaXR5KCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmlsdGVyU2VydmljZSkge1xuICAgICAgdGhpcy5hcHBseUZpbHRlckluRmlyc3RDbGljaygpO1xuICAgIH1cblxuICAgIHRoaXMuY29udHJvbERyb3Bkb3duVmlzaWJpbGl0eSghdGhpcy5kcm9wZG93bk9wZW4pO1xuICB9XG5cbiAgb3BlbkRyb3Bkb3duKHRvT3Blbikge1xuICAgIGlmICh0b09wZW4gJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY29udHJvbERyb3Bkb3duVmlzaWJpbGl0eSh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBjb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KHRvT3BlbjogYm9vbGVhbikge1xuICAgIHRvT3BlbiA/IHRoaXMub3BlbigpIDogdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgc2Nyb2xsVG9TZWxlY3RlZE9wdGlvbnMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25zICYmIHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm9wdGlvbnMuZmluZEluZGV4KG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuc2VsZWN0ZWRPcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgIHRoaXMuZHJvcGRvd24uc2Nyb2xsVG8oaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHNldFZpc2libGVPcHRpb25zRHJvcGRvd24ob3B0aW9ucykge1xuICAgIHRoaXMudmlzaWJsZU9wdGlvbnNEcm9wZG93biA9IG9wdGlvbnM7XG4gIH1cblxuICBjaGFuZ2VTZWFyY2goZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMuZmlsdGVyU2VydmljZSkge1xuICAgICAgICB0aGlzLmZpbHRlclN1YmplY3QubmV4dChldmVudC52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlYXJjaEJ5TGFiZWwoZXZlbnQudmFsdWUsIHRoaXMub3B0aW9ucywgdGhpcy5maWx0ZXJNb2RlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRWaXNpYmxlT3B0aW9uc0Ryb3Bkb3duKHRoaXMub3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLy8gdGltZW91dCBuZWNlc3PDoXJpbyBwYXJhIHJlcG9zaWNpb25hciBjb3JyZXRhbWVudGUgcXVhbmRvIGRyb3Bkb3duIGVzdGl2ZXIgcHJhIGNpbWEgZG8gaW5wdXQgZSByZWFsaXphciBidXNjYSBubyBpbnB1dFxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hZGp1c3RDb250YWluZXJQb3NpdGlvbigpKTtcbiAgfVxuXG4gIGNsb3NlRGlzY2xhaW1lcih2YWx1ZSkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMuZmluZEluZGV4KG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHZhbHVlKTtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgdGhpcy51cGRhdGVWaXNpYmxlSXRlbXMoKTtcbiAgICB0aGlzLmNhbGxPbkNoYW5nZSh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XG4gIH1cblxuICB3YXNDbGlja2VkT25Ub2dnbGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbiAmJlxuICAgICAgIXRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgIXRoaXMuaWNvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAhdGhpcy5kcm9wZG93bkVsZW1lbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNvbnRyb2xEcm9wZG93blZpc2liaWxpdHkoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFwcGx5RmlsdGVyKHZhbHVlOiBzdHJpbmcgPSAnJyk6IE9ic2VydmFibGU8QXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj4+IHtcbiAgICBjb25zdCBwYXJhbSA9IHsgcHJvcGVydHk6ICdsYWJlbCcsIHZhbHVlIH07XG5cbiAgICByZXR1cm4gdGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbHRlcmVkRGF0YShwYXJhbSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgdGhpcy5pc1NlcnZlclNlYXJjaGluZyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgfSksXG4gICAgICB0YXAoKG9wdGlvbnM6IEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24+KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0T3B0aW9uc0J5QXBwbHlGaWx0ZXIob3B0aW9ucyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RmlsdGVySW5GaXJzdENsaWNrKCkge1xuICAgIGlmICh0aGlzLmlzRmlyc3RGaWx0ZXIpIHtcbiAgICAgIHRoaXMuaXNTZXJ2ZXJTZWFyY2hpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmZpbHRlclN1YmplY3QubmV4dCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBbLi4udGhpcy5jYWNoZU9wdGlvbnNdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0T3B0aW9uc0J5QXBwbHlGaWx0ZXIoaXRlbXM6IEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24+KSB7XG4gICAgaWYgKHRoaXMuaXNGaXJzdEZpbHRlcikge1xuICAgICAgdGhpcy5jYWNoZU9wdGlvbnMgPSBbLi4uaXRlbXNdO1xuICAgICAgdGhpcy5pc0ZpcnN0RmlsdGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zID0gWy4uLml0ZW1zXTtcbiAgICB0aGlzLnNldFZpc2libGVPcHRpb25zRHJvcGRvd24odGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sUG9zaXRpb24uYWRqdXN0UG9zaXRpb24ocG9NdWx0aXNlbGVjdENvbnRhaW5lclBvc2l0aW9uRGVmYXVsdCk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25JY29uID0gJ3BvLWljb24tYXJyb3ctZG93bic7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIHRoaXMuZHJvcGRvd24uY29udHJvbFZpc2liaWxpdHkoZmFsc2UpO1xuICAgIHRoaXMuc2V0VmlzaWJsZU9wdGlvbnNEcm9wZG93bih0aGlzLm9wdGlvbnMpO1xuXG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrT3V0TGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIHRoaXMud2FzQ2xpY2tlZE9uVG9nZ2xlKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG5cbiAgICAgIGlzTW9iaWxlKCkgPyB0aGlzLmFkanVzdENvbnRhaW5lclBvc2l0aW9uKCkgOiB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIG9uU2Nyb2xsID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oKTtcbiAgfTtcblxuICBwcml2YXRlIG9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bkljb24gPSAncG8taWNvbi1hcnJvdy11cCc7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSB0cnVlO1xuXG4gICAgdGhpcy5kcm9wZG93bi5jb250cm9sVmlzaWJpbGl0eSh0cnVlKTtcbiAgICB0aGlzLnNldFZpc2libGVPcHRpb25zRHJvcGRvd24odGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmluaXRpYWxpemVMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnNjcm9sbFRvU2VsZWN0ZWRPcHRpb25zKCk7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNldFBvc2l0aW9uRHJvcGRvd24oKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsaWNrT3V0TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuY2xpY2tPdXRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbFBvc2l0aW9uLnNldEVsZW1lbnRzKFxuICAgICAgdGhpcy5kcm9wZG93bi5jb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgIHBvTXVsdGlzZWxlY3RDb250YWluZXJPZmZzZXQsXG4gICAgICB0aGlzLmlucHV0RWxlbWVudCxcbiAgICAgIFsndG9wJywgJ2JvdHRvbSddLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICB0aGlzLmFkanVzdENvbnRhaW5lclBvc2l0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLW11bHRpc2VsZWN0L3BvLW11bHRpc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsVUFBVSxFQUdWLFNBQVMsRUFFVCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDL0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRXRGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0scUNBQXFDLEdBQUcsUUFBUSxDQUFDO0FBRXZELDBCQUEwQjtBQUMxQixNQUFNLFNBQVMsR0FBRztJQUNoQiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCO1FBQ0UsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQiwyQkFBMkI7UUFDM0IsV0FBVyxFQUFFLFVB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QWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7dUJBQy9ELFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MEJBQzdDLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MkJBQzNELFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuLy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9Db250cm9sUG9zaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1jb250cm9sLXBvc2l0aW9uL3BvLWNvbnRyb2wtcG9zaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQb0tleUNvZGVFbnVtIH0gZnJvbSAnLi8uLi8uLi8uLi9lbnVtcy9wby1rZXktY29kZS5lbnVtJztcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5cbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1tdWx0aXNlbGVjdC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb011bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi9wby1tdWx0aXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9wby1tdWx0aXNlbGVjdC1maWx0ZXIuc2VydmljZSc7XG5cbmNvbnN0IHBvTXVsdGlzZWxlY3RDb250YWluZXJPZmZzZXQgPSA4O1xuY29uc3QgcG9NdWx0aXNlbGVjdENvbnRhaW5lclBvc2l0aW9uRGVmYXVsdCA9ICdib3R0b20nO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuY29uc3QgcHJvdmlkZXJzID0gW1xuICBQb011bHRpc2VsZWN0RmlsdGVyU2VydmljZSxcbiAgUG9Db250cm9sUG9zaXRpb25TZXJ2aWNlLFxuICB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9NdWx0aXNlbGVjdENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfSxcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9NdWx0aXNlbGVjdENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfVxuXTtcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9NdWx0aXNlbGVjdEJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC1iYXNpY1wiIHRpdGxlPVwiUE8gTXVsdGlzZWxlY3QgQmFzaWNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC1iYXNpYy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LWJhc2ljL3NhbXBsZS1wby1tdWx0aXNlbGVjdC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC1sYWJzXCIgdGl0bGU9XCJQTyBNdWx0aXNlbGVjdCBMYWJzXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tdWx0aXNlbGVjdC12YWNhdGlvblwiIHRpdGxlPVwiUE8gTXVsdGlzZWxlY3QgLSBWYWNhdGlvblwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uL3NhbXBsZS1wby1tdWx0aXNlbGVjdC12YWNhdGlvbi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbXVsdGlzZWxlY3QtdmFjYXRpb24vc2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm1cIiB0aXRsZT1cIlBPIE11bHRpc2VsZWN0IC0gVmFjYXRpb24gUmVhY3RpdmUgRm9ybVwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLW11bHRpc2VsZWN0LXZhY2F0aW9uLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbXVsdGlzZWxlY3QtaGVyb2VzXCIgdGl0bGU9XCJQTyBNdWx0aXNlbGVjdCAtIEhlcm9lcyAtIHVzaW5nIEFQSVwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LWhlcm9lcy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtaGVyb2VzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tdWx0aXNlbGVjdC1oZXJvZXMvc2FtcGxlLXBvLW11bHRpc2VsZWN0LWhlcm9lcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW11bHRpc2VsZWN0LWhlcm9lcy9zYW1wbGUtcG8tbXVsdGlzZWxlY3QtaGVyb2VzLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1tdWx0aXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyc1xufSlcbmV4cG9ydCBjbGFzcyBQb011bHRpc2VsZWN0Q29tcG9uZW50XG4gIGV4dGVuZHMgUG9NdWx0aXNlbGVjdEJhc2VDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duRWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25FbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgZHJvcGRvd247XG4gIEBWaWV3Q2hpbGQoJ2ljb25FbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgaWNvbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICBkaXNjbGFpbWVyT2Zmc2V0ID0gMDtcbiAgZHJvcGRvd25JY29uOiBzdHJpbmcgPSAncG8taWNvbi1hcnJvdy1kb3duJztcbiAgZHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIGluaXRpYWxpemVkID0gZmFsc2U7XG4gIHBvc2l0aW9uRGlzY2xhaW1lckV4dHJhO1xuICB0aW1lb3V0UmVzaXplO1xuICB2aXNpYmxlRWxlbWVudCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXM6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIGNhY2hlT3B0aW9uczogQXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjb250cm9sUG9zaXRpb246IFBvQ29udHJvbFBvc2l0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgZGVmYXVsdFNlcnZpY2U6IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlLFxuICAgIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZmlsdGVyU2VydmljZSB8fCBjaGFuZ2VzLmZpZWxkVmFsdWUgfHwgY2hhbmdlcy5maWVsZExhYmVsKSB7XG4gICAgICB0aGlzLnNldFNlcnZpY2UodGhpcy5maWx0ZXJTZXJ2aWNlKTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgY29uc3QgaW5wdXRXaWR0aCA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgLy8gUGVybWl0ZSBxdWUgb3MgZGlzY2xhaW1lcnMgc2VqYW0gY2FsY3VsYWRvcyBuYSBwcmltZWlyYSB2ZXogcXVlIG8gY29tcG9uZW50ZSB0b3JuYS1zZSB2aXPDrXZlbCxcbiAgICAvLyBldml0YW5kbyBjb20gaXNzbywgcHJvYmxlbWFzIGNvbSBUYWJzIG91IERpdnMgcXVlIGluaWNpZW0gZXNjb25kaWRhcy5cbiAgICBpZiAoKGlucHV0V2lkdGggJiYgIXRoaXMudmlzaWJsZUVsZW1lbnQgJiYgdGhpcy5pbml0aWFsaXplZCkgfHwgKGlucHV0V2lkdGggJiYgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcykpIHtcbiAgICAgIHRoaXMuZGVib3VuY2VSZXNpemUoKTtcbiAgICAgIHRoaXMudmlzaWJsZUVsZW1lbnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5nZXRPYmplY3RzQnlWYWx1ZXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5maWx0ZXJTdWJqZWN0Py51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBhdHJpYnVpIGZvY28gYW8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogUGFyYSB1dGlsaXrDoS1sYSDDqSBuZWNlc3PDoXJpbyB0ZXIgYSBpbnN0w6JuY2lhIGRvIGNvbXBvbmVudGUgbm8gRE9NLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gbyBWaWV3Q2hpbGQgZGEgc2VndWludGUgZm9ybWE6XG4gICAqXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgeyBQb011bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuICAgKlxuICAgKiAuLi5cbiAgICpcbiAgICogQFZpZXdDaGlsZChQb011bHRpc2VsZWN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBtdWx0aXNlbGVjdDogUG9NdWx0aXNlbGVjdENvbXBvbmVudDtcbiAgICpcbiAgICogZm9jdXNNdWx0aXNlbGVjdCgpIHtcbiAgICogICB0aGlzLm11bHRpc2VsZWN0LmZvY3VzKCk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBmb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbnB1dFdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBvLWlucHV0Jykub2Zmc2V0V2lkdGggLSA0MDtcbiAgfVxuXG4gIGdldERpc2NsYWltZXJzV2lkdGgoKSB7XG4gICAgY29uc3QgZGlzY2xhaW1lcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgncG8tZGlzY2xhaW1lcicpO1xuICAgIHJldHVybiBBcnJheS5mcm9tKGRpc2NsYWltZXJzKS5tYXAoZGlzY2xhaW1lciA9PiBkaXNjbGFpbWVyWydvZmZzZXRXaWR0aCddKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVZpc2libGVJdGVtcygpIHtcbiAgICBjb25zdCBkaXNjbGFpbWVyc1dpZHRoID0gdGhpcy5nZXREaXNjbGFpbWVyc1dpZHRoKCk7XG4gICAgY29uc3QgaW5wdXRXaWR0aCA9IHRoaXMuZ2V0SW5wdXRXaWR0aCgpO1xuICAgIGNvbnN0IGV4dHJhRGlzY2xhaW1lclNpemUgPSAzODtcbiAgICBjb25zdCBkaXNjbGFpbWVyc1Zpc2libGUgPSBkaXNjbGFpbWVyc1dpZHRoWzBdO1xuXG4gICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMgPSBbXTtcblxuICAgIGlmIChpbnB1dFdpZHRoID4gMCkge1xuICAgICAgbGV0IHN1bSA9IDA7XG4gICAgICBsZXQgaSA9IDA7XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgc3VtICs9IGRpc2NsYWltZXJzV2lkdGhbaV07XG4gICAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzLnB1c2godGhpcy5zZWxlY3RlZE9wdGlvbnNbaV0pO1xuXG4gICAgICAgIGlmIChzdW0gPiBpbnB1dFdpZHRoKSB7XG4gICAgICAgICAgc3VtIC09IGRpc2NsYWltZXJzV2lkdGhbaV07XG4gICAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChkaXNjbGFpbWVyc1Zpc2libGUgfHwgIXRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBpZiAoaSA9PT0gdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdW0gKyBleHRyYURpc2NsYWltZXJTaXplID4gaW5wdXRXaWR0aCkge1xuICAgICAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzLnNwbGljZSgtMiwgMik7XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSAnKycgKyAodGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoICsgMSAtIGkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMucHVzaCh7IHZhbHVlOiAnJywgbGFiZWw6IGxhYmVsIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzLnNwbGljZSgtMSwgMSk7XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSAnKycgKyAodGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIC0gaSkudG9TdHJpbmcoKTtcbiAgICAgICAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycy5wdXNoKHsgdmFsdWU6ICcnLCBsYWJlbDogbGFiZWwgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGFuZ2VJdGVtcyhjaGFuZ2VkSXRlbXMpIHtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkT3B0aW9ucyhjaGFuZ2VkSXRlbXMpO1xuICAgIHRoaXMuY2FsbE9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcblxuICAgIGlmICh0aGlzLmF1dG9IZWlnaHQgJiYgdGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5hZGp1c3RDb250YWluZXJQb3NpdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVZpc2libGVJdGVtcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbnMpIHtcbiAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzID0gW10uY29uY2F0KHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcbiAgICB9XG5cbiAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XG5cbiAgICAvLyBxdWFuZG8gZXN0aXZlciBkZW50cm8gZGUgbW9kYWxcbiAgICBpZiAoIXRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRlYm91bmNlUmVzaXplKCkge1xuICAgIGlmICghdGhpcy5hdXRvSGVpZ2h0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0UmVzaXplKTtcbiAgICAgIHRoaXMudGltZW91dFJlc2l6ZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVZpc2libGVJdGVtcygpO1xuICAgICAgfSwgMjAwKTtcbiAgICB9XG4gIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZD8uKCk7XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ/OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gUG9LZXlDb2RlRW51bS5hcnJvd1VwIHx8IGV2ZW50LmtleUNvZGUgPT09IFBvS2V5Q29kZUVudW0uYXJyb3dEb3duKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSBQb0tleUNvZGVFbnVtLnRhYikge1xuICAgICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVEcm9wZG93blZpc2liaWxpdHkoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWx0ZXJTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmFwcGx5RmlsdGVySW5GaXJzdENsaWNrKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KCF0aGlzLmRyb3Bkb3duT3Blbik7XG4gIH1cblxuICBvcGVuRHJvcGRvd24odG9PcGVuKSB7XG4gICAgaWYgKHRvT3BlbiAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5jb250cm9sRHJvcGRvd25WaXNpYmlsaXR5KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnRyb2xEcm9wZG93blZpc2liaWxpdHkodG9PcGVuOiBib29sZWFuKSB7XG4gICAgdG9PcGVuID8gdGhpcy5vcGVuKCkgOiB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBzY3JvbGxUb1NlbGVjdGVkT3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbnMgJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9ucy5maW5kSW5kZXgob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgdGhpcy5kcm9wZG93bi5zY3JvbGxUbyhpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmlzaWJsZU9wdGlvbnNEcm9wZG93bihvcHRpb25zKSB7XG4gICAgdGhpcy52aXNpYmxlT3B0aW9uc0Ryb3Bkb3duID0gb3B0aW9ucztcbiAgfVxuXG4gIGNoYW5nZVNlYXJjaChldmVudCkge1xuICAgIGlmIChldmVudCAmJiBldmVudC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodGhpcy5maWx0ZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyU3ViamVjdC5uZXh0KGV2ZW50LnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VhcmNoQnlMYWJlbChldmVudC52YWx1ZSwgdGhpcy5vcHRpb25zLCB0aGlzLmZpbHRlck1vZGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFZpc2libGVPcHRpb25zRHJvcGRvd24odGhpcy5vcHRpb25zKTtcbiAgICB9XG5cbiAgICAvLyB0aW1lb3V0IG5lY2Vzc8OhcmlvIHBhcmEgcmVwb3NpY2lvbmFyIGNvcnJldGFtZW50ZSBxdWFuZG8gZHJvcGRvd24gZXN0aXZlciBwcmEgY2ltYSBkbyBpbnB1dCBlIHJlYWxpemFyIGJ1c2NhIG5vIGlucHV0XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFkanVzdENvbnRhaW5lclBvc2l0aW9uKCkpO1xuICB9XG5cbiAgY2xvc2VEaXNjbGFpbWVyKHZhbHVlKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkT3B0aW9ucy5maW5kSW5kZXgob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICB0aGlzLnVwZGF0ZVZpc2libGVJdGVtcygpO1xuICAgIHRoaXMuY2FsbE9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcbiAgfVxuXG4gIHdhc0NsaWNrZWRPblRvZ2dsZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuICYmXG4gICAgICAhdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAhdGhpcy5pY29uRWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcbiAgICAgICF0aGlzLmRyb3Bkb3duRWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICApIHtcbiAgICAgIHRoaXMuY29udHJvbERyb3Bkb3duVmlzaWJpbGl0eShmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXBwbHlGaWx0ZXIodmFsdWU6IHN0cmluZyA9ICcnKTogT2JzZXJ2YWJsZTxBcnJheTxQb011bHRpc2VsZWN0T3B0aW9uPj4ge1xuICAgIGNvbnN0IHBhcmFtID0geyBwcm9wZXJ0eTogJ2xhYmVsJywgdmFsdWU6IHZhbHVlIH07XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRGaWx0ZXJlZERhdGEocGFyYW0pLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHRoaXMuaXNTZXJ2ZXJTZWFyY2hpbmcgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKChvcHRpb25zOiBBcnJheTxQb011bHRpc2VsZWN0T3B0aW9uPikgPT4ge1xuICAgICAgICB0aGlzLnNldE9wdGlvbnNCeUFwcGx5RmlsdGVyKG9wdGlvbnMpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUZpbHRlckluRmlyc3RDbGljaygpIHtcbiAgICBpZiAodGhpcy5pc0ZpcnN0RmlsdGVyKSB7XG4gICAgICB0aGlzLmlzU2VydmVyU2VhcmNoaW5nID0gdHJ1ZTtcblxuICAgICAgLy8gbmVjZXNzYXJpbyBlbnZpYXIgdW0gb2JqZXRvIHN0cmluZyB2YXppYSBwYXJhIHJlZmF6ZXIgYSBidXNjYSwgcXVhbmRvIGFsdGVyYXIgZmlsdGVyU2VydmljZSwgZmllbGRWYWx1ZSBlIGZpZWxkTGFiZWxcbiAgICAgIC8vIHBvaXMgdGVtb3MgbyBkaXN0aW5jdFVudGlsQ2hhbmdlIG5vIHBpcGUgZG8gZmlsdGVyU3ViamVjdFxuICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tbmV3LXdyYXBwZXJzICovXG4gICAgICB0aGlzLmZpbHRlclN1YmplY3QubmV4dChuZXcgU3RyaW5nKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBbLi4udGhpcy5jYWNoZU9wdGlvbnNdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0T3B0aW9uc0J5QXBwbHlGaWx0ZXIoaXRlbXM6IEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24+KSB7XG4gICAgaWYgKHRoaXMuaXNGaXJzdEZpbHRlcikge1xuICAgICAgdGhpcy5jYWNoZU9wdGlvbnMgPSBbLi4uaXRlbXNdO1xuICAgICAgdGhpcy5pc0ZpcnN0RmlsdGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zID0gWy4uLml0ZW1zXTtcbiAgICB0aGlzLnNldFZpc2libGVPcHRpb25zRHJvcGRvd24odGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sUG9zaXRpb24uYWRqdXN0UG9zaXRpb24ocG9NdWx0aXNlbGVjdENvbnRhaW5lclBvc2l0aW9uRGVmYXVsdCk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25JY29uID0gJ3BvLWljb24tYXJyb3ctZG93bic7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIHRoaXMuZHJvcGRvd24uY29udHJvbFZpc2liaWxpdHkoZmFsc2UpO1xuICAgIHRoaXMuc2V0VmlzaWJsZU9wdGlvbnNEcm9wZG93bih0aGlzLm9wdGlvbnMpO1xuXG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrT3V0TGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIHRoaXMud2FzQ2xpY2tlZE9uVG9nZ2xlKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG5cbiAgICAgIGlzTW9iaWxlKCkgPyB0aGlzLmFkanVzdENvbnRhaW5lclBvc2l0aW9uKCkgOiB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIG9uU2Nyb2xsID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oKTtcbiAgfTtcblxuICBwcml2YXRlIG9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bkljb24gPSAncG8taWNvbi1hcnJvdy11cCc7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSB0cnVlO1xuXG4gICAgdGhpcy5kcm9wZG93bi5jb250cm9sVmlzaWJpbGl0eSh0cnVlKTtcbiAgICB0aGlzLnNldFZpc2libGVPcHRpb25zRHJvcGRvd24odGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmluaXRpYWxpemVMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnNjcm9sbFRvU2VsZWN0ZWRPcHRpb25zKCk7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNldFBvc2l0aW9uRHJvcGRvd24oKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsaWNrT3V0TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuY2xpY2tPdXRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbFBvc2l0aW9uLnNldEVsZW1lbnRzKFxuICAgICAgdGhpcy5kcm9wZG93bi5jb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgIHBvTXVsdGlzZWxlY3RDb250YWluZXJPZmZzZXQsXG4gICAgICB0aGlzLmlucHV0RWxlbWVudCxcbiAgICAgIFsndG9wJywgJ2JvdHRvbSddLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICB0aGlzLmFkanVzdENvbnRhaW5lclBvc2l0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1hY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UvcG8tcGFnZS1hY3Rpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb1BvcHVwQWN0aW9uIH0gZnJvbSAnLi4vcG8tcG9wdXAvcG8tcG9wdXAtYWN0aW9uLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJbnRlcmZhY2UgcGFyYSBhcyBhw6fDtWVzIGRvcyBjb21wb25lbnRlcyBwby1wYWdlLWRlZmF1bHQgZSBwby1wYWdlLWxpc3QuXG4gKlxuICogPiBBcyBwcm9wcmllZGFkZXMgYHNlbGVjdGVkYCwgYHNlcGFyYXRvcmAgZSBgdHlwZWAgc2Vyw6NvIHZpc3RhcyBhIHBhcnRpciBkYSB0ZXJjZWlyYSBhw6fDo28gZSBzb21lbnRlIHF1YW5kb1xuICogZGVmaW5pciBxdWF0cm8gYcOnw7VlcyBvdSBtYWlzLlxuICpcbiAqIEBkb2NzRXh0ZW5kcyBQb1BvcHVwQWN0aW9uXG4gKlxuICogQGlnbm9yZUV4dGVuZGVkRGVzY3JpcHRpb25cbiAqXG4gKiBAdXNlZEJ5IFBvUGFnZURlZmF1bHRDb21wb25lbnQsIFBvUGFnZUxpc3RDb21wb25lbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb1BhZ2VBY3Rpb24gZXh0ZW5kcyBQb1BvcHVwQWN0aW9uIHt9XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY29sdW1uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9pbnRlcmZhY2VzL3BvLXRhYmxlLWNvbHVtbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvVGFibGVCb29sZWFuIH0gZnJvbSAnLi9wby10YWJsZS1ib29sZWFuLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uSWNvbiB9IGZyb20gJy4uL3BvLXRhYmxlLWNvbHVtbi1pY29uL3BvLXRhYmxlLWNvbHVtbi1pY29uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uTGFiZWwgfSBmcm9tICcuLi9wby10YWJsZS1jb2x1bW4tbGFiZWwvcG8tdGFibGUtY29sdW1uLWxhYmVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlRGV0YWlsIH0gZnJvbSAnLi4vcG8tdGFibGUtZGV0YWlsL3BvLXRhYmxlLWRldGFpbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UYWJsZVN1YnRpdGxlQ29sdW1uIH0gZnJvbSAnLi4vcG8tdGFibGUtc3VidGl0bGUtZm9vdGVyL3BvLXRhYmxlLXN1YnRpdGxlLWNvbHVtbi5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEB1c2VkQnkgUG9UYWJsZUNvbXBvbmVudFxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIEludGVyZmFjZSBwYXJhIGNvbmZpZ3VyYcOnw6NvIGRhcyBjb2x1bmFzIGRvIGBwby10YWJsZWAuXG4gKlxuICogQXMgZGVmaW5pw6fDtWVzIGRhcyBjb2x1bmFzIHNlcsOjbyBhcGxpY2FkYXMgbGluaGEgYSBsaW5oYS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb1RhYmxlQ29sdW1uIHtcbiAgLyoqXG4gICAqIERlZmluZSB1bWEgYcOnw6NvIG5hIGNvbHVuYSBxdWFuZG8gbyB0aXBvIGRhIGNvbHVuYSBmb3IgYGxpbmtgIG91IGBpY29uYC5cbiAgICpcbiAgICogPiBRdWFuZG8gZm9yIGRvIHRpcG8gYGxpbmtgIHNlcsOhIGVudmlhZG8gY29tbyBwcmltZWlybyBwYXLDom1ldHJvIG8gdmFsb3IgZGEgY29sdW5hXG4gICAqIGUgbm8gc2VndW5kbyBwYXLDom1ldHJvIG8gb2JqZXRvIGNvbXBsZXRvIGRhIGxpbmhhLiBDYXNvIHRlbmhhIHNpZG8gZGVmaW5pZG8gdW1hIGHDp8OjbyBlIHVtIGxpbmsgbmEgY29sdW5hLCBhIGHDp8Ojb1xuICAgKiBzZXLDoSBleGVjdXRhZGEgYW8gaW52w6lzIGRvIGxpbmsuXG4gICAqXG4gICAqID4gUXVhbmRvIGZvciBkbyB0aXBvIGBpY29uYCBlbnZpYXLDoSBvIG9iamV0byBjb21wbGV0byBkYSBsaW5oYSBlIG8gc2VndW5kbyBwYXLDom1ldHJvIHNlcsOhIGEgZGVmaW5pw6fDo28gZGEgY29sdW5hLlxuICAgKi9cbiAgYWN0aW9uPzogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIERlZmluZSB1bSBvYmpldG8gZG8gdGlwbyBgUG9UYWJsZUJvb2xlYW5gIHBhcmEgYXMgY29sdW5hcyBkbyB0aXBvIF9ib29sZWFuXy4gUG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiAgeyBwcm9wZXJ0eTogJ2FwcHJvYmF0aW9uJywgdHlwZTogJ2Jvb2xlYW4nLCBib29sZWFuOiB7XG4gICAqICAgIHRydWVMYWJlbDogJ0FjY2VwdGVkJywgZmFsc2VMYWJlbDogJ1JlamVjdGVkJ1xuICAgKiAgfX1cbiAgICogYGBgXG4gICAqXG4gICAqID4gQ2FzbyBuw6NvIHNlamEgZGVmaW5pZG8gdW0gb2JqZXRvIHBhcmEgY29sdW5hcyBkbyB0aXBvICpib29sZWFuKixcbiAgICogZXN0YSBleGliaXLDoSBwb3IgcGFkcsOjbyBgU2ltYCBlIGBOw6NvYCBkZSBhY29yZG8gY29tIG9zIHZhbG9yZXMgX2Jvb2xlYW5vc18uXG4gICAqL1xuICBib29sZWFuPzogUG9UYWJsZUJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGEgY29yIHF1ZSBzZXLDoSBhcGxpY2FkYSBubyBjb250ZcO6ZG8gZGEgY29sdW5hLlxuICAgKlxuICAgKiBWYWxvcmVzIHbDoWxpZG9zOlxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTAxXCI+PC9zcGFuPiBgY29sb3ItMDFgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDJcIj48L3NwYW4+IGBjb2xvci0wMmBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wM1wiPjwvc3Bhbj4gYGNvbG9yLTAzYFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA0XCI+PC9zcGFuPiBgY29sb3ItMDRgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDVcIj48L3NwYW4+IGBjb2xvci0wNWBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wNlwiPjwvc3Bhbj4gYGNvbG9yLTA2YFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA3XCI+PC9zcGFuPiBgY29sb3ItMDdgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDhcIj48L3NwYW4+IGBjb2xvci0wOGBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wOVwiPjwvc3Bhbj4gYGNvbG9yLTA5YFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTEwXCI+PC9zcGFuPiBgY29sb3ItMTBgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTFcIj48L3NwYW4+IGBjb2xvci0xMWBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0xMlwiPjwvc3Bhbj4gYGNvbG9yLTEyYFxuICAgKlxuICAgKiA+IEV4aXN0ZSBhIHBvc3NpYmlsaWRhZGUgZGUgaW5mb3JtYXIgdW1hIGZ1bsOnw6NvIHF1ZSByZXRvcm5lIHVtIGRvcyB2YWxvcmVzIGFjZWl0b3MsIHNlcsOjbyBwYXNzYWRvc1xuICAgKiBwb3IgcGFyw6JtZXRybyBhIGxpbmhhIGUgYSBjb2x1bmEgYXR1YWwsIHBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYGBcbiAgICogKHJvdywgY29sdW1uKSA9PiB7IHJvd1tjb2x1bW5dID09ICd0ZXh0JyA/ICdjb2xvci0wMycgOiAnY29sb3ItMDknIH1cbiAgICogYGBgXG4gICAqXG4gICAqID4gw4kgcG9zc8OtdmVsIHRhbWLDqW0gdXPDoS1sYSBuYSBjb2x1bmEgZG8gdGlwbyBgaWNvbnNgIHBhcmEgYWx0ZXJhw6fDo28gZGFzIGNvcmVzIGRlIHNldSBjb250ZcO6ZG8gY29uZm9ybWUgZXhlbXBsbyBhYmFpeG8sXG4gICAqIGNvbnR1ZG8sIGRlc3RhIGZvcm1hIHNvYnJlcMO1ZSBhIGNvciBlc3BlY2lmaWNhZGEgZW0gY2FkYSBvYmpldG8gY2FzbyBoYWphOlxuICAgKlxuICAgKiBgYGBcbiAgICogeyBwcm9wZXJ0eTogJ2NvbHVtbkljb24nLCBsYWJlbDogJ0xpa2UnLCB0eXBlOiAnaWNvbicsIGNvbG9yOiAnY29sb3ItMDgnLCBpY29uczogW1xuICAgKiAgIHsgdmFsdWU6ICdwby1pY29uLXN0YXInLCBhY3Rpb246ICgpID0+IHRoaXMubm90aWZpY2F0aW9uKCkgfVxuICAgKiBdfSxcbiAgICogYGBgXG4gICAqL1xuICBjb2xvcj86IHN0cmluZyB8IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdW0gb2JqZXRvIHF1ZSBzZWd1ZSBhIGludGVyZmFjZSBgUG9UYWJsZURldGFpbGAsIHBhcmEgYXMgY29sdW5hcyBkZSBkZXRhbGhlcy4gUG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiB7IGNvbHVtbnM6IFt7IHByb3BlcnR5OiAncGFja2FnZScsIGxhYmVsOiAnUGFjb3RlJyB9XSwgdHlwZUhlYWRlcjogJ3RvcCcgfVxuICAgKiBgYGBcbiAgICpcbiAgICovXG4gIGRldGFpbD86IFBvVGFibGVEZXRhaWw7XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBkZXZlIHJldG9ybmFyIHVtIGJvb2xlYW5vIHBhcmEgaGFiaWxpdGFyIG91IGRlc2FiaWxpdGFyIG8gKmxpbmsqIGUgc3VhIGHDp8Ojby5cbiAgICpcbiAgICogPiBQcm9wcmllZGFkZSBkaXNwb27DrXZlbCBuYXMgY29sdW5hcyBkbyB0aXBvIGBsaW5rYC5cbiAgICovXG4gIGRpc2FibGVkPzogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEZvcm1hdG8gZGUgZXhpYmnDp8OjbyBkbyB2YWxvciBkYSBjb2x1bmE6XG4gICAqIC0gRm9ybWF0byBwYXJhIG1vZWRhIChjdXJyZW5jeSkuIEV4ZW1wbG9zOiAnQlJMJywgJ1VTRCcuXG4gICAqIC0gRm9ybWF0byBwYXJhIGRhdGEgKGRhdGUpOiBhY2VpdGEgYXBlbmFzIG9zIGNhcmFjdGVyZXMgZGUgZGlhKGRkKSwgbcOqcyhNTSBvdSBtbSkgZSBhbm8gKHl5eXkgb3UgeXkpLFxuICAgKiBjYXNvIG7Do28gc2VqYSBpbmZvcm1hZG8gdW0gZm9ybWF0byBvIG1lc21vIHNlcsOhICdkZC9NTS95eXl5Jy4gRXhlbXBsb3M6ICdkZC9NTS95eXl5JywgJ2RkLU1NLXl5JywgJ21tL2RkL3l5eXknLlxuICAgKiAtIEZvcm1hdG8gcGFyYSBob3LDoXJpbyAodGltZSk6IGFjZWl0YSBhcGVuYXMgb3MgY2FyYWN0ZXJlcyBkZSBob3JhKEhIKSwgbWludXRvcyhtbSksIHNlZ3VuZG9zKHNzKSBlXG4gICAqICBtaWxpc2VndW5kb3MoZi1mZmZmZmYpLCBvcyBtaWxpc2VndW5kb3Mgc8OjbyBvcGNpb25haXMsIGNhc28gbsOjbyBzZWphIGluZm9ybWFkbyB1bSBmb3JtYXRvIG8gbWVzbW8gc2Vyw6FcbiAgICogJ0hIOm1tOnNzJy4gRXhlbXBsb3M6ICdISDptbScsICdISDptbTpzcy5mZmZmZmYnLCAnSEg6bW06c3MuZmYnLCAnbW06c3MuZmZmJy5cbiAgICogLSBGb3JtYXRvIHBhcmEgbsO6bWVyb3MgKG51bWJlcik6IGFjZWl0YSB1bSB2YWxvciBzZWd1aW5kbyBvIHBhZHLDo28gWyoqRGVjaW1hbFBpcGUqKl0oaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb21tb24vRGVjaW1hbFBpcGUpXG4gICAqICBwYXJhIGZvcm1hdGHDp8OjbywgZSBjYXNvIG7Do28gc2VqYSBpbmZvcm1hZG8sIG8gbsO6bWVybyBzZXLDoSBleGliaWRvIG5hIHN1YSBmb3JtYSBvcmlnaW5hbC4gRXhlbXBsbzpcbiAgICpcbiAgICogICsgIENvbSBvIHZhbG9yIGRlIGVudHJhZGE6IGA1MGAgZSBhIHZhbG9yIHBhcmEgZm9ybWF0YcOnw6NvOiBgJzEuMi01J2AgbyByZXN1bHRhZG8gc2Vyw6E6IGA1MC4wMGBcbiAgICovXG4gIGZvcm1hdD86IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSB1bSAqYXJyYXkqIGRlIG9iamV0b3MgcGFyYSBjb2x1bmFzIGRlIMOtY29uZXMgcXVlIGlyw6Egc29icmVwb3Igb3MgdmFsb3JlcyBjb21vIGBhY3Rpb25gIGUgYGNvbG9yYFxuICAgKiBkZWZpbmlkb3MgbmEgY29sdW5hLCDDoCBwYXJ0aXIgZG8gKnZhbHVlKiBkYSBbYFBvVGFibGVDb2x1bW5JY29uYF0oZG9jdW1lbnRhdGlvbi9wby10YWJsZSN0YWJsZUNvbHVtbkljb24pLCBwb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqICB7IHByb3BlcnR5OiAnY29sdW1uSWNvbicsIGxhYmVsOiAnSWNvbnMnLCB0eXBlOiAnaWNvbicsIGFjdGlvbjogdGhpcy5mYXZvcml0ZS5iaW5kKHRoaXMpLCBpY29uczogW1xuICAgKiAgICB7IHZhbHVlOiAnZGVsZXRlJywgaWNvbjogJ3BvLWljb24tcGx1cycsIGNvbG9yOiAnY29sb3ItMDYnLCBhY3Rpb246IHRoaXMuYWRkLmJpbmQodGhpcyksIHRvb2x0aXA6ICdBZGljaW9uYSB1bSBub3ZvIGl0ZW0nIH0sXG4gICAqICAgIHsgdmFsdWU6ICdlZGl0JywgaWNvbjogJ3BvLWljb24tZWRpdCcsIGFjdGlvbjogdGhpcy5lZGl0LmJpbmQodGhpcykgfSxcbiAgICogICAgeyB2YWx1ZTogJ2RlbGV0ZScsIGljb246ICdwby1pY29uLWRlbGV0ZScsIGNvbG9yOiAnY29sb3ItMTInLCBhY3Rpb246IHRoaXMucmVtb3ZlLmJpbmQodGhpcykgfVxuICAgKiAgXX0sXG4gICAqIGBgYFxuICAgKlxuICAgKiBgYGBcbiAgICogIC4uLlxuICAgKiAgeyBpZDogMSwgY29sdW1uSWNvbjogWydwby1pY29uLWVkaXQnLCAncG8taWNvbi1yZW1vdmUnLCAncG8taWNvbi1zdGFyJ10gfVxuICAgKiAgLi4uXG4gICAqXG4gICAqIGBgYFxuICAgKi9cbiAgaWNvbnM/OiBBcnJheTxQb1RhYmxlQ29sdW1uSWNvbj47XG5cbiAgLyoqXG4gICAqIFRleHRvIHBhcmEgdMOtdHVsbyBkYSBjb2x1bmEuXG4gICAqXG4gICAqIENhc28gbsOjbyBzZWphIGluZm9ybWFkbywgc2Vyw6EgdXRpbGl6YWRvIGNvbW8gKmxhYmVsKiBvIHZhbG9yIGRhIHByb3ByaWVkYWRlICpwcm9wZXJ0eSogY29tIGEgcHJpbWVpcmEgbGV0cmEgZW0gbWFpw7pzY3Vsby5cbiAgICovXG4gIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdW0gYXJyYXkgZGUgb2JqZXRvcyBwYXJhIGFzIGNvbHVuYXMgZGUgbGFiZWwsIG9uZGUgJ2xhYmVscycgw6kgdW1hIGxpc3RhIGRlIG9iamV0b3NcbiAgICogZG8gdGlwbyBgUG9UYWJsZUNvbHVtbkxhYmVsYCBuYSBxdWFsIGRldmVtIHNlciBkZWZpbmlkYXMgb3MgbGFiZWxzLiBQb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIHsgcHJvcGVydHk6ICdmbGlnaHRTdGF0dXMnLCBsYWJlbDogJ1N0YXR1cycsIHR5cGU6ICdsYWJlbCcsIHdpZHRoOicxMDBweCcsIGxhYmVsczogW1xuICAgKiAgeyB2YWx1ZTogJ2NvbmZpcm1lZCcsIGNvbG9yOiAnY29sb3ItMTEnLCBsYWJlbDogJ0NvbmZpcm1hZG8nLCB0b29sdGlwOiAnRmxpZ2h0IFN0YXR1cycgfSxcbiAgICogIHsgdmFsdWU6ICdkZWxheWVkJywgY29sb3I6ICdjb2xvci0wOCcsIGxhYmVsOiAnQXRyYXNhZG8nLCB0b29sdGlwOiAnRmxpZ2h0IFN0YXR1cycgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKlxuICAgKi9cbiAgbGFiZWxzPzogQXJyYXk8UG9UYWJsZUNvbHVtbkxhYmVsPjtcblxuICAvKipcbiAgICogRGVmaW5lIG8gbm9tZSBkYSBwcm9wcmllZGFkZSBxdWUgY29udGVyw6EgbyBgbGlua2AgYSBzZXIgcmVkaXJlY2lvbmFkby5cbiAgICpcbiAgICogQGRlZmF1bHQgbGlua1xuICAgKi9cbiAgbGluaz86IHN0cmluZztcblxuICAvKiogTm9tZSBpZGVudGlmaWNhZG9yIGRhIGNvbHVuYS4gKi9cbiAgcHJvcGVydHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZSB1bSBhcnJheSBkZSBvYmpldG9zIHBhcmEgYXMgY29sdW5hcyBkZSBsZWdlbmRhLiBPbmRlLCBgc3VidGl0bGVzYCDDqSB1bWEgbGlzdGEgZGUgb2JqZXRvcyBkbyB0aXBvIFBvVGFibGVTdWJ0aXRsZSBuYSBxdWFsXG4gICAqIGRldmVtIHNlciBkZWZpbmlkYXMgYXMgb3DDp8O1ZXMgZGUgbGVnZW5kYS4gUG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiB7IHByb3BlcnR5OiAnZmxpZ2h0U3RhdHVzJywgbGFiZWw6ICdTdGF0dXMnLCBjb2xvcjogJ3N1YnRpdGxlJywgd2lkdGg6JzEwMHB4Jywgc3VidGl0bGVzOiBbXG4gICAqICB7IHZhbHVlOiAnY29uZmlybWVkJywgY29sb3I6ICdjb2xvci0xMScsIGxhYmVsOiAnQ29uZmlybWFkbycsIGNvbnRlbnQ6ICcxJyB9LFxuICAgKiAgeyB2YWx1ZTogJ2RlbGF5ZWQnLCBjb2xvcjogJ2NvbG9yLTA4JywgbGFiZWw6ICdBdHJhc2FkbycsIGNvbnRlbnQ6ICcyJyB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIE5lc3NlIGV4ZW1wbG8gYSBjb2x1bmEgZXNjb2xoaWRhIHBhcmEgbGVnZW5kYSDDqSAnZmxpZ2h0U3RhdHVzJywgc2UgbyB2YWxvciBkZXNzYSBjb2x1bmEgZm9yICdjb25maXJtZWQnLCBvIHRleHRvIGRhIGxlZ2VuZGEgc2Vyw6FcbiAgICogJ0NvbmZpcm1hZG8nLlxuICAgKlxuICAgKi9cbiAgc3VidGl0bGVzPzogQXJyYXk8UG9UYWJsZVN1YnRpdGxlQ29sdW1uPjtcblxuICAvKipcbiAgICogRGVmaW5lIHVtIHRleHRvIGRlIGFqdWRhIHF1ZSBzZXLDoSBleGliaWRvIGFvIHBhc3NhciBvICptb3VzZSogc29icmUgdW0gdGV4dG8uXG4gICAqXG4gICAqID4gTyB0b29sdGlwIHPDsyBzZXLDoSB2aXPDrXZlbCBzZSBmb3IgdW1hIGNvbHVuYSBkbyB0aXBvICpsaW5rKi5cbiAgICpcbiAgICogPiBDYXNvIGEgcHJvcHJpZWRhZGUgYHAtaGlkZS10ZXh0LW92ZXJmbG93YCBlc3RlamEgaGFiaWxpdGFkYSBlIG8gY29udGXDumRvIGRhIGPDqWx1bGEgZXhjZWRlciBhIGxhcmd1cmEgZGEgY29sdW5hLFxuICAgKiDDqSBpZ25vcmFkbyBvIHZhbG9yIGF0cmlidcOtZG8gYW8gKnRvb2x0aXAqIGUgc2Vyw6EgZXhpYmlkbyBqdXN0YW1lbnRlIG8gY29udGXDumRvIGRhIGPDqWx1bGEuXG4gICAqL1xuICB0b29sdGlwPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaXBvIGRhIGNvbHVuYS5cbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICogLSBgYm9vbGVhbmA6IEV4aWJpcsOhIHBvciBwYWRyw6NvIGBTaW1gIGUgYE7Do29gIGRlIGFjb3JkbyBjb20gb3MgdmFsb3JlcyAqYm9vbGVhbm9zKi5cbiAgICogPiBDYXNvIG5lY2Vzc2l0ZSBleGliaXIgdmFsb3JlcyBkaWZlcmVudGVzIGRvIHBhZHLDo28sIGRldmUtc2UgdXRpbGl6YXIgYSBwcm9wcmllZGFkZSBgYm9vbGVhbmAgZGVzdGEgaW50ZXJmYWNlLlxuICAgKiAtIGBjdXJyZW5jeWA6IHZhbG9yZXMgbW9uZXTDoXJpb3MuXG4gICAqXG4gICAqIC0gYGRhdGVgOiB2YWxvciBkZSBkYXRhcy5cbiAgICogICsgQWNlaXRhIG9zIHRpcG9zIF9zdHJpbmdfIGUgX0RhdGVfIHBhZHLDo28gZG8gSmF2YXNjcmlwdCxcbiAgICogIHBvciBleGVtcGxvOiBgJzIwMTctMTEtMjgnYCBvdSBgbmV3IERhdGUoMjAxNywgMTAsIDI4KWAuXG4gICAqXG4gICAqIC0gYGRhdGVUaW1lYDogdmFsb3IgZGUgZGF0YSBjb20gaG9yw6FyaW8uXG4gICAqICArIEFjZWl0YSBvIHRpcG8gX3N0cmluZ18gbm8gZm9ybWF0byAqKklTTy04NjAxKiogZXh0ZW5kaWRvICoqJ3l5eXktbW0tZGRUaGg6bW06c3MrfC1oaDptbScqKlxuICAgKiBlIG8gdGlwbyBfRGF0ZV8gcGFkcsOjbyBkbyBKYXZhc2NyaXB0LCBwb3IgZXhlbXBsbzogYCcyMDE3LTExLTI4VDAwOjAwOjAwLTAyOjAwJ2Agb3UgYG5ldyBEYXRlKDIwMTcsIDEwLCAyOClgLlxuICAgKlxuICAgKiAtIGBkZXRhaWxgOiBhcnJheSBkZSBvYmpldG9zIHBhcmEgbyBtYXN0ZXItZGV0YWlsLlxuICAgKiAtIGBpY29uYDogKmFycmF5KiBkZSAqc3RyaW5nKiBvdSBvYmpldG9zIHBhcmEgYSBjb2x1bmEgZGUgw61jb25lcy5cbiAgICogLSBgbGFiZWxgOiB0ZXh0byBjb20gZGVzdGFxdWUuXG4gICAqIC0gYGxpbmtgOiBoYWJpbGl0YSBsaW5rIG5hIGNvbHVuYSBwYXJhIGHDp8OjbyBvdSBuYXZlZ2HDp8Ojby5cbiAgICogLSBgbnVtYmVyYDogdmFsb3JlcyBudW3DqXJpY29zLlxuICAgKiAtIGBzdHJpbmdgOiB0ZXh0b3MuXG4gICAqIC0gYHN1YnRpdGxlYDogYXJyYXkgZGUgb2JqZXRvcyBwYXJhIGEgY29sdW5hIGRlIGxlZ2VuZGEuXG4gICAqXG4gICAqIC0gYHRpbWVgOiB2YWxvciBkZSBob3LDoXJpby5cbiAgICogICsgQWNlaXRhIG8gdGlwbyBfc3RyaW5nXyBub3MgZm9ybWF0b3MgKionSEg6bW06c3MnKiogb3UgKionSEg6bW06c3MuZmZmZmZmJyoqLCBwb3IgZXhlbXBsbzogYCcyMzoxMjo0NSdgLlxuICAgKiAtIGBjZWxsVGVtcGxhdGVgOiBJbmRpY2EgcXVlIGEgY29sdW5hIHNlcsOhIHV0aWxpemFkYSBjb21vIHRlbXBsYXRlLCBlbSBjb25qdW50byBjb20gb1xuICAgKiBbUG9UYWJsZUNlbGxUZW1wbGF0ZV0oL2RvY3VtZW50YXRpb24vcG8tdGFibGUtY2VsbC10ZW1wbGF0ZSkuXG4gICAqIC0gYGNvbHVtblRlbXBsYXRlYDogSW5kaWNhIHF1ZSBhIGNvbHVuYSBzZXLDoSB1dGlsaXphZGEgY29tbyB0ZW1wbGF0ZSwgZW0gY29uanVudG8gY29tIG9cbiAgICogW1BvVGFibGVDb2x1bW5UZW1wbGF0ZV0oL2RvY3VtZW50YXRpb24vcG8tdGFibGUtY29sdW1uLXRlbXBsYXRlKS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHN0cmluZ2BcbiAgICovXG4gIHR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQ29udHJvbGEgYSBleGliacOnw6NvIGRhIGNvbHVuYS4gQ2FzbyBzZWphIGRlZmluaWRvIHVtIHZhbG9yIGZhbHNvLCBhIGNvbHVuYSBuw6NvIHNlcsOhIGV4aWJpZGEgbWFzIG1hcyBzZXLDoSBwb3Nzw612ZWwgdG9ybsOhLWxhXG4gICAqIHZpc8OtdmVsIGF0cmF2w6lzIGRvICoqZ2VyZW5jaWFkb3IgZGUgY29sdW5hcyoqLlxuICAgKlxuICAgKiA+IEEgZGlzcG9uaWJpbGlkYWRlIGRlIHZpc3VhbGl6YcOnw6NvIHBvZGUgbGltaXRhci1zZSBkZSBhY29yZG8gY29tIGEgZGVmaW5pw6fDo28gZGUgYHAtbWF4LWNvbHVtbnNgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdHJ1ZWBcbiAgICovXG4gIHZpc2libGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGxhcmd1cmEgZGEgY29sdW5hIHBvZGUgc2VyIGluZm9ybWFkYSBlbSBwaXhlbHMgb3UgcG9yY2VudGFnZW0uXG4gICAqID4gRXhlbXBsbzogJzEwMHB4JyBvdSAnMjAlJy5cbiAgICovXG4gIHdpZHRoPzogc3RyaW5nO1xufVxuIl19
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY29sdW1uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9pbnRlcmZhY2VzL3BvLXRhYmxlLWNvbHVtbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvVGFibGVCb29sZWFuIH0gZnJvbSAnLi9wby10YWJsZS1ib29sZWFuLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uSWNvbiB9IGZyb20gJy4uL3BvLXRhYmxlLWNvbHVtbi1pY29uL3BvLXRhYmxlLWNvbHVtbi1pY29uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uTGFiZWwgfSBmcm9tICcuLi9wby10YWJsZS1jb2x1bW4tbGFiZWwvcG8tdGFibGUtY29sdW1uLWxhYmVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlRGV0YWlsIH0gZnJvbSAnLi4vcG8tdGFibGUtZGV0YWlsL3BvLXRhYmxlLWRldGFpbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UYWJsZVN1YnRpdGxlQ29sdW1uIH0gZnJvbSAnLi4vcG8tdGFibGUtc3VidGl0bGUtZm9vdGVyL3BvLXRhYmxlLXN1YnRpdGxlLWNvbHVtbi5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEB1c2VkQnkgUG9UYWJsZUNvbXBvbmVudFxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIEludGVyZmFjZSBwYXJhIGNvbmZpZ3VyYcOnw6NvIGRhcyBjb2x1bmFzIGRvIGBwby10YWJsZWAuXG4gKlxuICogQXMgZGVmaW5pw6fDtWVzIGRhcyBjb2x1bmFzIHNlcsOjbyBhcGxpY2FkYXMgbGluaGEgYSBsaW5oYS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb1RhYmxlQ29sdW1uIHtcbiAgLyoqXG4gICAqIERlZmluZSB1bWEgYcOnw6NvIG5hIGNvbHVuYSBxdWFuZG8gbyB0aXBvIGRhIGNvbHVuYSBmb3IgYGxpbmtgIG91IGBpY29uYC5cbiAgICpcbiAgICogPiBRdWFuZG8gZm9yIGRvIHRpcG8gYGxpbmtgIHNlcsOhIGVudmlhZG8gY29tbyBwcmltZWlybyBwYXLDom1ldHJvIG8gdmFsb3IgZGEgY29sdW5hXG4gICAqIGUgbm8gc2VndW5kbyBwYXLDom1ldHJvIG8gb2JqZXRvIGNvbXBsZXRvIGRhIGxpbmhhLiBDYXNvIHRlbmhhIHNpZG8gZGVmaW5pZG8gdW1hIGHDp8OjbyBlIHVtIGxpbmsgbmEgY29sdW5hLCBhIGHDp8Ojb1xuICAgKiBzZXLDoSBleGVjdXRhZGEgYW8gaW52w6lzIGRvIGxpbmsuXG4gICAqXG4gICAqID4gUXVhbmRvIGZvciBkbyB0aXBvIGBpY29uYCBlbnZpYXLDoSBvIG9iamV0byBjb21wbGV0byBkYSBsaW5oYSBlIG8gc2VndW5kbyBwYXLDom1ldHJvIHNlcsOhIGEgZGVmaW5pw6fDo28gZGEgY29sdW5hLlxuICAgKi9cbiAgYWN0aW9uPzogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIERlZmluZSB1bSBvYmpldG8gZG8gdGlwbyBgUG9UYWJsZUJvb2xlYW5gIHBhcmEgYXMgY29sdW5hcyBkbyB0aXBvIF9ib29sZWFuXy4gUG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiAgeyBwcm9wZXJ0eTogJ2FwcHJvYmF0aW9uJywgdHlwZTogJ2Jvb2xlYW4nLCBib29sZWFuOiB7XG4gICAqICAgIHRydWVMYWJlbDogJ0FjY2VwdGVkJywgZmFsc2VMYWJlbDogJ1JlamVjdGVkJ1xuICAgKiAgfX1cbiAgICogYGBgXG4gICAqXG4gICAqID4gQ2FzbyBuw6NvIHNlamEgZGVmaW5pZG8gdW0gb2JqZXRvIHBhcmEgY29sdW5hcyBkbyB0aXBvICpib29sZWFuKixcbiAgICogZXN0YSBleGliaXLDoSBwb3IgcGFkcsOjbyBgU2ltYCBlIGBOw6NvYCBkZSBhY29yZG8gY29tIG9zIHZhbG9yZXMgX2Jvb2xlYW5vc18uXG4gICAqL1xuICBib29sZWFuPzogUG9UYWJsZUJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGEgY29yIHF1ZSBzZXLDoSBhcGxpY2FkYSBubyBjb250ZcO6ZG8gZGEgY29sdW5hLlxuICAgKlxuICAgKiBWYWxvcmVzIHbDoWxpZG9zOlxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTAxXCI+PC9zcGFuPiBgY29sb3ItMDFgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDJcIj48L3NwYW4+IGBjb2xvci0wMmBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wM1wiPjwvc3Bhbj4gYGNvbG9yLTAzYFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA0XCI+PC9zcGFuPiBgY29sb3ItMDRgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDVcIj48L3NwYW4+IGBjb2xvci0wNWBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wNlwiPjwvc3Bhbj4gYGNvbG9yLTA2YFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA3XCI+PC9zcGFuPiBgY29sb3ItMDdgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDhcIj48L3NwYW4+IGBjb2xvci0wOGBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wOVwiPjwvc3Bhbj4gYGNvbG9yLTA5YFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTEwXCI+PC9zcGFuPiBgY29sb3ItMTBgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTFcIj48L3NwYW4+IGBjb2xvci0xMWBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0xMlwiPjwvc3Bhbj4gYGNvbG9yLTEyYFxuICAgKlxuICAgKiA+IEV4aXN0ZSBhIHBvc3NpYmlsaWRhZGUgZGUgaW5mb3JtYXIgdW1hIGZ1bsOnw6NvIHF1ZSByZXRvcm5lIHVtIGRvcyB2YWxvcmVzIGFjZWl0b3MsIHNlcsOjbyBwYXNzYWRvc1xuICAgKiBwb3IgcGFyw6JtZXRybyBhIGxpbmhhIGUgYSBjb2x1bmEgYXR1YWwsIHBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYGBcbiAgICogKHJvdywgY29sdW1uKSA9PiB7IHJvd1tjb2x1bW5dID09ICd0ZXh0JyA/ICdjb2xvci0wMycgOiAnY29sb3ItMDknIH1cbiAgICogYGBgXG4gICAqXG4gICAqID4gw4kgcG9zc8OtdmVsIHRhbWLDqW0gdXPDoS1sYSBuYSBjb2x1bmEgZG8gdGlwbyBgaWNvbnNgIHBhcmEgYWx0ZXJhw6fDo28gZGFzIGNvcmVzIGRlIHNldSBjb250ZcO6ZG8gY29uZm9ybWUgZXhlbXBsbyBhYmFpeG8sXG4gICAqIGNvbnR1ZG8sIGRlc3RhIGZvcm1hIHNvYnJlcMO1ZSBhIGNvciBlc3BlY2lmaWNhZGEgZW0gY2FkYSBvYmpldG8gY2FzbyBoYWphOlxuICAgKlxuICAgKiBgYGBcbiAgICogeyBwcm9wZXJ0eTogJ2NvbHVtbkljb24nLCBsYWJlbDogJ0xpa2UnLCB0eXBlOiAnaWNvbicsIGNvbG9yOiAnY29sb3ItMDgnLCBpY29uczogW1xuICAgKiAgIHsgdmFsdWU6ICdwby1pY29uLXN0YXInLCBhY3Rpb246ICgpID0+IHRoaXMubm90aWZpY2F0aW9uKCkgfVxuICAgKiBdfSxcbiAgICogYGBgXG4gICAqL1xuICBjb2xvcj86IHN0cmluZyB8IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdW0gb2JqZXRvIHF1ZSBzZWd1ZSBhIGludGVyZmFjZSBgUG9UYWJsZURldGFpbGAsIHBhcmEgYXMgY29sdW5hcyBkZSBkZXRhbGhlcy4gUG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiB7IGNvbHVtbnM6IFt7IHByb3BlcnR5OiAncGFja2FnZScsIGxhYmVsOiAnUGFjb3RlJyB9XSwgdHlwZUhlYWRlcjogJ3RvcCcgfVxuICAgKiBgYGBcbiAgICpcbiAgICovXG4gIGRldGFpbD86IFBvVGFibGVEZXRhaWw7XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBkZXZlIHJldG9ybmFyIHVtIGJvb2xlYW5vIHBhcmEgaGFiaWxpdGFyIG91IGRlc2FiaWxpdGFyIG8gKmxpbmsqIGUgc3VhIGHDp8Ojby5cbiAgICpcbiAgICogPiBQcm9wcmllZGFkZSBkaXNwb27DrXZlbCBuYXMgY29sdW5hcyBkbyB0aXBvIGBsaW5rYC5cbiAgICovXG4gIGRpc2FibGVkPzogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEZvcm1hdG8gZGUgZXhpYmnDp8OjbyBkbyB2YWxvciBkYSBjb2x1bmE6XG4gICAqIC0gRm9ybWF0byBwYXJhIG1vZWRhIChjdXJyZW5jeSkuIEV4ZW1wbG9zOiAnQlJMJywgJ1VTRCcuXG4gICAqIC0gRm9ybWF0byBwYXJhIGRhdGEgKGRhdGUpOiBhY2VpdGEgYXBlbmFzIG9zIGNhcmFjdGVyZXMgZGUgZGlhKGRkKSwgbcOqcyhNTSBvdSBtbSkgZSBhbm8gKHl5eXkgb3UgeXkpLFxuICAgKiBjYXNvIG7Do28gc2VqYSBpbmZvcm1hZG8gdW0gZm9ybWF0byBvIG1lc21vIHNlcsOhICdkZC9NTS95eXl5Jy4gRXhlbXBsb3M6ICdkZC9NTS95eXl5JywgJ2RkLU1NLXl5JywgJ21tL2RkL3l5eXknLlxuICAgKiAtIEZvcm1hdG8gcGFyYSBob3LDoXJpbyAodGltZSk6IGFjZWl0YSBhcGVuYXMgb3MgY2FyYWN0ZXJlcyBkZSBob3JhKEhIKSwgbWludXRvcyhtbSksIHNlZ3VuZG9zKHNzKSBlXG4gICAqICBtaWxpc2VndW5kb3MoZi1mZmZmZmYpLCBvcyBtaWxpc2VndW5kb3Mgc8OjbyBvcGNpb25haXMsIGNhc28gbsOjbyBzZWphIGluZm9ybWFkbyB1bSBmb3JtYXRvIG8gbWVzbW8gc2Vyw6FcbiAgICogJ0hIOm1tOnNzJy4gRXhlbXBsb3M6ICdISDptbScsICdISDptbTpzcy5mZmZmZmYnLCAnSEg6bW06c3MuZmYnLCAnbW06c3MuZmZmJy5cbiAgICogLSBGb3JtYXRvIHBhcmEgbsO6bWVyb3MgKG51bWJlcik6IGFjZWl0YSB1bSB2YWxvciBzZWd1aW5kbyBvIHBhZHLDo28gWyoqRGVjaW1hbFBpcGUqKl0oaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb21tb24vRGVjaW1hbFBpcGUpXG4gICAqICBwYXJhIGZvcm1hdGHDp8OjbywgZSBjYXNvIG7Do28gc2VqYSBpbmZvcm1hZG8sIG8gbsO6bWVybyBzZXLDoSBleGliaWRvIG5hIHN1YSBmb3JtYSBvcmlnaW5hbC4gRXhlbXBsbzpcbiAgICpcbiAgICogICsgIENvbSBvIHZhbG9yIGRlIGVudHJhZGE6IGA1MGAgZSBhIHZhbG9yIHBhcmEgZm9ybWF0YcOnw6NvOiBgJzEuMi01J2AgbyByZXN1bHRhZG8gc2Vyw6E6IGA1MC4wMGBcbiAgICovXG4gIGZvcm1hdD86IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSB1bSAqYXJyYXkqIGRlIG9iamV0b3MgcGFyYSBjb2x1bmFzIGRlIMOtY29uZXMgcXVlIGlyw6Egc29icmVwb3Igb3MgdmFsb3JlcyBjb21vIGBhY3Rpb25gIGUgYGNvbG9yYFxuICAgKiBkZWZpbmlkb3MgbmEgY29sdW5hLCDDoCBwYXJ0aXIgZG8gKnZhbHVlKiBkYSBbYFBvVGFibGVDb2x1bW5JY29uYF0oZG9jdW1lbnRhdGlvbi9wby10YWJsZSN0YWJsZUNvbHVtbkljb24pLCBwb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqICB7IHByb3BlcnR5OiAnY29sdW1uSWNvbicsIGxhYmVsOiAnSWNvbnMnLCB0eXBlOiAnaWNvbicsIGFjdGlvbjogdGhpcy5mYXZvcml0ZS5iaW5kKHRoaXMpLCBpY29uczogW1xuICAgKiAgICB7IHZhbHVlOiAnZGVsZXRlJywgaWNvbjogJ3BvLWljb24tcGx1cycsIGNvbG9yOiAnY29sb3ItMDYnLCBhY3Rpb246IHRoaXMuYWRkLmJpbmQodGhpcyksIHRvb2x0aXA6ICdBZGljaW9uYSB1bSBub3ZvIGl0ZW0nIH0sXG4gICAqICAgIHsgdmFsdWU6ICdlZGl0JywgaWNvbjogJ3BvLWljb24tZWRpdCcsIGFjdGlvbjogdGhpcy5lZGl0LmJpbmQodGhpcykgfSxcbiAgICogICAgeyB2YWx1ZTogJ2RlbGV0ZScsIGljb246ICdwby1pY29uLWRlbGV0ZScsIGNvbG9yOiAnY29sb3ItMTInLCBhY3Rpb246IHRoaXMucmVtb3ZlLmJpbmQodGhpcykgfVxuICAgKiAgXX0sXG4gICAqIGBgYFxuICAgKlxuICAgKiBgYGBcbiAgICogIC4uLlxuICAgKiAgeyBpZDogMSwgY29sdW1uSWNvbjogWydwby1pY29uLWVkaXQnLCAncG8taWNvbi1yZW1vdmUnLCAncG8taWNvbi1zdGFyJ10gfVxuICAgKiAgLi4uXG4gICAqXG4gICAqIGBgYFxuICAgKi9cbiAgaWNvbnM/OiBBcnJheTxQb1RhYmxlQ29sdW1uSWNvbj47XG5cbiAgLyoqXG4gICAqIFRleHRvIHBhcmEgdMOtdHVsbyBkYSBjb2x1bmEuXG4gICAqXG4gICAqIENhc28gbsOjbyBzZWphIGluZm9ybWFkbywgc2Vyw6EgdXRpbGl6YWRvIGNvbW8gKmxhYmVsKiBvIHZhbG9yIGRhIHByb3ByaWVkYWRlICpwcm9wZXJ0eSogY29tIGEgcHJpbWVpcmEgbGV0cmEgZW0gbWFpw7pzY3Vsby5cbiAgICovXG4gIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdW0gYXJyYXkgZGUgb2JqZXRvcyBwYXJhIGFzIGNvbHVuYXMgZGUgbGFiZWwsIG9uZGUgJ2xhYmVscycgw6kgdW1hIGxpc3RhIGRlIG9iamV0b3NcbiAgICogZG8gdGlwbyBgUG9UYWJsZUNvbHVtbkxhYmVsYCBuYSBxdWFsIGRldmVtIHNlciBkZWZpbmlkYXMgb3MgbGFiZWxzLiBQb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIHsgcHJvcGVydHk6ICdmbGlnaHRTdGF0dXMnLCBsYWJlbDogJ1N0YXR1cycsIHR5cGU6ICdsYWJlbCcsIHdpZHRoOicxMDBweCcsIGxhYmVsczogW1xuICAgKiAgeyB2YWx1ZTogJ2NvbmZpcm1lZCcsIGNvbG9yOiAnY29sb3ItMTEnLCBsYWJlbDogJ0NvbmZpcm1hZG8nLCB0b29sdGlwOiAnRmxpZ2h0IFN0YXR1cycgfSxcbiAgICogIHsgdmFsdWU6ICdkZWxheWVkJywgY29sb3I6ICdjb2xvci0wOCcsIGxhYmVsOiAnQXRyYXNhZG8nLCB0b29sdGlwOiAnRmxpZ2h0IFN0YXR1cycgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKlxuICAgKi9cbiAgbGFiZWxzPzogQXJyYXk8UG9UYWJsZUNvbHVtbkxhYmVsPjtcblxuICAvKipcbiAgICogRGVmaW5lIG8gbm9tZSBkYSBwcm9wcmllZGFkZSBxdWUgY29udGVyw6EgbyBgbGlua2AgYSBzZXIgcmVkaXJlY2lvbmFkby5cbiAgICpcbiAgICogQGRlZmF1bHQgbGlua1xuICAgKi9cbiAgbGluaz86IHN0cmluZztcblxuICAvKiogTm9tZSBpZGVudGlmaWNhZG9yIGRhIGNvbHVuYS4gKi9cbiAgcHJvcGVydHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQ29udHJvbGEgc2UgYSBjb2x1bmEgc2Vyw6EgY29uc2lkZXJhZGEgY29tbyBcIm9yZGVuYXZlbFwiLiBDYXNvIHNlamEgZGVmaW5pZG8gdW0gdmFsb3IgZmFsc28sIGEgY29sdW5hIG7Do28gc2Vyw6EgdXNhZGEgcGFyYVxuICAgKiBvcmRlbmHDp8Ojby5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICBzb3J0YWJsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSB1bSBhcnJheSBkZSBvYmpldG9zIHBhcmEgYXMgY29sdW5hcyBkZSBsZWdlbmRhLiBPbmRlLCBgc3VidGl0bGVzYCDDqSB1bWEgbGlzdGEgZGUgb2JqZXRvcyBkbyB0aXBvIFBvVGFibGVTdWJ0aXRsZSBuYSBxdWFsXG4gICAqIGRldmVtIHNlciBkZWZpbmlkYXMgYXMgb3DDp8O1ZXMgZGUgbGVnZW5kYS4gUG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiB7IHByb3BlcnR5OiAnZmxpZ2h0U3RhdHVzJywgbGFiZWw6ICdTdGF0dXMnLCBjb2xvcjogJ3N1YnRpdGxlJywgd2lkdGg6JzEwMHB4Jywgc3VidGl0bGVzOiBbXG4gICAqICB7IHZhbHVlOiAnY29uZmlybWVkJywgY29sb3I6ICdjb2xvci0xMScsIGxhYmVsOiAnQ29uZmlybWFkbycsIGNvbnRlbnQ6ICcxJyB9LFxuICAgKiAgeyB2YWx1ZTogJ2RlbGF5ZWQnLCBjb2xvcjogJ2NvbG9yLTA4JywgbGFiZWw6ICdBdHJhc2FkbycsIGNvbnRlbnQ6ICcyJyB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIE5lc3NlIGV4ZW1wbG8gYSBjb2x1bmEgZXNjb2xoaWRhIHBhcmEgbGVnZW5kYSDDqSAnZmxpZ2h0U3RhdHVzJywgc2UgbyB2YWxvciBkZXNzYSBjb2x1bmEgZm9yICdjb25maXJtZWQnLCBvIHRleHRvIGRhIGxlZ2VuZGEgc2Vyw6FcbiAgICogJ0NvbmZpcm1hZG8nLlxuICAgKlxuICAgKi9cbiAgc3VidGl0bGVzPzogQXJyYXk8UG9UYWJsZVN1YnRpdGxlQ29sdW1uPjtcblxuICAvKipcbiAgICogRGVmaW5lIHVtIHRleHRvIGRlIGFqdWRhIHF1ZSBzZXLDoSBleGliaWRvIGFvIHBhc3NhciBvICptb3VzZSogc29icmUgdW0gdGV4dG8uXG4gICAqXG4gICAqID4gTyB0b29sdGlwIHPDsyBzZXLDoSB2aXPDrXZlbCBzZSBmb3IgdW1hIGNvbHVuYSBkbyB0aXBvICpsaW5rKi5cbiAgICpcbiAgICogPiBDYXNvIGEgcHJvcHJpZWRhZGUgYHAtaGlkZS10ZXh0LW92ZXJmbG93YCBlc3RlamEgaGFiaWxpdGFkYSBlIG8gY29udGXDumRvIGRhIGPDqWx1bGEgZXhjZWRlciBhIGxhcmd1cmEgZGEgY29sdW5hLFxuICAgKiDDqSBpZ25vcmFkbyBvIHZhbG9yIGF0cmlidcOtZG8gYW8gKnRvb2x0aXAqIGUgc2Vyw6EgZXhpYmlkbyBqdXN0YW1lbnRlIG8gY29udGXDumRvIGRhIGPDqWx1bGEuXG4gICAqL1xuICB0b29sdGlwPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaXBvIGRhIGNvbHVuYS5cbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICogLSBgYm9vbGVhbmA6IEV4aWJpcsOhIHBvciBwYWRyw6NvIGBTaW1gIGUgYE7Do29gIGRlIGFjb3JkbyBjb20gb3MgdmFsb3JlcyAqYm9vbGVhbm9zKi5cbiAgICogPiBDYXNvIG5lY2Vzc2l0ZSBleGliaXIgdmFsb3JlcyBkaWZlcmVudGVzIGRvIHBhZHLDo28sIGRldmUtc2UgdXRpbGl6YXIgYSBwcm9wcmllZGFkZSBgYm9vbGVhbmAgZGVzdGEgaW50ZXJmYWNlLlxuICAgKiAtIGBjdXJyZW5jeWA6IHZhbG9yZXMgbW9uZXTDoXJpb3MuXG4gICAqXG4gICAqIC0gYGRhdGVgOiB2YWxvciBkZSBkYXRhcy5cbiAgICogICsgQWNlaXRhIG9zIHRpcG9zIF9zdHJpbmdfIGUgX0RhdGVfIHBhZHLDo28gZG8gSmF2YXNjcmlwdCxcbiAgICogIHBvciBleGVtcGxvOiBgJzIwMTctMTEtMjgnYCBvdSBgbmV3IERhdGUoMjAxNywgMTAsIDI4KWAuXG4gICAqXG4gICAqIC0gYGRhdGVUaW1lYDogdmFsb3IgZGUgZGF0YSBjb20gaG9yw6FyaW8uXG4gICAqICArIEFjZWl0YSBvIHRpcG8gX3N0cmluZ18gbm8gZm9ybWF0byAqKklTTy04NjAxKiogZXh0ZW5kaWRvICoqJ3l5eXktbW0tZGRUaGg6bW06c3MrfC1oaDptbScqKlxuICAgKiBlIG8gdGlwbyBfRGF0ZV8gcGFkcsOjbyBkbyBKYXZhc2NyaXB0LCBwb3IgZXhlbXBsbzogYCcyMDE3LTExLTI4VDAwOjAwOjAwLTAyOjAwJ2Agb3UgYG5ldyBEYXRlKDIwMTcsIDEwLCAyOClgLlxuICAgKlxuICAgKiAtIGBkZXRhaWxgOiBhcnJheSBkZSBvYmpldG9zIHBhcmEgbyBtYXN0ZXItZGV0YWlsLlxuICAgKiAtIGBpY29uYDogKmFycmF5KiBkZSAqc3RyaW5nKiBvdSBvYmpldG9zIHBhcmEgYSBjb2x1bmEgZGUgw61jb25lcy5cbiAgICogLSBgbGFiZWxgOiB0ZXh0byBjb20gZGVzdGFxdWUuXG4gICAqIC0gYGxpbmtgOiBoYWJpbGl0YSBsaW5rIG5hIGNvbHVuYSBwYXJhIGHDp8OjbyBvdSBuYXZlZ2HDp8Ojby5cbiAgICogLSBgbnVtYmVyYDogdmFsb3JlcyBudW3DqXJpY29zLlxuICAgKiAtIGBzdHJpbmdgOiB0ZXh0b3MuXG4gICAqIC0gYHN1YnRpdGxlYDogYXJyYXkgZGUgb2JqZXRvcyBwYXJhIGEgY29sdW5hIGRlIGxlZ2VuZGEuXG4gICAqXG4gICAqIC0gYHRpbWVgOiB2YWxvciBkZSBob3LDoXJpby5cbiAgICogICsgQWNlaXRhIG8gdGlwbyBfc3RyaW5nXyBub3MgZm9ybWF0b3MgKionSEg6bW06c3MnKiogb3UgKionSEg6bW06c3MuZmZmZmZmJyoqLCBwb3IgZXhlbXBsbzogYCcyMzoxMjo0NSdgLlxuICAgKiAtIGBjZWxsVGVtcGxhdGVgOiBJbmRpY2EgcXVlIGEgY29sdW5hIHNlcsOhIHV0aWxpemFkYSBjb21vIHRlbXBsYXRlLCBlbSBjb25qdW50byBjb20gb1xuICAgKiBbUG9UYWJsZUNlbGxUZW1wbGF0ZV0oL2RvY3VtZW50YXRpb24vcG8tdGFibGUtY2VsbC10ZW1wbGF0ZSkuXG4gICAqIC0gYGNvbHVtblRlbXBsYXRlYDogSW5kaWNhIHF1ZSBhIGNvbHVuYSBzZXLDoSB1dGlsaXphZGEgY29tbyB0ZW1wbGF0ZSwgZW0gY29uanVudG8gY29tIG9cbiAgICogW1BvVGFibGVDb2x1bW5UZW1wbGF0ZV0oL2RvY3VtZW50YXRpb24vcG8tdGFibGUtY29sdW1uLXRlbXBsYXRlKS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHN0cmluZ2BcbiAgICovXG4gIHR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQ29udHJvbGEgYSBleGliacOnw6NvIGRhIGNvbHVuYS4gQ2FzbyBzZWphIGRlZmluaWRvIHVtIHZhbG9yIGZhbHNvLCBhIGNvbHVuYSBuw6NvIHNlcsOhIGV4aWJpZGEgbWFzIG1hcyBzZXLDoSBwb3Nzw612ZWwgdG9ybsOhLWxhXG4gICAqIHZpc8OtdmVsIGF0cmF2w6lzIGRvICoqZ2VyZW5jaWFkb3IgZGUgY29sdW5hcyoqLlxuICAgKlxuICAgKiA+IEEgZGlzcG9uaWJpbGlkYWRlIGRlIHZpc3VhbGl6YcOnw6NvIHBvZGUgbGltaXRhci1zZSBkZSBhY29yZG8gY29tIGEgZGVmaW5pw6fDo28gZGUgYHAtbWF4LWNvbHVtbnNgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdHJ1ZWBcbiAgICovXG4gIHZpc2libGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGxhcmd1cmEgZGEgY29sdW5hIHBvZGUgc2VyIGluZm9ybWFkYSBlbSBwaXhlbHMgb3UgcG9yY2VudGFnZW0uXG4gICAqID4gRXhlbXBsbzogJzEwMHB4JyBvdSAnMjAlJy5cbiAgICovXG4gIHdpZHRoPzogc3RyaW5nO1xufVxuIl19
|