@skyux/list-builder-view-checklist 5.0.0 → 5.0.1

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 (21) hide show
  1. package/bundles/skyux-list-builder-view-checklist-testing.umd.js +4 -4
  2. package/bundles/skyux-list-builder-view-checklist-testing.umd.js.map +1 -1
  3. package/bundles/skyux-list-builder-view-checklist.umd.js +57 -65
  4. package/bundles/skyux-list-builder-view-checklist.umd.js.map +1 -1
  5. package/documentation.json +44 -39
  6. package/esm2015/modules/list-view-checklist/list-view-checklist-item.component.js +5 -5
  7. package/esm2015/modules/list-view-checklist/list-view-checklist.component.js +46 -37
  8. package/esm2015/modules/list-view-checklist/list-view-checklist.module.js +9 -23
  9. package/esm2015/modules/list-view-checklist/state/checklist-state-action.type.js +1 -1
  10. package/esm2015/modules/list-view-checklist/state/checklist-state.model.js +1 -1
  11. package/esm2015/modules/list-view-checklist/state/checklist-state.rxstate.js +4 -4
  12. package/esm2015/modules/list-view-checklist/state/checklist-state.state-node.js +5 -6
  13. package/esm2015/modules/list-view-checklist/state/items/items.orchestrator.js +2 -2
  14. package/esm2015/modules/list-view-checklist/state/items/load.action.js +1 -1
  15. package/esm2015/testing/list-view-checklist-fixture.js +2 -2
  16. package/esm2015/testing/list-view-checklist-item.js +1 -1
  17. package/fesm2015/skyux-list-builder-view-checklist-testing.js +1 -1
  18. package/fesm2015/skyux-list-builder-view-checklist-testing.js.map +1 -1
  19. package/fesm2015/skyux-list-builder-view-checklist.js +61 -67
  20. package/fesm2015/skyux-list-builder-view-checklist.js.map +1 -1
  21. package/package.json +8 -8
@@ -1,8 +1,8 @@
1
- import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';
2
- import { ListFilterModel, ListSelectedSetItemSelectedAction, ListSelectedSetItemsSelectedAction, ListToolbarSetTypeAction, ListViewComponent } from '@skyux/list-builder';
3
- import { getData } from '@skyux/list-builder-common';
1
+ import { ChangeDetectionStrategy, Component, forwardRef, Input, } from '@angular/core';
2
+ import { ListFilterModel, ListSelectedSetItemSelectedAction, ListSelectedSetItemsSelectedAction, ListToolbarSetTypeAction, ListViewComponent, } from '@skyux/list-builder';
3
+ import { getData, } from '@skyux/list-builder-common';
4
4
  import { Subject } from 'rxjs';
5
- import { distinctUntilChanged, map as observableMap, take, takeUntil } from 'rxjs/operators';
5
+ import { distinctUntilChanged, map as observableMap, take, takeUntil, } from 'rxjs/operators';
6
6
  import { ChecklistState } from './state/checklist-state.state-node';
7
7
  import { ChecklistStateDispatcher } from './state/checklist-state.rxstate';
8
8
  import { ChecklistStateModel } from './state/checklist-state.model';
@@ -45,13 +45,17 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
45
45
  this._showOnlySelected = false;
46
46
  let lastUpdate;
47
47
  this.state
