@skyux/list-builder 11.31.0 → 12.0.0-alpha.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.
Files changed (94) hide show
  1. package/documentation.json +396 -396
  2. package/fesm2022/skyux-list-builder.mjs +107 -101
  3. package/fesm2022/skyux-list-builder.mjs.map +1 -1
  4. package/package.json +13 -15
  5. package/esm2022/index.mjs +0 -75
  6. package/esm2022/lib/modules/list/list-data-request.model.mjs +0 -21
  7. package/esm2022/lib/modules/list/list-data-response.model.mjs +0 -12
  8. package/esm2022/lib/modules/list/list-data.provider.mjs +0 -10
  9. package/esm2022/lib/modules/list/list-paging.component.mjs +0 -14
  10. package/esm2022/lib/modules/list/list-view.component.mjs +0 -30
  11. package/esm2022/lib/modules/list/list.component.mjs +0 -312
  12. package/esm2022/lib/modules/list/list.module.mjs +0 -21
  13. package/esm2022/lib/modules/list/state/filters/filters.orchestrator.mjs +0 -17
  14. package/esm2022/lib/modules/list/state/filters/update.action.mjs +0 -10
  15. package/esm2022/lib/modules/list/state/items/items.orchestrator.mjs +0 -53
  16. package/esm2022/lib/modules/list/state/items/load.action.mjs +0 -13
  17. package/esm2022/lib/modules/list/state/items/set-items-selected.action.mjs +0 -14
  18. package/esm2022/lib/modules/list/state/items/set-loading.action.mjs +0 -10
  19. package/esm2022/lib/modules/list/state/list-state-action.type.mjs +0 -2
  20. package/esm2022/lib/modules/list/state/list-state.model.mjs +0 -25
  21. package/esm2022/lib/modules/list/state/list-state.rxstate.mjs +0 -82
  22. package/esm2022/lib/modules/list/state/list-state.state-node.mjs +0 -37
  23. package/esm2022/lib/modules/list/state/paging/paging.model.mjs +0 -15
  24. package/esm2022/lib/modules/list/state/paging/paging.orchestrator.mjs +0 -28
  25. package/esm2022/lib/modules/list/state/paging/set-items-per-page.action.mjs +0 -10
  26. package/esm2022/lib/modules/list/state/paging/set-max-pages.action.mjs +0 -10
  27. package/esm2022/lib/modules/list/state/paging/set-page-number.action.mjs +0 -10
  28. package/esm2022/lib/modules/list/state/search/search.model.mjs +0 -33
  29. package/esm2022/lib/modules/list/state/search/search.orchestrator.mjs +0 -48
  30. package/esm2022/lib/modules/list/state/search/set-field-selectors.action.mjs +0 -10
  31. package/esm2022/lib/modules/list/state/search/set-functions.action.mjs +0 -10
  32. package/esm2022/lib/modules/list/state/search/set-options.action.mjs +0 -12
  33. package/esm2022/lib/modules/list/state/search/set-search-text.action.mjs +0 -10
  34. package/esm2022/lib/modules/list/state/selected/load.action.mjs +0 -10
  35. package/esm2022/lib/modules/list/state/selected/selected.model.mjs +0 -10
  36. package/esm2022/lib/modules/list/state/selected/selected.orchestrator.mjs +0 -57
  37. package/esm2022/lib/modules/list/state/selected/set-item-selected.action.mjs +0 -11
  38. package/esm2022/lib/modules/list/state/selected/set-items-selected.action.mjs +0 -12
  39. package/esm2022/lib/modules/list/state/selected/set-loading.action.mjs +0 -10
  40. package/esm2022/lib/modules/list/state/sort/label.model.mjs +0 -26
  41. package/esm2022/lib/modules/list/state/sort/set-available.action.mjs +0 -10
  42. package/esm2022/lib/modules/list/state/sort/set-field-selectors.action.mjs +0 -10
  43. package/esm2022/lib/modules/list/state/sort/set-global.action.mjs +0 -10
  44. package/esm2022/lib/modules/list/state/sort/sort.model.mjs +0 -28
  45. package/esm2022/lib/modules/list/state/sort/sort.orchestrator.mjs +0 -31
  46. package/esm2022/lib/modules/list/state/toolbar/disable.action.mjs +0 -10
  47. package/esm2022/lib/modules/list/state/toolbar/load.action.mjs +0 -11
  48. package/esm2022/lib/modules/list/state/toolbar/remove.action.mjs +0 -10
  49. package/esm2022/lib/modules/list/state/toolbar/set-exists.action.mjs +0 -10
  50. package/esm2022/lib/modules/list/state/toolbar/set-type.action.mjs +0 -10
  51. package/esm2022/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.mjs +0 -10
  52. package/esm2022/lib/modules/list/state/toolbar/toolbar-item.model.mjs +0 -17
  53. package/esm2022/lib/modules/list/state/toolbar/toolbar.model.mjs +0 -18
  54. package/esm2022/lib/modules/list/state/toolbar/toolbar.orchestrator.mjs +0 -81
  55. package/esm2022/lib/modules/list/state/views/load.action.mjs +0 -10
  56. package/esm2022/lib/modules/list/state/views/set-active.action.mjs +0 -10
  57. package/esm2022/lib/modules/list/state/views/view.model.mjs +0 -11
  58. package/esm2022/lib/modules/list/state/views/views.model.mjs +0 -14
  59. package/esm2022/lib/modules/list/state/views/views.orchestrator.mjs +0 -22
  60. package/esm2022/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.mjs +0 -160
  61. package/esm2022/lib/modules/list-filters/filter.model.mjs +0 -18
  62. package/esm2022/lib/modules/list-filters/list-filter-button.component.mjs +0 -41
  63. package/esm2022/lib/modules/list-filters/list-filter-inline-item-renderer.component.mjs +0 -34
  64. package/esm2022/lib/modules/list-filters/list-filter-inline-item.component.mjs +0 -46
  65. package/esm2022/lib/modules/list-filters/list-filter-inline.component.mjs +0 -70
  66. package/esm2022/lib/modules/list-filters/list-filter-inline.model.mjs +0 -21
  67. package/esm2022/lib/modules/list-filters/list-filter-summary.component.mjs +0 -56
  68. package/esm2022/lib/modules/list-filters/list-filters.module.mjs +0 -44
  69. package/esm2022/lib/modules/list-paging/list-paging.component.mjs +0 -89
  70. package/esm2022/lib/modules/list-paging/list-paging.module.mjs +0 -22
  71. package/esm2022/lib/modules/list-toolbar/list-multiselect-toolbar.component.mjs +0 -147
  72. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.mjs +0 -30
  73. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.mjs +0 -2
  74. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.mjs +0 -44
  75. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.mjs +0 -40
  76. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.mjs +0 -43
  77. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.mjs +0 -36
  78. package/esm2022/lib/modules/list-toolbar/list-toolbar-item-renderer.component.mjs +0 -30
  79. package/esm2022/lib/modules/list-toolbar/list-toolbar-item.component.mjs +0 -48
  80. package/esm2022/lib/modules/list-toolbar/list-toolbar-search-actions.component.mjs +0 -15
  81. package/esm2022/lib/modules/list-toolbar/list-toolbar-sort.component.mjs +0 -26
  82. package/esm2022/lib/modules/list-toolbar/list-toolbar-view-actions.component.mjs +0 -26
  83. package/esm2022/lib/modules/list-toolbar/list-toolbar.component.mjs +0 -360
  84. package/esm2022/lib/modules/list-toolbar/list-toolbar.module.mjs +0 -84
  85. package/esm2022/lib/modules/list-toolbar/state/config/config.model.mjs +0 -14
  86. package/esm2022/lib/modules/list-toolbar/state/config/config.orchestrator.mjs +0 -21
  87. package/esm2022/lib/modules/list-toolbar/state/config/set-search-enabled.action.mjs +0 -9
  88. package/esm2022/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.mjs +0 -10
  89. package/esm2022/lib/modules/list-toolbar/state/toolbar-state-action.type.mjs +0 -2
  90. package/esm2022/lib/modules/list-toolbar/state/toolbar-state.model.mjs +0 -10
  91. package/esm2022/lib/modules/list-toolbar/state/toolbar-state.rxstate.mjs +0 -19
  92. package/esm2022/lib/modules/list-toolbar/state/toolbar-state.state-node.mjs +0 -21
  93. package/esm2022/lib/modules/shared/sky-list-builder-resources.module.mjs +0 -37
  94. package/esm2022/skyux-list-builder.mjs +0 -5
