@dereekb/dbx-form 4.0.0 → 5.0.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/LICENSE +21 -0
- package/esm2020/lib/form/action/form.action.directive.mjs +4 -4
- package/esm2020/lib/form/form.mjs +4 -4
- package/esm2020/lib/form/io/form.changes.directive.mjs +1 -1
- package/esm2020/lib/form/io/form.input.directive.mjs +2 -2
- package/esm2020/lib/form/io/form.loading.directive.mjs +1 -1
- package/esm2020/lib/formly/config/validation.mjs +1 -1
- package/esm2020/lib/formly/field/checklist/checklist.field.mjs +5 -5
- package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +6 -8
- package/esm2020/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +1 -1
- package/esm2020/lib/formly/field/checklist/checklist.item.field.mjs +1 -1
- package/esm2020/lib/formly/field/checklist/checklist.item.mjs +1 -1
- package/esm2020/lib/formly/field/component/component.field.component.mjs +1 -1
- package/esm2020/lib/formly/field/component/component.field.mjs +1 -1
- package/esm2020/lib/formly/field/field.mjs +1 -1
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +9 -9
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.mjs +1 -1
- package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +4 -4
- package/esm2020/lib/formly/field/selection/pickable/pickable.mjs +1 -1
- package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +1 -1
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +6 -6
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.mjs +2 -3
- package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +1 -1
- package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +2 -3
- package/esm2020/lib/formly/field/selection/selection.mjs +1 -1
- package/esm2020/lib/formly/field/texteditor/texteditor.field.component.mjs +3 -3
- package/esm2020/lib/formly/field/value/array/array.field.component.mjs +2 -2
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +9 -9
- package/esm2020/lib/formly/field/value/date/datetime.field.mjs +1 -1
- package/esm2020/lib/formly/field/value/enum/enum.field.mjs +1 -1
- package/esm2020/lib/formly/field/value/hidden.field.mjs +1 -1
- package/esm2020/lib/formly/field/value/phone/phone.field.mjs +2 -3
- package/esm2020/lib/formly/field/value/text/text.address.field.mjs +2 -1
- package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +2 -2
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +1 -1
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +1 -1
- package/esm2020/lib/formly/field/wrapper/style.wrapper.component.mjs +2 -2
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +1 -1
- package/esm2020/lib/formly/field/wrapper/working.wrapper.component.mjs +2 -2
- package/esm2020/lib/formly/field/wrapper/wrapper.mjs +1 -1
- package/esm2020/lib/formly/formly.context.directive.mjs +4 -4
- package/esm2020/lib/formly/formly.context.mjs +4 -4
- package/esm2020/lib/formly/formly.directive.mjs +1 -1
- package/esm2020/lib/formly/formly.form.component.mjs +5 -5
- package/esm2020/lib/formly/template/login.mjs +1 -2
- package/esm2020/lib/validator/available.mjs +2 -3
- package/esm2020/lib/validator/boolean.mjs +2 -2
- package/esm2020/lib/validator/email.mjs +2 -2
- package/esm2020/lib/validator/field.mjs +1 -1
- package/esm2020/lib/validator/number.mjs +20 -16
- package/fesm2015/dereekb-dbx-form.mjs +105 -105
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form.mjs +108 -105
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
- package/lib/form/action/form.action.directive.d.ts +4 -4
- package/lib/form/form.d.ts +4 -4
- package/lib/form/io/form.changes.directive.d.ts +3 -3
- package/lib/form/io/form.input.directive.d.ts +3 -3
- package/lib/form/io/form.loading.directive.d.ts +3 -3
- package/lib/formly/config/validation.d.ts +4 -4
- package/lib/formly/field/checklist/checklist.field.d.ts +3 -3
- package/lib/formly/field/checklist/checklist.item.d.ts +3 -3
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +7 -9
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +4 -4
- package/lib/formly/field/checklist/checklist.item.field.d.ts +3 -3
- package/lib/formly/field/component/component.field.component.d.ts +3 -4
- package/lib/formly/field/component/component.field.d.ts +2 -3
- package/lib/formly/field/field.d.ts +3 -3
- package/lib/formly/field/selection/pickable/pickable.d.ts +7 -9
- package/lib/formly/field/selection/pickable/pickable.field.d.ts +3 -3
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +39 -40
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +2 -2
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +8 -8
- package/lib/formly/field/selection/searchable/searchable.d.ts +9 -8
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +1 -1
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +9 -9
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +25 -25
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +12 -9
- package/lib/formly/field/selection/selection.d.ts +4 -4
- package/lib/formly/field/texteditor/texteditor.field.component.d.ts +1 -2
- package/lib/formly/field/value/array/array.field.component.d.ts +1 -1
- package/lib/formly/field/value/date/datetime.field.component.d.ts +2 -3
- package/lib/formly/field/value/date/datetime.field.d.ts +1 -2
- package/lib/formly/field/value/enum/enum.field.d.ts +1 -1
- package/lib/formly/field/value/hidden.field.d.ts +1 -2
- package/lib/formly/field/value/text/text.address.field.d.ts +1 -2
- package/lib/formly/field/wrapper/expandable.wrapper.component.d.ts +4 -4
- package/lib/formly/field/wrapper/expandable.wrapper.delegate.d.ts +11 -11
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +4 -4
- package/lib/formly/field/wrapper/working.wrapper.component.d.ts +4 -2
- package/lib/formly/field/wrapper/wrapper.d.ts +2 -2
- package/lib/formly/formly.context.d.ts +4 -5
- package/lib/formly/formly.context.directive.d.ts +1 -1
- package/lib/formly/formly.directive.d.ts +1 -1
- package/lib/formly/formly.form.component.d.ts +2 -2
- package/lib/formly/template/login.d.ts +1 -2
- package/lib/validator/boolean.d.ts +1 -1
- package/lib/validator/email.d.ts +1 -1
- package/lib/validator/field.d.ts +4 -4
- package/lib/validator/number.d.ts +8 -1
- package/package.json +5 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { successResult, mapLoadingStateResults, filterMaybe, ListLoadingStateContextInstance, isListLoadingStateEmpty, startWithBeginLoading } from "@dereekb/rxjs";
|
|
2
2
|
import { convertMaybeToArray, findUnique, makeValuesGroupMap } from "@dereekb/util";
|
|
3
3
|
import { Directive, ViewChild } from "@angular/core";
|
|
4
4
|
import { FormControl } from "@angular/forms";
|
|
@@ -19,7 +19,7 @@ export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
|
19
19
|
this._displayHashMap = new BehaviorSubject(new Map());
|
|
20
20
|
this.filterInputValue$ = this.inputCtrl.valueChanges.pipe(startWith(undefined));
|
|
21
21
|
this.filterInputValueString$ = this.filterInputValue$.pipe(debounceTime(200), distinctUntilChanged(), shareReplay(1));
|
|
22
|
-
this.loadResultsDisplayValuesState$ = this.formControl$.pipe(first(), switchMap(() => this.loadValuesFn().pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)),
|
|
22
|
+
this.loadResultsDisplayValuesState$ = this.formControl$.pipe(first(), switchMap(() => this.loadValuesFn().pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)), startWithBeginLoading())), shareReplay(1));
|
|
23
23
|
this._formControlValue = this.formControl$.pipe(switchMap(control => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
|
|
24
24
|
this.loadResultsDisplayValues$ = this.loadResultsDisplayValuesState$.pipe(map(x => x?.value ?? []));
|
|
25
25
|
/**
|
|
@@ -34,7 +34,7 @@ export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
|
34
34
|
const valuesNotInDisplayMap = [];
|
|
35
35
|
currentValues.forEach((x) => {
|
|
36
36
|
const key = this.hashForValue(x);
|
|
37
|
-
|
|
37
|
+
const displayValue = displayValuesMap.get(key)?.[0];
|
|
38
38
|
if (!displayValue) {
|
|
39
39
|
valuesNotInDisplayMap.push(x);
|
|
40
40
|
}
|
|
@@ -59,7 +59,7 @@ export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
|
59
59
|
const valueHashSet = new Set(values.map(x => this.hashForValue(x)));
|
|
60
60
|
return displayValues.filter(x => !x.isUnknown && valueHashSet.has(x._hash));
|
|
61
61
|
}
|
|
62
|
-
})),
|
|
62
|
+
})), startWithBeginLoading())))), shareReplay(1));
|
|
63
63
|
this.filteredSearchResults$ = this.filteredSearchResultsState$.pipe(map(x => x?.value), filterMaybe(), shareReplay(1));
|
|
64
64
|
this.items$ = combineLatest([this.filteredSearchResults$, this.values$]).pipe(map(([displayValues, values]) => {
|
|
65
65
|
const selectedHashValuesSet = new Set(values.map(x => this.hashForValue(x)));
|
|
@@ -69,12 +69,12 @@ export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
|
69
69
|
}
|
|
70
70
|
return items;
|
|
71
71
|
}), shareReplay(1));
|
|
72
|
-
this.itemsLoadingState$ = this.loadResultsDisplayValues$.pipe(switchMap(
|
|
72
|
+
this.itemsLoadingState$ = this.loadResultsDisplayValues$.pipe(switchMap(() => this.items$.pipe(first(), map(x => successResult(x)), startWithBeginLoading(), shareReplay(1))));
|
|
73
73
|
/**
|
|
74
74
|
* Context used for managing the loading of items, or when the current results change.
|
|
75
75
|
*/
|
|
76
76
|
this.context = new ListLoadingStateContextInstance({ obs: this.itemsLoadingState$, showLoadingOnNoValue: false });
|
|
77
|
-
this.filterItemsLoadingState$ = this.items$.pipe(map(x => successResult(x)),
|
|
77
|
+
this.filterItemsLoadingState$ = this.items$.pipe(map(x => successResult(x)), startWithBeginLoading(), shareReplay(1));
|
|
78
78
|
/**
|
|
79
79
|
* Context used for searching/filtering.
|
|
80
80
|
*/
|
|
@@ -106,7 +106,7 @@ export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
|
106
106
|
return this.field.templateOptions?.label;
|
|
107
107
|
}
|
|
108
108
|
get autocomplete() {
|
|
109
|
-
return this.field.templateOptions?.attributes?.['autocomplete'] ?? this.key;
|
|
109
|
+
return ((this.field.templateOptions?.attributes?.['autocomplete']) ?? this.key);
|
|
110
110
|
}
|
|
111
111
|
get changeSelectionModeToViewOnDisabled() {
|
|
112
112
|
return this.pickableField.changeSelectionModeToViewOnDisabled ?? false;
|
|
@@ -164,7 +164,7 @@ export class AbstractDbxPickableItemFieldDirective extends FieldType {
|
|
|
164
164
|
return this.loadDisplayValuesForFieldValues(values.map((value) => ({ value })));
|
|
165
165
|
}
|
|
166
166
|
loadDisplayValuesForFieldValues(values) {
|
|
167
|
-
return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)),
|
|
167
|
+
return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)), startWithBeginLoading(), shareReplay(1));
|
|
168
168
|
}
|
|
169
169
|
getDisplayValuesForFieldValues(values) {
|
|
170
170
|
return this._displayHashMap.pipe(mergeMap((displayMap) => {
|
|
@@ -252,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
252
252
|
type: ViewChild,
|
|
253
253
|
args: ['filterMatInput', { static: true }]
|
|
254
254
|
}] } });
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvc2VsZWN0aW9uL3BpY2thYmxlL3BpY2thYmxlLmZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFnQixhQUFhLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pLLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEwsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFxRnhDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFDQUF5QyxTQUFRLFNBQW9FO0lBRGxJOztRQU1XLGNBQVMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVqQyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUF5QixTQUFT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QUNyQixNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEQ7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGlCQUFpQjtJQUNQLHNCQUFzQixDQUFDLE1BQVc7UUFDMUMsSUFBSSxRQUFRLEdBQVksTUFBTSxDQUFDO1FBRS9CLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRDtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDOztrSUE5V1UscUNBQXFDO3NIQUFyQyxxQ0FBcUM7MkZBQXJDLHFDQUFxQztrQkFEakQsU0FBUzs4QkFJUixjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSBcIkBkZXJlZWtiL2RieC1jb3JlXCI7XG5pbXBvcnQgeyBiZWdpbkxvYWRpbmcsIExvYWRpbmdTdGF0ZSwgc3VjY2Vzc1Jlc3VsdCwgbWFwTG9hZGluZ1N0YXRlUmVzdWx0cywgZmlsdGVyTWF5YmUsIExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UsIGlzTGlzdExvYWRpbmdTdGF0ZUVtcHR5IH0gZnJvbSBcIkBkZXJlZWtiL3J4anNcIjtcbmltcG9ydCB7IGNvbnZlcnRNYXliZVRvQXJyYXksIGZpbmRVbmlxdWUsIG1ha2VWYWx1ZXNHcm91cE1hcCwgTWF5YmUgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSBcIkBuZ3gtZm9ybWx5L2NvcmVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCJAbmd4LWZvcm1seS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgZmlsdGVyLCBtYXAsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcCwgc3RhcnRXaXRoLCBzaGFyZVJlcGxheSwgbWVyZ2VNYXAsIGZpcnN0LCBkZWxheSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5Rm4sIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZSwgUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm4sIFBpY2thYmxlVmFsdWVGaWVsZEhhc2hGbiwgUGlja2FibGVWYWx1ZUZpZWxkTG9hZFZhbHVlc0ZuLCBQaWNrYWJsZVZhbHVlRmllbGRWYWx1ZSB9IGZyb20gXCIuL3BpY2thYmxlXCI7XG5pbXBvcnQgeyBEYnhWYWx1ZUxpc3RJdGVtIH0gZnJvbSBcIkBkZXJlZWtiL2RieC13ZWJcIjtcbmltcG9ydCB7IGNhbWVsQ2FzZSB9IGZyb20gXCJjaGFuZ2UtY2FzZVwiO1xuXG4vKipcbiAqIFdyYXBzIHRoZSBzZWxlY3RlZCBzdGF0ZSB3aXRoIHRoZSBpdGVtcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VD4gZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPj4geyB9XG5cbmV4cG9ydCB0eXBlIFBpY2thYmxlSXRlbUZpZWxkSXRlbVNvcnRGbjxUPiA9IChpdGVtczogUGlja2FibGVJdGVtRmllbGRJdGVtPFQ+W10pID0+IFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPltdO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2thYmxlVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxUPiB7XG4gIC8qKlxuICAgKiBMb2FkcyBhbGwgcGlja2FibGUgdmFsdWVzLlxuICAgKi9cbiAgbG9hZFZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkTG9hZFZhbHVlc0ZuPFQ+O1xuICAvKipcbiAgICogVXNlZCBmb3IgYnVpbGRpbmcgYSBkaXNwbGF5IHZhbHVlIGdpdmVuIHRoZSBpbnB1dC5cbiAgICovXG4gIGRpc3BsYXlGb3JWYWx1ZTogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheUZuPFQ+O1xuICAvKipcbiAgICogVXNlZCBmb3IgaGFzaGluZyBkaXNwbGF5IHZhbHVlcyBhbmQgb21pdHRpbmcgcmVwZWF0IHZhbHVlcy5cbiAgICpcbiAgICogSWYgaGFzaEZvclZhbHVlIGlzIG5vdCBwcm92aWRlZCwgdGhlIHZhbHVlJ3MgdmFsdWUgd2lsbCBiZSB1c2VkIGFzIGlzLlxuICAgKi9cbiAgaGFzaEZvclZhbHVlPzogUGlja2FibGVWYWx1ZUZpZWxkSGFzaEZuPFQ+O1xuICAvKipcbiAgICogVXNlZCBmb3IgZmlsdGVyaW5nIHZhbHVlcyB2aWEgdGhlIHNlYXJjaCB0ZXh0LlxuICAgKi9cbiAgZmlsdGVyVmFsdWVzPzogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VD47XG4gIC8qKlxuICAgKiBVc2VkIGZvciBzb3J0aW5nIHRoZSBpdGVtcyBiZWZvcmUgdGhleSBhcmUgZGlzcGxheWVkLlxuICAgKiBcbiAgICogU2hvdWxkIG9ubHkgYmUgdXNlZCB0byBzb3J0IHZhbHVlcy5cbiAgICovXG4gIHNvcnRJdGVtcz86IFBpY2thYmxlSXRlbUZpZWxkSXRlbVNvcnRGbjxUPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IG11bHRpcGxlIGl0ZW1zIHRvIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgbXVsdGlTZWxlY3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2V0L2dldCB2YWx1ZXMgYXMgYW4gYXJyYXkgb3IgYSBzaW5nbGUgdmFsdWUuIElmIHNldCBmYWxzZSwgbXVsdGlTZWxlY3QgaXMgaWdub3JlZC5cbiAgICovXG4gIGFzQXJyYXlWYWx1ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSB0ZXh0IGZpbHRlci4gVHJ1ZSBieSBkZWZhdWx0IGlmIGZpbHRlclZhbHVlcyBpcyBwcm92aWRlZC5cbiAgICovXG4gIHNob3dUZXh0RmlsdGVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHNraXAgdGhlIGZpbHRlciBmdW5jdGlvbiB3aGVuIHRoZSBpbnB1dCBpcyBlbXB0eS5cbiAgICogXG4gICAqIFRydWUgYnkgZGVmYXVsdC5cbiAgICovXG4gIHNraXBGaWx0ZXJGbk9uRW1wdHk/OiBib29sZWFuO1xuICAvKipcbiAgICogRmlsdGVyIExhYmVsXG4gICAqL1xuICBmaWx0ZXJMYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB2YWx1ZXMgdGhhdCBjYW4gYmUgcGlja2VkXG4gICAqL1xuICBtYXhQaWNrcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uL2hpbnQgdG8gZGlzcGxheS5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogRm9vdGVyIERpc3BsYXlcbiAgICovXG4gIGZvb3RlckNvbmZpZz86IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZztcbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIHNlbGVjdGlvbiBtb2RlIG9mIHRoZSBsaXN0IHRvIFwidmlld1wiIG1vZGUgb24gZGlzYWJsZWQsIGhpZGluZyB0aGUgc2VsZWN0aW9uIGJveGVzLlxuICAgKi9cbiAgY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2thYmxlVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZzxUPiBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcGlja2FibGVGaWVsZDogUGlja2FibGVWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnPFQ+O1xufVxuXG4vKipcbiAqIERpc3BsYXllZCB2YWx1ZSB3aXRoIHRoZSBjb21wdXRlZCBoYXNoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0gPSBhbnk+IGV4dGVuZHMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQsIE0+IHtcbiAgX2hhc2g6IGFueTtcbn1cblxuLyoqXG4gKiBVc2VkIGZvciBwaWNraW5nIHByZS1zZXQgdmFsdWVzIHVzaW5nIGl0ZW1zIGFzIHRoZSBwcmVzZW50YXRpb24uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGJ4UGlja2FibGVJdGVtRmllbGREaXJlY3RpdmU8VD4gZXh0ZW5kcyBGaWVsZFR5cGU8UGlja2FibGVWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnPFQ+ICYgRmllbGRUeXBlQ29uZmlnPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKCdmaWx0ZXJNYXRJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGZpbHRlck1hdElucHV0ITogTWF0SW5wdXQ7XG5cbiAgcmVhZG9ubHkgaW5wdXRDdHJsID0gbmV3IEZvcm1Db250cm9sKCcnKTtcblxuICBwcml2YXRlIF9mb3JtQ29udHJvbE9icyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8QWJzdHJhY3RDb250cm9sPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgZm9ybUNvbnRyb2wkID0gdGhpcy5fZm9ybUNvbnRyb2xPYnMucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICBwcml2YXRlIF9kaXNwbGF5SGFzaE1hcCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPGFueSwgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+Pj4obmV3IE1hcCgpKTtcblxuICByZWFkb25seSBmaWx0ZXJJbnB1dFZhbHVlJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5pbnB1dEN0cmwudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCBhcyBhbnkpKTtcbiAgcmVhZG9ubHkgZmlsdGVySW5wdXRWYWx1ZVN0cmluZyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZmlsdGVySW5wdXRWYWx1ZSQucGlwZShcbiAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgbG9hZFJlc3VsdHNEaXNwbGF5VmFsdWVzU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxUPltdPj4gPSB0aGlzLmZvcm1Db250cm9sJC5waXBlKFxuICAgIGZpcnN0KCksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMubG9hZFZhbHVlc0ZuKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoeCkgPT4gdGhpcy5sb2FkRGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHgpKSxcbiAgICAgIHN0YXJ0V2l0aChiZWdpbkxvYWRpbmc8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VD5bXT4oKSksXG4gICAgKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBfZm9ybUNvbnRyb2xWYWx1ZTogT2JzZXJ2YWJsZTxUIHwgVFtdPiA9IHRoaXMuZm9ybUNvbnRyb2wkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGNvbnRyb2wgPT4gY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKSlcbiAgKTtcblxuICByZWFkb25seSBsb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXMkOiBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQ+W10+ID0gdGhpcy5sb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXNTdGF0ZSQucGlwZShcbiAgICBtYXAoeCA9PiB4Py52YWx1ZSA/PyBbXSlcbiAgKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZXMgaW4gdGhlIGZvcm0gY29udHJvbC5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlcyQ6IE9ic2VydmFibGU8VFtdPiA9IHRoaXMuX2Zvcm1Db250cm9sVmFsdWUucGlwZShcbiAgICBtYXAoY29udmVydE1heWJlVG9BcnJheSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZXMgd2l0aCB0aGVpciBkaXNwbGF5IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheVZhbHVlc1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VD5bXT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmxvYWRSZXN1bHRzRGlzcGxheVZhbHVlcyQsIHRoaXMudmFsdWVzJF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFtkaXNwbGF5VmFsdWVzLCBjdXJyZW50VmFsdWVzXSkgPT4ge1xuICAgICAgICBjb25zdCBkaXNwbGF5VmFsdWVzTWFwID0gbWFrZVZhbHVlc0dyb3VwTWFwKGRpc3BsYXlWYWx1ZXMsICh4KSA9PiB0aGlzLmhhc2hGb3JWYWx1ZSh4LnZhbHVlKSk7XG4gICAgICAgIGNvbnN0IHZhbHVlc05vdEluRGlzcGxheU1hcDogVFtdID0gW107XG5cbiAgICAgICAgY3VycmVudFZhbHVlcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5oYXNoRm9yVmFsdWUoeCk7XG4gICAgICAgICAgbGV0IGRpc3BsYXlWYWx1ZTogTWF5YmU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VD4+ID0gZGlzcGxheVZhbHVlc01hcC5nZXQoa2V5KT8uWzBdO1xuXG4gICAgICAgICAgaWYgKCFkaXNwbGF5VmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlc05vdEluRGlzcGxheU1hcC5wdXNoKHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHZhbHVlc05vdEluRGlzcGxheU1hcC5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkRGlzcGxheVZhbHVlc0ZvclZhbHVlcyh2YWx1ZXNOb3RJbkRpc3BsYXlNYXApLnBpcGUoXG4gICAgICAgICAgICBtYXAoeCA9PiBtYXBMb2FkaW5nU3RhdGVSZXN1bHRzKHgsIHtcbiAgICAgICAgICAgICAgbWFwVmFsdWU6IChsb2FkZWRWYWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQ+W10pID0+IHtcbiAgICAgICAgICAgICAgICBsb2FkZWRWYWx1ZXMuZm9yRWFjaCh4ID0+IHguaXNVbmtub3duID0geC5pc1Vua25vd24gPz8gdHJ1ZSk7IC8vIEFzc2lnbiB1bmtub3duIGZsYWcuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChbLi4uZGlzcGxheVZhbHVlcywgLi4ubG9hZGVkVmFsdWVzXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHN1Y2Nlc3NSZXN1bHQoZGlzcGxheVZhbHVlcykpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgLyoqXG4gICAqIFJlc3VsdHMgdG8gYmUgZGlzcGxheWVkIGlmIGZpbHRlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyZWRTZWFyY2hSZXN1bHRzU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxUPltdPj4gPSB0aGlzLmxvYWRSZXN1bHRzRGlzcGxheVZhbHVlcyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHZhbHVlcykgPT4gdGhpcy5maWx0ZXJJbnB1dFZhbHVlU3RyaW5nJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKHRleHQgPT4gY29tYmluZUxhdGVzdChbdGhpcy5fZmlsdGVyVmFsdWVzKHRleHQsIHZhbHVlcyksIHRoaXMuZGlzcGxheVZhbHVlc1N0YXRlJF0pLnBpcGUoXG4gICAgICAgIG1hcCgoW3ZhbHVlcywgZGlzcGxheVN0YXRlXSkgPT4gbWFwTG9hZGluZ1N0YXRlUmVzdWx0cyhkaXNwbGF5U3RhdGUsIHtcbiAgICAgICAgICBtYXBWYWx1ZTogKGRpc3BsYXlWYWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQ+W10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlSGFzaFNldCA9IG5ldyBTZXQodmFsdWVzLm1hcCh4ID0+IHRoaXMuaGFzaEZvclZhbHVlKHgpKSk7XG4gICAgICAgICAgICByZXR1cm4gZGlzcGxheVZhbHVlcy5maWx0ZXIoeCA9PiAheC5pc1Vua25vd24gJiYgdmFsdWVIYXNoU2V0Lmhhcyh4Ll9oYXNoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSksXG4gICAgICAgIHN0YXJ0V2l0aChiZWdpbkxvYWRpbmcoKSlcbiAgICAgICkpXG4gICAgKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBmaWx0ZXJlZFNlYXJjaFJlc3VsdHMkOiBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQ+W10+ID0gdGhpcy5maWx0ZXJlZFNlYXJjaFJlc3VsdHNTdGF0ZSQucGlwZShcbiAgICBtYXAoeCA9PiB4Py52YWx1ZSksXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGl0ZW1zJDogT2JzZXJ2YWJsZTxQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VD5bXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmZpbHRlcmVkU2VhcmNoUmVzdWx0cyQsIHRoaXMudmFsdWVzJF0pLnBpcGUoXG4gICAgbWFwKChbZGlzcGxheVZhbHVlcywgdmFsdWVzXSkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRIYXNoVmFsdWVzU2V0ID0gbmV3IFNldCh2YWx1ZXMubWFwKHggPT4gdGhpcy5oYXNoRm9yVmFsdWUoeCkpKTtcbiAgICAgIGxldCBpdGVtczogUGlja2FibGVJdGVtRmllbGRJdGVtPFQ+W10gPSBkaXNwbGF5VmFsdWVzLm1hcCgoeCkgPT4gKHsgaXRlbVZhbHVlOiB4LCBzZWxlY3RlZDogc2VsZWN0ZWRIYXNoVmFsdWVzU2V0Lmhhcyh4Ll9oYXNoKSB9KSk7XG5cbiAgICAgIGlmICh0aGlzLnNvcnRJdGVtcykge1xuICAgICAgICBpdGVtcyA9IHRoaXMuc29ydEl0ZW1zKGl0ZW1zKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaXRlbXNMb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZT4gPSB0aGlzLmxvYWRSZXN1bHRzRGlzcGxheVZhbHVlcyQucGlwZShcbiAgICBzd2l0Y2hNYXAoeCA9PiB0aGlzLml0ZW1zJC5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIG1hcCh4ID0+IHN1Y2Nlc3NSZXN1bHQoeCkpLFxuICAgICAgc3RhcnRXaXRoKGJlZ2luTG9hZGluZygpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKSlcbiAgKTtcblxuICAvKipcbiAgICogQ29udGV4dCB1c2VkIGZvciBtYW5hZ2luZyB0aGUgbG9hZGluZyBvZiBpdGVtcywgb3Igd2hlbiB0aGUgY3VycmVudCByZXN1bHRzIGNoYW5nZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQgPSBuZXcgTGlzdExvYWRpbmdTdGF0ZUNvbnRleHRJbnN0YW5jZSh7IG9iczogdGhpcy5pdGVtc0xvYWRpbmdTdGF0ZSQsIHNob3dMb2FkaW5nT25Ob1ZhbHVlOiBmYWxzZSB9KTtcblxuICByZWFkb25seSBmaWx0ZXJJdGVtc0xvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPiA9IHRoaXMuaXRlbXMkLnBpcGUoXG4gICAgbWFwKHggPT4gc3VjY2Vzc1Jlc3VsdCh4KSksXG4gICAgc3RhcnRXaXRoKGJlZ2luTG9hZGluZygpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBDb250ZXh0IHVzZWQgZm9yIHNlYXJjaGluZy9maWx0ZXJpbmcuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJSZXN1bHRzQ29udGV4dCA9IG5ldyBMaXN0TG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlKHsgb2JzOiB0aGlzLmZpbHRlcmVkU2VhcmNoUmVzdWx0c1N0YXRlJCwgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgbm9JdGVtc0F2YWlsYWJsZSQgPSB0aGlzLmZpbHRlckl0ZW1zTG9hZGluZ1N0YXRlJC5waXBlKGlzTGlzdExvYWRpbmdTdGF0ZUVtcHR5KCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIGdldCByZWFkb25seSgpOiBNYXliZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQudGVtcGxhdGVPcHRpb25zPy5yZWFkb25seTtcbiAgfVxuXG4gIGdldCBpc1JlYWRvbmx5T3JEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IHBpY2thYmxlRmllbGQoKTogUGlja2FibGVWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5waWNrYWJsZUZpZWxkO1xuICB9XG5cbiAgZ2V0IG11bHRpU2VsZWN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQubXVsdGlTZWxlY3QgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBhc0FycmF5VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5hc0FycmF5VmFsdWUgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJMYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmZpbHRlckxhYmVsO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5uYW1lID8/IChjYW1lbENhc2UodGhpcy5sYWJlbCA/PyB0aGlzLmtleSBhcyBzdHJpbmcpKTtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC50ZW1wbGF0ZU9wdGlvbnM/LmxhYmVsO1xuICB9XG5cbiAgZ2V0IGF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5maWVsZC50ZW1wbGF0ZU9wdGlvbnM/LmF0dHJpYnV0ZXM/LlsnYXV0b2NvbXBsZXRlJ10gYXMgYW55KSA/PyB0aGlzLmtleSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5jaGFuZ2VTZWxlY3Rpb25Nb2RlVG9WaWV3T25EaXNhYmxlZCA/PyBmYWxzZTtcbiAgfVxuXG4gIGdldCBzb3J0SXRlbXMoKTogTWF5YmU8UGlja2FibGVJdGVtRmllbGRJdGVtU29ydEZuPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5zb3J0SXRlbXM7XG4gIH1cblxuICBnZXQgaGFzaEZvclZhbHVlKCk6IFBpY2thYmxlVmFsdWVGaWVsZEhhc2hGbjxUPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5oYXNoRm9yVmFsdWUgPz8gKCh4KSA9PiB4IGFzIGFueSk7XG4gIH1cblxuICBnZXQgZGlzcGxheUZvclZhbHVlKCk6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlGbjxUPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5kaXNwbGF5Rm9yVmFsdWU7XG4gIH1cblxuICBnZXQgc2hvd0ZpbHRlcklucHV0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMucGlja2FibGVGaWVsZC5maWx0ZXJWYWx1ZXMpO1xuICB9XG5cbiAgZ2V0IGZpbHRlclZhbHVlc0ZuKCk6IFBpY2thYmxlVmFsdWVGaWVsZEZpbHRlckZuPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmZpbHRlclZhbHVlcyA/PyAoKF8sIHgpID0+IG9mKHgubWFwKHkgPT4geS52YWx1ZSkpKTtcbiAgfVxuXG4gIGdldCBza2lwRmlsdGVyRm5PbkVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc2tpcEZpbHRlckZuT25FbXB0eSA/PyB0cnVlO1xuICB9XG5cbiAgZ2V0IF9maWx0ZXJWYWx1ZXMoKTogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VD4ge1xuICAgIGxldCBmbjogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VD47XG5cbiAgICBpZiAodGhpcy5za2lwRmlsdGVyRm5PbkVtcHR5KSB7XG4gICAgICBmbiA9IChmaWx0ZXJUZXh0OiBNYXliZTxzdHJpbmc+LCB2YWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdKTogT2JzZXJ2YWJsZTxUW10+ID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gICAgICAgIGlmIChmaWx0ZXJUZXh0KSB7XG4gICAgICAgICAgcmVzdWx0ID0gdGhpcy5maWx0ZXJWYWx1ZXNGbihmaWx0ZXJUZXh0LCB2YWx1ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IG9mKHZhbHVlcy5tYXAoeCA9PiB4LnZhbHVlKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm4gPSB0aGlzLmZpbHRlclZhbHVlc0ZuO1xuICAgIH1cblxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIGdldCBzaG93VGV4dEZpbHRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLnNob3dUZXh0RmlsdGVyID8/IEJvb2xlYW4odGhpcy5waWNrYWJsZUZpZWxkLmZpbHRlclZhbHVlcyk7XG4gIH1cblxuICBnZXQgbG9hZFZhbHVlc0ZuKCk6IFBpY2thYmxlVmFsdWVGaWVsZExvYWRWYWx1ZXNGbjxUPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5sb2FkVmFsdWVzO1xuICB9XG5cbiAgZ2V0IHZhbHVlcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZU9uRm9ybUNvbnRyb2wodGhpcy5mb3JtQ29udHJvbC52YWx1ZSkgPz8gW107XG4gIH1cblxuICBnZXQgZm9vdGVyQ29uZmlnKCk6IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuZm9vdGVyQ29uZmlnO1xuICB9XG5cbiAgbG9hZERpc3BsYXlWYWx1ZXNGb3JWYWx1ZXModmFsdWVzOiBUW10pOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxUPltdPj4ge1xuICAgIHJldHVybiB0aGlzLmxvYWREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXModmFsdWVzLm1hcCgodmFsdWUpID0+ICh7IHZhbHVlIH0pKSk7XG4gIH1cblxuICBsb2FkRGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VD5bXSk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQ+W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlcykucGlwZShcbiAgICAgIG1hcCgoZGlzcGxheVZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VD5bXSkgPT4gc3VjY2Vzc1Jlc3VsdChkaXNwbGF5VmFsdWVzKSksXG4gICAgICBzdGFydFdpdGgoYmVnaW5Mb2FkaW5nKCkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VD5bXSk6IE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VD5bXT4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5SGFzaE1hcC5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGRpc3BsYXlNYXApID0+IHtcbiAgICAgICAgY29uc3QgbWFwcGluZ1Jlc3VsdCA9IHZhbHVlc1xuICAgICAgICAgIC5tYXAoeCA9PiBbeCwgdGhpcy5oYXNoRm9yVmFsdWUoeC52YWx1ZSldKVxuICAgICAgICAgIC5tYXAoKFt4LCBoYXNoXSwgaSkgPT4gW2ksIGhhc2gsIHgsIGRpc3BsYXlNYXAuZ2V0KGhhc2gpXSBhcyBbbnVtYmVyLCBhbnksIFBpY2thYmxlVmFsdWVGaWVsZFZhbHVlPFQ+LCBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxUPl0pO1xuXG4gICAgICAgIGNvbnN0IGhhc0Rpc3BsYXkgPSBtYXBwaW5nUmVzdWx0LmZpbHRlcih4ID0+IEJvb2xlYW4oeFszXSkpO1xuICAgICAgICBjb25zdCBuZWVkc0Rpc3BsYXkgPSBtYXBwaW5nUmVzdWx0LmZpbHRlcih4ID0+ICF4WzNdKTtcblxuICAgICAgICBpZiAobmVlZHNEaXNwbGF5Lmxlbmd0aCA+IDApIHtcblxuICAgICAgICAgIC8vIEdvIGdldCB0aGUgZGlzcGxheSB2YWx1ZS5cbiAgICAgICAgICBjb25zdCBkaXNwbGF5VmFsdWVzT2JzID0gdGhpcy5kaXNwbGF5Rm9yVmFsdWUobmVlZHNEaXNwbGF5Lm1hcCh4ID0+IHhbMl0pKTtcblxuICAgICAgICAgIHJldHVybiBkaXNwbGF5VmFsdWVzT2JzLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgbWFwKChkaXNwbGF5UmVzdWx0cykgPT4ge1xuXG4gICAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlSZXN1bHRzV2l0aEhhc2g6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQ+W10gPSBkaXNwbGF5UmVzdWx0cy5tYXAoKHgpID0+IHtcbiAgICAgICAgICAgICAgICAoeCBhcyBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxUPikuX2hhc2ggPSB0aGlzLmhhc2hGb3JWYWx1ZSh4LnZhbHVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHggYXMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VD4pO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBtYXAgdG8gcmUtam9pbiB2YWx1ZXMgbGF0ZXIuXG4gICAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlSZXN1bHRzTWFwcGluZzogW1BpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQ+LCBhbnldW10gPSBkaXNwbGF5UmVzdWx0c1dpdGhIYXNoLm1hcCh4ID0+IFt4LCB4Ll9oYXNoXSk7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlSW5kZXhIYXNoTWFwID0gbmV3IE1hcChkaXNwbGF5UmVzdWx0c01hcHBpbmcubWFwKChbeCwgaGFzaF0pID0+IFtoYXNoLCB4XSkpO1xuXG4gICAgICAgICAgICAgIC8vIFVwZGF0ZSBkaXNwbGF5TWFwLiBObyBuZWVkIHRvIHB1c2ggYW4gdXBkYXRlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgICAgICAgZGlzcGxheVJlc3VsdHNNYXBwaW5nLmZvckVhY2goKFt4LCBoYXNoXSkgPT4gZGlzcGxheU1hcC5zZXQoaGFzaCwgeCkpO1xuXG4gICAgICAgICAgICAgIC8vIFppcCB2YWx1ZXMgYmFjayB0b2dldGhlci5cbiAgICAgICAgICAgICAgY29uc3QgbmV3RGlzcGxheVZhbHVlcyA9IG1hcHBpbmdSZXN1bHQubWFwKHggPT4geFszXSA/PyB2YWx1ZUluZGV4SGFzaE1hcC5nZXQoeFsxXSkpO1xuXG4gICAgICAgICAgICAgIC8vIFJldHVybiBkaXNwbGF5IHZhbHVlcy5cbiAgICAgICAgICAgICAgcmV0dXJuIG5ld0Rpc3BsYXlWYWx1ZXM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAvLyBJZiBhbGwgZGlzcGxheSB2YWx1ZXMgYXJlIGhhc2hlZCByZXR1cm4gdGhhdC5cbiAgICAgICAgICByZXR1cm4gb2YoaGFzRGlzcGxheS5tYXAoeCA9PiB4WzNdKSkgYXMgT2JzZXJ2YWJsZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxUPltdPjtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2xPYnMubmV4dCh0aGlzLmZvcm1Db250cm9sKTtcblxuICAgIC8vIEZvY3VzIGFmdGVyIGZpbmlzaGVkIGxvYWRpbmcgZm9yIHRoZSBmaXJzdCB0aW1lLlxuICAgIHRoaXMuY29udGV4dC5sb2FkaW5nJC5waXBlKFxuICAgICAgZGVsYXkoMTApLFxuICAgICAgZmlsdGVyKHggPT4geCksXG4gICAgICBmaXJzdCgpLFxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVyTWF0SW5wdXQ/LmZvY3VzKCk7XG4gICAgfSlcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fZGlzcGxheUhhc2hNYXAuY29tcGxldGUoKTtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZmlsdGVyUmVzdWx0c0NvbnRleHQuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9nZXRWYWx1ZU9uRm9ybUNvbnRyb2wodmFsdWVPbkZvcm1Db250cm9sOiBhbnkpOiBUW10ge1xuICAgIGNvbnN0IHZhbHVlID0gKHZhbHVlT25Gb3JtQ29udHJvbCAhPSBudWxsKSA/IFtdLmNvbmNhdCh2YWx1ZU9uRm9ybUNvbnRyb2wpIDogW107ICAvLyBBbHdheXMgcmV0dXJuIGFuIGFycmF5LlxuICAgIHJldHVybiB2YWx1ZSBhcyBUW107XG4gIH1cblxuICBhZGRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmFsdWVzKFsuLi50aGlzLnZhbHVlcywgdmFsdWVdKTtcbiAgfVxuXG4gIHJlbW92ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgY29uc3QgaGFzaFRvRmlsdGVyID0gdGhpcy5oYXNoRm9yVmFsdWUodmFsdWUpO1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWVzLmZpbHRlcih4ID0+IHRoaXMuaGFzaEZvclZhbHVlKHgpICE9PSBoYXNoVG9GaWx0ZXIpO1xuICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcyk7XG4gIH1cblxuICBzZXRWYWx1ZXModmFsdWVzOiBUW10pOiB2b2lkIHtcblxuICAgIC8vIFVzZSB0byBmaWx0ZXIgbm9uLXVuaXF1ZSB2YWx1ZXMuXG4gICAgaWYgKHRoaXMuaGFzaEZvclZhbHVlKSB7XG4gICAgICB2YWx1ZXMgPSBmaW5kVW5pcXVlKHZhbHVlcywgdGhpcy5oYXNoRm9yVmFsdWUpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgdmFsdWVzID0gW3ZhbHVlc1swXV0uZmlsdGVyKHggPT4geCAhPSBudWxsKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRWYWx1ZU9uRm9ybUNvbnRyb2wodmFsdWVzKTtcbiAgfVxuXG4gIC8vIE1BUks6IEludGVybmFsXG4gIHByb3RlY3RlZCBfc2V0VmFsdWVPbkZvcm1Db250cm9sKHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgbGV0IG5ld1ZhbHVlOiBUIHwgVFtdID0gdmFsdWVzO1xuXG4gICAgaWYgKCF0aGlzLmFzQXJyYXlWYWx1ZSkge1xuICAgICAgbmV3VmFsdWUgPSBbdmFsdWVzWzBdXS5maWx0ZXIoeCA9PiB4ICE9IG51bGwpWzBdO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgfVxuXG59XG4iXX0=
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvc2VsZWN0aW9uL3BpY2thYmxlL3BpY2thYmxlLmZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEwsT0FBTyxFQUFnQixtQkFBbUIsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xMLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBcUZ4Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxxQ0FBNkYsU0FBUSxTQUEwRTtJQUQ1TDs7UUFNVyxjQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFakMsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBeUIs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QVksQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxpQkFBaUI7SUFDUCxzQkFBc0IsQ0FBQyxNQUFXO1FBQzFDLElBQUksUUFBUSxHQUFZLE1BQU0sQ0FBQztRQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQzs7a0lBOVdVLHFDQUFxQztzSEFBckMscUNBQXFDOzJGQUFyQyxxQ0FBcUM7a0JBRGpELFNBQVM7OEJBSVIsY0FBYztzQkFEYixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyB9IGZyb20gXCJAZGVyZWVrYi9kYngtY29yZVwiO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlLCBzdWNjZXNzUmVzdWx0LCBtYXBMb2FkaW5nU3RhdGVSZXN1bHRzLCBmaWx0ZXJNYXliZSwgTGlzdExvYWRpbmdTdGF0ZUNvbnRleHRJbnN0YW5jZSwgaXNMaXN0TG9hZGluZ1N0YXRlRW1wdHksIHN0YXJ0V2l0aEJlZ2luTG9hZGluZyB9IGZyb20gXCJAZGVyZWVrYi9yeGpzXCI7XG5pbXBvcnQgeyBQcmltYXRpdmVLZXksIGNvbnZlcnRNYXliZVRvQXJyYXksIGZpbmRVbmlxdWUsIG1ha2VWYWx1ZXNHcm91cE1hcCwgTWF5YmUsIEFycmF5T3JWYWx1ZSB9IGZyb20gXCJAZGVyZWVrYi91dGlsXCI7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7IEZpZWxkVHlwZUNvbmZpZywgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tIFwiQG5neC1mb3JtbHkvY29yZVwiO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSBcIkBuZ3gtZm9ybWx5L21hdGVyaWFsXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBmaWx0ZXIsIG1hcCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwLCBzdGFydFdpdGgsIHNoYXJlUmVwbGF5LCBtZXJnZU1hcCwgZmlyc3QsIGRlbGF5IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlGbiwgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlLCBQaWNrYWJsZVZhbHVlRmllbGRGaWx0ZXJGbiwgUGlja2FibGVWYWx1ZUZpZWxkSGFzaEZuLCBQaWNrYWJsZVZhbHVlRmllbGRMb2FkVmFsdWVzRm4sIFBpY2thYmxlVmFsdWVGaWVsZFZhbHVlIH0gZnJvbSBcIi4vcGlja2FibGVcIjtcbmltcG9ydCB7IERieFZhbHVlTGlzdEl0ZW0gfSBmcm9tIFwiQGRlcmVla2IvZGJ4LXdlYlwiO1xuaW1wb3J0IHsgY2FtZWxDYXNlIH0gZnJvbSBcImNoYW5nZS1jYXNlXCI7XG5cbi8qKlxuICogV3JhcHMgdGhlIHNlbGVjdGVkIHN0YXRlIHdpdGggdGhlIGl0ZW1zLlxuICovXG5leHBvcnQgdHlwZSBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VCwgTSA9IHVua25vd24+ID0gRGJ4VmFsdWVMaXN0SXRlbTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VCwgTT4+XG5cbmV4cG9ydCB0eXBlIFBpY2thYmxlSXRlbUZpZWxkSXRlbVNvcnRGbjxULCBNID0gdW5rbm93bj4gPSAoaXRlbXM6IFBpY2thYmxlSXRlbUZpZWxkSXRlbTxULCBNPltdKSA9PiBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VCwgTT5bXTtcblxuZXhwb3J0IGludGVyZmFjZSBQaWNrYWJsZVZhbHVlRmllbGRzRmllbGRDb25maWc8VCwgTSA9IHVua25vd24sIEggZXh0ZW5kcyBQcmltYXRpdmVLZXkgPSBQcmltYXRpdmVLZXk+IHtcbiAgLyoqXG4gICAqIExvYWRzIGFsbCBwaWNrYWJsZSB2YWx1ZXMuXG4gICAqL1xuICBsb2FkVmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGRMb2FkVmFsdWVzRm48VCwgTT47XG4gIC8qKlxuICAgKiBVc2VkIGZvciBidWlsZGluZyBhIGRpc3BsYXkgdmFsdWUgZ2l2ZW4gdGhlIGlucHV0LlxuICAgKi9cbiAgZGlzcGxheUZvclZhbHVlOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5Rm48VCwgTT47XG4gIC8qKlxuICAgKiBVc2VkIGZvciBoYXNoaW5nIGRpc3BsYXkgdmFsdWVzIGFuZCBvbWl0dGluZyByZXBlYXQgdmFsdWVzLlxuICAgKlxuICAgKiBJZiBoYXNoRm9yVmFsdWUgaXMgbm90IHByb3ZpZGVkLCB0aGUgdmFsdWUncyB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgaXMuXG4gICAqL1xuICBoYXNoRm9yVmFsdWU/OiBQaWNrYWJsZVZhbHVlRmllbGRIYXNoRm48VCwgSD47XG4gIC8qKlxuICAgKiBVc2VkIGZvciBmaWx0ZXJpbmcgdmFsdWVzIHZpYSB0aGUgc2VhcmNoIHRleHQuXG4gICAqL1xuICBmaWx0ZXJWYWx1ZXM/OiBQaWNrYWJsZVZhbHVlRmllbGRGaWx0ZXJGbjxULCBNPjtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIHNvcnRpbmcgdGhlIGl0ZW1zIGJlZm9yZSB0aGV5IGFyZSBkaXNwbGF5ZWQuXG4gICAqIFxuICAgKiBTaG91bGQgb25seSBiZSB1c2VkIHRvIHNvcnQgdmFsdWVzLlxuICAgKi9cbiAgc29ydEl0ZW1zPzogUGlja2FibGVJdGVtRmllbGRJdGVtU29ydEZuPFQsIE0+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgbXVsdGlwbGUgaXRlbXMgdG8gYmUgc2VsZWN0ZWQuXG4gICAqL1xuICBtdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzZXQvZ2V0IHZhbHVlcyBhcyBhbiBhcnJheSBvciBhIHNpbmdsZSB2YWx1ZS4gSWYgc2V0IGZhbHNlLCBtdWx0aVNlbGVjdCBpcyBpZ25vcmVkLlxuICAgKi9cbiAgYXNBcnJheVZhbHVlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIHRleHQgZmlsdGVyLiBUcnVlIGJ5IGRlZmF1bHQgaWYgZmlsdGVyVmFsdWVzIGlzIHByb3ZpZGVkLlxuICAgKi9cbiAgc2hvd1RleHRGaWx0ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2tpcCB0aGUgZmlsdGVyIGZ1bmN0aW9uIHdoZW4gdGhlIGlucHV0IGlzIGVtcHR5LlxuICAgKiBcbiAgICogVHJ1ZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgc2tpcEZpbHRlckZuT25FbXB0eT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBGaWx0ZXIgTGFiZWxcbiAgICovXG4gIGZpbHRlckxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHZhbHVlcyB0aGF0IGNhbiBiZSBwaWNrZWRcbiAgICovXG4gIG1heFBpY2tzPzogbnVtYmVyO1xuICAvKipcbiAgICogT3B0aW9uYWwgZGVzY3JpcHRpb24vaGludCB0byBkaXNwbGF5LlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGb290ZXIgRGlzcGxheVxuICAgKi9cbiAgZm9vdGVyQ29uZmlnPzogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnO1xuICAvKipcbiAgICogQ2hhbmdlcyB0aGUgc2VsZWN0aW9uIG1vZGUgb2YgdGhlIGxpc3QgdG8gXCJ2aWV3XCIgbW9kZSBvbiBkaXNhYmxlZCwgaGlkaW5nIHRoZSBzZWxlY3Rpb24gYm94ZXMuXG4gICAqL1xuICBjaGFuZ2VTZWxlY3Rpb25Nb2RlVG9WaWV3T25EaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2FibGVWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnPFQsIE0gPSB1bmtub3duLCBIIGV4dGVuZHMgUHJpbWF0aXZlS2V5ID0gUHJpbWF0aXZlS2V5PiBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcGlja2FibGVGaWVsZDogUGlja2FibGVWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnPFQsIE0sIEg+O1xufVxuXG4vKipcbiAqIERpc3BsYXllZCB2YWx1ZSB3aXRoIHRoZSBjb21wdXRlZCBoYXNoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0gPSB1bmtub3duLCBIIGV4dGVuZHMgUHJpbWF0aXZlS2V5ID0gUHJpbWF0aXZlS2V5PiBleHRlbmRzIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNPiB7XG4gIF9oYXNoOiBIO1xufVxuXG4vKipcbiAqIFVzZWQgZm9yIHBpY2tpbmcgcHJlLXNldCB2YWx1ZXMgdXNpbmcgaXRlbXMgYXMgdGhlIHByZXNlbnRhdGlvbi5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQWJzdHJhY3REYnhQaWNrYWJsZUl0ZW1GaWVsZERpcmVjdGl2ZTxULCBNID0gdW5rbm93biwgSCBleHRlbmRzIFByaW1hdGl2ZUtleSA9IFByaW1hdGl2ZUtleT4gZXh0ZW5kcyBGaWVsZFR5cGU8UGlja2FibGVWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnPFQsIE0sIEg+ICYgRmllbGRUeXBlQ29uZmlnPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKCdmaWx0ZXJNYXRJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGZpbHRlck1hdElucHV0ITogTWF0SW5wdXQ7XG5cbiAgcmVhZG9ubHkgaW5wdXRDdHJsID0gbmV3IEZvcm1Db250cm9sKCcnKTtcblxuICBwcml2YXRlIF9mb3JtQ29udHJvbE9icyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8QWJzdHJhY3RDb250cm9sPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgZm9ybUNvbnRyb2wkID0gdGhpcy5fZm9ybUNvbnRyb2xPYnMucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICBwcml2YXRlIF9kaXNwbGF5SGFzaE1hcCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPEgsIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNPj4+KG5ldyBNYXAoKSk7XG5cbiAgcmVhZG9ubHkgZmlsdGVySW5wdXRWYWx1ZSQ6IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4gPSB0aGlzLmlucHV0Q3RybC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSk7XG4gIHJlYWRvbmx5IGZpbHRlcklucHV0VmFsdWVTdHJpbmckOiBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+ID0gdGhpcy5maWx0ZXJJbnB1dFZhbHVlJC5waXBlKFxuICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBsb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXNTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+PiA9IHRoaXMuZm9ybUNvbnRyb2wkLnBpcGUoXG4gICAgZmlyc3QoKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5sb2FkVmFsdWVzRm4oKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh4KSA9PiB0aGlzLmxvYWREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXMoeCkpLFxuICAgICAgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nKCksXG4gICAgKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBfZm9ybUNvbnRyb2xWYWx1ZTogT2JzZXJ2YWJsZTxUIHwgVFtdPiA9IHRoaXMuZm9ybUNvbnRyb2wkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGNvbnRyb2wgPT4gY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKSlcbiAgKTtcblxuICByZWFkb25seSBsb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXMkOiBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+ID0gdGhpcy5sb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXNTdGF0ZSQucGlwZShcbiAgICBtYXAoeCA9PiB4Py52YWx1ZSA/PyBbXSlcbiAgKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZXMgaW4gdGhlIGZvcm0gY29udHJvbC5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlcyQ6IE9ic2VydmFibGU8VFtdPiA9IHRoaXMuX2Zvcm1Db250cm9sVmFsdWUucGlwZShcbiAgICBtYXAoY29udmVydE1heWJlVG9BcnJheSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZXMgd2l0aCB0aGVpciBkaXNwbGF5IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheVZhbHVlc1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmxvYWRSZXN1bHRzRGlzcGxheVZhbHVlcyQsIHRoaXMudmFsdWVzJF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFtkaXNwbGF5VmFsdWVzLCBjdXJyZW50VmFsdWVzXSkgPT4ge1xuICAgICAgICBjb25zdCBkaXNwbGF5VmFsdWVzTWFwID0gbWFrZVZhbHVlc0dyb3VwTWFwKGRpc3BsYXlWYWx1ZXMsICh4KSA9PiB0aGlzLmhhc2hGb3JWYWx1ZSh4LnZhbHVlKSk7XG4gICAgICAgIGNvbnN0IHZhbHVlc05vdEluRGlzcGxheU1hcDogVFtdID0gW107XG5cbiAgICAgICAgY3VycmVudFZhbHVlcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5oYXNoRm9yVmFsdWUoeCk7XG4gICAgICAgICAgY29uc3QgZGlzcGxheVZhbHVlOiBNYXliZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPj4gPSBkaXNwbGF5VmFsdWVzTWFwLmdldChrZXkpPy5bMF07XG5cbiAgICAgICAgICBpZiAoIWRpc3BsYXlWYWx1ZSkge1xuICAgICAgICAgICAgdmFsdWVzTm90SW5EaXNwbGF5TWFwLnB1c2goeCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodmFsdWVzTm90SW5EaXNwbGF5TWFwLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmxvYWREaXNwbGF5VmFsdWVzRm9yVmFsdWVzKHZhbHVlc05vdEluRGlzcGxheU1hcCkucGlwZShcbiAgICAgICAgICAgIG1hcCh4ID0+IG1hcExvYWRpbmdTdGF0ZVJlc3VsdHMoeCwge1xuICAgICAgICAgICAgICBtYXBWYWx1ZTogKGxvYWRlZFZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXSkgPT4ge1xuICAgICAgICAgICAgICAgIGxvYWRlZFZhbHVlcy5mb3JFYWNoKHggPT4geC5pc1Vua25vd24gPSB4LmlzVW5rbm93biA/PyB0cnVlKTsgLy8gQXNzaWduIHVua25vd24gZmxhZy5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFsuLi5kaXNwbGF5VmFsdWVzLCAuLi5sb2FkZWRWYWx1ZXNdKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2Yoc3VjY2Vzc1Jlc3VsdChkaXNwbGF5VmFsdWVzKSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAvKipcbiAgICogUmVzdWx0cyB0byBiZSBkaXNwbGF5ZWQgaWYgZmlsdGVyZWQuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJlZFNlYXJjaFJlc3VsdHNTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+PiA9IHRoaXMubG9hZFJlc3VsdHNEaXNwbGF5VmFsdWVzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgodmFsdWVzKSA9PiB0aGlzLmZpbHRlcklucHV0VmFsdWVTdHJpbmckLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAodGV4dCA9PiBjb21iaW5lTGF0ZXN0KFt0aGlzLl9maWx0ZXJWYWx1ZXModGV4dCwgdmFsdWVzKSwgdGhpcy5kaXNwbGF5VmFsdWVzU3RhdGUkXSkucGlwZShcbiAgICAgICAgbWFwKChbdmFsdWVzLCBkaXNwbGF5U3RhdGVdKSA9PiBtYXBMb2FkaW5nU3RhdGVSZXN1bHRzKGRpc3BsYXlTdGF0ZSwge1xuICAgICAgICAgIG1hcFZhbHVlOiAoZGlzcGxheVZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVIYXNoU2V0ID0gbmV3IFNldCh2YWx1ZXMubWFwKHggPT4gdGhpcy5oYXNoRm9yVmFsdWUoeCkpKTtcbiAgICAgICAgICAgIHJldHVybiBkaXNwbGF5VmFsdWVzLmZpbHRlcih4ID0+ICF4LmlzVW5rbm93biAmJiB2YWx1ZUhhc2hTZXQuaGFzKHguX2hhc2gpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKSxcbiAgICAgICAgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nKClcbiAgICAgICkpXG4gICAgKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBmaWx0ZXJlZFNlYXJjaFJlc3VsdHMkOiBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+ID0gdGhpcy5maWx0ZXJlZFNlYXJjaFJlc3VsdHNTdGF0ZSQucGlwZShcbiAgICBtYXAoeCA9PiB4Py52YWx1ZSksXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGl0ZW1zJDogT2JzZXJ2YWJsZTxQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VCwgTT5bXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmZpbHRlcmVkU2VhcmNoUmVzdWx0cyQsIHRoaXMudmFsdWVzJF0pLnBpcGUoXG4gICAgbWFwKChbZGlzcGxheVZhbHVlcywgdmFsdWVzXSkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRIYXNoVmFsdWVzU2V0ID0gbmV3IFNldCh2YWx1ZXMubWFwKHggPT4gdGhpcy5oYXNoRm9yVmFsdWUoeCkpKTtcbiAgICAgIGxldCBpdGVtczogUGlja2FibGVJdGVtRmllbGRJdGVtPFQsIE0+W10gPSBkaXNwbGF5VmFsdWVzLm1hcCgoeCkgPT4gKHsgaXRlbVZhbHVlOiB4LCBzZWxlY3RlZDogc2VsZWN0ZWRIYXNoVmFsdWVzU2V0Lmhhcyh4Ll9oYXNoKSB9KSk7XG5cbiAgICAgIGlmICh0aGlzLnNvcnRJdGVtcykge1xuICAgICAgICBpdGVtcyA9IHRoaXMuc29ydEl0ZW1zKGl0ZW1zKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaXRlbXNMb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VD5bXT4+ID0gdGhpcy5sb2FkUmVzdWx0c0Rpc3BsYXlWYWx1ZXMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaXRlbXMkLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgbWFwKHggPT4gc3VjY2Vzc1Jlc3VsdCh4KSksXG4gICAgICBzdGFydFdpdGhCZWdpbkxvYWRpbmcoKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKSlcbiAgKTtcblxuICAvKipcbiAgICogQ29udGV4dCB1c2VkIGZvciBtYW5hZ2luZyB0aGUgbG9hZGluZyBvZiBpdGVtcywgb3Igd2hlbiB0aGUgY3VycmVudCByZXN1bHRzIGNoYW5nZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQgPSBuZXcgTGlzdExvYWRpbmdTdGF0ZUNvbnRleHRJbnN0YW5jZSh7IG9iczogdGhpcy5pdGVtc0xvYWRpbmdTdGF0ZSQsIHNob3dMb2FkaW5nT25Ob1ZhbHVlOiBmYWxzZSB9KTtcblxuICByZWFkb25seSBmaWx0ZXJJdGVtc0xvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPltdPj4gPSB0aGlzLml0ZW1zJC5waXBlKFxuICAgIG1hcCh4ID0+IHN1Y2Nlc3NSZXN1bHQoeCkpLFxuICAgIHN0YXJ0V2l0aEJlZ2luTG9hZGluZygpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIENvbnRleHQgdXNlZCBmb3Igc2VhcmNoaW5nL2ZpbHRlcmluZy5cbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlclJlc3VsdHNDb250ZXh0ID0gbmV3IExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UoeyBvYnM6IHRoaXMuZmlsdGVyZWRTZWFyY2hSZXN1bHRzU3RhdGUkLCBzaG93TG9hZGluZ09uTm9WYWx1ZTogdHJ1ZSB9KTtcblxuICByZWFkb25seSBub0l0ZW1zQXZhaWxhYmxlJCA9IHRoaXMuZmlsdGVySXRlbXNMb2FkaW5nU3RhdGUkLnBpcGUoaXNMaXN0TG9hZGluZ1N0YXRlRW1wdHkoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgZ2V0IHJlYWRvbmx5KCk6IE1heWJlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC50ZW1wbGF0ZU9wdGlvbnM/LnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGlzUmVhZG9ubHlPckRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBnZXQgcGlja2FibGVGaWVsZCgpOiBQaWNrYWJsZVZhbHVlRmllbGRzRmllbGRDb25maWc8VCwgTSwgSD4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnBpY2thYmxlRmllbGQ7XG4gIH1cblxuICBnZXQgbXVsdGlTZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5tdWx0aVNlbGVjdCA/PyB0cnVlO1xuICB9XG5cbiAgZ2V0IGFzQXJyYXlWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmFzQXJyYXlWYWx1ZSA/PyB0cnVlO1xuICB9XG5cbiAgZ2V0IGZpbHRlckxhYmVsKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuZmlsdGVyTGFiZWw7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLm5hbWUgPz8gKGNhbWVsQ2FzZSh0aGlzLmxhYmVsID8/IHRoaXMua2V5IGFzIHN0cmluZykpO1xuICB9XG5cbiAgZ2V0IGxhYmVsKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnRlbXBsYXRlT3B0aW9ucz8ubGFiZWw7XG4gIH1cblxuICBnZXQgYXV0b2NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICgodGhpcy5maWVsZC50ZW1wbGF0ZU9wdGlvbnM/LmF0dHJpYnV0ZXM/LlsnYXV0b2NvbXBsZXRlJ10pID8/IHRoaXMua2V5KSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5jaGFuZ2VTZWxlY3Rpb25Nb2RlVG9WaWV3T25EaXNhYmxlZCA/PyBmYWxzZTtcbiAgfVxuXG4gIGdldCBzb3J0SXRlbXMoKTogTWF5YmU8UGlja2FibGVJdGVtRmllbGRJdGVtU29ydEZuPFQsIE0+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5zb3J0SXRlbXM7XG4gIH1cblxuICBnZXQgaGFzaEZvclZhbHVlKCk6IFBpY2thYmxlVmFsdWVGaWVsZEhhc2hGbjxULCBIPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5oYXNoRm9yVmFsdWUgPz8gKCh4KSA9PiB4IGFzIHVua25vd24gYXMgSCk7XG4gIH1cblxuICBnZXQgZGlzcGxheUZvclZhbHVlKCk6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlGbjxULCBNPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5kaXNwbGF5Rm9yVmFsdWU7XG4gIH1cblxuICBnZXQgc2hvd0ZpbHRlcklucHV0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMucGlja2FibGVGaWVsZC5maWx0ZXJWYWx1ZXMpO1xuICB9XG5cbiAgZ2V0IGZpbHRlclZhbHVlc0ZuKCk6IFBpY2thYmxlVmFsdWVGaWVsZEZpbHRlckZuPFQsIE0+IHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLmZpbHRlclZhbHVlcyA/PyAoKF8sIHgpID0+IG9mKHgubWFwKHkgPT4geS52YWx1ZSkpKTtcbiAgfVxuXG4gIGdldCBza2lwRmlsdGVyRm5PbkVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuc2tpcEZpbHRlckZuT25FbXB0eSA/PyB0cnVlO1xuICB9XG5cbiAgZ2V0IF9maWx0ZXJWYWx1ZXMoKTogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VCwgTT4ge1xuICAgIGxldCBmbjogUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VCwgTT47XG5cbiAgICBpZiAodGhpcy5za2lwRmlsdGVyRm5PbkVtcHR5KSB7XG4gICAgICBmbiA9IChmaWx0ZXJUZXh0OiBNYXliZTxzdHJpbmc+LCB2YWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNPltdKTogT2JzZXJ2YWJsZTxUW10+ID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gICAgICAgIGlmIChmaWx0ZXJUZXh0KSB7XG4gICAgICAgICAgcmVzdWx0ID0gdGhpcy5maWx0ZXJWYWx1ZXNGbihmaWx0ZXJUZXh0LCB2YWx1ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IG9mKHZhbHVlcy5tYXAoeCA9PiB4LnZhbHVlKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm4gPSB0aGlzLmZpbHRlclZhbHVlc0ZuO1xuICAgIH1cblxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIGdldCBzaG93VGV4dEZpbHRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5waWNrYWJsZUZpZWxkLnNob3dUZXh0RmlsdGVyID8/IEJvb2xlYW4odGhpcy5waWNrYWJsZUZpZWxkLmZpbHRlclZhbHVlcyk7XG4gIH1cblxuICBnZXQgbG9hZFZhbHVlc0ZuKCk6IFBpY2thYmxlVmFsdWVGaWVsZExvYWRWYWx1ZXNGbjxULCBNPiB7XG4gICAgcmV0dXJuIHRoaXMucGlja2FibGVGaWVsZC5sb2FkVmFsdWVzO1xuICB9XG5cbiAgZ2V0IHZhbHVlcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZU9uRm9ybUNvbnRyb2wodGhpcy5mb3JtQ29udHJvbC52YWx1ZSkgPz8gW107XG4gIH1cblxuICBnZXQgZm9vdGVyQ29uZmlnKCk6IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLnBpY2thYmxlRmllbGQuZm9vdGVyQ29uZmlnO1xuICB9XG5cbiAgbG9hZERpc3BsYXlWYWx1ZXNGb3JWYWx1ZXModmFsdWVzOiBUW10pOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdPj4ge1xuICAgIHJldHVybiB0aGlzLmxvYWREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXModmFsdWVzLm1hcCgodmFsdWUpID0+ICh7IHZhbHVlIH0pKSk7XG4gIH1cblxuICBsb2FkRGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTT5bXSk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlcykucGlwZShcbiAgICAgIG1hcCgoZGlzcGxheVZhbHVlczogUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5bXSkgPT4gc3VjY2Vzc1Jlc3VsdChkaXNwbGF5VmFsdWVzKSksXG4gICAgICBzdGFydFdpdGhCZWdpbkxvYWRpbmcoKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIGdldERpc3BsYXlWYWx1ZXNGb3JGaWVsZFZhbHVlcyh2YWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZFZhbHVlPFQsIE0+W10pOiBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlzcGxheUhhc2hNYXAucGlwZShcbiAgICAgIG1lcmdlTWFwKChkaXNwbGF5TWFwKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcHBpbmdSZXN1bHQgPSB2YWx1ZXNcbiAgICAgICAgICAubWFwKHggPT4gW3gsIHRoaXMuaGFzaEZvclZhbHVlKHgudmFsdWUpXSBhcyBbUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTT4sIEhdKVxuICAgICAgICAgIC5tYXAoKFt4LCBoYXNoXSwgaSkgPT4gW2ksIGhhc2gsIHgsIGRpc3BsYXlNYXAuZ2V0KGhhc2gpXSBhcyBbbnVtYmVyLCBILCBQaWNrYWJsZVZhbHVlRmllbGRWYWx1ZTxULCBNPiwgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD5dKTtcblxuICAgICAgICBjb25zdCBoYXNEaXNwbGF5ID0gbWFwcGluZ1Jlc3VsdC5maWx0ZXIoeCA9PiBCb29sZWFuKHhbM10pKTtcbiAgICAgICAgY29uc3QgbmVlZHNEaXNwbGF5ID0gbWFwcGluZ1Jlc3VsdC5maWx0ZXIoeCA9PiAheFszXSk7XG5cbiAgICAgICAgaWYgKG5lZWRzRGlzcGxheS5sZW5ndGggPiAwKSB7XG5cbiAgICAgICAgICAvLyBHbyBnZXQgdGhlIGRpc3BsYXkgdmFsdWUuXG4gICAgICAgICAgY29uc3QgZGlzcGxheVZhbHVlc09icyA9IHRoaXMuZGlzcGxheUZvclZhbHVlKG5lZWRzRGlzcGxheS5tYXAoeCA9PiB4WzJdKSk7XG5cbiAgICAgICAgICByZXR1cm4gZGlzcGxheVZhbHVlc09icy5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIG1hcCgoZGlzcGxheVJlc3VsdHMpID0+IHtcblxuICAgICAgICAgICAgICBjb25zdCBkaXNwbGF5UmVzdWx0c1dpdGhIYXNoOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPltdID0gZGlzcGxheVJlc3VsdHMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgKHggYXMgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlV2l0aEhhc2g8VCwgTSwgSD4pLl9oYXNoID0gdGhpcy5oYXNoRm9yVmFsdWUoeC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuICh4IGFzIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+KTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgLy8gQ3JlYXRlIGEgbWFwIHRvIHJlLWpvaW4gdmFsdWVzIGxhdGVyLlxuICAgICAgICAgICAgICBjb25zdCBkaXNwbGF5UmVzdWx0c01hcHBpbmc6IFtQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWVXaXRoSGFzaDxULCBNLCBIPiwgSF1bXSA9IGRpc3BsYXlSZXN1bHRzV2l0aEhhc2gubWFwKHggPT4gW3gsIHguX2hhc2hdKTtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleEhhc2hNYXAgPSBuZXcgTWFwKGRpc3BsYXlSZXN1bHRzTWFwcGluZy5tYXAoKFt4LCBoYXNoXSkgPT4gW2hhc2gsIHhdKSk7XG5cbiAgICAgICAgICAgICAgLy8gVXBkYXRlIGRpc3BsYXlNYXAuIE5vIG5lZWQgdG8gcHVzaCBhbiB1cGRhdGUgbm90aWZpY2F0aW9uLlxuICAgICAgICAgICAgICBkaXNwbGF5UmVzdWx0c01hcHBpbmcuZm9yRWFjaCgoW3gsIGhhc2hdKSA9PiBkaXNwbGF5TWFwLnNldChoYXNoLCB4KSk7XG5cbiAgICAgICAgICAgICAgLy8gWmlwIHZhbHVlcyBiYWNrIHRvZ2V0aGVyLlxuICAgICAgICAgICAgICBjb25zdCBuZXdEaXNwbGF5VmFsdWVzID0gbWFwcGluZ1Jlc3VsdC5tYXAoeCA9PiB4WzNdID8/IHZhbHVlSW5kZXhIYXNoTWFwLmdldCh4WzFdKSk7XG5cbiAgICAgICAgICAgICAgLy8gUmV0dXJuIGRpc3BsYXkgdmFsdWVzLlxuICAgICAgICAgICAgICByZXR1cm4gbmV3RGlzcGxheVZhbHVlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgIC8vIElmIGFsbCBkaXNwbGF5IHZhbHVlcyBhcmUgaGFzaGVkIHJldHVybiB0aGF0LlxuICAgICAgICAgIHJldHVybiBvZihoYXNEaXNwbGF5Lm1hcCh4ID0+IHhbM10pKSBhcyBPYnNlcnZhYmxlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVdpdGhIYXNoPFQsIE0sIEg+W10+O1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5uZXh0KHRoaXMuZm9ybUNvbnRyb2wpO1xuXG4gICAgLy8gRm9jdXMgYWZ0ZXIgZmluaXNoZWQgbG9hZGluZyBmb3IgdGhlIGZpcnN0IHRpbWUuXG4gICAgdGhpcy5jb250ZXh0LmxvYWRpbmckLnBpcGUoXG4gICAgICBkZWxheSgxMCksXG4gICAgICBmaWx0ZXIoeCA9PiB4KSxcbiAgICAgIGZpcnN0KCksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJNYXRJbnB1dD8uZm9jdXMoKTtcbiAgICB9KVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9kaXNwbGF5SGFzaE1hcC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2Zvcm1Db250cm9sT2JzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5maWx0ZXJSZXN1bHRzQ29udGV4dC5kZXN0cm95KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2dldFZhbHVlT25Gb3JtQ29udHJvbCh2YWx1ZU9uRm9ybUNvbnRyb2w6IEFycmF5T3JWYWx1ZTxUPik6IFRbXSB7XG4gICAgY29uc3QgdmFsdWU6IFRbXSA9ICh2YWx1ZU9uRm9ybUNvbnRyb2wgIT0gbnVsbCkgPyAoW10gYXMgVFtdKS5jb25jYXQodmFsdWVPbkZvcm1Db250cm9sKSA6IFtdOyAgLy8gQWx3YXlzIHJldHVybiBhbiBhcnJheS5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBhZGRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmFsdWVzKFsuLi50aGlzLnZhbHVlcywgdmFsdWVdKTtcbiAgfVxuXG4gIHJlbW92ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgY29uc3QgaGFzaFRvRmlsdGVyID0gdGhpcy5oYXNoRm9yVmFsdWUodmFsdWUpO1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWVzLmZpbHRlcih4ID0+IHRoaXMuaGFzaEZvclZhbHVlKHgpICE9PSBoYXNoVG9GaWx0ZXIpO1xuICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcyk7XG4gIH1cblxuICBzZXRWYWx1ZXModmFsdWVzOiBUW10pOiB2b2lkIHtcblxuICAgIC8vIFVzZSB0byBmaWx0ZXIgbm9uLXVuaXF1ZSB2YWx1ZXMuXG4gICAgaWYgKHRoaXMuaGFzaEZvclZhbHVlKSB7XG4gICAgICB2YWx1ZXMgPSBmaW5kVW5pcXVlKHZhbHVlcywgdGhpcy5oYXNoRm9yVmFsdWUpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgdmFsdWVzID0gW3ZhbHVlc1swXV0uZmlsdGVyKHggPT4geCAhPSBudWxsKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRWYWx1ZU9uRm9ybUNvbnRyb2wodmFsdWVzKTtcbiAgfVxuXG4gIC8vIE1BUks6IEludGVybmFsXG4gIHByb3RlY3RlZCBfc2V0VmFsdWVPbkZvcm1Db250cm9sKHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgbGV0IG5ld1ZhbHVlOiBUIHwgVFtdID0gdmFsdWVzO1xuXG4gICAgaWYgKCF0aGlzLmFzQXJyYXlWYWx1ZSkge1xuICAgICAgbmV3VmFsdWUgPSBbdmFsdWVzWzBdXS5maWx0ZXIoeCA9PiB4ICE9IG51bGwpWzBdO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -36,4 +36,4 @@ export function pickableItemListField(config) {
|
|
|
36
36
|
pickableField: config
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUuZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQXNCLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUs3RixNQUFNLFVBQVUsb0NBQW9DLENBQUksVUFBeUIsRUFBRSxNQUEyQztJQUM1SCxJQUFJLGNBQW1ELENBQUM7SUFFeEQsSUFBSSxVQUFVLEVBQUU7UUFDZCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNwRCxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMvRjtTQUFNO1FBQ0wsY0FBYyxHQUFHLE1BQU0sQ0FBQztLQUN6QjtJQUVELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFJLEtBQWlDO0lBQzNFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQUlELE1BQU0sVUFBVSxxQkFBcUIsQ0FBYyxNQUFrQztJQUNuRixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLE9BQU8sV0FBVyxDQUFDO1FBQ2pCLEdBQUc7UUFDSCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEdBQUcsNkJBQTZCLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUM7UUFDRixhQUFhLEVBQUUsTUFBTTtLQUN0QixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFjLE1BQWtDO0lBQ25GLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDdkIsT0FBTyxXQUFXLENBQUM7UUFDakIsR0FBRztRQUNILElBQUksRUFBRSxtQkFBbUI7UUFDekIsR0FBRyw2QkFBNkIsQ0FBQyxNQUFNLEVBQUU7WUFDdkMsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQztRQUNGLGFBQWEsRUFBRSxNQUFNO0tBQ3RCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMYWJlbGVkRmllbGRDb25maWcsIGZvcm1seUZpZWxkLCB0ZW1wbGF0ZU9wdGlvbnNGb3JGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2ZpZWxkJztcbmltcG9ydCB7IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZSB9IGZyb20gJy4vcGlja2FibGUnO1xuaW1wb3J0IHsgUGlja2FibGVJdGVtRmllbGRJdGVtLCBQaWNrYWJsZVZhbHVlRmllbGRzRmllbGRDb25maWcgfSBmcm9tICcuL3BpY2thYmxlLmZpZWxkLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW0gfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclBpY2thYmxlSXRlbUZpZWxkVmFsdWVzQnlMYWJlbDxUPihmaWx0ZXJUZXh0OiBNYXliZTxzdHJpbmc+LCB2YWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgbGV0IGZpbHRlcmVkVmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD5bXTtcblxuICBpZiAoZmlsdGVyVGV4dCkge1xuICAgIGNvbnN0IHNlYXJjaFN0cmluZyA9IGZpbHRlclRleHQudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBmaWx0ZXJlZFZhbHVlcyA9IHZhbHVlcy5maWx0ZXIoeCA9PiB4LmxhYmVsLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcpICE9PSAtMSk7XG4gIH0gZWxzZSB7XG4gICAgZmlsdGVyZWRWYWx1ZXMgPSB2YWx1ZXM7XG4gIH1cblxuICByZXR1cm4gb2YoZmlsdGVyZWRWYWx1ZXMubWFwKHggPT4geC52YWx1ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29ydFBpY2thYmxlSXRlbXNCeUxhYmVsPFQ+KGNoaXBzOiBQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VD5bXSk6IFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPltdIHtcbiAgcmV0dXJuIGNoaXBzLnNvcnQoKGEsIGIpID0+IGEuaXRlbVZhbHVlLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5pdGVtVmFsdWUubGFiZWwpKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrYWJsZUl0ZW1GaWVsZENvbmZpZzxUID0gdW5rbm93bj4gZXh0ZW5kcyBMYWJlbGVkRmllbGRDb25maWcsIFBpY2thYmxlVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxUPiB7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHBpY2thYmxlSXRlbUNoaXBGaWVsZDxUID0gdW5rbm93bj4oY29uZmlnOiBQaWNrYWJsZUl0ZW1GaWVsZENvbmZpZzxUPik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgY29uc3QgeyBrZXkgfSA9IGNvbmZpZztcbiAgcmV0dXJuIGZvcm1seUZpZWxkKHtcbiAgICBrZXksXG4gICAgdHlwZTogJ3BpY2thYmxlY2hpcGZpZWxkJyxcbiAgICAuLi50ZW1wbGF0ZU9wdGlvbnNGb3JGaWVsZENvbmZpZyhjb25maWcsIHtcbiAgICAgIGF1dG9jb21wbGV0ZTogZmFsc2VcbiAgICB9KSxcbiAgICBwaWNrYWJsZUZpZWxkOiBjb25maWdcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaWNrYWJsZUl0ZW1MaXN0RmllbGQ8VCA9IHVua25vd24+KGNvbmZpZzogUGlja2FibGVJdGVtRmllbGRDb25maWc8VD4pOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIGNvbnN0IHsga2V5IH0gPSBjb25maWc7XG4gIHJldHVybiBmb3JtbHlGaWVsZCh7XG4gICAga2V5LFxuICAgIHR5cGU6ICdwaWNrYWJsZWxpc3RmaWVsZCcsXG4gICAgLi4udGVtcGxhdGVPcHRpb25zRm9yRmllbGRDb25maWcoY29uZmlnLCB7XG4gICAgICBhdXRvY29tcGxldGU6IGZhbHNlXG4gICAgfSksXG4gICAgcGlja2FibGVGaWVsZDogY29uZmlnXG4gIH0pO1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component } from "@angular/core";
|
|
2
|
-
import { DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListWrapperDirective,
|
|
2
|
+
import { DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListWrapperDirective, provideDbxListView, AbstractDbxSelectionListViewDirective, AbstractDbxValueListViewItemComponent, addConfigToValueListItems } from "@dereekb/dbx-web";
|
|
3
3
|
import { map, shareReplay } from "rxjs";
|
|
4
4
|
import { AbstractDbxPickableItemFieldDirective } from "./pickable.field.directive";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -68,12 +68,12 @@ export class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelect
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
DbxPickableListFieldItemListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, deps: [{ token: DbxPickableListFieldComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
DbxPickableListFieldItemListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldItemListViewComponent, selector: "ng-component", providers:
|
|
71
|
+
DbxPickableListFieldItemListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldItemListViewComponent, selector: "ng-component", providers: provideDbxListView(DbxPickableListFieldItemListViewComponent), usesInheritance: true, ngImport: i0, template: `<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>`, isInline: true, components: [{ type: i1.DbxSelectionValueListItemViewComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }], pipes: { "async": i4.AsyncPipe } });
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
74
|
args: [{
|
|
75
75
|
template: `<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>`,
|
|
76
|
-
providers:
|
|
76
|
+
providers: provideDbxListView(DbxPickableListFieldItemListViewComponent)
|
|
77
77
|
}]
|
|
78
78
|
}], ctorParameters: function () { return [{ type: DbxPickableListFieldComponent }]; } });
|
|
79
79
|
export class DbxPickableListFieldItemListViewItemComponent extends AbstractDbxValueListViewItemComponent {
|
|
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
93
93
|
`
|
|
94
94
|
}]
|
|
95
95
|
}] });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSx3Q0FBd0MsRUFBRSxrQkFBa0IsRUFBRSxxQ0FBcUMsRUFBRSxxQ0FBcUMsRUFBc0IseUJBQXlCLEVBQXdCLE1BQU0sa0JBQWtCLENBQUM7QUFFNVIsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEMsT0FBTyxFQUFFLHFDQUFxQyxFQUF5QixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQUUxRzs7R0FFRztBQUlILE1BQU0sT0FBTyw2QkFBaUMsU0FBUSxxQ0FBd0M7SUFFNUYsaUJBQWlCLENBQUMsS0FBYztRQUM5QixNQUFNLEtBQUssR0FBSSxLQUErRCxDQUFDLEtBQUssQ0FBQztRQUNyRixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OzBIQU5VLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLDJFQ2QxQyx5eENBNkJBLDRQREFhLHFDQUFxQzsyRkFmckMsNkJBQTZCO2tCQUh6QyxTQUFTOzs7QUFhVix1QkFBdUI7QUFLdkIsTUFBTSxPQUFPLHFDQUF5QyxTQUFRLHdDQUFrRTtJQUU5SDtRQUNFLEtBQUssQ0FBQztZQUNKLGNBQWMsRUFBRSx5Q0FBeUM7U0FDMUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0lBTlUscUNBQXFDO3NIQUFyQyxxQ0FBcUM7MkZBQXJDLHFDQUFxQztrQkFKakQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0NBQXdDO29CQUNsRCxRQUFRLEVBQUUsdUNBQXVDO2lCQUNsRDs7QUFXRDs7R0FFRztBQUtILE1BQU0sT0FBTyx5Q0FBNkMsU0FBUSxxQ0FBMEM7SUEwQjFHLFlBQXFCLDZCQUErRDtRQUNsRixLQUFLLEVBQUUsQ0FBQztRQURXLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBa0M7UUF4QjNFLFdBQU0sR0FBZ0M7WUFDN0MsY0FBYyxFQUFFLDZDQUE2QztTQUM5RCxDQUFDO1FBZ0JPLFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDakMsbUtBQW1LO1FBQ25LLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDbkQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFJRixDQUFDO0lBdEJELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLFdBQVcsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSxhQUFhLEdBQWdDLFFBQVEsQ0FBQztRQUUxRCxJQUFJLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLDZCQUE2QixDQUFDLG1DQUFtQyxFQUFFO1lBQ3pILGFBQWEsR0FBRyxNQUFNLENBQUM7U0FDeEI7UUFFRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOztzSUFsQlUseUNBQXlDLGtCQTBCQSw2QkFBNkI7MEhBMUJ0RSx5Q0FBeUMsdUNBRnpDLGtCQUFrQixDQUFDLHlDQUF5QyxDQUFDLGlEQUQ5RCxvSkFBb0o7MkZBR25KLHlDQUF5QztrQkFKckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0pBQW9KO29CQUM5SixTQUFTLEVBQUUsa0JBQWtCLDJDQUEyQztpQkFDekU7MERBMkJxRCw2QkFBNkI7QUFXbkYsTUFBTSxPQUFPLDZDQUFpRCxTQUFRLHFDQUF3RTtJQUU1SSxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7OzBJQUpVLDZDQUE2Qzs4SEFBN0MsNkNBQTZDLDJFQUo5Qzs7R0FFVDsyRkFFVSw2Q0FBNkM7a0JBTHpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOztHQUVUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyB9IGZyb20gXCJAZGVyZWVrYi9kYngtY29yZVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFLCBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlLCBwcm92aWRlRGJ4TGlzdFZpZXcsIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFZpZXdEaXJlY3RpdmUsIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0l0ZW1Db21wb25lbnQsIExpc3RTZWxlY3Rpb25TdGF0ZSwgYWRkQ29uZmlnVG9WYWx1ZUxpc3RJdGVtcywgRGJ4TGlzdFNlbGVjdGlvbk1vZGUgfSBmcm9tIFwiQGRlcmVla2IvZGJ4LXdlYlwiO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWUgfSBmcm9tIFwiLi9waWNrYWJsZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhQaWNrYWJsZUl0ZW1GaWVsZERpcmVjdGl2ZSwgUGlja2FibGVJdGVtRmllbGRJdGVtIH0gZnJvbSBcIi4vcGlja2FibGUuZmllbGQuZGlyZWN0aXZlXCI7XG5cbi8qKlxuICogVXNlZCBmb3IgcGlja2luZyBwcmUtc2V0IHZhbHVlcyB1c2luZyBhIHNlbGVjdGlvbiBsaXN0IGFzIHRoZSBwcmVzZW50YXRpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJ3BpY2thYmxlLmxpc3QuZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhQaWNrYWJsZUl0ZW1GaWVsZERpcmVjdGl2ZTxUPiB7XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IHVua25vd24pIHtcbiAgICBjb25zdCBpdGVtcyA9IChldmVudCBhcyBMaXN0U2VsZWN0aW9uU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+PikuaXRlbXM7XG4gICAgY29uc3QgdmFsdWVzID0gaXRlbXMubWFwKHggPT4geC5pdGVtVmFsdWUudmFsdWUpO1xuICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcyk7XG4gIH1cblxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gTGlzdFxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZvcm0tcGlja2FibGUtaXRlbS1maWVsZC1pdGVtLWxpc3QnLFxuICB0ZW1wbGF0ZTogREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPj4ge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvbXBvbmVudENsYXNzOiBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudFxuICAgIH0pO1xuICB9XG5cbn1cblxuLyoqXG4gKiBOT1RFOiBWYWx1ZXMgaW5wdXQgYXJlIFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPiwgYnV0IG91dHB1dCB2YWx1ZXMgYXJlIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgPGRieC1zZWxlY3Rpb24tbGlzdC12aWV3LWNvbnRlbnQgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiIFtpdGVtc109XCJpdGVtcyQgfCBhc3luY1wiPjwvZGJ4LXNlbGVjdGlvbi1saXN0LXZpZXctY29udGVudD5gLFxuICBwcm92aWRlcnM6IHByb3ZpZGVEYnhMaXN0VmlldyhEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudClcbn0pXG5leHBvcnQgY2xhc3MgRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RWaWV3RGlyZWN0aXZlPGFueT4geyAgLy8gVE9ETzogYW55IGJlbG9uZ3MgaGVyZSBmb3Igbm93LCBidXQgaXRlbSBsaXN0IHR5cGluZ3MgbmVlZCB0byBiZSB1cGRhdGVkLlxuXG4gIHJlYWRvbmx5IGNvbmZpZzogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudENsYXNzOiBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0l0ZW1Db21wb25lbnRcbiAgfTtcblxuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQubXVsdGlTZWxlY3Q7XG4gIH1cblxuICBnZXQgc2VsZWN0aW9uTW9kZSgpOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4ge1xuICAgIGxldCBzZWxlY3Rpb25Nb2RlOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4gPSAnc2VsZWN0JztcblxuICAgIGlmICh0aGlzLmRieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50LmRpc2FibGVkICYmIHRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQuY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQpIHtcbiAgICAgIHNlbGVjdGlvbk1vZGUgPSAndmlldyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbk1vZGU7XG4gIH1cblxuICByZWFkb25seSBpdGVtcyQgPSB0aGlzLnZhbHVlcyQucGlwZShcbiAgICAvLyBOT1RFOiBUaGlzIGNhdXNlcyB0aGUgXCJ2YWx1ZVwiIHRvIGJlIGEgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+LCB3aGljaCBtZWFucyB3ZSBlbWl0IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPiB0byBEYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudC5cbiAgICBtYXAoeCA9PiBhZGRDb25maWdUb1ZhbHVlTGlzdEl0ZW1zKHRoaXMuY29uZmlnLCB4KSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudDogRGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQ8VD4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+e3sgbGFiZWwgfX08L3A+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdJdGVtQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudDxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4+IHtcblxuICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtVmFsdWUubGFiZWw7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRieC1waWNrYWJsZS1pdGVtLWZpZWxkXCI+XG4gIDxkYngtbG9hZGluZyBbY29udGV4dF09XCJjb250ZXh0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWx0ZXJJbnB1dFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbHRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBDb250ZW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtcGlja2FibGUtaXRlbS1maWVsZC1saXN0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGJ4LXBpY2thYmxlLWl0ZW0tZmllbGQtbGlzdC1jb250ZW50XCI+XG4gICAgICAgIDxkYngtZm9ybS1waWNrYWJsZS1pdGVtLWZpZWxkLWl0ZW0tbGlzdCBbZGlzYWJsZWRdPVwiaXNSZWFkb25seU9yRGlzYWJsZWRcIiBbc3RhdGUkXT1cImZpbHRlckl0ZW1zTG9hZGluZ1N0YXRlJFwiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDwvZGJ4LWZvcm0tcGlja2FibGUtaXRlbS1maWVsZC1pdGVtLWxpc3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiZm9vdGVyQ29uZmlnXCI+PC9kYngtaW5qZWN0aW9uPlxuICAgIDwvZGl2PlxuICA8L2RieC1sb2FkaW5nPlxuPC9kaXY+XG5cbjwhLS0gRmlsdGVyIElucHV0IC0tPlxuPG5nLXRlbXBsYXRlICNmaWx0ZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImRieC1waWNrYWJsZS1pdGVtLWZpZWxkLWZpbHRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGFiZWxcIj57eyBmaWx0ZXJMYWJlbCB9fTwvZGl2PlxuICAgIDxpbnB1dCBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwie3sgYXV0b2NvbXBsZXRlIH19XCIgI2ZpbHRlck1hdElucHV0PVwibWF0SW5wdXRcIiBtYXRJbnB1dFxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImlucHV0Q3RybFwiPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgIDxkYngtbG9hZGluZyBbbGluZWFyXT1cInRydWVcIiBbY29udGV4dF09XCJmaWx0ZXJSZXN1bHRzQ29udGV4dFwiPjwvZGJ4LWxvYWRpbmc+XG4gICAgPCEtLSBObyBpdGVtcyBmb3VuZC4gLS0+XG4gICAgPHAgKm5nSWY9XCJub0l0ZW1zQXZhaWxhYmxlJCB8IGFzeW5jXCIgY2xhc3M9XCJkYngtbGFiZWxcIj5ObyBpdGVtcyBtYXRjaCB0aGlzIGZpbHRlci48L3A+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1heWJlLCBQcmltYXRpdmVLZXkgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBTZWxlY3Rpb25EaXNwbGF5VmFsdWUsIFNlbGVjdGlvblZhbHVlLCBTZWxlY3Rpb25WYWx1ZUhhc2hGbiB9IGZyb20gXCIuLi9zZWxlY3Rpb25cIjtcblxuZXhwb3J0IHR5cGUgUGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTSA9IHVua25vd24+ID0gU2VsZWN0aW9uVmFsdWU8VCwgTT5cbmV4cG9ydCB0eXBlIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxULCBNID0gdW5rbm93bj4gPSBTZWxlY3Rpb25EaXNwbGF5VmFsdWU8VCwgTT5cblxuLyoqXG4gKiBQaWNrYWJsZVZhbHVlRmllbGQgZnVuY3Rpb24gZm9yIHJldHJpZXZpbmcgYWxsIHZhbHVlcy5cbiAqL1xuZXhwb3J0IHR5cGUgUGlja2FibGVWYWx1ZUZpZWxkTG9hZFZhbHVlc0ZuPFQsIE0gPSB1bmtub3duPiA9ICgpID0+IE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkVmFsdWU8VCwgTT5bXT47XG5cbi8qKlxuICogUGlja2FibGVWYWx1ZUZpZWxkIGZ1bmN0aW9uIHRoYXQgYWxsb3dzIHRoZSB2YWx1ZXMgYSBjaGFuY2UgdG8gZ28gdGhyb3VnaCBhbm90aGVyIG9ic2VydmFibGUgZm9yIGFueSBjaGFuZ2VzLlxuICpcbiAqIFZhbHVlcyBtYXkgbm90IGhhdmUgbWV0YWRhdGEgb24gdGhlbSBpbiBzb21lIGNhc2VzLCB3aGVyZSB0aGUgdmFsdWUgbWF5IGluZmFjdCBiZSBhbiB1bmtub3duIHZhbHVlLlxuICogVGhlIHJldHVybmVkIHZhbHVlIHNob3VsZCBiZSBtYXJrZWQgYXMgdW5rbm93biwgb3IgaWYgaXQgaGFzIG5vIG1ldGEgYnV0IGlzIGtub3duLCBpc1Vua25vd24gc2hvdWxkIGJlIG1hcmtlZCBmYWxzZS5cbiAqIFxuICogVGhlIHZhbHVlIGl0c2VsZiBzaG91bGQgbm90IGNoYW5nZS4gQWxsIG90aGVyIGZpZWxkcyBvbiB0aGUgdmFsdWUgbWF5IGNoYW5nZSwgaG93ZXZlci5cbiAqL1xuZXhwb3J0IHR5cGUgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheUZuPFQsIE0gPSB1bmtub3duPiA9ICh2YWx1ZXM6IFBpY2thYmxlVmFsdWVGaWVsZFZhbHVlPFQsIE0+W10pID0+IE9ic2VydmFibGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQsIE0+W10+O1xuXG4vKipcbiAqIFVzZWQgZm9yIGZpbHRlcmluZyB0aGUgdmFsdWVzIHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZC5cbiAqL1xuZXhwb3J0IHR5cGUgUGlja2FibGVWYWx1ZUZpZWxkRmlsdGVyRm48VCwgTSA9IHVua25vd24+ID0gKGZsdGVyVGV4dDogTWF5YmU8c3RyaW5nPiwgdmFsdWVzOiBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VCwgTT5bXSkgPT4gT2JzZXJ2YWJsZTxUW10+O1xuXG4vKipcbiAqIFVzZWQgdG8gaGFzaCB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgcGlja2FibGUgdmFsdWUuXG4gKi9cbmV4cG9ydCB0eXBlIFBpY2thYmxlVmFsdWVGaWVsZEhhc2hGbjxULCBIIGV4dGVuZHMgUHJpbWF0aXZlS2V5ID0gUHJpbWF0aXZlS2V5PiA9IFNlbGVjdGlvblZhbHVlSGFzaEZuPFQsIEg+O1xuIl19
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{ template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\"\n (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\"\n autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\">\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n" }]
|
|
61
61
|
}] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5jaGlwLmZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3NlbGVjdGlvbi9zZWFyY2hhYmxlL3NlYXJjaGFibGUuY2hpcC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmNoaXAuZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLHdDQUF3QyxFQUE0RSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xLLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBWXRFLE1BQU0sT0FBTywrQkFBdUYsU0FBUSx3Q0FBc0c7SUFIbE47O1FBS1UsVUFBSyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDNUIsYUFBUSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUVuQyx1QkFBa0IsR0FBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztLQTBDeEQ7SUF4Q0MsUUFBUSxDQUFDLEtBQW1DO1FBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFvQjtRQUNwQyxJQUFJLEtBQUssRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssS0FBSyxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUU7Z0JBQ25DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUF3QjtRQUM5QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLDBHQUEwRztRQUMxRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwSCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7OzRIQTdDVSwrQkFBK0I7Z0hBQS9CLCtCQUErQiwyRUNuQjVDLDRoREEwQkE7MkZEUGEsK0JBQStCO2tCQUgzQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdENoaXBJbnB1dEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhTZWFyY2hhYmxlVmFsdWVGaWVsZERpcmVjdGl2ZSwgU2VhcmNoYWJsZVZhbHVlRmllbGRzRmllbGRDb25maWcsIFNlYXJjaGFibGVWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnLi9zZWFyY2hhYmxlLmZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDT01NQSwgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgc2tpcFVudGlsVGltZUVsYXBzZWRBZnRlckxhc3RFbWlzc2lvbiB9IGZyb20gJ0BkZXJlZWtiL2RhdGUnO1xuaW1wb3J0IHsgUHJpbWF0aXZlS2V5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaGFibGVDaGlwVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxULCBNID0gdW5rbm93biwgSCBleHRlbmRzIFByaW1hdGl2ZUtleSA9IFByaW1hdGl2ZUtleT4gPSBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxULCBNLCBIPjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hhYmxlQ2hpcFZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWc8VCwgTSA9IHVua25vd24sIEggZXh0ZW5kcyBQcmltYXRpdmVLZXkgPSBQcmltYXRpdmVLZXk+IGV4dGVuZHMgU2VhcmNoYWJsZVZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWc8VCwgTSwgSD4ge1xuICBzZWFyY2hhYmxlRmllbGQ6IFNlYXJjaGFibGVDaGlwVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxULCBNLCBIPjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnc2VhcmNoYWJsZS5jaGlwLmZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhTZWFyY2hhYmxlQ2hpcEZpZWxkQ29tcG9uZW50PFQsIE0gPSB1bmtub3duLCBIIGV4dGVuZHMgUHJpbWF0aXZlS2V5ID0gUHJpbWF0aXZlS2V5PiBleHRlbmRzIEFic3RyYWN0RGJ4U2VhcmNoYWJsZVZhbHVlRmllbGREaXJlY3RpdmU8VCwgTSwgSCwgU2VhcmNoYWJsZUNoaXBWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnPFQsIE0sIEg+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9ibHVyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfYmx1clN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICByZWFkb25seSBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQV07XG5cbiAgc2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmFkZFdpdGhEaXNwbGF5VmFsdWUoZXZlbnQub3B0aW9uLnZhbHVlKTtcbiAgfVxuXG4gIHRhYlByZXNzZWRPbklucHV0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgaWYgKGV2ZW50Py5rZXk/LnRvTG93ZXJDYXNlKCkgPT09ICd0YWInKSB7XG4gICAgICBpZiAodGhpcy5fdHJ5QWRkQ3VycmVudElucHV0VmFsdWUoKSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYWRkQ2hpcChldmVudDogTWF0Q2hpcElucHV0RXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0ZXh0ID0gZXZlbnQudmFsdWUgPz8gdGhpcy5pbnB1dEN0cmwudmFsdWU7XG4gICAgcmV0dXJuIHRoaXMuX2FkZFdpdGhUZXh0VmFsdWUodGV4dCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgLy8gT25seSB0cnkgYW5kIGFkZCB0aGUgdGV4dCBpdGVtIGFzIGEgdmFsdWUgaWYgYSB2YWx1ZSB3YXNuJ3QganVzdCBhZGRlZCAoZm9yIGV4YW1wbGUsIGNsaWNraW5nIGEgdmFsdWUpLlxuICAgIHRoaXMuX2JsdXJTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5fYmx1ci5waXBlKHNraXBVbnRpbFRpbWVFbGFwc2VkQWZ0ZXJMYXN0RW1pc3Npb24odGhpcy52YWx1ZXMkLCAxMDApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fdHJ5QWRkQ3VycmVudElucHV0VmFsdWUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fYmx1ci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2JsdXJTdWIuZGVzdHJveSgpO1xuICB9XG5cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuX2JsdXIubmV4dCgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYngtc2VhcmNoYWJsZS1maWVsZFwiPlxuICA8IS0tIFZpZXcgLS0+XG4gIDxtYXQtY2hpcC1saXN0IFtzZWxlY3RhYmxlXT1cIiFyZWFkb25seVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiICNjaGlwTGlzdD5cbiAgICA8bWF0LWNoaXAgKm5nRm9yPVwibGV0IGRpc3BsYXlWYWx1ZSBvZiBkaXNwbGF5VmFsdWVzJCB8IGFzeW5jXCIgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgIChyZW1vdmVkKT1cInJlbW92ZVdpdGhEaXNwbGF5VmFsdWUoZGlzcGxheVZhbHVlKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkYngtY2hpcC1sYWJlbFwiPnt7IGRpc3BsYXlWYWx1ZS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZGJ4LWNoaXAtc3VibGFiZWxcIiAqbmdJZj1cImRpc3BsYXlWYWx1ZS5zdWJsYWJlbFwiPnt7IGRpc3BsYXlWYWx1ZS5zdWJsYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFyZWFkb25seVwiIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICA8L21hdC1jaGlwPlxuICAgIDxpbnB1dCAjdGV4dElucHV0IFtuYW1lXT1cIm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiaW5wdXRDdHJsXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cInt7IGF1dG9jb21wbGV0ZSB9fVwiIFttYXRBdXRvY29tcGxldGVEaXNhYmxlZF09XCJyZWFkb25seVwiIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcExpc3RcIiAoa2V5ZG93bik9XCJ0YWJQcmVzc2VkT25JbnB1dCgkZXZlbnQpXCJcbiAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIiAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiYWRkQ2hpcCgkZXZlbnQpXCIgKGJsdXIpPVwib25CbHVyKClcIj5cbiAgPC9tYXQtY2hpcC1saXN0PlxuICA8ZGl2IGNsYXNzPVwic2VhcmNoYWJsZS1maWVsZC1mb3JtLWxvYWRpbmdcIj5cbiAgICA8ZGJ4LWxvYWRpbmcgW2xpbmVhcl09XCJ0cnVlXCIgW2NvbnRleHRdPVwic2VhcmNoQ29udGV4dFwiPjwvZGJ4LWxvYWRpbmc+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gQXV0b2NvbXBsZXRlIC0tPlxuPG1hdC1hdXRvY29tcGxldGUgY2xhc3M9XCJkYngtc2VhcmNoYWJsZS10ZXh0LWZpZWxkLWF1dG9jb21wbGV0ZVwiICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgKG9wdGlvblNlbGVjdGVkKT1cInNlbGVjdGVkKCRldmVudClcIj5cbiAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGRpc3BsYXlWYWx1ZSBvZiAoc2VhcmNoUmVzdWx0cyQgfCBhc3luYylcIiBbdmFsdWVdPVwiZGlzcGxheVZhbHVlXCI+XG4gICAgPGRieC1zZWFyY2hhYmxlLWZpZWxkLWF1dG9jb21wbGV0ZS1pdGVtIFtkaXNwbGF5VmFsdWVdPVwiZGlzcGxheVZhbHVlXCI+XG4gICAgPC9kYngtc2VhcmNoYWJsZS1maWVsZC1hdXRvY29tcGxldGUtaXRlbT5cbiAgPC9tYXQtb3B0aW9uPlxuPC9tYXQtYXV0b2NvbXBsZXRlPlxuIl19
|