48
- .pipe(observableMap(s => s.items), distinctUntilChanged(), observableMap((items) => {
48
+ .pipe(observableMap((s) => s.items), distinctUntilChanged(), observableMap((items) => {
49
49
  let dataChanged = lastUpdate === undefined || items.lastUpdate !== lastUpdate;
50
50
  lastUpdate = items.lastUpdate;
51
- let newItems = items.items.map(item => {
51
+ let newItems = items.items.map((item) => {
52
52
  return new ListViewChecklistItemModel(item.id, {
53
- label: this.labelFieldSelector ? getData(item.data, this.labelFieldSelector) : undefined,
54
- description: this.description ? getData(item.data, this.description) : undefined
53
+ label: this.labelFieldSelector
54
+ ? getData(item.data, this.labelFieldSelector)
55
+ : undefined,
56
+ description: this.description
57
+ ? getData(item.data, this.description)
58
+ : undefined,
55
59
  });
56
60
  });
57
61
  this.checklistDispatcher.next(new ListViewChecklistItemsLoadAction(newItems, true, dataChanged, items.count));
@@ -59,7 +63,7 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
59
63
  .pipe(takeUntil(this.ngUnsubscribe))
60
64
  .subscribe();
61
65
  this.state
62
- .pipe(observableMap(t => t.selected), takeUntil(this.ngUnsubscribe))
66
+ .pipe(observableMap((t) => t.selected), takeUntil(this.ngUnsubscribe))
63
67
  .subscribe((selectedItems) => {
64
68
  this._selectedIdMap = selectedItems.item.selectedIdMap;
65
69
  });
@@ -108,17 +112,18 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
108
112
  // If 'show-selected' filter is changed from multiselect toolbar (list-builder)
109
113
  // make sure the private variable _showOnlySelected stays in sync.
110
114
  this.state
111
- .pipe(observableMap(t => t.filters), takeUntil(this.ngUnsubscribe), distinctUntilChanged(this.showSelectedValuesEqual))
115
+ .pipe(observableMap((t) => t.filters), takeUntil(this.ngUnsubscribe), distinctUntilChanged(this.showSelectedValuesEqual))
112
116
  .subscribe((filters) => {
113
117
  const showSelectedFilter = filters.find((filter) => filter.name === 'show-selected');
114
118
  if (showSelectedFilter) {
115
- this._showOnlySelected = (showSelectedFilter.value === 'true');
119
+ this._showOnlySelected = showSelectedFilter.value === 'true';
116
120
  }
117
121
  });
118
122
  }
119
123
  ngOnChanges(changes) {
120
124
  if (changes['showOnlySelected'] &&
121
- changes['showOnlySelected'].currentValue !== changes['showOnlySelected'].previousValue) {
125
+ changes['showOnlySelected'].currentValue !==
126
+ changes['showOnlySelected'].previousValue) {
122
127
  this.reapplyFilter(changes['showOnlySelected'].currentValue);
123
128
  }
124
129
  }
@@ -137,10 +142,9 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
137
142
  */
138
143
  clearSelections() {
139
144
  this.state
140
- .pipe(observableMap(state => state.items.items), take(1))
141
- .subscribe(items => {
142
- this.dispatcher
143
- .next(new ListSelectedSetItemsSelectedAction(items.map(item => item.id), false, false));
145
+ .pipe(observableMap((state) => state.items.items), take(1))
146
+ .subscribe((items) => {
147
+ this.dispatcher.next(new ListSelectedSetItemsSelectedAction(items.map((item) => item.id), false, false));
144
148
  /* istanbul ignore else */
145
149
  if (this.showOnlySelected) {
146
150
  this.reapplyFilter(this.showOnlySelected);
@@ -154,10 +158,9 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
154
158
  */
155
159
  selectAll() {
156
160
  this.state
157
- .pipe(observableMap(state => state.items.items), take(1))
158
- .subscribe(items => {
159
- this.dispatcher
160
- .next(new ListSelectedSetItemsSelectedAction(items.map(item => item.id), true, false));
161
+ .pipe(observableMap((state) => state.items.items), take(1))
162
+ .subscribe((items) => {
163
+ this.dispatcher.next(new ListSelectedSetItemsSelectedAction(items.map((item) => item.id), true, false));
161
164
  /* istanbul ignore else */
162
165
  if (this.showOnlySelected) {
163
166
  this.reapplyFilter(this.showOnlySelected);
@@ -183,7 +186,7 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
183
186
  this.ngUnsubscribe.complete();
184
187
  }
185
188
  get items() {
186
- return this.checklistState.pipe(observableMap(state => state.items.items));
189
+ return this.checklistState.pipe(observableMap((state) => state.items.items));
187
190
  }
188
191
  searchFunction() {
189
192
  return (data, searchText) => {
@@ -207,7 +210,7 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
207
210
  };
208
211
  }
209
212
  itemSelected(id) {
210
- return this.state.pipe(observableMap(state => state.selected.item.selectedIdMap.get(id)));
213
+ return this.state.pipe(observableMap((state) => state.selected.item.selectedIdMap.get(id)));
211
214
  }
212
215
  setItemSelection(item, event) {
213
216
  this.dispatcher.next(new ListSelectedSetItemSelectedAction(item.id, event.checked));
@@ -225,48 +228,54 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
225
228
  return this._selectedIdMap.get(model.id);
226
229
  }
227
230
  },
228
- defaultValue: false.toString()
231
+ defaultValue: false.toString(),
229
232
  });
230
233
  }
231
234
  reapplyFilter(isSelected) {
232
235
  let self = this;
233
236
  this.state
234
- .pipe(observableMap(state => state.filters), take(1))
237
+ .pipe(observableMap((state) => state.filters), take(1))
235
238
  .subscribe((filters) => {
236
- filters = filters.filter(filter => filter.name !== 'show-selected');
239
+ filters = filters.filter((filter) => filter.name !== 'show-selected');
237
240
  filters.push(self.getShowSelectedFilter(isSelected));
238
241
  this.dispatcher.filtersUpdate(filters);
239
242
  });
240
243
  }
241
244
  showSelectedValuesEqual(prev, next) {
242
- const prevShowSelectedFilter = prev.find(filter => filter.name === 'show-selected');
243
- const nextShowSelectedFilter = next.find(filter => filter.name === 'show-selected');
245
+ const prevShowSelectedFilter = prev.find((filter) => filter.name === 'show-selected');
246
+ const nextShowSelectedFilter = next.find((filter) => filter.name === 'show-selected');
244
247
  if (prevShowSelectedFilter && nextShowSelectedFilter) {
245
248
  return prevShowSelectedFilter.value === nextShowSelectedFilter.value;
246
249
  }
247
250
  return true;
248
251
  }
249
252
  }
250
- SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: i2.ChecklistState }, { token: i3.ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
251
- SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.8", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
252
- { provide: ListViewComponent, useExisting: forwardRef(() => SkyListViewChecklistComponent) },
253
+ SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: i2.ChecklistState }, { token: i3.ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
254
+ SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
255
+ {
256
+ provide: ListViewComponent,
257
+ useExisting: forwardRef(() => SkyListViewChecklistComponent),
258
+ },
253
259
  ChecklistState,
254
260
  ChecklistStateDispatcher,
255
- ChecklistStateModel
256
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{ 'sky-list-view-checklist-row-selected' : (itemSelected(item.id) | async) }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n >\n {{item.label}}\n </div>\n <div *ngIf=\"item.description\">{{item.description}}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\">\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\">\n <sky-checkbox-label>\n <div *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{item.label}}\n </div>\n <div *ngIf=\"item.description\"\n [attr.title]=\"item.description\"\n >\n {{item.description}}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n", styles: [".sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper{display:flex;align-items:flex-start}.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>.sky-checkbox,.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>input{flex:1;max-width:22px}.sky-list-view-checklist ::ng-deep .sky-switch{white-space:nowrap}.sky-list-view-checklist ::ng-deep .sky-switch-label{margin:0}.sky-list-view-checklist ::ng-deep sky-checkbox-label{min-width:0}.sky-list-view-checklist ::ng-deep .sky-switch-control{margin:0 5px 0 0}\n"], components: [{ type: i4.SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: ["item"] }, { type: i5.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i5.λ4, selector: "sky-checkbox-label" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
261
+ ChecklistStateModel,
262
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n", styles: [".sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper{display:flex;align-items:flex-start}.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>.sky-checkbox,.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>input{flex:1;max-width:22px}.sky-list-view-checklist ::ng-deep .sky-switch{white-space:nowrap}.sky-list-view-checklist ::ng-deep .sky-switch-label{margin:0}.sky-list-view-checklist ::ng-deep sky-checkbox-label{min-width:0}.sky-list-view-checklist ::ng-deep .sky-switch-control{margin:0 5px 0 0}\n"], components: [{ type: i4.SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: ["item"] }, { type: i5.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i5.λ4, selector: "sky-checkbox-label" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
258
264
  type: Component,
259
265
  args: [{
260
266
  selector: 'sky-list-view-checklist',
261
267
  templateUrl: './list-view-checklist.component.html',
262
268
  styleUrls: ['./list-view-checklist.component.scss'],
263
269
  providers: [
264
- { provide: ListViewComponent, useExisting: forwardRef(() => SkyListViewChecklistComponent) },
270
+ {
271
+ provide: ListViewComponent,
272
+ useExisting: forwardRef(() => SkyListViewChecklistComponent),
273
+ },
265
274
  ChecklistState,
266
275
  ChecklistStateDispatcher,
267
- ChecklistStateModel
276
+ ChecklistStateModel,
268
277
  ],
269
- changeDetection: ChangeDetectionStrategy.OnPush
278
+ changeDetection: ChangeDetectionStrategy.OnPush,
270
279
  }]
271
280
  }], ctorParameters: function () { return [{ type: i1.ListState }, { type: i1.ListStateDispatcher }, { type: i2.ChecklistState }, { type: i3.ChecklistStateDispatcher }]; }, propDecorators: { name: [{
272
281
  type: Input
@@ -282,4 +291,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.8", ngImpor
282
291
  }], showOnlySelected: [{
283
292
  type: Input
284
293
  }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC9zcmMvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFLTixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBSUwsZUFBZSxFQUNmLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNsQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFHTCxPQUFPLEVBRVIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBRUwsT0FBTyxFQUNSLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEVBQ0osU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLGNBQWMsRUFDZixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFDTCx3QkFBd0IsRUFDekIsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ3BCLE1BQU0sK0JBQStCLENBQUM7QUFFdkMsT0FBTyxFQUNMLGdDQUFnQyxFQUNqQyxNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFDTCwwQkFBMEIsRUFDM0IsTUFBTSww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RyxFQUFFLENBQUMsNkJBQTZCLENBQUMsRUFBRTtRQUM1RixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLG1CQUFtQjtLQUNwQixzRUMxRUgseTBEQW9EQTsyRkR5QmEsNkJBQTZCO2tCQVp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFdBQVcsRUFBRSxzQ0FBc0M7b0JBQ25ELFNBQVMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDO29CQUNuRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsOEJBQThCLENBQUMsRUFBRTt3QkFDNUYsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3NNQU9LLElBQUk7c0JBRFAsS0FBSztnQkFZQyxNQUFNO3NCQURaLEtBQUs7Z0JBU0Msa0JBQWtCO3NCQUR4QixLQUFLO3VCQUFDLE9BQU87Z0JBUVAsV0FBVztzQkFEakIsS0FBSztnQkFVSyxVQUFVO3NCQURwQixLQUFLO2dCQXVCSyxnQkFBZ0I7c0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5Q2hlY2tib3hDaGFuZ2Vcbn0gZnJvbSAnQHNreXV4L2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgTGlzdFN0YXRlLFxuICBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICBMaXN0U2VsZWN0ZWRNb2RlbCxcbiAgTGlzdEZpbHRlck1vZGVsLFxuICBMaXN0U2VsZWN0ZWRTZXRJdGVtU2VsZWN0ZWRBY3Rpb24sXG4gIExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24sXG4gIExpc3RUb29sYmFyU2V0VHlwZUFjdGlvbixcbiAgTGlzdFZpZXdDb21wb25lbnRcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlcic7XG5cbmltcG9ydCB7XG4gIEFzeW5jSXRlbSxcbiAgQXN5bmNMaXN0LFxuICBnZXREYXRhLFxuICBMaXN0SXRlbU1vZGVsXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCBhcyBvYnNlcnZhYmxlTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBDaGVja2xpc3RTdGF0ZVxufSBmcm9tICcuL3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcblxuaW1wb3J0IHtcbiAgQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyXG59IGZyb20gJy4vc3RhdGUvY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUnO1xuXG5pbXBvcnQge1xuICBDaGVja2xpc3RTdGF0ZU1vZGVsXG59IGZyb20gJy4vc3RhdGUvY2hlY2tsaXN0LXN0YXRlLm1vZGVsJztcblxuaW1wb3J0IHtcbiAgTGlzdFZpZXdDaGVja2xpc3RJdGVtc0xvYWRBY3Rpb25cbn0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbic7XG5cbmltcG9ydCB7XG4gIExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsXG59IGZyb20gJy4vc3RhdGUvaXRlbXMvaXRlbS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0LXZpZXctY2hlY2tsaXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTGlzdFZpZXdDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50KSB9LFxuICAgIENoZWNrbGlzdFN0YXRlLFxuICAgIENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlcixcbiAgICBDaGVja2xpc3RTdGF0ZU1vZGVsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50IGV4dGVuZHMgTGlzdFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgdmlldy5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52aWV3TmFtZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHNlYXJjaCBmdW5jdGlvbiB0byBhcHBseSBvbiB0aGUgdmlldyBkYXRhLlxuICAgKiBUaGUgZGVmYXVsdCBmdW5jdGlvbiBzZWFyY2hlcyB2aWV3IGRhdGEgb24gbGFiZWwsIGRlc2NyaXB0aW9uLFxuICAgKiBhbmQgY2F0ZWdvcnkgaWYgZmllbGQgc2VsZWN0b3JzIGFyZSBkZWZpbmVkIGZvciB0aGUgZ2l2ZW4gZmllbGQuXG4gICAqIEBkZWZhdWx0IGRlZmF1bHQgc2VhcmNoIGZ1bmN0aW9uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoOiAoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IGJvb2xlYW4gPSB0aGlzLnNlYXJjaEZ1bmN0aW9uKCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgbGFiZWwgZmllbGQgc2VsZWN0b3IuXG4gICAqIEBkZWZhdWx0ICdsYWJlbCdcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnbGFiZWwnKVxuICBwdWJsaWMgbGFiZWxGaWVsZFNlbGVjdG9yOiBzdHJpbmcgPSAnbGFiZWwnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGRlc2NyaXB0aW9uIGZpZWxkIHNlbGVjdG9yLlxuICAgKiBAZGVmYXVsdCAnZGVzY3JpcHRpb24nXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyA9ICdkZXNjcmlwdGlvbic7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgbWFueSBpdGVtcyB1c2VycyBjYW4gc2VsZWN0LlxuICAgKiBgc2luZ2xlYCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBpdGVtIGluIHRoZSBjaGVja2xpc3QsIHdoaWxlIGBtdWx0aXBsZWBcbiAgICogYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBtdWx0aXBsZSBpdGVtcyBpbiB0aGUgY2hlY2tsaXN0LlxuICAgKiBAZGVmYXVsdCAnbXVsdGlwbGUnXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdE1vZGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlbGVjdE1vZGUgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZScpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci50b29sYmFyU2hvd011bHRpc2VsZWN0VG9vbGJhcih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93T25seVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIoZmFsc2UpO1xuICAgIH1cblxuICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RNb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdE1vZGUgfHwgJ211bHRpcGxlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IHNlbGVjdGVkIGl0ZW1zIG9ubHkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNob3dPbmx5U2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93T25seVNlbGVjdGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dPbmx5U2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgX3NlbGVjdE1vZGUgPSAnbXVsdGlwbGUnO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkSWRNYXA6IE1hcDxzdHJpbmcsIGJvb2xlYW4+ID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ubHlTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0U3RhdGU6IENoZWNrbGlzdFN0YXRlLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0RGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyXG4gICkge1xuICAgIHN1cGVyKHN0YXRlLCAnQ2hlY2tsaXN0IFZpZXcnKTtcblxuICAgIGxldCBsYXN0VXBkYXRlOiBhbnk7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAocyA9PiBzLml0ZW1zKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoaXRlbXM6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPikgPT4ge1xuICAgICAgICAgIGxldCBkYXRhQ2hhbmdlZCA9IGxhc3RVcGRhdGUgPT09IHVuZGVmaW5lZCB8fCBpdGVtcy5sYXN0VXBkYXRlICE9PSBsYXN0VXBkYXRlO1xuICAgICAgICAgIGxhc3RVcGRhdGUgPSBpdGVtcy5sYXN0VXBkYXRlO1xuICAgICAgICAgIGxldCBuZXdJdGVtcyA9IGl0ZW1zLml0ZW1zLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWwoaXRlbS5pZCwge1xuICAgICAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgICAgICB0aGlzLmxhYmVsRmllbGRTZWxlY3RvciA/IGdldERhdGEoaXRlbS5kYXRhLCB0aGlzLmxhYmVsRmllbGRTZWxlY3RvcikgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPyBnZXREYXRhKGl0ZW0uZGF0YSwgdGhpcy5kZXNjcmlwdGlvbikgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy5jaGVja2xpc3REaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgICBuZXcgTGlzdFZpZXdDaGVja2xpc3RJdGVtc0xvYWRBY3Rpb24obmV3SXRlbXMsIHRydWUsIGRhdGFDaGFuZ2VkLCBpdGVtcy5jb3VudClcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCh0ID0+IHQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRJdGVtczogQXN5bmNJdGVtPExpc3RTZWxlY3RlZE1vZGVsPikgPT4ge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZElkTWFwID0gc2VsZWN0ZWRJdGVtcy5pdGVtLnNlbGVjdGVkSWRNYXA7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIodHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gSWYgJ3Nob3ctc2VsZWN0ZWQnIGZpbHRlciBpcyBjaGFuZ2VkIGZyb20gbXVsdGlzZWxlY3QgdG9vbGJhciAobGlzdC1idWlsZGVyKVxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgcHJpdmF0ZSB2YXJpYWJsZSBfc2hvd09ubHlTZWxlY3RlZCBzdGF5cyBpbiBzeW5jLlxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKHQgPT4gdC5maWx0ZXJzKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKHRoaXMuc2hvd1NlbGVjdGVkVmFsdWVzRXF1YWwpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXSkgPT4ge1xuICAgICAgICBjb25zdCBzaG93U2VsZWN0ZWRGaWx0ZXIgPSBmaWx0ZXJzLmZpbmQoKGZpbHRlcjogTGlzdEZpbHRlck1vZGVsKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnKTtcbiAgICAgICAgaWYgKHNob3dTZWxlY3RlZEZpbHRlcikge1xuICAgICAgICAgIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQgPSAoc2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlID09PSAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydzaG93T25seVNlbGVjdGVkJ10gJiZcbiAgICAgIGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICB0aGlzLnJlYXBwbHlGaWx0ZXIoY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMy4yLjBcbiAgICogTXVsdGlzZWxlY3QgdG9vbGJhciB3aWxsIGF1dG9tYXRpY2FsbHkgc2hvdyBpZiBzZWxlY3QgbW9kZSBpcyBzZXQgdG8gJ211bHRpcGxlJy5cbiAgICogVGhlc2UgbWV0aG9kcyBhcmUgbm8gbG9uZ2VyIG5lZWRlZCwgYXMgdGhhdCBmdW5jdGlvbmFsaXR5IGlzIHBhcnQgb2YgbGlzdC1idWlsZGVyLlxuICAgKi9cbiAgcHVibGljIGNoYW5nZVZpc2libGVJdGVtcyhjaGFuZ2U6IFNreUNoZWNrYm94Q2hhbmdlKSB7XG4gICAgdGhpcy5zaG93T25seVNlbGVjdGVkID0gY2hhbmdlLmNoZWNrZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWxlY3Rpb25zKCkge1xuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKHN0YXRlID0+IHN0YXRlLml0ZW1zLml0ZW1zKSxcbiAgICAgICAgdGFrZSgxKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShpdGVtcyA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlclxuICAgICAgICAgIC5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKGl0ZW1zLm1hcChpdGVtID0+IGl0ZW0uaWQpLCBmYWxzZSwgZmFsc2UpKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHRoaXMuc2hvd09ubHlTZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5yZWFwcGx5RmlsdGVyKHRoaXMuc2hvd09ubHlTZWxlY3RlZCk7XG4gICAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0QWxsKCkge1xuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKHN0YXRlID0+IHN0YXRlLml0ZW1zLml0ZW1zKSxcbiAgICAgICAgdGFrZSgxKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShpdGVtcyA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlclxuICAgICAgICAgIC5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKGl0ZW1zLm1hcChpdGVtID0+IGl0ZW0uaWQpLCB0cnVlLCBmYWxzZSkpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLnNob3dPbmx5U2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLnJlYXBwbHlGaWx0ZXIodGhpcy5zaG93T25seVNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25WaWV3QWN0aXZlKCkge1xuICAgIGlmICh0aGlzLnNlYXJjaCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIuc2VhcmNoU2V0RnVuY3Rpb25zKFt0aGlzLnNlYXJjaF0pO1xuICAgIH1cblxuICAgIGxldCBmaWVsZFNlbGVjdG9yczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGlmICh0aGlzLmxhYmVsRmllbGRTZWxlY3Rvcikge1xuICAgICAgZmllbGRTZWxlY3RvcnMucHVzaCh0aGlzLmxhYmVsRmllbGRTZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRpb24pIHtcbiAgICAgIGZpZWxkU2VsZWN0b3JzLnB1c2godGhpcy5kZXNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwYXRjaGVyLnNlYXJjaFNldEZpZWxkU2VsZWN0b3JzKGZpZWxkU2VsZWN0b3JzKTtcblxuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0VG9vbGJhclNldFR5cGVBY3Rpb24oJ3NlYXJjaCcpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0IGl0ZW1zKCk6IE9ic2VydmFibGU8TGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmNoZWNrbGlzdFN0YXRlLnBpcGUob2JzZXJ2YWJsZU1hcChzdGF0ZSA9PiBzdGF0ZS5pdGVtcy5pdGVtcykpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaEZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICh0aGlzLmxhYmVsRmllbGRTZWxlY3RvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGxldCBsYWJlbCA9IGdldERhdGEoZGF0YSwgdGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgbGFiZWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGxhYmVsICE9PSBudWxsICYmXG4gICAgICAgICAgbGFiZWwudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT09IC0xXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGV0IGRlc2NyaXB0aW9uID0gZ2V0RGF0YShkYXRhLCB0aGlzLmRlc2NyaXB0aW9uKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGRlc2NyaXB0aW9uICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBkZXNjcmlwdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgICAgIGRlc2NyaXB0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQpICE9PSAtMVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpdGVtU2VsZWN0ZWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnBpcGUob2JzZXJ2YWJsZU1hcChzdGF0ZSA9PiBzdGF0ZS5zZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZ2V0KGlkKSkpO1xuICB9XG5cbiAgcHVibGljIHNldEl0ZW1TZWxlY3Rpb24oaXRlbTogTGlzdEl0ZW1Nb2RlbCwgZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtU2VsZWN0ZWRBY3Rpb24oaXRlbS5pZCwgZXZlbnQuY2hlY2tlZCkpO1xuICB9XG5cbiAgcHVibGljIHNpbmdsZVNlbGVjdFJvd0NsaWNrKGl0ZW06IExpc3RJdGVtTW9kZWwpIHtcbiAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbihbaXRlbS5pZF0sIHRydWUsIHRydWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2hvd1NlbGVjdGVkRmlsdGVyKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gbmV3IExpc3RGaWx0ZXJNb2RlbCh7XG4gICAgICBuYW1lOiAnc2hvdy1zZWxlY3RlZCcsXG4gICAgICB2YWx1ZTogaXNTZWxlY3RlZC50b1N0cmluZygpLFxuICAgICAgZmlsdGVyRnVuY3Rpb246IChtb2RlbDogTGlzdEl0ZW1Nb2RlbCwgc2hvd09ubHlTZWxlY3RlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoc2hvd09ubHlTZWxlY3RlZC50b1N0cmluZygpICE9PSBmYWxzZS50b1N0cmluZygpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSWRNYXAuZ2V0KG1vZGVsLmlkKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UudG9TdHJpbmcoKVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFwcGx5RmlsdGVyKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICBsZXQgc2VsZiA9IHRoaXM7XG5cbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcChzdGF0ZSA9PiBzdGF0ZS5maWx0ZXJzKSxcbiAgICAgICAgdGFrZSgxKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZmlsdGVyczogTGlzdEZpbHRlck1vZGVsW10pID0+IHtcbiAgICAgICAgZmlsdGVycyA9IGZpbHRlcnMuZmlsdGVyKGZpbHRlciA9PiBmaWx0ZXIubmFtZSAhPT0gJ3Nob3ctc2VsZWN0ZWQnKTtcbiAgICAgICAgZmlsdGVycy5wdXNoKHNlbGYuZ2V0U2hvd1NlbGVjdGVkRmlsdGVyKGlzU2VsZWN0ZWQpKTtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLmZpbHRlcnNVcGRhdGUoZmlsdGVycyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd1NlbGVjdGVkVmFsdWVzRXF1YWwocHJldjogTGlzdEZpbHRlck1vZGVsW10sIG5leHQ6IExpc3RGaWx0ZXJNb2RlbFtdKSB7XG4gICAgY29uc3QgcHJldlNob3dTZWxlY3RlZEZpbHRlciA9IHByZXYuZmluZChmaWx0ZXIgPT4gZmlsdGVyLm5hbWUgPT09ICdzaG93LXNlbGVjdGVkJyk7XG4gICAgY29uc3QgbmV4dFNob3dTZWxlY3RlZEZpbHRlciA9IG5leHQuZmluZChmaWx0ZXIgPT4gZmlsdGVyLm5hbWUgPT09ICdzaG93LXNlbGVjdGVkJyk7XG5cbiAgICBpZiAocHJldlNob3dTZWxlY3RlZEZpbHRlciAmJiBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyKSB7XG4gICAgICByZXR1cm4gcHJldlNob3dTZWxlY3RlZEZpbHRlci52YWx1ZSA9PT0gbmV4dFNob3dTZWxlY3RlZEZpbHRlci52YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1saXN0LXZpZXctY2hlY2tsaXN0XCIgKm5nSWY9XCJhY3RpdmUgfCBhc3luY1wiPlxuICA8ZGl2IFtuZ1N3aXRjaF09XCJzZWxlY3RNb2RlXCI+XG4gICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoQ2FzZT1cInNpbmdsZVwiPlxuICAgICAgPGRpdiByb2xlPVwicmFkaW9ncm91cFwiPlxuICAgICAgICA8c2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGFzeW5jXCJcbiAgICAgICAgICBbYXR0ci5za3ktY21wLWlkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgcm9sZT1cInJhZGlvXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1zaW5nbGUtYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCIoaXRlbVNlbGVjdGVkKGl0ZW0uaWQpIHwgYXN5bmMpIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1saXN0LXZpZXctY2hlY2tsaXN0LXJvdy1zZWxlY3RlZCcgOiAoaXRlbVNlbGVjdGVkKGl0ZW0uaWQpIHwgYXN5bmMpIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNpbmdsZVNlbGVjdFJvd0NsaWNrKGl0ZW0pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7e2l0ZW0ubGFiZWx9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiPnt7aXRlbS5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPHNreS1saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiXG4gICAgICAgIFthdHRyLnNreS1jbXAtaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIj5cbiAgICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgICBbY2hlY2tlZF09XCJpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luY1wiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInNldEl0ZW1TZWxlY3Rpb24oaXRlbSwgJGV2ZW50KVwiPlxuICAgICAgICAgIDxza3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tpdGVtLmxhYmVsfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJpdGVtLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tpdGVtLmRlc2NyaXB0aW9ufX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICA8L3NreS1jaGVja2JveD5cbiAgICAgIDwvc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC9zcmMvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBSUwsZUFBZSxFQUNmLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsd0JBQXdCLEVBQ3hCLGlCQUFpQixHQUNsQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFHTCxPQUFPLEdBRVIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsR0FBRyxJQUFJLGFBQWEsRUFDcEIsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFB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VSw2QkFBNkI7K0dBQTdCLDZCQUE2QiwrT0FYN0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztTQUM3RDtRQUNELGNBQWM7UUFDZCx3QkFBd0I7UUFDeEIsbUJBQW1CO0tBQ3BCLHNFQzlESCxrM0RBd0RBOzRGRFNhLDZCQUE2QjtrQkFmekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUsc0NBQXNDO29CQUNuRCxTQUFTLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQztvQkFDbkQsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDhCQUE4QixDQUFDO3lCQUM3RDt3QkFDRCxjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3FCQUNwQjtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7c01BVUssSUFBSTtzQkFEUCxLQUFLO2dCQVlDLE1BQU07c0JBRFosS0FBSztnQkFVQyxrQkFBa0I7c0JBRHhCLEtBQUs7dUJBQUMsT0FBTztnQkFRUCxXQUFXO3NCQURqQixLQUFLO2dCQVVLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBdUJLLGdCQUFnQjtzQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBMaXN0U3RhdGUsXG4gIExpc3RTdGF0ZURpc3BhdGNoZXIsXG4gIExpc3RTZWxlY3RlZE1vZGVsLFxuICBMaXN0RmlsdGVyTW9kZWwsXG4gIExpc3RTZWxlY3RlZFNldEl0ZW1TZWxlY3RlZEFjdGlvbixcbiAgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbixcbiAgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uLFxuICBMaXN0Vmlld0NvbXBvbmVudCxcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlcic7XG5cbmltcG9ydCB7XG4gIEFzeW5jSXRlbSxcbiAgQXN5bmNMaXN0LFxuICBnZXREYXRhLFxuICBMaXN0SXRlbU1vZGVsLFxufSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCBhcyBvYnNlcnZhYmxlTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGUgfSBmcm9tICcuL3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcblxuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUucnhzdGF0ZSc7XG5cbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlTW9kZWwgfSBmcm9tICcuL3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5tb2RlbCc7XG5cbmltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbic7XG5cbmltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9pdGVtLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTGlzdFZpZXdDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCksXG4gICAgfSxcbiAgICBDaGVja2xpc3RTdGF0ZSxcbiAgICBDaGVja2xpc3RTdGF0ZURpc3BhdGNoZXIsXG4gICAgQ2hlY2tsaXN0U3RhdGVNb2RlbCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgTGlzdFZpZXdDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzXG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIHZpZXcuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmlld05hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzZWFyY2ggZnVuY3Rpb24gdG8gYXBwbHkgb24gdGhlIHZpZXcgZGF0YS5cbiAgICogVGhlIGRlZmF1bHQgZnVuY3Rpb24gc2VhcmNoZXMgdmlldyBkYXRhIG9uIGxhYmVsLCBkZXNjcmlwdGlvbixcbiAgICogYW5kIGNhdGVnb3J5IGlmIGZpZWxkIHNlbGVjdG9ycyBhcmUgZGVmaW5lZCBmb3IgdGhlIGdpdmVuIGZpZWxkLlxuICAgKiBAZGVmYXVsdCBkZWZhdWx0IHNlYXJjaCBmdW5jdGlvblxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaDogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuID1cbiAgICB0aGlzLnNlYXJjaEZ1bmN0aW9uKCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgbGFiZWwgZmllbGQgc2VsZWN0b3IuXG4gICAqIEBkZWZhdWx0ICdsYWJlbCdcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnbGFiZWwnKVxuICBwdWJsaWMgbGFiZWxGaWVsZFNlbGVjdG9yOiBzdHJpbmcgPSAnbGFiZWwnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGRlc2NyaXB0aW9uIGZpZWxkIHNlbGVjdG9yLlxuICAgKiBAZGVmYXVsdCAnZGVzY3JpcHRpb24nXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyA9ICdkZXNjcmlwdGlvbic7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgbWFueSBpdGVtcyB1c2VycyBjYW4gc2VsZWN0LlxuICAgKiBgc2luZ2xlYCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBpdGVtIGluIHRoZSBjaGVja2xpc3QsIHdoaWxlIGBtdWx0aXBsZWBcbiAgICogYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBtdWx0aXBsZSBpdGVtcyBpbiB0aGUgY2hlY2tsaXN0LlxuICAgKiBAZGVmYXVsdCAnbXVsdGlwbGUnXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdE1vZGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlbGVjdE1vZGUgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZScpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci50b29sYmFyU2hvd011bHRpc2VsZWN0VG9vbGJhcih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93T25seVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIoZmFsc2UpO1xuICAgIH1cblxuICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RNb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdE1vZGUgfHwgJ211bHRpcGxlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IHNlbGVjdGVkIGl0ZW1zIG9ubHkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNob3dPbmx5U2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93T25seVNlbGVjdGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dPbmx5U2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgX3NlbGVjdE1vZGUgPSAnbXVsdGlwbGUnO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkSWRNYXA6IE1hcDxzdHJpbmcsIGJvb2xlYW4+ID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ubHlTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0U3RhdGU6IENoZWNrbGlzdFN0YXRlLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0RGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyXG4gICkge1xuICAgIHN1cGVyKHN0YXRlLCAnQ2hlY2tsaXN0IFZpZXcnKTtcblxuICAgIGxldCBsYXN0VXBkYXRlOiBhbnk7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuaXRlbXMpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChpdGVtczogQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+KSA9PiB7XG4gICAgICAgICAgbGV0IGRhdGFDaGFuZ2VkID1cbiAgICAgICAgICAgIGxhc3RVcGRhdGUgPT09IHVuZGVmaW5lZCB8fCBpdGVtcy5sYXN0VXBkYXRlICE9PSBsYXN0VXBkYXRlO1xuICAgICAgICAgIGxhc3RVcGRhdGUgPSBpdGVtcy5sYXN0VXBkYXRlO1xuICAgICAgICAgIGxldCBuZXdJdGVtcyA9IGl0ZW1zLml0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbChpdGVtLmlkLCB7XG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsRmllbGRTZWxlY3RvclxuICAgICAgICAgICAgICAgID8gZ2V0RGF0YShpdGVtLmRhdGEsIHRoaXMubGFiZWxGaWVsZFNlbGVjdG9yKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgID8gZ2V0RGF0YShpdGVtLmRhdGEsIHRoaXMuZGVzY3JpcHRpb24pXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuY2hlY2tsaXN0RGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgICAgbmV3IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uKFxuICAgICAgICAgICAgICBuZXdJdGVtcyxcbiAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgZGF0YUNoYW5nZWQsXG4gICAgICAgICAgICAgIGl0ZW1zLmNvdW50XG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHQpID0+IHQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRJdGVtczogQXN5bmNJdGVtPExpc3RTZWxlY3RlZE1vZGVsPikgPT4ge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZElkTWFwID0gc2VsZWN0ZWRJdGVtcy5pdGVtLnNlbGVjdGVkSWRNYXA7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIodHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gSWYgJ3Nob3ctc2VsZWN0ZWQnIGZpbHRlciBpcyBjaGFuZ2VkIGZyb20gbXVsdGlzZWxlY3QgdG9vbGJhciAobGlzdC1idWlsZGVyKVxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgcHJpdmF0ZSB2YXJpYWJsZSBfc2hvd09ubHlTZWxlY3RlZCBzdGF5cyBpbiBzeW5jLlxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKCh0KSA9PiB0LmZpbHRlcnMpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQodGhpcy5zaG93U2VsZWN0ZWRWYWx1ZXNFcXVhbClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNob3dTZWxlY3RlZEZpbHRlciA9IGZpbHRlcnMuZmluZChcbiAgICAgICAgICAoZmlsdGVyOiBMaXN0RmlsdGVyTW9kZWwpID0+IGZpbHRlci5uYW1lID09PSAnc2hvdy1zZWxlY3RlZCdcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHNob3dTZWxlY3RlZEZpbHRlcikge1xuICAgICAgICAgIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQgPSBzaG93U2VsZWN0ZWRGaWx0ZXIudmFsdWUgPT09ICd0cnVlJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXSAmJlxuICAgICAgY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLnByZXZpb3VzVmFsdWVcbiAgICApIHtcbiAgICAgIHRoaXMucmVhcHBseUZpbHRlcihjaGFuZ2VzWydzaG93T25seVNlbGVjdGVkJ10uY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlVmlzaWJsZUl0ZW1zKGNoYW5nZTogU2t5Q2hlY2tib3hDaGFuZ2UpIHtcbiAgICB0aGlzLnNob3dPbmx5U2VsZWN0ZWQgPSBjaGFuZ2UuY2hlY2tlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDMuMi4wXG4gICAqIE11bHRpc2VsZWN0IHRvb2xiYXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNob3cgaWYgc2VsZWN0IG1vZGUgaXMgc2V0IHRvICdtdWx0aXBsZScuXG4gICAqIFRoZXNlIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBwYXJ0IG9mIGxpc3QtYnVpbGRlci5cbiAgICovXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbnMoKSB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKFxuICAgICAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuc2hvd09ubHlTZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDMuMi4wXG4gICAqIE11bHRpc2VsZWN0IHRvb2xiYXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNob3cgaWYgc2VsZWN0IG1vZGUgaXMgc2V0IHRvICdtdWx0aXBsZScuXG4gICAqIFRoZXNlIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBwYXJ0IG9mIGxpc3QtYnVpbGRlci5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKFxuICAgICAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy5zaG93T25seVNlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy5yZWFwcGx5RmlsdGVyKHRoaXMuc2hvd09ubHlTZWxlY3RlZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uVmlld0FjdGl2ZSgpIHtcbiAgICBpZiAodGhpcy5zZWFyY2ggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnNlYXJjaFNldEZ1bmN0aW9ucyhbdGhpcy5zZWFyY2hdKTtcbiAgICB9XG5cbiAgICBsZXQgZmllbGRTZWxlY3RvcnM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBpZiAodGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpIHtcbiAgICAgIGZpZWxkU2VsZWN0b3JzLnB1c2godGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uKSB7XG4gICAgICBmaWVsZFNlbGVjdG9ycy5wdXNoKHRoaXMuZGVzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGF0Y2hlci5zZWFyY2hTZXRGaWVsZFNlbGVjdG9ycyhmaWVsZFNlbGVjdG9ycyk7XG5cbiAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uKCdzZWFyY2gnKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldCBpdGVtcygpOiBPYnNlcnZhYmxlPExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2xpc3RTdGF0ZS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoc3RhdGUpID0+IHN0YXRlLml0ZW1zLml0ZW1zKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoRnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIChkYXRhOiBhbnksIHNlYXJjaFRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKHRoaXMubGFiZWxGaWVsZFNlbGVjdG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGV0IGxhYmVsID0gZ2V0RGF0YShkYXRhLCB0aGlzLmxhYmVsRmllbGRTZWxlY3Rvcik7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBsYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgbGFiZWwgIT09IG51bGwgJiZcbiAgICAgICAgICBsYWJlbC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTFcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSBnZXREYXRhKGRhdGEsIHRoaXMuZGVzY3JpcHRpb24pO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGRlc2NyaXB0aW9uICE9PSBudWxsICYmXG4gICAgICAgICAgZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT09IC0xXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGl0ZW1TZWxlY3RlZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZ2V0KGlkKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldEl0ZW1TZWxlY3Rpb24oaXRlbTogTGlzdEl0ZW1Nb2RlbCwgZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1TZWxlY3RlZEFjdGlvbihpdGVtLmlkLCBldmVudC5jaGVja2VkKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2luZ2xlU2VsZWN0Um93Q2xpY2soaXRlbTogTGlzdEl0ZW1Nb2RlbCkge1xuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24oW2l0ZW0uaWRdLCB0cnVlLCB0cnVlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFNob3dTZWxlY3RlZEZpbHRlcihpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIG5ldyBMaXN0RmlsdGVyTW9kZWwoe1xuICAgICAgbmFtZTogJ3Nob3ctc2VsZWN0ZWQnLFxuICAgICAgdmFsdWU6IGlzU2VsZWN0ZWQudG9TdHJpbmcoKSxcbiAgICAgIGZpbHRlckZ1bmN0aW9uOiAobW9kZWw6IExpc3RJdGVtTW9kZWwsIHNob3dPbmx5U2VsZWN0ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHNob3dPbmx5U2VsZWN0ZWQudG9TdHJpbmcoKSAhPT0gZmFsc2UudG9TdHJpbmcoKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZElkTWFwLmdldChtb2RlbC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlYXBwbHlGaWx0ZXIoaXNTZWxlY3RlZDogYm9vbGVhbikge1xuICAgIGxldCBzZWxmID0gdGhpcztcblxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuZmlsdGVycyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdKSA9PiB7XG4gICAgICAgIGZpbHRlcnMgPSBmaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSAhPT0gJ3Nob3ctc2VsZWN0ZWQnKTtcbiAgICAgICAgZmlsdGVycy5wdXNoKHNlbGYuZ2V0U2hvd1NlbGVjdGVkRmlsdGVyKGlzU2VsZWN0ZWQpKTtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLmZpbHRlcnNVcGRhdGUoZmlsdGVycyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd1NlbGVjdGVkVmFsdWVzRXF1YWwoXG4gICAgcHJldjogTGlzdEZpbHRlck1vZGVsW10sXG4gICAgbmV4dDogTGlzdEZpbHRlck1vZGVsW11cbiAgKSB7XG4gICAgY29uc3QgcHJldlNob3dTZWxlY3RlZEZpbHRlciA9IHByZXYuZmluZChcbiAgICAgIChmaWx0ZXIpID0+IGZpbHRlci5uYW1lID09PSAnc2hvdy1zZWxlY3RlZCdcbiAgICApO1xuICAgIGNvbnN0IG5leHRTaG93U2VsZWN0ZWRGaWx0ZXIgPSBuZXh0LmZpbmQoXG4gICAgICAoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnXG4gICAgKTtcblxuICAgIGlmIChwcmV2U2hvd1NlbGVjdGVkRmlsdGVyICYmIG5leHRTaG93U2VsZWN0ZWRGaWx0ZXIpIHtcbiAgICAgIHJldHVybiBwcmV2U2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlID09PSBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWxpc3Qtdmlldy1jaGVja2xpc3RcIiAqbmdJZj1cImFjdGl2ZSB8IGFzeW5jXCI+XG4gIDxkaXYgW25nU3dpdGNoXT1cInNlbGVjdE1vZGVcIj5cbiAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwic2luZ2xlXCI+XG4gICAgICA8ZGl2IHJvbGU9XCJyYWRpb2dyb3VwXCI+XG4gICAgICAgIDxza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiXG4gICAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJvbGU9XCJyYWRpb1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWxpc3Qtdmlldy1jaGVja2xpc3Qtc2luZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiKGl0ZW1TZWxlY3RlZChpdGVtLmlkKSB8IGFzeW5jKSB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1yb3ctc2VsZWN0ZWQnOlxuICAgICAgICAgICAgICAgIChpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luYylcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNpbmdsZVNlbGVjdFJvd0NsaWNrKGl0ZW0pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5sYWJlbFwiIGNsYXNzPVwic2t5LWVtcGhhc2l6ZWRcIj5cbiAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiPnt7IGl0ZW0uZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9za3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8c2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGFzeW5jXCJcbiAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luY1wiXG4gICAgICAgICAgKGNoYW5nZSk9XCJzZXRJdGVtU2VsZWN0aW9uKGl0ZW0sICRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZW1waGFzaXplZFwiXG4gICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmRlc2NyaXB0aW9uXCIgW2F0dHIudGl0bGVdPVwiaXRlbS5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgPC9za3ktY2hlY2tib3g+XG4gICAgICA8L3NreS1saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -7,33 +7,19 @@ import { SkyListViewChecklistItemComponent } from './list-view-checklist-item.co
7
7
  import * as i0 from "@angular/core";
8
8
  export class SkyListViewChecklistModule {
9
9
  }
10
- SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
12
- SkyListViewChecklistItemComponent], imports: [CommonModule,
13
- FormsModule,
14
- SkyCheckboxModule], exports: [SkyListViewChecklistComponent,
15
- SkyListViewChecklistItemComponent] });
16
- SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: SkyListViewChecklistModule, imports: [[
17
- CommonModule,
18
- FormsModule,
19
- SkyCheckboxModule
20
- ]] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
10
+ SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
12
+ SkyListViewChecklistItemComponent], imports: [CommonModule, FormsModule, SkyCheckboxModule], exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent] });
13
+ SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistModule, imports: [[CommonModule, FormsModule, SkyCheckboxModule]] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
22
15
  type: NgModule,
23
16
  args: [{
24
17
  declarations: [
25
18
  SkyListViewChecklistComponent,
26
- SkyListViewChecklistItemComponent
19
+ SkyListViewChecklistItemComponent,
27
20
  ],
28
- imports: [
29
- CommonModule,
30
- FormsModule,
31
- SkyCheckboxModule
32
- ],
33
- exports: [
34
- SkyListViewChecklistComponent,
35
- SkyListViewChecklistItemComponent
36
- ]
21
+ imports: [CommonModule, FormsModule, SkyCheckboxModule],
22
+ exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent],
37
23
  }]
38
24
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxZQUFZLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQ0wsV0FBVyxFQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLGlCQUFpQixFQUNsQixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0wsNkJBQTZCLEVBQzlCLE1BQU0saUNBQWlDLENBQUM7QUFFekMsT0FBTyxFQUNMLGlDQUFpQyxFQUNsQyxNQUFNLHNDQUFzQyxDQUFDOztBQWlCOUMsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGlCQWJuQyw2QkFBNkI7UUFDN0IsaUNBQWlDLGFBR2pDLFlBQVk7UUFDWixXQUFXO1FBQ1gsaUJBQWlCLGFBR2pCLDZCQUE2QjtRQUM3QixpQ0FBaUM7d0hBR3hCLDBCQUEwQixZQVY1QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsaUJBQWlCO1NBQ2xCOzJGQU1VLDBCQUEwQjtrQkFmdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QixpQ0FBaUM7cUJBQ2xDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsNkJBQTZCO3dCQUM3QixpQ0FBaUM7cUJBQ2xDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmdNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIENvbW1vbk1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICBGb3Jtc01vZHVsZVxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIFNreUNoZWNrYm94TW9kdWxlXG59IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIFNreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50XG59IGZyb20gJy4vbGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Db21wb25lbnRcbn0gZnJvbSAnLi9saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2t5TGlzdFZpZXdDaGVja2xpc3RDb21wb25lbnQsXG4gICAgU2t5TGlzdFZpZXdDaGVja2xpc3RJdGVtQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2t5Q2hlY2tib3hNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50LFxuICAgIFNreUxpc3RWaWV3Q2hlY2tsaXN0SXRlbUNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RWaWV3Q2hlY2tsaXN0TW9kdWxlIHtcbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQVV6RixNQUFNLE9BQU8sMEJBQTBCOzt3SEFBMUIsMEJBQTBCO3lIQUExQiwwQkFBMEIsaUJBTm5DLDZCQUE2QjtRQUM3QixpQ0FBaUMsYUFFekIsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsYUFDNUMsNkJBQTZCLEVBQUUsaUNBQWlDO3lIQUUvRCwwQkFBMEIsWUFINUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDOzRGQUc1QywwQkFBMEI7a0JBUnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDZCQUE2Qjt3QkFDN0IsaUNBQWlDO3FCQUNsQztvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDO29CQUN2RCxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxpQ0FBaUMsQ0FBQztpQkFDNUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3Qtdmlldy1jaGVja2xpc3QtaXRlbS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCxcbiAgICBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBTa3lDaGVja2JveE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCwgU2t5TGlzdFZpZXdDaGVja2xpc3RJdGVtQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdFZpZXdDaGVja2xpc3RNb2R1bGUge31cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLWFjdGlvbi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3Qvc3RhdGUvY2hlY2tsaXN0LXN0YXRlLWFjdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zTG9hZEFjdGlvblxufSBmcm9tICcuL2l0ZW1zL2xvYWQuYWN0aW9uJztcblxuZXhwb3J0IHR5cGUgQ2hlY2tsaXN0U3RhdGVBY3Rpb24gPVxuICBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zTG9hZEFjdGlvbjtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLWFjdGlvbi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3Qvc3RhdGUvY2hlY2tsaXN0LXN0YXRlLWFjdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zTG9hZEFjdGlvbiB9IGZyb20gJy4vaXRlbXMvbG9hZC5hY3Rpb24nO1xuXG5leHBvcnQgdHlwZSBDaGVja2xpc3RTdGF0ZUFjdGlvbiA9IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uO1xuIl19
@@ -4,4 +4,4 @@ export class ChecklistStateModel {
4
4
  this.items = new AsyncList();
5
5
  }
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3Qvc3RhdGUvY2hlY2tsaXN0LXN0YXRlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1YsTUFBTSw0QkFBNEIsQ0FBQztBQU1wQyxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBQ1MsVUFBSyxHQUEwQyxJQUFJLFNBQVMsRUFBOEIsQ0FBQztJQUNwRyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBc3luY0xpc3Rcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQge1xuICBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbFxufSBmcm9tICcuL2l0ZW1zL2l0ZW0ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGVNb2RlbCB7XG4gIHB1YmxpYyBpdGVtczogQXN5bmNMaXN0PExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsPiA9IG5ldyBBc3luY0xpc3Q8TGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWw+KCk7XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3Qvc3RhdGUvY2hlY2tsaXN0LXN0YXRlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUl2RCxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBQ1MsVUFBSyxHQUNWLElBQUksU0FBUyxFQUE4QixDQUFDO0lBQ2hELENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jTGlzdCB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWwgfSBmcm9tICcuL2l0ZW1zL2l0ZW0ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGVNb2RlbCB7XG4gIHB1YmxpYyBpdGVtczogQXN5bmNMaXN0PExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsPiA9XG4gICAgbmV3IEFzeW5jTGlzdDxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD4oKTtcbn1cbiJdfQ==
@@ -3,11 +3,11 @@ import { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ChecklistStateDispatcher extends StateDispatcher {
5
5
  }
6
- ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7
- ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: ChecklistStateDispatcher });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
6
+ ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7
+ ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistStateDispatcher });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
9
9
  type: Injectable
10
10
  }] });