@@ -1,312 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, } from '@angular/core';
2
- import { ListItemModel, getValue, isObservable, } from '@skyux/list-builder-common';
3
- import { Subject, combineLatest as observableCombineLatest, of as observableOf, } from 'rxjs';
4
- import { distinctUntilChanged, flatMap, map as observableMap, skip, take, takeUntil, } from 'rxjs/operators';
5
- import { SkyListInMemoryDataProvider } from '../list-data-provider-in-memory/list-data-in-memory.provider';
6
- import { ListDataRequestModel } from './list-data-request.model';
7
- import { ListDataResponseModel } from './list-data-response.model';
8
- import { ListViewComponent } from './list-view.component';
9
- import { ListItemsLoadAction } from './state/items/load.action';
10
- import { ListItemsSetLoadingAction } from './state/items/set-loading.action';
11
- import { ListStateDispatcher } from './state/list-state.rxstate';
12
- import { ListState } from './state/list-state.state-node';
13
- import { ListPagingSetPageNumberAction } from './state/paging/set-page-number.action';
14
- import { ListSelectedLoadAction } from './state/selected/load.action';
15
- import { ListSelectedSetLoadingAction } from './state/selected/set-loading.action';
16
- import { ListSortSetFieldSelectorsAction } from './state/sort/set-field-selectors.action';
17
- import { ListSortModel } from './state/sort/sort.model';
18
- import { ListViewsLoadAction } from './state/views/load.action';
19
- import { ListViewsSetActiveAction } from './state/views/set-active.action';
20
- import { ListViewModel } from './state/views/view.model';
21
- import * as i0 from "@angular/core";
22
- import * as i1 from "./state/list-state.state-node";
23
- import * as i2 from "./state/list-state.rxstate";
24
- import * as i3 from "@skyux/core";
25
- let idIndex = 0;
26
- /**
27
- * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
28
- */
29
- export class SkyListComponent {
30
- constructor(state, dispatcher, logger) {
31
- this.state = state;
32
- this.dispatcher = dispatcher;
33
- this.id = `sky-list-cmp-${++idIndex}`;
34
- /**
35
- * The data to display. The list component requires this property or the
36
- * `dataProvider` property. For checklist or multiselect grids, each row requires an
37
- * `id` property to manage selected items with the `selectedIds` input and the
38
- * `selectedIdsChange` event. If you do not provide an `id`, the list automatically
39
- * generates one. To update data in your view outside of a `dataProvider`, you must use
40
- * an observable instead of a static array.
41
- */
42
- this.data = [];
43
- /**
44
- * The set of filters to apply to list data.
45
- * These filters create a filter summary when the list includes the
46
- * [`sky-list-filter-summary`](https://developer.blackbaud.com/skyux/components/list/filters)
47
- * component.
48
- */
49
- this.appliedFilters = [];
50
- /**
51
- * For list views that support item selection, emits the selected entries.
52
- */
53
- this.selectedIdsChange = new EventEmitter();
54
- /**
55
- * Emits the filters applied to the list.
56
- */
57
- this.appliedFiltersChange = new EventEmitter();
58
- this.dataFirstLoad = false;
59
- this.lastSelectedIds = [];
60
- this.lastFilters = [];
61
- this.ngUnsubscribe = new Subject();
62
- logger.deprecated('SkyListComponent', {
63
- deprecationMajorVersion: 6,
64
- moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/data-manager',
65
- replacementRecommendation: 'Use data manager instead.',
66
- });
67
- }
68
- ngAfterContentInit() {
69
- if (this.data && this.dataProvider && this.initialTotal) {
70
- this.dataFirstLoad = true;
71
- }
72
- if (this.listViews.length > 0) {
73
- const defaultView = this.defaultView === undefined
74
- ? this.listViews.first
75
- : this.defaultView;
76
- this.dispatcher.next(new ListViewsLoadAction(this.listViews.map((v) => new ListViewModel(v.id, v.label))));
77
- // activate the default view
78
- this.dispatcher.next(new ListViewsSetActiveAction(defaultView.id));
79
- }
80
- else {
81
- return;
82
- }
83
- // set sort fields
84
- getValue(this.sortFields, (sortFields) => {
85
- let sortArray;
86
- if (!Array.isArray(sortFields) && sortFields) {
87
- sortArray = [sortFields];
88
- }
89
- else {
90
- sortArray = sortFields;
91
- }
92
- this.dispatcher.next(new ListSortSetFieldSelectorsAction(sortArray || []));
93
- });
94
- this.displayedItems.subscribe((result) => {
95
- this.dispatcher.next(new ListItemsSetLoadingAction());
96
- this.dispatcher.next(new ListItemsLoadAction(result.items, true, true, result.count));
97
- });
98
- // Watch for selection changes.
99
- this.state
100
- .pipe(observableMap((current) => current.selected), takeUntil(this.ngUnsubscribe), distinctUntilChanged())
101
- .subscribe((selected) => {
102
- // Update lastSelectedIds to help us retain user selections.
103
- const selectedIdsList = [];
104
- selected.item.selectedIdMap.forEach((value, key) => {
105
- if (value === true) {
106
- selectedIdsList.push(key);
107
- }
108
- });
109
- // If changes are distinct, emit selectedIdsChange.
110
- const distinctChanges = !this.arraysEqual(this.lastSelectedIds, selectedIdsList);
111
- if (this.selectedIdsChange.observers.length > 0 && distinctChanges) {
112
- this.selectedIdsChange.emit(selected.item.selectedIdMap);
113
- }
114
- this.lastSelectedIds = selectedIdsList;
115
- });
116
- if (this.appliedFiltersChange.observers.length > 0) {
117
- this.state
118
- .pipe(observableMap((current) => current.filters), takeUntil(this.ngUnsubscribe), skip(1))
119
- .subscribe((filters) => {
120
- /**
121
- * We are doing this instead of a distinctUntilChange due to memory allocation issues
122
- * with the javascript array. To fix fully the array should be changed to an object in
123
- * a breaking change.
124
- */
125
- if (!this.arraysEqual(filters, this.lastFilters)) {
126
- this.lastFilters = filters.slice(0);
127
- this.appliedFiltersChange.emit(filters);
128
- }
129
- });
130
- }
131
- }
132
- ngOnChanges(changes) {
133
- if (changes['appliedFilters'] &&
134
- changes['appliedFilters'].currentValue !==
135
- changes['appliedFilters'].previousValue) {
136
- this.state.pipe(take(1)).subscribe((currentState) => {
137
- if (currentState.paging.pageNumber &&
138
- currentState.paging.pageNumber !== 1) {
139
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
140
- }
141
- this.dispatcher.filtersUpdate(this.appliedFilters);
142
- });
143
- }
144
- if (changes['selectedIds']) {
145
- // Only send selection changes to dispatcher if changes are distinct.
146
- const newSelectedIds = changes['selectedIds'].currentValue;
147
- if (!this.arraysEqual(newSelectedIds, this.lastSelectedIds)) {
148
- this.dispatcher.setSelected(newSelectedIds, true, true);
149
- }
150
- }
151
- }
152
- ngOnDestroy() {
153
- this.ngUnsubscribe.next();
154
- this.ngUnsubscribe.complete();
155
- }
156
- refreshDisplayedItems() {
157
- this.displayedItems.pipe(take(1)).subscribe((result) => {
158
- this.dispatcher.next(new ListItemsSetLoadingAction());
159
- this.dispatcher.next(new ListItemsLoadAction(result.items, true, true, result.count));
160
- });
161
- }
162
- get displayedItems() {
163
- if (!this.data && !this.dataProvider) {
164
- throw new Error('List requires data or dataProvider to be set.');
165
- }
166
- let data = this.data;
167
- if (!isObservable(data)) {
168
- data = observableOf(this.data);
169
- }
170
- if (!this.dataProvider) {
171
- this.dataProvider = new SkyListInMemoryDataProvider(data, this.searchFunction);
172
- }
173
- let selectedIds = this.selectedIds || observableOf([]);
174
- if (!isObservable(selectedIds)) {
175
- selectedIds = observableOf(selectedIds);
176
- }
177
- let selectedChanged = false;
178
- // This subject is used to cancel previous request to the list's data provider when a new change
179
- // to the list's state occurs. In a future breaking change this should be replaced or coupled
180
- // with adding a debounce time to the Observable which watches for state changes.
181
- const cancelLastRequest = new Subject();
182
- return observableCombineLatest([
183
- this.state.pipe(observableMap((s) => s.filters), distinctUntilChanged()),
184
- this.state.pipe(observableMap((s) => s.search), distinctUntilChanged()),
185
- this.state.pipe(observableMap((s) => s.sort.fieldSelectors), distinctUntilChanged()),
186
- this.state.pipe(observableMap((s) => s.paging.itemsPerPage), distinctUntilChanged()),
187
- this.state.pipe(observableMap((s) => s.paging.pageNumber), distinctUntilChanged()),
188
- this.state.pipe(observableMap((s) => s.toolbar.disabled), distinctUntilChanged()),
189
- selectedIds.pipe(distinctUntilChanged(), observableMap((selected) => {
190
- selectedChanged = true;
191
- return selected;
192
- })),
193
- data.pipe(distinctUntilChanged()),
194
- ], (filters, search, sortFieldSelectors, itemsPerPage, pageNumber, isToolbarDisabled, selected, itemsData) => {
195
- cancelLastRequest.next();
196
- cancelLastRequest.complete();
197
- if (selectedChanged) {
198
- this.dispatcher.next(new ListSelectedSetLoadingAction());
199
- this.dispatcher.next(new ListSelectedLoadAction(selected));
200
- this.dispatcher.next(new ListSelectedSetLoadingAction(false));
201
- selectedChanged = false;
202
- }
203
- let response;
204
- if (this.dataFirstLoad) {
205
- this.dataFirstLoad = false;
206
- const initialItems = itemsData.map((d) => new ListItemModel(d.id || `sky-list-item-model-${++idIndex}`, d));
207
- response = observableOf(new ListDataResponseModel({
208
- count: this.initialTotal,
209
- items: initialItems,
210
- })).pipe(takeUntil(cancelLastRequest));
211
- }
212
- else {
213
- response = this.dataProvider
214
- .get(new ListDataRequestModel({
215
- filters: filters,
216
- pageSize: itemsPerPage,
217
- pageNumber: pageNumber,
218
- search: search,
219
- sort: new ListSortModel({ fieldSelectors: sortFieldSelectors }),
220
- isToolbarDisabled: isToolbarDisabled,
221
- }))
222
- .pipe(takeUntil(cancelLastRequest));
223
- }
224
- return response;
225
- }).pipe(takeUntil(this.ngUnsubscribe),
226
- // Retain user selections from previous state.
227
- // This is only necessary for grids component (based on item.isSelected).
228
- observableMap((response) => {
229
- return response.pipe(observableMap((listDataResponseModel) => {
230
- return new ListDataResponseModel({
231
- count: listDataResponseModel.count,
232
- items: this.getItemsAndRetainSelections(listDataResponseModel.items, this.lastSelectedIds),
233
- });
234
- }));
235
- }), flatMap((value) => value));
236
- }
237
- get selectedItems() {
238
- return observableCombineLatest(this.state.pipe(observableMap((current) => current.items.items), distinctUntilChanged()), this.state.pipe(observableMap((current) => current.selected), distinctUntilChanged()), (items, selected) => {
239
- return items.filter((i) => selected.item.selectedIdMap.get(i.id));
240
- }).pipe(takeUntil(this.ngUnsubscribe));
241
- }
242
- get lastUpdate() {
243
- return this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.items.lastUpdate ? new Date(s.items.lastUpdate) : undefined));
244
- }
245
- get views() {
246
- return this.listViews.toArray();
247
- }
248
- get itemCount() {
249
- return this.dataProvider.count();
250
- }
251
- getItemsAndRetainSelections(newList, selectedIds) {
252
- const updatedListModel = newList.slice();
253
- updatedListModel.forEach((item) => {
254
- item.isSelected = selectedIds.indexOf(item.id) > -1 ? true : false;
255
- });
256
- return updatedListModel;
257
- }
258
- arraysEqual(arrayA, arrayB) {
259
- /* istanbul ignore next */
260
- if (arrayA === arrayB) {
261
- return true;
262
- }
263
- if (arrayA === undefined || arrayB === undefined) {
264
- return false;
265
- }
266
- if (arrayA.length !== arrayB.length) {
267
- return false;
268
- }
269
- for (let i = 0; i < arrayA.length; ++i) {
270
- if (arrayA[i] !== arrayB[i]) {
271
- return false;
272
- }
273
- }
274
- return true;
275
- }
276
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyListComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component }); }
277
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkyListComponent, selector: "sky-list", inputs: { data: "data", dataProvider: "dataProvider", defaultView: "defaultView", initialTotal: "initialTotal", selectedIds: "selectedIds", sortFields: "sortFields", appliedFilters: "appliedFilters", searchFunction: ["search", "searchFunction"] }, outputs: { selectedIdsChange: "selectedIdsChange", appliedFiltersChange: "appliedFiltersChange" }, providers: [ListState, ListStateDispatcher], queries: [{ propertyName: "listViews", predicate: ListViewComponent }], usesOnChanges: true, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
278
- }
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyListComponent, decorators: [{
280
- type: Component,
281
- args: [{
282
- selector: 'sky-list',
283
- template: '<ng-content />',
284
- providers: [ListState, ListStateDispatcher],
285
- changeDetection: ChangeDetectionStrategy.OnPush,
286
- }]
287
- }], ctorParameters: () => [{ type: i1.ListState }, { type: i2.ListStateDispatcher }, { type: i3.SkyLogService }], propDecorators: { data: [{
288
- type: Input
289
- }], dataProvider: [{
290
- type: Input
291
- }], defaultView: [{
292
- type: Input
293
- }], initialTotal: [{
294
- type: Input
295
- }], selectedIds: [{
296
- type: Input
297
- }], sortFields: [{
298
- type: Input
299
- }], appliedFilters: [{
300
- type: Input
301
- }], selectedIdsChange: [{
302
- type: Output
303
- }], appliedFiltersChange: [{
304
- type: Output
305
- }], searchFunction: [{
306
- type: Input,
307
- args: ['search']
308
- }], listViews: [{
309
- type: ContentChildren,
310
- args: [ListViewComponent]
311
- }] } });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRUwsYUFBYSxFQUViLFFBQVEsRUFDUixZQUFZLEdBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBRUwsT0FBTyxFQUNQLGFBQWEsSUFBSSx1QkFBdUIsRUFDeEMsRUFBRSxJQUFJLFlBQVksR0FDbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQUV6RCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFFaEI7O0dBRUc7QUFPSCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUczQixZQUNVLEtBQWdCLEVBQ2hCLFVBQStCLEVBQ3ZDLE1BQXFCO1FBRmIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQWhHbEMsT0FBRSxHQUFHLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hDOzs7Ozs7O1dBT0c7UUFFSSxTQUFJLEdBQStCLEVBQUUsQ0FBQztRQTZDN0M7Ozs7O1dBS0c7UUFFSSxtQkFBYyxHQUFzQixFQUFFLENBQUM7UUFFOUM7O1dBRUc7UUFFSSxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUVwRTs7V0FFRztRQUVJLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBUzVELGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBS3RCLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBRS9CLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUVwQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFPMUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtZQUNwQyx1QkFBdUIsRUFBRSxDQUFDO1lBQzFCLFdBQVcsRUFDVCwrREFBK0Q7WUFDakUseUJBQXlCLEVBQUUsMkJBQTJCO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUztnQkFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFFdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2xCLElBQUksbUJBQW1CLENBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUM1RCxDQUNGLENBQUM7WUFFRiw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU87UUFDVCxDQUFDO1FBRUQsa0JBQWtCO1FBQ2xCLFFBQVEsQ0FDTixJQUFJLENBQUMsVUFBVSxFQUNmLENBQ0UsVUFBcUUsRUFDckUsRUFBRTtZQUNGLElBQUksU0FBdUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDN0MsU0FBUyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDM0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFNBQVMsR0FBRyxVQUEwQyxDQUFDO1lBQ3pELENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbEIsSUFBSSwrQkFBK0IsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQ3JELENBQUM7UUFDSixDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2xCLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FDaEUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxLQUFLO2FBQ1AsSUFBSSxDQUNILGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUM1QyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixvQkFBb0IsRUFBRSxDQUN2QjthQUNBLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLDREQUE0RDtZQUM1RCxNQUFNLGVBQWUsR0FBYSxFQUFFLENBQUM7WUFDckMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNqRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDbkIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDNUIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsbURBQW1EO1lBQ25ELE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FDdkMsSUFBSSxDQUFDLGVBQWUsRUFDcEIsZUFBZSxDQUNoQixDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxLQUFLO2lCQUNQLElBQUksQ0FDSCxhQUFhLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFDM0MsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNyQjs7OzttQkFJRztnQkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDMUMsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFDRSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7WUFDekIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsWUFBWTtnQkFDcEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxFQUN6QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQ2xELElBQ0UsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFVO29CQUM5QixZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQ3BDLENBQUM7b0JBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyRSxDQUFDO2dCQUVELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNyRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzNCLHFFQUFxRTtZQUNyRSxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0scUJBQXFCO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUkseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQ2hFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFFRCxJQUFJLElBQUksR0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4QixJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksMkJBQTJCLENBQ2pELElBQUksRUFDSixJQUFJLENBQUMsY0FBYyxDQUNwQixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMvQixXQUFXLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFFNUIsZ0dBQWdHO1FBQ2hHLDZGQUE2RjtRQUM3RixpRkFBaUY7UUFDakYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTlDLE9BQU8sdUJBQXVCLENBQzVCO1lBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQy9CLG9CQUFvQixFQUFFLENBQ3ZCO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQzlCLG9CQUFvQixFQUFFLENBQ3ZCO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUMzQyxvQkFBb0IsRUFBRSxDQUN2QjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFDM0Msb0JBQW9CLEVBQUUsQ0FDdkI7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQ3pDLG9CQUFvQixFQUFFLENBQ3ZCO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUN4QyxvQkFBb0IsRUFBRSxDQUN2QjtZQUNELFdBQVcsQ0FBQyxJQUFJLENBQ2Qsb0JBQW9CLEVBQUUsRUFDdEIsYUFBYSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3pCLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUNIO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQ2xDLEVBQ0QsQ0FDRSxPQUEwQixFQUMxQixNQUF1QixFQUN2QixrQkFBZ0QsRUFDaEQsWUFBb0IsRUFDcEIsVUFBa0IsRUFDbEIsaUJBQTBCLEVBQzFCLFFBQWtCLEVBQ2xCLFNBQWdCLEVBQ2hCLEVBQUU7WUFDRixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUE0QixFQUFFLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzlELGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQztZQUVELElBQUksUUFBMkMsQ0FBQztZQUNoRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQ2hDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNuRSxDQUFDO2dCQUNGLFFBQVEsR0FBRyxZQUFZLENBQ3JCLElBQUkscUJBQXFCLENBQUM7b0JBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtvQkFDeEIsS0FBSyxFQUFFLFlBQVk7aUJBQ3BCLENBQUMsQ0FDSCxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVk7cUJBQ3pCLEdBQUcsQ0FDRixJQUFJLG9CQUFvQixDQUFDO29CQUN2QixPQUFPLEVBQUUsT0FBTztvQkFDaEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxVQUFVO29CQUN0QixNQUFNLEVBQUUsTUFBTTtvQkFDZCxJQUFJLEVBQUUsSUFBSSxhQUFhLENBQUMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztvQkFDL0QsaUJBQWlCLEVBQUUsaUJBQWlCO2lCQUNyQyxDQUFDLENBQ0g7cUJBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUVELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FDRixDQUFDLElBQUksQ0FDSixTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUU3Qiw4Q0FBOEM7UUFDOUMseUVBQXlFO1FBQ3pFLGFBQWEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3pCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FDbEIsYUFBYSxDQUFDLENBQUMscUJBQXFCLEVBQUUsRUFBRTtnQkFDdEMsT0FBTyxJQUFJLHFCQUFxQixDQUFDO29CQUMvQixLQUFLLEVBQUUscUJBQXFCLENBQUMsS0FBSztvQkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FDckMscUJBQXFCLENBQUMsS0FBSyxFQUMzQixJQUFJLENBQUMsZUFBZSxDQUNyQjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLEVBQ0YsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyx1QkFBdUIsQ0FDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsYUFBYSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUMvQyxvQkFBb0IsRUFBRSxDQUN2QixFQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUM1QyxvQkFBb0IsRUFBRSxDQUN2QixFQUNELENBQUMsS0FBc0IsRUFBRSxRQUFzQyxFQUFFLEVBQUU7WUFDakUsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUNGLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3BCLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2xCLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQzlELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVPLDJCQUEyQixDQUNqQyxPQUF3QixFQUN4QixXQUFxQjtRQUVyQixNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUFhLEVBQUUsTUFBYTtRQUM5QywwQkFBMEI7UUFDMUIsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxNQUFNLEtBQUssU0FBUyxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBM2JVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDhYQUhoQixDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxvREEyRjFCLGlCQUFpQixrREE1RnhCLGdCQUFnQjs7NEZBSWYsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUM7b0JBQzNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs0SUFjUSxJQUFJO3NCQURWLEtBQUs7Z0JBVUMsWUFBWTtzQkFEbEIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQVNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFTQyxVQUFVO3NCQURoQixLQUFLO2dCQWNDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFRQSxjQUFjO3NCQURwQixLQUFLO3VCQUFDLFFBQVE7Z0JBTVAsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgQXN5bmNJdGVtLFxuICBMaXN0SXRlbU1vZGVsLFxuICBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbCxcbiAgZ2V0VmFsdWUsXG4gIGlzT2JzZXJ2YWJsZSxcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0IGFzIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0LFxuICBvZiBhcyBvYnNlcnZhYmxlT2YsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZsYXRNYXAsXG4gIG1hcCBhcyBvYnNlcnZhYmxlTWFwLFxuICBza2lwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyIH0gZnJvbSAnLi4vbGlzdC1kYXRhLXByb3ZpZGVyLWluLW1lbW9yeS9saXN0LWRhdGEtaW4tbWVtb3J5LnByb3ZpZGVyJztcbmltcG9ydCB7IExpc3RGaWx0ZXJNb2RlbCB9IGZyb20gJy4uL2xpc3QtZmlsdGVycy9maWx0ZXIubW9kZWwnO1xuXG5pbXBvcnQgeyBMaXN0RGF0YVJlcXVlc3RNb2RlbCB9IGZyb20gJy4vbGlzdC1kYXRhLXJlcXVlc3QubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFQcm92aWRlciB9IGZyb20gJy4vbGlzdC1kYXRhLnByb3ZpZGVyJztcbmltcG9ydCB7IExpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RJdGVtc0xvYWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2l0ZW1zL2xvYWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RJdGVtc1NldExvYWRpbmdBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2l0ZW1zL3NldC1sb2FkaW5nLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuaW1wb3J0IHsgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3BhZ2luZy9zZXQtcGFnZS1udW1iZXIuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWFyY2hNb2RlbCB9IGZyb20gJy4vc3RhdGUvc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U2VsZWN0ZWRMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9zZWxlY3RlZC9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VsZWN0ZWRNb2RlbCB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvc2VsZWN0ZWQubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbiB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvc2V0LWxvYWRpbmcuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3NvcnQvc2V0LWZpZWxkLXNlbGVjdG9ycy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNvcnRNb2RlbCB9IGZyb20gJy4vc3RhdGUvc29ydC9zb3J0Lm1vZGVsJztcbmltcG9ydCB7IExpc3RWaWV3c0xvYWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3ZpZXdzL2xvYWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RWaWV3c1NldEFjdGl2ZUFjdGlvbiB9IGZyb20gJy4vc3RhdGUvdmlld3Mvc2V0LWFjdGl2ZS5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFZpZXdNb2RlbCB9IGZyb20gJy4vc3RhdGUvdmlld3Mvdmlldy5tb2RlbCc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBMaXN0IGJ1aWxkZXIgYW5kIGl0cyBmZWF0dXJlcyBhcmUgZGVwcmVjYXRlZC4gVXNlIGRhdGEgbWFuYWdlciBpbnN0ZWFkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0JyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gIHByb3ZpZGVyczogW0xpc3RTdGF0ZSwgTGlzdFN0YXRlRGlzcGF0Y2hlcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGlkID0gYHNreS1saXN0LWNtcC0keysraWRJbmRleH1gO1xuICAvKipcbiAgICogVGhlIGRhdGEgdG8gZGlzcGxheS4gVGhlIGxpc3QgY29tcG9uZW50IHJlcXVpcmVzIHRoaXMgcHJvcGVydHkgb3IgdGhlXG4gICAqIGBkYXRhUHJvdmlkZXJgIHByb3BlcnR5LiBGb3IgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWRzLCBlYWNoIHJvdyByZXF1aXJlcyBhblxuICAgKiBgaWRgIHByb3BlcnR5IHRvIG1hbmFnZSBzZWxlY3RlZCBpdGVtcyB3aXRoIHRoZSBgc2VsZWN0ZWRJZHNgIGlucHV0IGFuZCB0aGVcbiAgICogYHNlbGVjdGVkSWRzQ2hhbmdlYCBldmVudC4gSWYgeW91IGRvIG5vdCBwcm92aWRlIGFuIGBpZGAsIHRoZSBsaXN0IGF1dG9tYXRpY2FsbHlcbiAgICogZ2VuZXJhdGVzIG9uZS4gVG8gdXBkYXRlIGRhdGEgaW4geW91ciB2aWV3IG91dHNpZGUgb2YgYSBgZGF0YVByb3ZpZGVyYCwgeW91IG11c3QgdXNlXG4gICAqIGFuIG9ic2VydmFibGUgaW5zdGVhZCBvZiBhIHN0YXRpYyBhcnJheS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRhPzogYW55W10gfCBPYnNlcnZhYmxlPGFueVtdPiA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YSBwcm92aWRlciB0aGF0IG9idGFpbnMgdGhlIGRhdGEgdG8gZGlzcGxheS4gVGhlIGxpc3QgY29tcG9uZW50IHJlcXVpcmVzXG4gICAqIHRoaXMgcHJvcGVydHkgb3IgdGhlIGBkYXRhYCBwcm9wZXJ0eS4gRm9yIGxpc3RzIHRoYXQgdXNlIGBkYXRhUHJvdmlkZXJgIGluc3RlYWQgb2YgYGRhdGFgLFxuICAgKiBjb25zdW1lcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBhbGwgYExpc3REYXRhUmVxdWVzdE1vZGVsYCBwcm9wZXJ0aWVzLlxuICAgKiBAZGVmYXVsdCBTa3lMaXN0SW5NZW1vcnlEYXRhUHJvdmlkZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRhUHJvdmlkZXI/OiBMaXN0RGF0YVByb3ZpZGVyO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0Vmlldz86IExpc3RWaWV3Q29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIGZvciB0aGUgaW5pdGlhbCBkYXRhIHNldCB3aGVuIGluaXRpYWxpemVkLiBXaGVuXG4gICAqIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgZGF0YWAgYW5kIGBkYXRhUHJvdmlkZXJgLCBpdCBhbGxvd3MgYW4gaW5pdGlhbCBkYXRhIHRvIGJlXG4gICAqIHNldCB3aXRoIHRoZSBuZWVkIHRvIGNhbGwgdGhlIGBkYXRhUHJvdmlkZXJgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGluaXRpYWxUb3RhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHNldCBvZiBJRHMgZm9yIHRoZSBpdGVtcyB0byBzZWxlY3QgaW4gYSBjaGVja2xpc3Qgb3IgbXVsdGlzZWxlY3QgZ3JpZC5cbiAgICogVGhlIElEcyBtYXRjaCB0aGUgYGlkYCBwcm9wZXJ0aWVzIG9mIHRoZSBgZGF0YWAgb2JqZWN0cy4gSXRlbXMgd2l0aCBJRHMgdGhhdCBhcmUgbm90XG4gICAqIGluY2x1ZGVkIGFyZSBkZS1zZWxlY3RlZCBpbiB0aGUgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRJZHM/OiBzdHJpbmdbXSB8IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGZpZWxkcyB0byBzb3J0IGJ5LiBJZiBhcnJheSBvZiBmaWVsZHMgdGhlbiBzb3J0ZWQgYnkgb3JkZXIgb2YgYXJyYXkuXG4gICAqIEZvciBpbmZvcm1hdGlvbiBhYm91dCBgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxgLCBzZWUgdGhlXG4gICAqIFtzaGFyZWQgY2xhc3NlcyBmb3IgbGlzdHNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgtbGlzdC1idWlsZGVyLWNvbW1vbi9kb2NzL2xpc3QtYnVpbGRlci1jb21tb24pLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNvcnRGaWVsZHM/OlxuICAgIHwgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxcbiAgICB8IExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW11cbiAgICB8IE9ic2VydmFibGU8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxbXT5cbiAgICB8IE9ic2VydmFibGU8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGZpbHRlcnMgdG8gYXBwbHkgdG8gbGlzdCBkYXRhLlxuICAgKiBUaGVzZSBmaWx0ZXJzIGNyZWF0ZSBhIGZpbHRlciBzdW1tYXJ5IHdoZW4gdGhlIGxpc3QgaW5jbHVkZXMgdGhlXG4gICAqIFtgc2t5LWxpc3QtZmlsdGVyLXN1bW1hcnlgXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvbGlzdC9maWx0ZXJzKVxuICAgKiBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdID0gW107XG5cbiAgLyoqXG4gICAqIEZvciBsaXN0IHZpZXdzIHRoYXQgc3VwcG9ydCBpdGVtIHNlbGVjdGlvbiwgZW1pdHMgdGhlIHNlbGVjdGVkIGVudHJpZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkSWRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNYXA8c3RyaW5nLCBib29sZWFuPj4oKTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIGZpbHRlcnMgYXBwbGllZCB0byB0aGUgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RGaWx0ZXJNb2RlbFtdPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYXMgYSBnbG9iYWwgc29ydCBvbiB0aGUgbGlzdC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnc2VhcmNoJylcbiAgcHVibGljIHNlYXJjaEZ1bmN0aW9uOiAoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBkYXRhRmlyc3RMb2FkID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0Vmlld0NvbXBvbmVudClcbiAgcHJpdmF0ZSBsaXN0Vmlld3M6IFF1ZXJ5TGlzdDxMaXN0Vmlld0NvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBsYXN0U2VsZWN0ZWRJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgcHJpdmF0ZSBsYXN0RmlsdGVyczogTGlzdEZpbHRlck1vZGVsW10gPSBbXTtcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RhdGU6IExpc3RTdGF0ZSxcbiAgICBwcml2YXRlIGRpc3BhdGNoZXI6IExpc3RTdGF0ZURpc3BhdGNoZXIsXG4gICAgbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlLFxuICApIHtcbiAgICBsb2dnZXIuZGVwcmVjYXRlZCgnU2t5TGlzdENvbXBvbmVudCcsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA2LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgZGF0YSBtYW5hZ2VyIGluc3RlYWQuJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGFQcm92aWRlciAmJiB0aGlzLmluaXRpYWxUb3RhbCkge1xuICAgICAgdGhpcy5kYXRhRmlyc3RMb2FkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saXN0Vmlld3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVmYXVsdFZpZXc6IExpc3RWaWV3Q29tcG9uZW50ID1cbiAgICAgICAgdGhpcy5kZWZhdWx0VmlldyA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0aGlzLmxpc3RWaWV3cy5maXJzdFxuICAgICAgICAgIDogdGhpcy5kZWZhdWx0VmlldztcblxuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0Vmlld3NMb2FkQWN0aW9uKFxuICAgICAgICAgIHRoaXMubGlzdFZpZXdzLm1hcCgodikgPT4gbmV3IExpc3RWaWV3TW9kZWwodi5pZCwgdi5sYWJlbCkpLFxuICAgICAgICApLFxuICAgICAgKTtcblxuICAgICAgLy8gYWN0aXZhdGUgdGhlIGRlZmF1bHQgdmlld1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RWaWV3c1NldEFjdGl2ZUFjdGlvbihkZWZhdWx0Vmlldy5pZCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gc2V0IHNvcnQgZmllbGRzXG4gICAgZ2V0VmFsdWUoXG4gICAgICB0aGlzLnNvcnRGaWVsZHMsXG4gICAgICAoXG4gICAgICAgIHNvcnRGaWVsZHM6IExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW10gfCBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbCxcbiAgICAgICkgPT4ge1xuICAgICAgICBsZXQgc29ydEFycmF5OiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc29ydEZpZWxkcykgJiYgc29ydEZpZWxkcykge1xuICAgICAgICAgIHNvcnRBcnJheSA9IFtzb3J0RmllbGRzXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzb3J0QXJyYXkgPSBzb3J0RmllbGRzIGFzIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgbmV3IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oc29ydEFycmF5IHx8IFtdKSxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHRoaXMuZGlzcGxheWVkSXRlbXMuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0SXRlbXNTZXRMb2FkaW5nQWN0aW9uKCkpO1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0SXRlbXNMb2FkQWN0aW9uKHJlc3VsdC5pdGVtcywgdHJ1ZSwgdHJ1ZSwgcmVzdWx0LmNvdW50KSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3Igc2VsZWN0aW9uIGNoYW5nZXMuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgIC8vIFVwZGF0ZSBsYXN0U2VsZWN0ZWRJZHMgdG8gaGVscCB1cyByZXRhaW4gdXNlciBzZWxlY3Rpb25zLlxuICAgICAgICBjb25zdCBzZWxlY3RlZElkc0xpc3Q6IHN0cmluZ1tdID0gW107XG4gICAgICAgIHNlbGVjdGVkLml0ZW0uc2VsZWN0ZWRJZE1hcC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgICAgICBzZWxlY3RlZElkc0xpc3QucHVzaChrZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gSWYgY2hhbmdlcyBhcmUgZGlzdGluY3QsIGVtaXQgc2VsZWN0ZWRJZHNDaGFuZ2UuXG4gICAgICAgIGNvbnN0IGRpc3RpbmN0Q2hhbmdlcyA9ICF0aGlzLmFycmF5c0VxdWFsKFxuICAgICAgICAgIHRoaXMubGFzdFNlbGVjdGVkSWRzLFxuICAgICAgICAgIHNlbGVjdGVkSWRzTGlzdCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2Uub2JzZXJ2ZXJzLmxlbmd0aCA+IDAgJiYgZGlzdGluY3RDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkc0NoYW5nZS5lbWl0KHNlbGVjdGVkLml0ZW0uc2VsZWN0ZWRJZE1hcCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RTZWxlY3RlZElkcyA9IHNlbGVjdGVkSWRzTGlzdDtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuYXBwbGllZEZpbHRlcnNDaGFuZ2Uub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc3RhdGVcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgoY3VycmVudCkgPT4gY3VycmVudC5maWx0ZXJzKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICBza2lwKDEpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBXZSBhcmUgZG9pbmcgdGhpcyBpbnN0ZWFkIG9mIGEgZGlzdGluY3RVbnRpbENoYW5nZSBkdWUgdG8gbWVtb3J5IGFsbG9jYXRpb24gaXNzdWVzXG4gICAgICAgICAgICogd2l0aCB0aGUgamF2YXNjcmlwdCBhcnJheS4gVG8gZml4IGZ1bGx5IHRoZSBhcnJheSBzaG91bGQgYmUgY2hhbmdlZCB0byBhbiBvYmplY3QgaW5cbiAgICAgICAgICAgKiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBpZiAoIXRoaXMuYXJyYXlzRXF1YWwoZmlsdGVycywgdGhpcy5sYXN0RmlsdGVycykpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdEZpbHRlcnMgPSBmaWx0ZXJzLnNsaWNlKDApO1xuICAgICAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyc0NoYW5nZS5lbWl0KGZpbHRlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddICYmXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snYXBwbGllZEZpbHRlcnMnXS5wcmV2aW91c1ZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLnN0YXRlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChjdXJyZW50U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAmJlxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAhPT0gMVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24oTnVtYmVyKDEpKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3BhdGNoZXIuZmlsdGVyc1VwZGF0ZSh0aGlzLmFwcGxpZWRGaWx0ZXJzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWRJZHMnXSkge1xuICAgICAgLy8gT25seSBzZW5kIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIGRpc3BhdGNoZXIgaWYgY2hhbmdlcyBhcmUgZGlzdGluY3QuXG4gICAgICBjb25zdCBuZXdTZWxlY3RlZElkcyA9IGNoYW5nZXNbJ3NlbGVjdGVkSWRzJ10uY3VycmVudFZhbHVlO1xuICAgICAgaWYgKCF0aGlzLmFycmF5c0VxdWFsKG5ld1NlbGVjdGVkSWRzLCB0aGlzLmxhc3RTZWxlY3RlZElkcykpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnNldFNlbGVjdGVkKG5ld1NlbGVjdGVkSWRzLCB0cnVlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoRGlzcGxheWVkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudCksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWRJdGVtcygpOiBPYnNlcnZhYmxlPExpc3REYXRhUmVzcG9uc2VNb2RlbD4ge1xuICAgIGlmICghdGhpcy5kYXRhICYmICF0aGlzLmRhdGFQcm92aWRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdMaXN0IHJlcXVpcmVzIGRhdGEgb3IgZGF0YVByb3ZpZGVyIHRvIGJlIHNldC4nKTtcbiAgICB9XG5cbiAgICBsZXQgZGF0YTogYW55ID0gdGhpcy5kYXRhO1xuICAgIGlmICghaXNPYnNlcnZhYmxlKGRhdGEpKSB7XG4gICAgICBkYXRhID0gb2JzZXJ2YWJsZU9mKHRoaXMuZGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRhdGFQcm92aWRlcikge1xuICAgICAgdGhpcy5kYXRhUHJvdmlkZXIgPSBuZXcgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyKFxuICAgICAgICBkYXRhLFxuICAgICAgICB0aGlzLnNlYXJjaEZ1bmN0aW9uLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkSWRzIHx8IG9ic2VydmFibGVPZihbXSk7XG4gICAgaWYgKCFpc09ic2VydmFibGUoc2VsZWN0ZWRJZHMpKSB7XG4gICAgICBzZWxlY3RlZElkcyA9IG9ic2VydmFibGVPZihzZWxlY3RlZElkcyk7XG4gICAgfVxuXG4gICAgbGV0IHNlbGVjdGVkQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgLy8gVGhpcyBzdWJqZWN0IGlzIHVzZWQgdG8gY2FuY2VsIHByZXZpb3VzIHJlcXVlc3QgdG8gdGhlIGxpc3QncyBkYXRhIHByb3ZpZGVyIHdoZW4gYSBuZXcgY2hhbmdlXG4gICAgLy8gdG8gdGhlIGxpc3QncyBzdGF0ZSBvY2N1cnMuIEluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSB0aGlzIHNob3VsZCBiZSByZXBsYWNlZCBvciBjb3VwbGVkXG4gICAgLy8gd2l0aCBhZGRpbmcgYSBkZWJvdW5jZSB0aW1lIHRvIHRoZSBPYnNlcnZhYmxlIHdoaWNoIHdhdGNoZXMgZm9yIHN0YXRlIGNoYW5nZXMuXG4gICAgY29uc3QgY2FuY2VsTGFzdFJlcXVlc3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5maWx0ZXJzKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zZWFyY2gpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnNvcnQuZmllbGRTZWxlY3RvcnMpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5pdGVtc1BlclBhZ2UpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5wYWdlTnVtYmVyKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy50b29sYmFyLmRpc2FibGVkKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICBzZWxlY3RlZElkcy5waXBlKFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIHNlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWQ7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICAgIGRhdGEucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICAgIF0sXG4gICAgICAoXG4gICAgICAgIGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdLFxuICAgICAgICBzZWFyY2g6IExpc3RTZWFyY2hNb2RlbCxcbiAgICAgICAgc29ydEZpZWxkU2VsZWN0b3JzOiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdLFxuICAgICAgICBpdGVtc1BlclBhZ2U6IG51bWJlcixcbiAgICAgICAgcGFnZU51bWJlcjogbnVtYmVyLFxuICAgICAgICBpc1Rvb2xiYXJEaXNhYmxlZDogYm9vbGVhbixcbiAgICAgICAgc2VsZWN0ZWQ6IHN0cmluZ1tdLFxuICAgICAgICBpdGVtc0RhdGE6IGFueVtdLFxuICAgICAgKSA9PiB7XG4gICAgICAgIGNhbmNlbExhc3RSZXF1ZXN0Lm5leHQoKTtcbiAgICAgICAgY2FuY2VsTGFzdFJlcXVlc3QuY29tcGxldGUoKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkQ2hhbmdlZCkge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRTZXRMb2FkaW5nQWN0aW9uKCkpO1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRMb2FkQWN0aW9uKHNlbGVjdGVkKSk7XG4gICAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RTZWxlY3RlZFNldExvYWRpbmdBY3Rpb24oZmFsc2UpKTtcbiAgICAgICAgICBzZWxlY3RlZENoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZTogT2JzZXJ2YWJsZTxMaXN0RGF0YVJlc3BvbnNlTW9kZWw+O1xuICAgICAgICBpZiAodGhpcy5kYXRhRmlyc3RMb2FkKSB7XG4gICAgICAgICAgdGhpcy5kYXRhRmlyc3RMb2FkID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgaW5pdGlhbEl0ZW1zID0gaXRlbXNEYXRhLm1hcChcbiAgICAgICAgICAgIChkKSA9PlxuICAgICAgICAgICAgICBuZXcgTGlzdEl0ZW1Nb2RlbChkLmlkIHx8IGBza3ktbGlzdC1pdGVtLW1vZGVsLSR7KytpZEluZGV4fWAsIGQpLFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmVzcG9uc2UgPSBvYnNlcnZhYmxlT2YoXG4gICAgICAgICAgICBuZXcgTGlzdERhdGFSZXNwb25zZU1vZGVsKHtcbiAgICAgICAgICAgICAgY291bnQ6IHRoaXMuaW5pdGlhbFRvdGFsLFxuICAgICAgICAgICAgICBpdGVtczogaW5pdGlhbEl0ZW1zLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKS5waXBlKHRha2VVbnRpbChjYW5jZWxMYXN0UmVxdWVzdCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5kYXRhUHJvdmlkZXJcbiAgICAgICAgICAgIC5nZXQoXG4gICAgICAgICAgICAgIG5ldyBMaXN0RGF0YVJlcXVlc3RNb2RlbCh7XG4gICAgICAgICAgICAgICAgZmlsdGVyczogZmlsdGVycyxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogaXRlbXNQZXJQYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2VOdW1iZXI6IHBhZ2VOdW1iZXIsXG4gICAgICAgICAgICAgICAgc2VhcmNoOiBzZWFyY2gsXG4gICAgICAgICAgICAgICAgc29ydDogbmV3IExpc3RTb3J0TW9kZWwoeyBmaWVsZFNlbGVjdG9yczogc29ydEZpZWxkU2VsZWN0b3JzIH0pLFxuICAgICAgICAgICAgICAgIGlzVG9vbGJhckRpc2FibGVkOiBpc1Rvb2xiYXJEaXNhYmxlZCxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwoY2FuY2VsTGFzdFJlcXVlc3QpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0sXG4gICAgKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG5cbiAgICAgIC8vIFJldGFpbiB1c2VyIHNlbGVjdGlvbnMgZnJvbSBwcmV2aW91cyBzdGF0ZS5cbiAgICAgIC8vIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgZm9yIGdyaWRzIGNvbXBvbmVudCAoYmFzZWQgb24gaXRlbS5pc1NlbGVjdGVkKS5cbiAgICAgIG9ic2VydmFibGVNYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGxpc3REYXRhUmVzcG9uc2VNb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMaXN0RGF0YVJlc3BvbnNlTW9kZWwoe1xuICAgICAgICAgICAgICBjb3VudDogbGlzdERhdGFSZXNwb25zZU1vZGVsLmNvdW50LFxuICAgICAgICAgICAgICBpdGVtczogdGhpcy5nZXRJdGVtc0FuZFJldGFpblNlbGVjdGlvbnMoXG4gICAgICAgICAgICAgICAgbGlzdERhdGFSZXNwb25zZU1vZGVsLml0ZW1zLFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFNlbGVjdGVkSWRzLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICAgIGZsYXRNYXAoKHZhbHVlKSA9PiB2YWx1ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJdGVtcygpOiBPYnNlcnZhYmxlPExpc3RJdGVtTW9kZWxbXT4ge1xuICAgIHJldHVybiBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdChcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoY3VycmVudCkgPT4gY3VycmVudC5pdGVtcy5pdGVtcyksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApLFxuICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChjdXJyZW50KSA9PiBjdXJyZW50LnNlbGVjdGVkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICksXG4gICAgICAoaXRlbXM6IExpc3RJdGVtTW9kZWxbXSwgc2VsZWN0ZWQ6IEFzeW5jSXRlbTxMaXN0U2VsZWN0ZWRNb2RlbD4pID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaSkgPT4gc2VsZWN0ZWQuaXRlbS5zZWxlY3RlZElkTWFwLmdldChpLmlkKSk7XG4gICAgICB9LFxuICAgICkucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RVcGRhdGUoKTogT2JzZXJ2YWJsZTxEYXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT5cbiAgICAgICAgcy5pdGVtcy5sYXN0VXBkYXRlID8gbmV3IERhdGUocy5pdGVtcy5sYXN0VXBkYXRlKSA6IHVuZGVmaW5lZCxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlld3MoKTogTGlzdFZpZXdDb21wb25lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFZpZXdzLnRvQXJyYXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlbUNvdW50KCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVByb3ZpZGVyLmNvdW50KCk7XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1zQW5kUmV0YWluU2VsZWN0aW9ucyhcbiAgICBuZXdMaXN0OiBMaXN0SXRlbU1vZGVsW10sXG4gICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdLFxuICApOiBMaXN0SXRlbU1vZGVsW10ge1xuICAgIGNvbnN0IHVwZGF0ZWRMaXN0TW9kZWwgPSBuZXdMaXN0LnNsaWNlKCk7XG4gICAgdXBkYXRlZExpc3RNb2RlbC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBzZWxlY3RlZElkcy5pbmRleE9mKGl0ZW0uaWQpID4gLTEgPyB0cnVlIDogZmFsc2U7XG4gICAgfSk7XG4gICAgcmV0dXJuIHVwZGF0ZWRMaXN0TW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGFycmF5c0VxdWFsKGFycmF5QTogYW55W10sIGFycmF5QjogYW55W10pOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChhcnJheUEgPT09IGFycmF5Qikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChhcnJheUEgPT09IHVuZGVmaW5lZCB8fCBhcnJheUIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXJyYXlBLmxlbmd0aCAhPT0gYXJyYXlCLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5QS5sZW5ndGg7ICsraSkge1xuICAgICAgaWYgKGFycmF5QVtpXSAhPT0gYXJyYXlCW2ldKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { SkyListComponent } from './list.component';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
7
- */
8
- export class SkyListModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyListModule, declarations: [SkyListComponent], imports: [CommonModule], exports: [SkyListComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyListModule, imports: [CommonModule] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyListModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- declarations: [SkyListComponent],
17
- imports: [CommonModule],
18
- exports: [SkyListComponent],
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVwRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxhQUFhOytHQUFiLGFBQWE7Z0hBQWIsYUFBYSxpQkFKVCxnQkFBZ0IsYUFDckIsWUFBWSxhQUNaLGdCQUFnQjtnSEFFZixhQUFhLFlBSGQsWUFBWTs7NEZBR1gsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5TGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIExpc3QgYnVpbGRlciBhbmQgaXRzIGZlYXR1cmVzIGFyZSBkZXByZWNhdGVkLiBVc2UgZGF0YSBtYW5hZ2VyIGluc3RlYWQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2RhdGEtbWFuYWdlci5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5TGlzdENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbU2t5TGlzdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RNb2R1bGUge31cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { ListStateOrchestrator } from '../list-state.rxstate';
2
- import { ListFiltersUpdateAction } from './update.action';
3
- /**
4
- * @internal
5
- * @deprecated
6
- */
7
- export class ListFiltersOrchestrator extends ListStateOrchestrator {
8
- /* istanbul ignore next */
9
- constructor() {
10
- super();
11
- this.register(ListFiltersUpdateAction, this.update);
12
- }
13
- update(state, action) {
14
- return [...action.filters];
15
- }
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5vcmNoZXN0cmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2ZpbHRlcnMvZmlsdGVycy5vcmNoZXN0cmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHFCQUU1QztJQUNDLDBCQUEwQjtJQUMxQjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLE1BQU0sQ0FDWixLQUF3QixFQUN4QixNQUErQjtRQUUvQixPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U3RhdGVPcmNoZXN0cmF0b3IgfSBmcm9tICcuLi9saXN0LXN0YXRlLnJ4c3RhdGUnO1xuXG5pbXBvcnQgeyBMaXN0RmlsdGVyc1VwZGF0ZUFjdGlvbiB9IGZyb20gJy4vdXBkYXRlLmFjdGlvbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdEZpbHRlcnNPcmNoZXN0cmF0b3IgZXh0ZW5kcyBMaXN0U3RhdGVPcmNoZXN0cmF0b3I8XG4gIExpc3RGaWx0ZXJNb2RlbFtdXG4+IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMucmVnaXN0ZXIoTGlzdEZpbHRlcnNVcGRhdGVBY3Rpb24sIHRoaXMudXBkYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlKFxuICAgIHN0YXRlOiBMaXN0RmlsdGVyTW9kZWxbXSxcbiAgICBhY3Rpb246IExpc3RGaWx0ZXJzVXBkYXRlQWN0aW9uLFxuICApOiBMaXN0RmlsdGVyTW9kZWxbXSB7XG4gICAgcmV0dXJuIFsuLi5hY3Rpb24uZmlsdGVyc107XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- /**
2
- * @internal
3
- * @deprecated
4
- */
5
- export class ListFiltersUpdateAction {
6
- constructor(filters) {
7
- this.filters = filters;
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvZmlsdGVycy91cGRhdGUuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBbUIsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0NBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdEZpbHRlcnNVcGRhdGVBY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmlsdGVyczogTGlzdEZpbHRlck1vZGVsW10pIHt9XG59XG4iXX0=
@@ -1,53 +0,0 @@
1
- import { AsyncList, ListItemModel } from '@skyux/list-builder-common';
2
- import { ListStateOrchestrator } from '../list-state.rxstate';
3
- import { ListItemsLoadAction } from './load.action';
4
- import { ListItemsSetSelectedAction } from './set-items-selected.action';
5
- import { ListItemsSetLoadingAction } from './set-loading.action';
6
- /**
7
- * @internal
8
- * @deprecated
9
- */
10
- export class ListItemsOrchestrator extends ListStateOrchestrator {
11
- /* istanbul ignore next */
12
- constructor() {
13
- super();
14
- this.register(ListItemsSetLoadingAction, this.setLoading)
15
- .register(ListItemsLoadAction, this.load)
16
- .register(ListItemsSetSelectedAction, this.setItemsSelected);
17
- }
18
- setLoading(state, action) {
19
- return new AsyncList(state.items, state.lastUpdate, action.loading, state.count);
20
- }
21
- load(state, action) {
22
- const newListItems = action.items.map((g) => new ListItemModel(g.id, g.data, g.isSelected));
23
- const resultItems = action.refresh
24
- ? [...newListItems]
25
- : [...state.items, ...newListItems];
26
- const count = action.count === undefined ? resultItems.length : action.count;
27
- return new AsyncList(resultItems, action.dataChanged ? Date.now() : state.lastUpdate, false, count);
28
- }
29
- setItemsSelected(state, action) {
30
- /* istanbul ignore next */
31
- const newSelectedIds = action.items || [];
32
- const newListItemModels = this.cloneListItemModelArray(state.items);
33
- if (action.refresh) {
34
- newListItemModels.forEach((item) => (item.isSelected = undefined));
35
- }
36
- newSelectedIds.map((s) => {
37
- const newItem = newListItemModels.find((i) => i.id === s);
38
- /* istanbul ignore next */
39
- if (newItem) {
40
- newItem.isSelected = action.selected;
41
- }
42
- });
43
- return new AsyncList(newListItemModels, Date.now(), state.loading, state.count);
44
- }
45
- cloneListItemModelArray(source) {
46
- const newListItems = [];
47
- source.forEach((item) => {
48
- newListItems.push(new ListItemModel(item.id, Object.assign({}, item.data), item.isSelected));
49
- });
50
- return newListItems;
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMub3JjaGVzdHJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9pdGVtcy9pdGVtcy5vcmNoZXN0cmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUUxQztJQUNDLDBCQUEwQjtJQUMxQjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3RELFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ3hDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sVUFBVSxDQUNoQixLQUErQixFQUMvQixNQUFpQztRQUVqQyxPQUFPLElBQUksU0FBUyxDQUNsQixLQUFLLENBQUMsS0FBSyxFQUNYLEtBQUssQ0FBQyxVQUFVLEVBQ2hCLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsS0FBSyxDQUFDLEtBQUssQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVPLElBQUksQ0FDVixLQUErQixFQUMvQixNQUEyQjtRQUUzQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDbkMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ3JELENBQUM7UUFDRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTztZQUNoQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxZQUFZLENBQUMsQ0FBQztRQUV0QyxNQUFNLEtBQUssR0FDVCxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqRSxPQUFPLElBQUksU0FBUyxDQUNsQixXQUFXLEVBQ1gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUNsRCxLQUFLLEVBQ0wsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLEtBQStCLEVBQy9CLE1BQWtDO1FBRWxDLDBCQUEwQjtRQUMxQixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEUsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMxRCwwQkFBMEI7WUFDMUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsaUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFDVixLQUFLLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyxLQUFLLENBQ1osQ0FBQztJQUNKLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxNQUF1QjtRQUNyRCxNQUFNLFlBQVksR0FBb0IsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QixZQUFZLENBQUMsSUFBSSxDQUNmLElBQUksYUFBYSxDQUNmLElBQUksQ0FBQyxFQUFFLEVBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUM1QixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jTGlzdCwgTGlzdEl0ZW1Nb2RlbCB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdFN0YXRlT3JjaGVzdHJhdG9yIH0gZnJvbSAnLi4vbGlzdC1zdGF0ZS5yeHN0YXRlJztcblxuaW1wb3J0IHsgTGlzdEl0ZW1zTG9hZEFjdGlvbiB9IGZyb20gJy4vbG9hZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdEl0ZW1zU2V0U2VsZWN0ZWRBY3Rpb24gfSBmcm9tICcuL3NldC1pdGVtcy1zZWxlY3RlZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbiB9IGZyb20gJy4vc2V0LWxvYWRpbmcuYWN0aW9uJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbXNPcmNoZXN0cmF0b3IgZXh0ZW5kcyBMaXN0U3RhdGVPcmNoZXN0cmF0b3I8XG4gIEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPlxuPiB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyKExpc3RJdGVtc1NldExvYWRpbmdBY3Rpb24sIHRoaXMuc2V0TG9hZGluZylcbiAgICAgIC5yZWdpc3RlcihMaXN0SXRlbXNMb2FkQWN0aW9uLCB0aGlzLmxvYWQpXG4gICAgICAucmVnaXN0ZXIoTGlzdEl0ZW1zU2V0U2VsZWN0ZWRBY3Rpb24sIHRoaXMuc2V0SXRlbXNTZWxlY3RlZCk7XG4gIH1cblxuICBwcml2YXRlIHNldExvYWRpbmcoXG4gICAgc3RhdGU6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPixcbiAgICBhY3Rpb246IExpc3RJdGVtc1NldExvYWRpbmdBY3Rpb24sXG4gICk6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPiB7XG4gICAgcmV0dXJuIG5ldyBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4oXG4gICAgICBzdGF0ZS5pdGVtcyxcbiAgICAgIHN0YXRlLmxhc3RVcGRhdGUsXG4gICAgICBhY3Rpb24ubG9hZGluZyxcbiAgICAgIHN0YXRlLmNvdW50LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxvYWQoXG4gICAgc3RhdGU6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPixcbiAgICBhY3Rpb246IExpc3RJdGVtc0xvYWRBY3Rpb24sXG4gICk6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPiB7XG4gICAgY29uc3QgbmV3TGlzdEl0ZW1zID0gYWN0aW9uLml0ZW1zLm1hcChcbiAgICAgIChnKSA9PiBuZXcgTGlzdEl0ZW1Nb2RlbChnLmlkLCBnLmRhdGEsIGcuaXNTZWxlY3RlZCksXG4gICAgKTtcbiAgICBjb25zdCByZXN1bHRJdGVtcyA9IGFjdGlvbi5yZWZyZXNoXG4gICAgICA/IFsuLi5uZXdMaXN0SXRlbXNdXG4gICAgICA6IFsuLi5zdGF0ZS5pdGVtcywgLi4ubmV3TGlzdEl0ZW1zXTtcblxuICAgIGNvbnN0IGNvdW50ID1cbiAgICAgIGFjdGlvbi5jb3VudCA9PT0gdW5kZWZpbmVkID8gcmVzdWx0SXRlbXMubGVuZ3RoIDogYWN0aW9uLmNvdW50O1xuICAgIHJldHVybiBuZXcgQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+KFxuICAgICAgcmVzdWx0SXRlbXMsXG4gICAgICBhY3Rpb24uZGF0YUNoYW5nZWQgPyBEYXRlLm5vdygpIDogc3RhdGUubGFzdFVwZGF0ZSxcbiAgICAgIGZhbHNlLFxuICAgICAgY291bnQsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SXRlbXNTZWxlY3RlZChcbiAgICBzdGF0ZTogQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+LFxuICAgIGFjdGlvbjogTGlzdEl0ZW1zU2V0U2VsZWN0ZWRBY3Rpb24sXG4gICk6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBjb25zdCBuZXdTZWxlY3RlZElkcyA9IGFjdGlvbi5pdGVtcyB8fCBbXTtcbiAgICBjb25zdCBuZXdMaXN0SXRlbU1vZGVscyA9IHRoaXMuY2xvbmVMaXN0SXRlbU1vZGVsQXJyYXkoc3RhdGUuaXRlbXMpO1xuXG4gICAgaWYgKGFjdGlvbi5yZWZyZXNoKSB7XG4gICAgICBuZXdMaXN0SXRlbU1vZGVscy5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS5pc1NlbGVjdGVkID0gdW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgbmV3U2VsZWN0ZWRJZHMubWFwKChzKSA9PiB7XG4gICAgICBjb25zdCBuZXdJdGVtID0gbmV3TGlzdEl0ZW1Nb2RlbHMuZmluZCgoaSkgPT4gaS5pZCA9PT0gcyk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgaWYgKG5ld0l0ZW0pIHtcbiAgICAgICAgbmV3SXRlbS5pc1NlbGVjdGVkID0gYWN0aW9uLnNlbGVjdGVkO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4oXG4gICAgICBuZXdMaXN0SXRlbU1vZGVscyxcbiAgICAgIERhdGUubm93KCksXG4gICAgICBzdGF0ZS5sb2FkaW5nLFxuICAgICAgc3RhdGUuY291bnQsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvbmVMaXN0SXRlbU1vZGVsQXJyYXkoc291cmNlOiBMaXN0SXRlbU1vZGVsW10pOiBMaXN0SXRlbU1vZGVsW10ge1xuICAgIGNvbnN0IG5ld0xpc3RJdGVtczogTGlzdEl0ZW1Nb2RlbFtdID0gW107XG4gICAgc291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIG5ld0xpc3RJdGVtcy5wdXNoKFxuICAgICAgICBuZXcgTGlzdEl0ZW1Nb2RlbChcbiAgICAgICAgICBpdGVtLmlkLFxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIGl0ZW0uZGF0YSksXG4gICAgICAgICAgaXRlbS5pc1NlbGVjdGVkLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3TGlzdEl0ZW1zO1xuICB9XG59XG4iXX0=
@@ -1,13 +0,0 @@
1
- /**
2
- * @internal
3
- * @deprecated
4
- */
5
- export class ListItemsLoadAction {
6
- constructor(items, refresh = false, dataChanged = true, count) {
7
- this.items = items;
8
- this.refresh = refresh;
9
- this.dataChanged = dataChanged;
10
- this.count = count;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2l0ZW1zL2xvYWQuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDUyxLQUFzQixFQUN0QixVQUFVLEtBQUssRUFDZixjQUFjLElBQUksRUFDbEIsS0FBYztRQUhkLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBTztRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFTO0lBQ3BCLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RJdGVtTW9kZWwgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1zTG9hZEFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpdGVtczogTGlzdEl0ZW1Nb2RlbFtdLFxuICAgIHB1YmxpYyByZWZyZXNoID0gZmFsc2UsXG4gICAgcHVibGljIGRhdGFDaGFuZ2VkID0gdHJ1ZSxcbiAgICBwdWJsaWMgY291bnQ/OiBudW1iZXIsXG4gICkge31cbn1cbiJdfQ==
@@ -1,14 +0,0 @@
1
- /**
2
- * @internal
3
- * @deprecated
4
- */
5
- export class ListItemsSetSelectedAction {
6
- constructor(items,
7
- /* istanbul ignore next */
8
- selected = false, refresh = true) {
9
- this.items = items;
10
- this.selected = selected;
11
- this.refresh = refresh;
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvaXRlbXMvc2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQ1MsS0FBZTtJQUN0QiwwQkFBMEI7SUFDbkIsV0FBVyxLQUFLLEVBQ2hCLFVBQVUsSUFBSTtRQUhkLFVBQUssR0FBTCxLQUFLLENBQVU7UUFFZixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQU87SUFDcEIsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbXNTZXRTZWxlY3RlZEFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpdGVtczogc3RyaW5nW10sXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBwdWJsaWMgc2VsZWN0ZWQgPSBmYWxzZSxcbiAgICBwdWJsaWMgcmVmcmVzaCA9IHRydWUsXG4gICkge31cbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- /**
2
- * @internal
3
- * @deprecated
4
- */
5
- export class ListItemsSetLoadingAction {
6
- constructor(loading = true) {
7
- this.loading = loading;
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWxvYWRpbmcuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9pdGVtcy9zZXQtbG9hZGluZy5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFtQixVQUFVLElBQUk7UUFBZCxZQUFPLEdBQVAsT0FBTyxDQUFPO0lBQUcsQ0FBQztDQUN0QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2FkaW5nID0gdHJ1ZSkge31cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGF0ZS1hY3Rpb24udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS1hY3Rpb24udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdEZpbHRlcnNVcGRhdGVBY3Rpb24gfSBmcm9tICcuL2ZpbHRlcnMvdXBkYXRlLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9pdGVtcy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0SXRlbXNTZXRTZWxlY3RlZEFjdGlvbiB9IGZyb20gJy4vaXRlbXMvc2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0SXRlbXNTZXRMb2FkaW5nQWN0aW9uIH0gZnJvbSAnLi9pdGVtcy9zZXQtbG9hZGluZy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFBhZ2luZ1NldEl0ZW1zUGVyUGFnZUFjdGlvbiB9IGZyb20gJy4vcGFnaW5nL3NldC1pdGVtcy1wZXItcGFnZS5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFBhZ2luZ1NldE1heFBhZ2VzQWN0aW9uIH0gZnJvbSAnLi9wYWdpbmcvc2V0LW1heC1wYWdlcy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24gfSBmcm9tICcuL3BhZ2luZy9zZXQtcGFnZS1udW1iZXIuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWFyY2hTZXRGaWVsZFNlbGVjdG9yc0FjdGlvbiB9IGZyb20gJy4vc2VhcmNoL3NldC1maWVsZC1zZWxlY3RvcnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWFyY2hTZXRGdW5jdGlvbnNBY3Rpb24gfSBmcm9tICcuL3NlYXJjaC9zZXQtZnVuY3Rpb25zLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VhcmNoU2V0T3B0aW9uc0FjdGlvbiB9IGZyb20gJy4vc2VhcmNoL3NldC1vcHRpb25zLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VhcmNoU2V0U2VhcmNoVGV4dEFjdGlvbiB9IGZyb20gJy4vc2VhcmNoL3NldC1zZWFyY2gtdGV4dC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTG9hZEFjdGlvbiB9IGZyb20gJy4vc2VsZWN0ZWQvbG9hZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkU2V0SXRlbVNlbGVjdGVkQWN0aW9uIH0gZnJvbSAnLi9zZWxlY3RlZC9zZXQtaXRlbS1zZWxlY3RlZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbiB9IGZyb20gJy4vc2VsZWN0ZWQvc2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VsZWN0ZWRTZXRMb2FkaW5nQWN0aW9uIH0gZnJvbSAnLi9zZWxlY3RlZC9zZXQtbG9hZGluZy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNvcnRTZXRBdmFpbGFibGVBY3Rpb24gfSBmcm9tICcuL3NvcnQvc2V0LWF2YWlsYWJsZS5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNvcnRTZXRGaWVsZFNlbGVjdG9yc0FjdGlvbiB9IGZyb20gJy4vc29ydC9zZXQtZmllbGQtc2VsZWN0b3JzLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U29ydFNldEdsb2JhbEFjdGlvbiB9IGZyb20gJy4vc29ydC9zZXQtZ2xvYmFsLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0VG9vbGJhckl0ZW1zRGlzYWJsZUFjdGlvbiB9IGZyb20gJy4vdG9vbGJhci9kaXNhYmxlLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0VG9vbGJhckl0ZW1zTG9hZEFjdGlvbiB9IGZyb20gJy4vdG9vbGJhci9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0VG9vbGJhckl0ZW1zUmVtb3ZlQWN0aW9uIH0gZnJvbSAnLi90b29sYmFyL3JlbW92ZS5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFRvb2xiYXJTZXRFeGlzdHNBY3Rpb24gfSBmcm9tICcuL3Rvb2xiYXIvc2V0LWV4aXN0cy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uIH0gZnJvbSAnLi90b29sYmFyL3NldC10eXBlLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0Vmlld3NMb2FkQWN0aW9uIH0gZnJvbSAnLi92aWV3cy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24gfSBmcm9tICcuL3ZpZXdzL3NldC1hY3RpdmUuYWN0aW9uJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCB0eXBlIExpc3RTdGF0ZUFjdGlvbiA9XG4gIHwgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvblxuICB8IExpc3RJdGVtc0xvYWRBY3Rpb25cbiAgfCBMaXN0SXRlbXNTZXRTZWxlY3RlZEFjdGlvblxuICB8IExpc3RQYWdpbmdTZXRNYXhQYWdlc0FjdGlvblxuICB8IExpc3RQYWdpbmdTZXRJdGVtc1BlclBhZ2VBY3Rpb25cbiAgfCBMaXN0UGFnaW5nU2V0UGFnZU51bWJlckFjdGlvblxuICB8IExpc3RWaWV3c0xvYWRBY3Rpb25cbiAgfCBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb25cbiAgfCBMaXN0VG9vbGJhckl0ZW1zTG9hZEFjdGlvblxuICB8IExpc3RUb29sYmFyU2V0RXhpc3RzQWN0aW9uXG4gIHwgTGlzdFNlYXJjaFNldFNlYXJjaFRleHRBY3Rpb25cbiAgfCBMaXN0U2VhcmNoU2V0RnVuY3Rpb25zQWN0aW9uXG4gIHwgTGlzdFNlYXJjaFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uXG4gIHwgTGlzdFNlYXJjaFNldE9wdGlvbnNBY3Rpb25cbiAgfCBMaXN0U2VsZWN0ZWRTZXRMb2FkaW5nQWN0aW9uXG4gIHwgTGlzdFNlbGVjdGVkTG9hZEFjdGlvblxuICB8IExpc3RTZWxlY3RlZFNldEl0ZW1TZWxlY3RlZEFjdGlvblxuICB8IExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb25cbiAgfCBMaXN0VG9vbGJhclNldFR5cGVBY3Rpb25cbiAgfCBMaXN0U29ydFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uXG4gIHwgTGlzdFNvcnRTZXRBdmFpbGFibGVBY3Rpb25cbiAgfCBMaXN0U29ydFNldEdsb2JhbEFjdGlvblxuICB8IExpc3RGaWx0ZXJzVXBkYXRlQWN0aW9uXG4gIHwgTGlzdFRvb2xiYXJJdGVtc1JlbW92ZUFjdGlvblxuICB8IExpc3RUb29sYmFySXRlbXNEaXNhYmxlQWN0aW9uO1xuIl19
@@ -1,25 +0,0 @@
1
- import { AsyncItem, AsyncList, } from '@skyux/list-builder-common';
2
- import { ListPagingModel } from './paging/paging.model';
3
- import { ListSearchModel } from './search/search.model';
4
- import { ListSelectedModel } from './selected/selected.model';
5
- import { ListSortModel } from './sort/sort.model';
6
- import { ListToolbarModel } from './toolbar/toolbar.model';
7
- import { ListViewsModel } from './views/views.model';
8
- /**
9
- * @internal
10
- * @deprecated
11
- */
12
- export class ListStateModel {
13
- constructor() {
14
- this.filters = [];
15
- this.items = new AsyncList();
16
- this.paging = new ListPagingModel();
17
- this.search = new ListSearchModel();
18
- this.selected = new AsyncItem();
19
- this.sort = new ListSortModel();
20
- this.toolbar = new ListToolbarModel();
21
- this.views = new ListViewsModel();
22
- this.selected.item = new ListSelectedModel();
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGF0ZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsR0FFVixNQUFNLDRCQUE0QixDQUFDO0FBSXBDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBYztJQVd6QjtRQVZPLFlBQU8sR0FBc0IsRUFBRSxDQUFDO1FBQ2hDLFVBQUssR0FBNkIsSUFBSSxTQUFTLEVBQWlCLENBQUM7UUFDakUsV0FBTSxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ2hELFdBQU0sR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNoRCxhQUFRLEdBQ2IsSUFBSSxTQUFTLEVBQXFCLENBQUM7UUFDOUIsU0FBSSxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzFDLFlBQU8sR0FBcUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ25ELFVBQUssR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUdsRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXN5bmNJdGVtLFxuICBBc3luY0xpc3QsXG4gIExpc3RJdGVtTW9kZWwsXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vLi4vbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5cbmltcG9ydCB7IExpc3RQYWdpbmdNb2RlbCB9IGZyb20gJy4vcGFnaW5nL3BhZ2luZy5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U2VhcmNoTW9kZWwgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTW9kZWwgfSBmcm9tICcuL3NlbGVjdGVkL3NlbGVjdGVkLm1vZGVsJztcbmltcG9ydCB7IExpc3RTb3J0TW9kZWwgfSBmcm9tICcuL3NvcnQvc29ydC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0VG9vbGJhck1vZGVsIH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXIubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFZpZXdzTW9kZWwgfSBmcm9tICcuL3ZpZXdzL3ZpZXdzLm1vZGVsJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0U3RhdGVNb2RlbCB7XG4gIHB1YmxpYyBmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgaXRlbXM6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPiA9IG5ldyBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4oKTtcbiAgcHVibGljIHBhZ2luZzogTGlzdFBhZ2luZ01vZGVsID0gbmV3IExpc3RQYWdpbmdNb2RlbCgpO1xuICBwdWJsaWMgc2VhcmNoOiBMaXN0U2VhcmNoTW9kZWwgPSBuZXcgTGlzdFNlYXJjaE1vZGVsKCk7XG4gIHB1YmxpYyBzZWxlY3RlZDogQXN5bmNJdGVtPExpc3RTZWxlY3RlZE1vZGVsPiA9XG4gICAgbmV3IEFzeW5jSXRlbTxMaXN0U2VsZWN0ZWRNb2RlbD4oKTtcbiAgcHVibGljIHNvcnQ6IExpc3RTb3J0TW9kZWwgPSBuZXcgTGlzdFNvcnRNb2RlbCgpO1xuICBwdWJsaWMgdG9vbGJhcjogTGlzdFRvb2xiYXJNb2RlbCA9IG5ldyBMaXN0VG9vbGJhck1vZGVsKCk7XG4gIHB1YmxpYyB2aWV3czogTGlzdFZpZXdzTW9kZWwgPSBuZXcgTGlzdFZpZXdzTW9kZWwoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNlbGVjdGVkLml0ZW0gPSBuZXcgTGlzdFNlbGVjdGVkTW9kZWwoKTtcbiAgfVxufVxuIl19