11
11
  export class ChecklistStateOrchestrator extends StateOrchestrator {
12
12
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUucnhzdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2xCLE1BQU0sNEJBQTRCLENBQUM7O0FBT3BDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxlQUFxQzs7cUhBQXRFLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7O0FBS1gsTUFBTSxPQUFPLDBCQUE4QixTQUFRLGlCQUEwQztDQUU1RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFN0YXRlRGlzcGF0Y2hlcixcbiAgU3RhdGVPcmNoZXN0cmF0b3Jcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQge1xuICBDaGVja2xpc3RTdGF0ZUFjdGlvblxufSBmcm9tICcuL2NoZWNrbGlzdC1zdGF0ZS1hY3Rpb24udHlwZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDaGVja2xpc3RTdGF0ZURpc3BhdGNoZXIgZXh0ZW5kcyBTdGF0ZURpc3BhdGNoZXI8Q2hlY2tsaXN0U3RhdGVBY3Rpb24+IHtcblxufVxuXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGVPcmNoZXN0cmF0b3I8VD4gZXh0ZW5kcyBTdGF0ZU9yY2hlc3RyYXRvcjxULCBDaGVja2xpc3RTdGF0ZUFjdGlvbj4ge1xuXG59XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUucnhzdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFLaEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQXFDOztzSEFBdEUsd0JBQXdCOzBIQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVTs7QUFHWCxNQUFNLE9BQU8sMEJBQThCLFNBQVEsaUJBR2xEO0NBQUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0YXRlRGlzcGF0Y2hlciwgU3RhdGVPcmNoZXN0cmF0b3IgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlQWN0aW9uIH0gZnJvbSAnLi9jaGVja2xpc3Qtc3RhdGUtYWN0aW9uLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyIGV4dGVuZHMgU3RhdGVEaXNwYXRjaGVyPENoZWNrbGlzdFN0YXRlQWN0aW9uPiB7fVxuXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGVPcmNoZXN0cmF0b3I8VD4gZXh0ZW5kcyBTdGF0ZU9yY2hlc3RyYXRvcjxcbiAgVCxcbiAgQ2hlY2tsaXN0U3RhdGVBY3Rpb25cbj4ge31cbiJdfQ==
@@ -7,13 +7,12 @@ import * as i2 from "./checklist-state.rxstate";
7
7
  export class ChecklistState extends StateNode {
8
8
  constructor(initialState, dispatcher) {
9
9
  super(initialState, dispatcher);
10
- this.register('items', ListViewChecklistItemsOrchestrator)
11
- .begin();
10
+ this.register('items', ListViewChecklistItemsOrchestrator).begin();
12
11
  }
13
12
  }
14
- ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: ChecklistState, deps: [{ token: i1.ChecklistStateModel }, { token: i2.ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
15
- ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: ChecklistState });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.8", ngImport: i0, type: ChecklistState, decorators: [{
13
+ ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistState, deps: [{ token: i1.ChecklistStateModel }, { token: i2.ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
14
+ ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistState });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistState, decorators: [{
17
16
  type: Injectable
18
17
  }], ctorParameters: function () { return [{ type: i1.ChecklistStateModel }, { type: i2.ChecklistStateDispatcher }]; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLnN0YXRlLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUuc3RhdGUtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxTQUFTLEVBQ1YsTUFBTSw0QkFBNEIsQ0FBQztBQVVwQyxPQUFPLEVBQ0wsa0NBQWtDLEVBQ25DLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFHcEMsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUE4QjtJQUNoRSxZQUFZLFlBQWlDLEVBQUUsVUFBb0M7UUFDakYsS0FBSyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBQzthQUN2RCxLQUFLLEVBQUUsQ0FBQztJQUNiLENBQUM7OzJHQU5VLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU3RhdGVOb2RlXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHtcbiAgQ2hlY2tsaXN0U3RhdGVNb2RlbFxufSBmcm9tICcuL2NoZWNrbGlzdC1zdGF0ZS5tb2RlbCc7XG5cbmltcG9ydCB7XG4gIENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlclxufSBmcm9tICcuL2NoZWNrbGlzdC1zdGF0ZS5yeHN0YXRlJztcblxuaW1wb3J0IHtcbiAgTGlzdFZpZXdDaGVja2xpc3RJdGVtc09yY2hlc3RyYXRvclxufSBmcm9tICcuL2l0ZW1zL2l0ZW1zLm9yY2hlc3RyYXRvcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDaGVja2xpc3RTdGF0ZSBleHRlbmRzIFN0YXRlTm9kZTxDaGVja2xpc3RTdGF0ZU1vZGVsPiB7XG4gIGNvbnN0cnVjdG9yKGluaXRpYWxTdGF0ZTogQ2hlY2tsaXN0U3RhdGVNb2RlbCwgZGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyKSB7XG4gICAgc3VwZXIoaW5pdGlhbFN0YXRlLCBkaXNwYXRjaGVyKTtcblxuICAgIHRoaXMucmVnaXN0ZXIoJ2l0ZW1zJywgTGlzdFZpZXdDaGVja2xpc3RJdGVtc09yY2hlc3RyYXRvcilcbiAgICAgIC5iZWdpbigpO1xuICB9XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLnN0YXRlLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUuc3RhdGUtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU12RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUdoRixNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQThCO0lBQ2hFLFlBQ0UsWUFBaUMsRUFDakMsVUFBb0M7UUFFcEMsS0FBSyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JFLENBQUM7OzRHQVJVLGNBQWM7Z0hBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdGF0ZU5vZGUgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlTW9kZWwgfSBmcm9tICcuL2NoZWNrbGlzdC1zdGF0ZS5tb2RlbCc7XG5cbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUnO1xuXG5pbXBvcnQgeyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zT3JjaGVzdHJhdG9yIH0gZnJvbSAnLi9pdGVtcy9pdGVtcy5vcmNoZXN0cmF0b3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGUgZXh0ZW5kcyBTdGF0ZU5vZGU8Q2hlY2tsaXN0U3RhdGVNb2RlbD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBpbml0aWFsU3RhdGU6IENoZWNrbGlzdFN0YXRlTW9kZWwsXG4gICAgZGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyXG4gICkge1xuICAgIHN1cGVyKGluaXRpYWxTdGF0ZSwgZGlzcGF0Y2hlcik7XG5cbiAgICB0aGlzLnJlZ2lzdGVyKCdpdGVtcycsIExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNPcmNoZXN0cmF0b3IpLmJlZ2luKCk7XG4gIH1cbn1cbiJdfQ==
@@ -9,11 +9,11 @@ export class ListViewChecklistItemsOrchestrator extends ChecklistStateOrchestrat
9
9
  this.register(ListViewChecklistItemsLoadAction, this.load);
10
10
  }
11
11
  load(state, action) {
12
- const newListItems = action.items.map(item => new ListViewChecklistItemModel(item.id, item));
12
+ const newListItems = action.items.map((item) => new ListViewChecklistItemModel(item.id, item));
13
13
  if (action.refresh) {
14
14
  return new AsyncList([...newListItems], action.dataChanged ? Date.now() : state.lastUpdate, false, state.count);
15
15
  }
16
16
  return new AsyncList([...state.items, ...newListItems], action.dataChanged ? Date.now() : state.lastUpdate, false, action.itemCount);
17
17
  }
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMub3JjaGVzdHJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3Qvc3RhdGUvaXRlbXMvaXRlbXMub3JjaGVzdHJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCwwQkFBMEIsRUFDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQ0wsU0FBUyxFQUNWLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUNMLDBCQUEwQixFQUMzQixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2pDLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE1BQU0sT0FBTyxrQ0FDWCxTQUFRLDBCQUFpRTtJQUN6RSwwQkFBMEI7SUFDMUI7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxJQUFJLENBQ1YsS0FBNEMsRUFDNUMsTUFBd0M7UUFFeEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU3RixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsQ0FBQyxHQUFHLFlBQVksQ0FBQyxFQUNqQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQ2xELEtBQUssRUFDTCxLQUFLLENBQUMsS0FBSyxDQUNaLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxTQUFTLENBQ2xCLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsWUFBWSxDQUFDLEVBQ2pDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFDbEQsS0FBSyxFQUNMLE1BQU0sQ0FBQyxTQUFTLENBQ2pCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGVja2xpc3RTdGF0ZU9yY2hlc3RyYXRvclxufSBmcm9tICcuLi9jaGVja2xpc3Qtc3RhdGUucnhzdGF0ZSc7XG5cbmltcG9ydCB7XG4gIEFzeW5jTGlzdFxufSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7XG4gIExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsXG59IGZyb20gJy4vaXRlbS5tb2RlbCc7XG5cbmltcG9ydCB7XG4gIExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uXG59IGZyb20gJy4vbG9hZC5hY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgTGlzdFZpZXdDaGVja2xpc3RJdGVtc09yY2hlc3RyYXRvclxuICBleHRlbmRzIENoZWNrbGlzdFN0YXRlT3JjaGVzdHJhdG9yPEFzeW5jTGlzdDxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD4+IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlZ2lzdGVyKExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uLCB0aGlzLmxvYWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkKFxuICAgIHN0YXRlOiBBc3luY0xpc3Q8TGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWw+LFxuICAgIGFjdGlvbjogTGlzdFZpZXdDaGVja2xpc3RJdGVtc0xvYWRBY3Rpb24pOiBBc3luY0xpc3Q8TGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWw+IHtcblxuICAgIGNvbnN0IG5ld0xpc3RJdGVtcyA9IGFjdGlvbi5pdGVtcy5tYXAoaXRlbSA9PiBuZXcgTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWwoaXRlbS5pZCwgaXRlbSkpO1xuXG4gICAgaWYgKGFjdGlvbi5yZWZyZXNoKSB7XG4gICAgICByZXR1cm4gbmV3IEFzeW5jTGlzdDxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD4oXG4gICAgICAgIFsuLi5uZXdMaXN0SXRlbXNdLFxuICAgICAgICBhY3Rpb24uZGF0YUNoYW5nZWQgPyBEYXRlLm5vdygpIDogc3RhdGUubGFzdFVwZGF0ZSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIHN0YXRlLmNvdW50XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgQXN5bmNMaXN0PExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsPihcbiAgICAgIFsuLi5zdGF0ZS5pdGVtcywgLi4ubmV3TGlzdEl0ZW1zXSxcbiAgICAgIGFjdGlvbi5kYXRhQ2hhbmdlZCA/IERhdGUubm93KCkgOiBzdGF0ZS5sYXN0VXBkYXRlLFxuICAgICAgZmFsc2UsXG4gICAgICBhY3Rpb24uaXRlbUNvdW50XG4gICAgKTtcbiAgfVxufVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMub3JjaGVzdHJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3Qvc3RhdGUvaXRlbXMvaXRlbXMub3JjaGVzdHJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSwwQkFFdkQ7SUFDQywwQkFBMEI7SUFDMUI7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxJQUFJLENBQ1YsS0FBNEMsRUFDNUMsTUFBd0M7UUFFeEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQ25DLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQ3hELENBQUM7UUFFRixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsQ0FBQyxHQUFHLFlBQVksQ0FBQyxFQUNqQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQ2xELEtBQUssRUFDTCxLQUFLLENBQUMsS0FBSyxDQUNaLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxTQUFTLENBQ2xCLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsWUFBWSxDQUFDLEVBQ2pDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFDbEQsS0FBSyxFQUNMLE1BQU0sQ0FBQyxTQUFTLENBQ2pCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGVja2xpc3RTdGF0ZU9yY2hlc3RyYXRvciB9IGZyb20gJy4uL2NoZWNrbGlzdC1zdGF0ZS5yeHN0YXRlJztcblxuaW1wb3J0IHsgQXN5bmNMaXN0IH0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQgeyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbCB9IGZyb20gJy4vaXRlbS5tb2RlbCc7XG5cbmltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9sb2FkLmFjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zT3JjaGVzdHJhdG9yIGV4dGVuZHMgQ2hlY2tsaXN0U3RhdGVPcmNoZXN0cmF0b3I8XG4gIEFzeW5jTGlzdDxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD5cbj4ge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucmVnaXN0ZXIoTGlzdFZpZXdDaGVja2xpc3RJdGVtc0xvYWRBY3Rpb24sIHRoaXMubG9hZCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWQoXG4gICAgc3RhdGU6IEFzeW5jTGlzdDxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD4sXG4gICAgYWN0aW9uOiBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zTG9hZEFjdGlvblxuICApOiBBc3luY0xpc3Q8TGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWw+IHtcbiAgICBjb25zdCBuZXdMaXN0SXRlbXMgPSBhY3Rpb24uaXRlbXMubWFwKFxuICAgICAgKGl0ZW0pID0+IG5ldyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbChpdGVtLmlkLCBpdGVtKVxuICAgICk7XG5cbiAgICBpZiAoYWN0aW9uLnJlZnJlc2gpIHtcbiAgICAgIHJldHVybiBuZXcgQXN5bmNMaXN0PExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsPihcbiAgICAgICAgWy4uLm5ld0xpc3RJdGVtc10sXG4gICAgICAgIGFjdGlvbi5kYXRhQ2hhbmdlZCA/IERhdGUubm93KCkgOiBzdGF0ZS5sYXN0VXBkYXRlLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgc3RhdGUuY291bnRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBBc3luY0xpc3Q8TGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWw+KFxuICAgICAgWy4uLnN0YXRlLml0ZW1zLCAuLi5uZXdMaXN0SXRlbXNdLFxuICAgICAgYWN0aW9uLmRhdGFDaGFuZ2VkID8gRGF0ZS5ub3coKSA6IHN0YXRlLmxhc3RVcGRhdGUsXG4gICAgICBmYWxzZSxcbiAgICAgIGFjdGlvbi5pdGVtQ291bnRcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -6,4 +6,4 @@ export class ListViewChecklistItemsLoadAction {
6
6
  this.itemCount = itemCount;
7
7
  }
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLFlBQ1MsUUFBMkMsRUFBRSxFQUM3QyxVQUFtQixLQUFLLEVBQ3hCLGNBQXVCLElBQUksRUFDM0IsWUFBb0IsS0FBSyxDQUFDLE1BQU07UUFIaEMsVUFBSyxHQUFMLEtBQUssQ0FBd0M7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQXVCO0lBR3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsIH0gZnJvbSAnLi9pdGVtLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGl0ZW1zOiBBcnJheTxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD4gPSBbXSxcbiAgICBwdWJsaWMgcmVmcmVzaDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHB1YmxpYyBkYXRhQ2hhbmdlZDogYm9vbGVhbiA9IHRydWUsXG4gICAgcHVibGljIGl0ZW1Db3VudDogbnVtYmVyID0gaXRlbXMubGVuZ3RoXG4gICkge1xuXG4gIH1cbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLFlBQ1MsUUFBMkMsRUFBRSxFQUM3QyxVQUFtQixLQUFLLEVBQ3hCLGNBQXVCLElBQUksRUFDM0IsWUFBb0IsS0FBSyxDQUFDLE1BQU07UUFIaEMsVUFBSyxHQUFMLEtBQUssQ0FBd0M7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQXVCO0lBQ3RDLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsIH0gZnJvbSAnLi9pdGVtLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGl0ZW1zOiBBcnJheTxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD4gPSBbXSxcbiAgICBwdWJsaWMgcmVmcmVzaDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHB1YmxpYyBkYXRhQ2hhbmdlZDogYm9vbGVhbiA9IHRydWUsXG4gICAgcHVibGljIGl0ZW1Db3VudDogbnVtYmVyID0gaXRlbXMubGVuZ3RoXG4gICkge31cbn1cbiJdfQ==
@@ -19,7 +19,7 @@ export class SkyListViewChecklistFixture {
19
19
  return {
20
20
  label: SkyAppTestUtility.getText(selectWrapperEl.query(By.css('div.sky-emphasized'))),
21
21
  description: SkyAppTestUtility.getText(selectWrapperEl.query(By.css('div:not(.sky-emphasized)'))),
22
- selected: this.isChecked(selectEl)
22
+ selected: this.isChecked(selectEl),
23
23
  };
24
24
  }
25
25
  /**
@@ -80,4 +80,4 @@ export class SkyListViewChecklistFixture {
80
80
  return el.getAttribute('aria-checked') === 'true';
81
81
  }
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3Rlc3Rpbmcvc3JjL2xpc3Qtdmlldy1jaGVja2xpc3QtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQ0wsRUFBRSxFQUNILE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUNMLGlCQUFpQixFQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBTTVCLE1BQU0sd0JBQXdCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0seUJBQXlCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0FBRW5GOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDJCQUEyQjtJQUl0QyxZQUNFLE9BQThCLEVBQzlCLFNBQWlCO1FBRWpCLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLENBQ3RELE9BQU8sRUFDUCxTQUFTLEVBQ1QseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxDQUFDLEtBQWE7UUFDMUIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsT0FBTztZQUNMLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQ3BEO1lBQ0QsV0FBVyxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FDcEMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FDMUQ7WUFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsS0FBYTtRQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdCLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxDQUFDLEtBQWE7UUFDL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7U0FDdEU7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsS0FBYTtRQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztRQUU5RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFMUQsSUFBSSxVQUFVLEVBQUU7WUFDZCxPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUVELDRDQUE0QztRQUM1QyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBYTtRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxhQUFhLEVBQUU7WUFDakIsT0FBTyxhQUFhLENBQUM7U0FDdEI7UUFFRCw0Q0FBNEM7UUFDNUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxRQUFzQjtRQUN0QyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBRWxDLElBQUksRUFBRSxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7WUFDMUIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO1NBQ25CO1FBRUQsNENBQTRDO1FBQzVDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxNQUFNLENBQUM7SUFDcEQsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50Rml4dHVyZVxufSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQge1xuICBEZWJ1Z0VsZW1lbnRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEJ5XG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQge1xuICBTa3lBcHBUZXN0VXRpbGl0eVxufSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQge1xuICBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1cbn0gZnJvbSAnLi9saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0nO1xuXG5jb25zdCBNVUxUSV9TRUxFQ1RfRUxfU0VMRUNUT1IgPSBCeS5jc3MoJy5za3ktY2hlY2tib3gtd3JhcHBlciA+IGlucHV0Jyk7XG5jb25zdCBTSU5HTEVfU0VMRUNUX0VMX1NFTEVDVE9SID0gQnkuY3NzKCcuc2t5LWxpc3Qtdmlldy1jaGVja2xpc3Qtc2luZ2xlLWJ1dHRvbicpO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIGxpc3QgdmlldyBjaGVja2xpc3QgY29tcG9uZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2t5TGlzdFZpZXdDaGVja2xpc3RGaXh0dXJlIHtcblxuICBwcml2YXRlIGRlYnVnRWw6IERlYnVnRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sXG4gICAgc2t5VGVzdElkOiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy5kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1saXN0LXZpZXctY2hlY2tsaXN0J1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaXRlbSdzIGluZGV4LlxuICAgKi9cbiAgcHVibGljIGdldEl0ZW0oaW5kZXg6IG51bWJlcik6IFNreUxpc3RWaWV3Q2hlY2tsaXN0SXRlbSB7XG4gICAgY29uc3Qgc2VsZWN0V3JhcHBlckVsID0gdGhpcy5nZXRTZWxlY3RXcmFwcGVyRWwoaW5kZXgpO1xuICAgIGNvbnN0IHNlbGVjdEVsID0gdGhpcy5nZXRTZWxlY3RFbChpbmRleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICAgIHNlbGVjdFdyYXBwZXJFbC5xdWVyeShCeS5jc3MoJ2Rpdi5za3ktZW1waGFzaXplZCcpKVxuICAgICAgKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KFxuICAgICAgICBzZWxlY3RXcmFwcGVyRWwucXVlcnkoQnkuY3NzKCdkaXY6bm90KC5za3ktZW1waGFzaXplZCknKSlcbiAgICAgICksXG4gICAgICBzZWxlY3RlZDogdGhpcy5pc0NoZWNrZWQoc2VsZWN0RWwpXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHRoZSBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaXRlbSdzIGluZGV4LlxuICAgKi9cbiAgcHVibGljIHNlbGVjdEl0ZW0oaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHNlbGVjdEVsID0gdGhpcy5nZXRTZWxlY3RFbChpbmRleCk7XG5cbiAgICBpZiAoIXRoaXMuaXNDaGVja2VkKHNlbGVjdEVsKSkge1xuICAgICAgc2VsZWN0RWwubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgdGhlIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICogQHBhcmFtIGluZGV4IFRoZSBpdGVtJ3MgaW5kZXguXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3RJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RFbCA9IHRoaXMuZ2V0U2VsZWN0RWwoaW5kZXgpO1xuXG4gICAgaWYgKHNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0JVVFRPTicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSXRlbXMgY2Fubm90IGJlIGRlc2VsZWN0ZWQgaW4gc2luZ2xlIHNlbGVjdCBtb2RlLmApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzQ2hlY2tlZChzZWxlY3RFbCkpIHtcbiAgICAgIHNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1FbChpbmRleDogbnVtYmVyKTogRGVidWdFbGVtZW50IHtcbiAgICBjb25zdCBpdGVtRWxzID0gdGhpcy5kZWJ1Z0VsLnF1ZXJ5QWxsKEJ5LmNzcygnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbScpKTtcblxuICAgIGNvbnN0IGl0ZW1FbCA9IGl0ZW1FbHNbaW5kZXhdO1xuXG4gICAgaWYgKCFpdGVtRWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaXRlbSBleGlzdHMgYXQgaW5kZXggJHtpbmRleH0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1FbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0RWwoaW5kZXg6IG51bWJlcik6IERlYnVnRWxlbWVudCB7XG4gICAgY29uc3QgaXRlbUVsID0gdGhpcy5nZXRJdGVtRWwoaW5kZXgpO1xuXG4gICAgY29uc3QgY2hlY2tib3hFbCA9IGl0ZW1FbC5xdWVyeShNVUxUSV9TRUxFQ1RfRUxfU0VMRUNUT1IpO1xuXG4gICAgaWYgKGNoZWNrYm94RWwpIHtcbiAgICAgIHJldHVybiBjaGVja2JveEVsO1xuICAgIH1cblxuICAgIC8vIEFzc3VtZSB0aGUgbGlzdCBpcyBpbiBzaW5nbGUtc2VsZWN0IG1vZGUuXG4gICAgcmV0dXJuIGl0ZW1FbC5xdWVyeShTSU5HTEVfU0VMRUNUX0VMX1NFTEVDVE9SKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0V3JhcHBlckVsKGluZGV4OiBudW1iZXIpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIGNvbnN0IGl0ZW1FbCA9IHRoaXMuZ2V0SXRlbUVsKGluZGV4KTtcblxuICAgIGNvbnN0IGl0ZW1XcmFwcGVyRWwgPSBpdGVtRWwucXVlcnkoQnkuY3NzKCdza3ktY2hlY2tib3gtbGFiZWwnKSk7XG5cbiAgICBpZiAoaXRlbVdyYXBwZXJFbCkge1xuICAgICAgcmV0dXJuIGl0ZW1XcmFwcGVyRWw7XG4gICAgfVxuXG4gICAgLy8gQXNzdW1lIHRoZSBsaXN0IGlzIGluIHNpbmdsZS1zZWxlY3QgbW9kZS5cbiAgICByZXR1cm4gaXRlbUVsLnF1ZXJ5KFNJTkdMRV9TRUxFQ1RfRUxfU0VMRUNUT1IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NoZWNrZWQoc2VsZWN0RWw6IERlYnVnRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsID0gc2VsZWN0RWwubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChlbC50YWdOYW1lID09PSAnSU5QVVQnKSB7XG4gICAgICByZXR1cm4gZWwuY2hlY2tlZDtcbiAgICB9XG5cbiAgICAvLyBBc3N1bWUgdGhlIGxpc3QgaXMgaW4gc2luZ2xlLXNlbGVjdCBtb2RlLlxuICAgIHJldHVybiBlbC5nZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcpID09PSAndHJ1ZSc7XG4gIH1cblxufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3Rlc3Rpbmcvc3JjL2xpc3Qtdmlldy1jaGVja2xpc3QtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJdkQsTUFBTSx3QkFBd0IsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDekUsTUFBTSx5QkFBeUIsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUN0Qyx3Q0FBd0MsQ0FDekMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxZQUFZLE9BQThCLEVBQUUsU0FBaUI7UUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdEQsT0FBTyxFQUNQLFNBQVMsRUFDVCx5QkFBeUIsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPLENBQUMsS0FBYTtRQUMxQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxPQUFPO1lBQ0wsS0FBSyxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FDOUIsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FDcEQ7WUFDRCxXQUFXLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUNwQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUMxRDtZQUNELFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsS0FBYTtRQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN0RTtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QixRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFhO1FBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUNuQyxFQUFFLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQ3ZDLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFMUQsSUFBSSxVQUFVLEVBQUU7WUFDZCxPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUVELDRDQUE0QztRQUM1QyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBYTtRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxhQUFhLEVBQUU7WUFDakIsT0FBTyxhQUFhLENBQUM7U0FDdEI7UUFFRCw0Q0FBNEM7UUFDNUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxRQUFzQjtRQUN0QyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBRWxDLElBQUksRUFBRSxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7WUFDMUIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO1NBQ25CO1FBRUQsNENBQTRDO1FBQzVDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxNQUFNLENBQUM7SUFDcEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUxpc3RWaWV3Q2hlY2tsaXN0SXRlbSB9IGZyb20gJy4vbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtJztcblxuY29uc3QgTVVMVElfU0VMRUNUX0VMX1NFTEVDVE9SID0gQnkuY3NzKCcuc2t5LWNoZWNrYm94LXdyYXBwZXIgPiBpbnB1dCcpO1xuY29uc3QgU0lOR0xFX1NFTEVDVF9FTF9TRUxFQ1RPUiA9IEJ5LmNzcyhcbiAgJy5za3ktbGlzdC12aWV3LWNoZWNrbGlzdC1zaW5nbGUtYnV0dG9uJ1xuKTtcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBsaXN0IHZpZXcgY2hlY2tsaXN0IGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUxpc3RWaWV3Q2hlY2tsaXN0Rml4dHVyZSB7XG4gIHByaXZhdGUgZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICogQHBhcmFtIGluZGV4IFRoZSBpdGVtJ3MgaW5kZXguXG4gICAqL1xuICBwdWJsaWMgZ2V0SXRlbShpbmRleDogbnVtYmVyKTogU2t5TGlzdFZpZXdDaGVja2xpc3RJdGVtIHtcbiAgICBjb25zdCBzZWxlY3RXcmFwcGVyRWwgPSB0aGlzLmdldFNlbGVjdFdyYXBwZXJFbChpbmRleCk7XG4gICAgY29uc3Qgc2VsZWN0RWwgPSB0aGlzLmdldFNlbGVjdEVsKGluZGV4KTtcblxuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dChcbiAgICAgICAgc2VsZWN0V3JhcHBlckVsLnF1ZXJ5KEJ5LmNzcygnZGl2LnNreS1lbXBoYXNpemVkJykpXG4gICAgICApLFxuICAgICAgZGVzY3JpcHRpb246IFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICAgIHNlbGVjdFdyYXBwZXJFbC5xdWVyeShCeS5jc3MoJ2Rpdjpub3QoLnNreS1lbXBoYXNpemVkKScpKVxuICAgICAgKSxcbiAgICAgIHNlbGVjdGVkOiB0aGlzLmlzQ2hlY2tlZChzZWxlY3RFbCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHRoZSBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaXRlbSdzIGluZGV4LlxuICAgKi9cbiAgcHVibGljIHNlbGVjdEl0ZW0oaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHNlbGVjdEVsID0gdGhpcy5nZXRTZWxlY3RFbChpbmRleCk7XG5cbiAgICBpZiAoIXRoaXMuaXNDaGVja2VkKHNlbGVjdEVsKSkge1xuICAgICAgc2VsZWN0RWwubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgdGhlIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICogQHBhcmFtIGluZGV4IFRoZSBpdGVtJ3MgaW5kZXguXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3RJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RFbCA9IHRoaXMuZ2V0U2VsZWN0RWwoaW5kZXgpO1xuXG4gICAgaWYgKHNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0JVVFRPTicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSXRlbXMgY2Fubm90IGJlIGRlc2VsZWN0ZWQgaW4gc2luZ2xlIHNlbGVjdCBtb2RlLmApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzQ2hlY2tlZChzZWxlY3RFbCkpIHtcbiAgICAgIHNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1FbChpbmRleDogbnVtYmVyKTogRGVidWdFbGVtZW50IHtcbiAgICBjb25zdCBpdGVtRWxzID0gdGhpcy5kZWJ1Z0VsLnF1ZXJ5QWxsKFxuICAgICAgQnkuY3NzKCdza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtJylcbiAgICApO1xuXG4gICAgY29uc3QgaXRlbUVsID0gaXRlbUVsc1tpbmRleF07XG5cbiAgICBpZiAoIWl0ZW1FbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBpdGVtIGV4aXN0cyBhdCBpbmRleCAke2luZGV4fS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbUVsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RFbChpbmRleDogbnVtYmVyKTogRGVidWdFbGVtZW50IHtcbiAgICBjb25zdCBpdGVtRWwgPSB0aGlzLmdldEl0ZW1FbChpbmRleCk7XG5cbiAgICBjb25zdCBjaGVja2JveEVsID0gaXRlbUVsLnF1ZXJ5KE1VTFRJX1NFTEVDVF9FTF9TRUxFQ1RPUik7XG5cbiAgICBpZiAoY2hlY2tib3hFbCkge1xuICAgICAgcmV0dXJuIGNoZWNrYm94RWw7XG4gICAgfVxuXG4gICAgLy8gQXNzdW1lIHRoZSBsaXN0IGlzIGluIHNpbmdsZS1zZWxlY3QgbW9kZS5cbiAgICByZXR1cm4gaXRlbUVsLnF1ZXJ5KFNJTkdMRV9TRUxFQ1RfRUxfU0VMRUNUT1IpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RXcmFwcGVyRWwoaW5kZXg6IG51bWJlcik6IERlYnVnRWxlbWVudCB7XG4gICAgY29uc3QgaXRlbUVsID0gdGhpcy5nZXRJdGVtRWwoaW5kZXgpO1xuXG4gICAgY29uc3QgaXRlbVdyYXBwZXJFbCA9IGl0ZW1FbC5xdWVyeShCeS5jc3MoJ3NreS1jaGVja2JveC1sYWJlbCcpKTtcblxuICAgIGlmIChpdGVtV3JhcHBlckVsKSB7XG4gICAgICByZXR1cm4gaXRlbVdyYXBwZXJFbDtcbiAgICB9XG5cbiAgICAvLyBBc3N1bWUgdGhlIGxpc3QgaXMgaW4gc2luZ2xlLXNlbGVjdCBtb2RlLlxuICAgIHJldHVybiBpdGVtRWwucXVlcnkoU0lOR0xFX1NFTEVDVF9FTF9TRUxFQ1RPUik7XG4gIH1cblxuICBwcml2YXRlIGlzQ2hlY2tlZChzZWxlY3RFbDogRGVidWdFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZWwgPSBzZWxlY3RFbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKGVsLnRhZ05hbWUgPT09ICdJTlBVVCcpIHtcbiAgICAgIHJldHVybiBlbC5jaGVja2VkO1xuICAgIH1cblxuICAgIC8vIEFzc3VtZSB0aGUgbGlzdCBpcyBpbiBzaW5nbGUtc2VsZWN0IG1vZGUuXG4gICAgcmV0dXJuIGVsLmdldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJykgPT09ICd0cnVlJztcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3Rlc3Rpbmcvc3JjL2xpc3Qtdmlldy1jaGVja2xpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9wZXJ0aWVzIG9mIGEgbGlzdCB2aWV3IGNoZWNrbGlzdCBpdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUxpc3RWaWV3Q2hlY2tsaXN0SXRlbSB7XG5cbiAgLyoqXG4gICAqIFRoZSBpdGVtJ3MgbGFiZWwuXG4gICAqL1xuICBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaXRlbSdzIGRlc2NyaXB0aW9uLlxuICAgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgaXRlbSBpcyBzZWxlY3RlZC5cbiAgICovXG4gIHNlbGVjdGVkOiBib29sZWFuO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3Rlc3Rpbmcvc3JjL2xpc3Qtdmlldy1jaGVja2xpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9wZXJ0aWVzIG9mIGEgbGlzdCB2aWV3IGNoZWNrbGlzdCBpdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUxpc3RWaWV3Q2hlY2tsaXN0SXRlbSB7XG4gIC8qKlxuICAgKiBUaGUgaXRlbSdzIGxhYmVsLlxuICAgKi9cbiAgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGl0ZW0ncyBkZXNjcmlwdGlvbi5cbiAgICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGl0ZW0gaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -20,7 +20,7 @@ class SkyListViewChecklistFixture {
20
20
  return {
21
21
  label: SkyAppTestUtility.getText(selectWrapperEl.query(By.css('div.sky-emphasized'))),
22
22
  description: SkyAppTestUtility.getText(selectWrapperEl.query(By.css('div:not(.sky-emphasized)'))),
23
- selected: this.isChecked(selectEl)
23
+ selected: this.isChecked(selectEl),
24
24
  };
25
25
  }
26
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-list-builder-view-checklist-testing.js","sources":["../../../projects/list-builder-view-checklist/testing/src/list-view-checklist-fixture.ts","../../../projects/list-builder-view-checklist/testing/src/skyux-list-builder-view-checklist-testing.ts"],"sourcesContent":["import {\n ComponentFixture\n} from '@angular/core/testing';\n\nimport {\n DebugElement\n} from '@angular/core';\n\nimport {\n By\n} from '@angular/platform-browser';\n\nimport {\n SkyAppTestUtility\n} from '@skyux-sdk/testing';\n\nimport {\n SkyListViewChecklistItem\n} from './list-view-checklist-item';\n\nconst MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');\nconst SINGLE_SELECT_EL_SELECTOR = By.css('.sky-list-view-checklist-single-button');\n\n/**\n * Allows interaction with a SKY UX list view checklist component.\n */\nexport class SkyListViewChecklistFixture {\n\n private debugEl: DebugElement;\n\n constructor(\n fixture: ComponentFixture<any>,\n skyTestId: string\n ) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-list-view-checklist'\n );\n }\n\n /**\n * Gets an item at the specified index.\n * @param index The item's index.\n */\n public getItem(index: number): SkyListViewChecklistItem {\n const selectWrapperEl = this.getSelectWrapperEl(index);\n const selectEl = this.getSelectEl(index);\n\n return {\n label: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div.sky-emphasized'))\n ),\n description: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div:not(.sky-emphasized)'))\n ),\n selected: this.isChecked(selectEl)\n };\n }\n\n /**\n * Selects the item at the specified index.\n * @param index The item's index.\n */\n public selectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (!this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n /**\n * Deselects the item at the specified index.\n * @param index The item's index.\n */\n public deselectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (selectEl.nativeElement.tagName === 'BUTTON') {\n throw new Error(`Items cannot be deselected in single select mode.`);\n }\n\n if (this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n private getItemEl(index: number): DebugElement {\n const itemEls = this.debugEl.queryAll(By.css('sky-list-view-checklist-item'));\n\n const itemEl = itemEls[index];\n\n if (!itemEl) {\n throw new Error(`No item exists at index ${index}.`);\n }\n\n return itemEl;\n }\n\n private getSelectEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const checkboxEl = itemEl.query(MULTI_SELECT_EL_SELECTOR);\n\n if (checkboxEl) {\n return checkboxEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private getSelectWrapperEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const itemWrapperEl = itemEl.query(By.css('sky-checkbox-label'));\n\n if (itemWrapperEl) {\n return itemWrapperEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private isChecked(selectEl: DebugElement): boolean {\n const el = selectEl.nativeElement;\n\n if (el.tagName === 'INPUT') {\n return el.checked;\n }\n\n // Assume the list is in single-select mode.\n return el.getAttribute('aria-checked') === 'true';\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAoBA,MAAM,wBAAwB,GAAG,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AACzE,MAAM,yBAAyB,GAAG,EAAE,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAEnF;;;MAGa,2BAA2B;IAItC,YACE,OAA8B,EAC9B,SAAiB;QAEjB,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,yBAAyB,CAC1B,CAAC;KACH;;;;;IAMM,OAAO,CAAC,KAAa;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAC9B,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CACpD;YACD,WAAW,EAAE,iBAAiB,CAAC,OAAO,CACpC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAC1D;YACD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACnC,CAAC;KACH;;;;;IAMM,UAAU,CAAC,KAAa;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAC7B,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAChC;KACF;;;;;IAMM,YAAY,CAAC,KAAa;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,QAAQ,CAAC,aAAa,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAC5B,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAChC;KACF;IAEO,SAAS,CAAC,KAAa;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,GAAG,CAAC,CAAC;SACtD;QAED,OAAO,MAAM,CAAC;KACf;IAEO,WAAW,CAAC,KAAa;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE1D,IAAI,UAAU,EAAE;YACd,OAAO,UAAU,CAAC;SACnB;;QAGD,OAAO,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAChD;IAEO,kBAAkB,CAAC,KAAa;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEjE,IAAI,aAAa,EAAE;YACjB,OAAO,aAAa,CAAC;SACtB;;QAGD,OAAO,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAChD;IAEO,SAAS,CAAC,QAAsB;QACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC;QAElC,IAAI,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,OAAO,CAAC;SACnB;;QAGD,OAAO,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;KACnD;;;ACvIH;;;;;;"}
1
+ {"version":3,"file":"skyux-list-builder-view-checklist-testing.js","sources":["../../../projects/list-builder-view-checklist/testing/src/list-view-checklist-fixture.ts","../../../projects/list-builder-view-checklist/testing/src/skyux-list-builder-view-checklist-testing.ts"],"sourcesContent":["import { ComponentFixture } from '@angular/core/testing';\n\nimport { DebugElement } from '@angular/core';\n\nimport { By } from '@angular/platform-browser';\n\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyListViewChecklistItem } from './list-view-checklist-item';\n\nconst MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');\nconst SINGLE_SELECT_EL_SELECTOR = By.css(\n '.sky-list-view-checklist-single-button'\n);\n\n/**\n * Allows interaction with a SKY UX list view checklist component.\n */\nexport class SkyListViewChecklistFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-list-view-checklist'\n );\n }\n\n /**\n * Gets an item at the specified index.\n * @param index The item's index.\n */\n public getItem(index: number): SkyListViewChecklistItem {\n const selectWrapperEl = this.getSelectWrapperEl(index);\n const selectEl = this.getSelectEl(index);\n\n return {\n label: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div.sky-emphasized'))\n ),\n description: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div:not(.sky-emphasized)'))\n ),\n selected: this.isChecked(selectEl),\n };\n }\n\n /**\n * Selects the item at the specified index.\n * @param index The item's index.\n */\n public selectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (!this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n /**\n * Deselects the item at the specified index.\n * @param index The item's index.\n */\n public deselectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (selectEl.nativeElement.tagName === 'BUTTON') {\n throw new Error(`Items cannot be deselected in single select mode.`);\n }\n\n if (this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n private getItemEl(index: number): DebugElement {\n const itemEls = this.debugEl.queryAll(\n By.css('sky-list-view-checklist-item')\n );\n\n const itemEl = itemEls[index];\n\n if (!itemEl) {\n throw new Error(`No item exists at index ${index}.`);\n }\n\n return itemEl;\n }\n\n private getSelectEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const checkboxEl = itemEl.query(MULTI_SELECT_EL_SELECTOR);\n\n if (checkboxEl) {\n return checkboxEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private getSelectWrapperEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const itemWrapperEl = itemEl.query(By.css('sky-checkbox-label'));\n\n if (itemWrapperEl) {\n return itemWrapperEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private isChecked(selectEl: DebugElement): boolean {\n const el = selectEl.nativeElement;\n\n if (el.tagName === 'INPUT') {\n return el.checked;\n }\n\n // Assume the list is in single-select mode.\n return el.getAttribute('aria-checked') === 'true';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}