@skyux/data-manager 7.0.0-beta.8 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +463 -524
- package/esm2020/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-impl.service.mjs +4 -4
- package/esm2020/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.mjs +53 -49
- package/esm2020/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.service.mjs +4 -4
- package/esm2020/lib/modules/data-manager/data-manager-filter-context.mjs +2 -1
- package/esm2020/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-left-item.component.mjs +4 -4
- package/esm2020/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-primary-item.component.mjs +4 -4
- package/esm2020/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-right-item.component.mjs +4 -4
- package/esm2020/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-section.component.mjs +4 -4
- package/esm2020/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar.component.mjs +97 -81
- package/esm2020/lib/modules/data-manager/data-manager.component.mjs +43 -36
- package/esm2020/lib/modules/data-manager/data-manager.module.mjs +5 -5
- package/esm2020/lib/modules/data-manager/data-manager.service.mjs +69 -65
- package/esm2020/lib/modules/data-manager/data-view.component.mjs +23 -19
- package/esm2020/lib/modules/data-manager/models/data-manager-config.mjs +1 -1
- package/esm2020/lib/modules/data-manager/models/data-manager-filter-data.mjs +1 -1
- package/esm2020/lib/modules/data-manager/models/data-manager-state-options.mjs +1 -1
- package/esm2020/lib/modules/data-manager/models/data-manager-state.mjs +1 -1
- package/esm2020/lib/modules/data-manager/models/data-view-state-options.mjs +1 -1
- package/esm2020/lib/modules/data-manager/models/data-view-state.mjs +1 -1
- package/esm2020/lib/modules/shared/sky-data-manager-resources.module.mjs +5 -5
- package/fesm2015/skyux-data-manager.mjs +306 -261
- package/fesm2015/skyux-data-manager.mjs.map +1 -1
- package/fesm2020/skyux-data-manager.mjs +306 -266
- package/fesm2020/skyux-data-manager.mjs.map +1 -1
- package/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.d.ts +1 -3
- package/lib/modules/data-manager/data-manager-filter-context.d.ts +1 -1
- package/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar.component.d.ts +8 -18
- package/lib/modules/data-manager/data-manager.component.d.ts +2 -9
- package/lib/modules/data-manager/data-manager.service.d.ts +3 -14
- package/lib/modules/data-manager/data-view.component.d.ts +3 -6
- package/lib/modules/data-manager/models/data-manager-state.d.ts +6 -6
- package/package.json +12 -12
@@ -1,5 +1,6 @@
|
|
1
|
+
var _SkyDataManagerService_instances, _SkyDataManagerService_activeViewId, _SkyDataManagerService_dataManagerConfig, _SkyDataManagerService_views, _SkyDataManagerService_dataStateChange, _SkyDataManagerService_isInitialized, _SkyDataManagerService_ngUnsubscribe, _SkyDataManagerService_initSource, _SkyDataManagerService_uiConfigService, _SkyDataManagerService_filterDataStateProperties, _SkyDataManagerService_getDefaultStateComparator;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { Injectable } from '@angular/core';
|
2
|
-
import { SkyUIConfigService } from '@skyux/core';
|
3
4
|
import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
|
4
5
|
import { distinctUntilChanged, filter, map, take, takeUntil, } from 'rxjs/operators';
|
5
6
|
import { SkyDataManagerState } from './models/data-manager-state';
|
@@ -17,23 +18,25 @@ import * as i1 from "@skyux/core";
|
|
17
18
|
*/
|
18
19
|
export class SkyDataManagerService {
|
19
20
|
constructor(uiConfigService) {
|
20
|
-
this
|
21
|
+
_SkyDataManagerService_instances.add(this);
|
21
22
|
this.viewkeeperClasses = new BehaviorSubject({});
|
22
|
-
this
|
23
|
-
this
|
24
|
-
this
|
25
|
-
this
|
26
|
-
this
|
27
|
-
this
|
28
|
-
this
|
23
|
+
_SkyDataManagerService_activeViewId.set(this, new ReplaySubject(1));
|
24
|
+
_SkyDataManagerService_dataManagerConfig.set(this, new BehaviorSubject({}));
|
25
|
+
_SkyDataManagerService_views.set(this, new BehaviorSubject([]));
|
26
|
+
_SkyDataManagerService_dataStateChange.set(this, new ReplaySubject(1));
|
27
|
+
_SkyDataManagerService_isInitialized.set(this, void 0);
|
28
|
+
_SkyDataManagerService_ngUnsubscribe.set(this, new Subject());
|
29
|
+
_SkyDataManagerService_initSource.set(this, 'dataManagerServiceInit');
|
30
|
+
_SkyDataManagerService_uiConfigService.set(this, void 0);
|
31
|
+
__classPrivateFieldSet(this, _SkyDataManagerService_uiConfigService, uiConfigService, "f");
|
29
32
|
}
|
30
33
|
ngOnDestroy() {
|
31
|
-
this.
|
32
|
-
this.
|
33
|
-
this.
|
34
|
-
this.
|
35
|
-
this.
|
36
|
-
this.
|
34
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_activeViewId, "f").complete();
|
35
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_dataManagerConfig, "f").complete();
|
36
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_views, "f").complete();
|
37
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_dataStateChange, "f").complete();
|
38
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_ngUnsubscribe, "f").next();
|
39
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_ngUnsubscribe, "f").complete();
|
37
40
|
}
|
38
41
|
/**
|
39
42
|
* Initializes the data manager with the given settings and sets `isInitialized` to `true`.
|
@@ -43,32 +46,33 @@ export class SkyDataManagerService {
|
|
43
46
|
* and saves any state changes to the service.
|
44
47
|
*/
|
45
48
|
initDataManager(args) {
|
46
|
-
if (this
|
49
|
+
if (__classPrivateFieldGet(this, _SkyDataManagerService_isInitialized, "f")) {
|
47
50
|
console.warn('This data manager instance has already been initialized.');
|
48
51
|
return;
|
49
52
|
}
|
53
|
+
__classPrivateFieldSet(this, _SkyDataManagerService_isInitialized, true, "f");
|
50
54
|
const defaultDataState = args.defaultDataState;
|
51
55
|
const settingsKey = args.settingsKey;
|
52
56
|
this.updateActiveViewId(args.activeViewId);
|
53
57
|
this.updateDataManagerConfig(args.dataManagerConfig);
|
54
58
|
if (settingsKey) {
|
55
|
-
this
|
59
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_uiConfigService, "f")
|
56
60
|
.getConfig(settingsKey, defaultDataState.getStateOptions())
|
57
61
|
.pipe(take(1))
|
58
62
|
.subscribe((config) => {
|
59
|
-
this.updateDataState(new SkyDataManagerState(config), this
|
63
|
+
this.updateDataState(new SkyDataManagerState(config), __classPrivateFieldGet(this, _SkyDataManagerService_initSource, "f"));
|
60
64
|
});
|
61
65
|
}
|
62
66
|
else {
|
63
|
-
this.updateDataState(defaultDataState, this
|
67
|
+
this.updateDataState(defaultDataState, __classPrivateFieldGet(this, _SkyDataManagerService_initSource, "f"));
|
64
68
|
}
|
65
69
|
if (settingsKey) {
|
66
|
-
this.getDataStateUpdates(this
|
67
|
-
.pipe(takeUntil(this
|
70
|
+
this.getDataStateUpdates(__classPrivateFieldGet(this, _SkyDataManagerService_initSource, "f"))
|
71
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyDataManagerService_ngUnsubscribe, "f")))
|
68
72
|
.subscribe((state) => {
|
69
|
-
this
|
73
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_uiConfigService, "f")
|
70
74
|
.setConfig(settingsKey, state.getStateOptions())
|
71
|
-
.pipe(takeUntil(this
|
75
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyDataManagerService_ngUnsubscribe, "f")))
|
72
76
|
.subscribe(
|
73
77
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
74
78
|
() => { }, (err) => {
|
@@ -83,19 +87,19 @@ export class SkyDataManagerService {
|
|
83
87
|
* @param viewConfig The SkyDataViewConfig settings for the view being registered.
|
84
88
|
*/
|
85
89
|
initDataView(viewConfig) {
|
86
|
-
const currentViews = this.
|
90
|
+
const currentViews = __classPrivateFieldGet(this, _SkyDataManagerService_views, "f").value;
|
87
91
|
if (this.getViewById(viewConfig.id)) {
|
88
92
|
console.warn(`A data manager view with the id ${viewConfig.id} has already been initialized.`);
|
89
93
|
return;
|
90
94
|
}
|
91
95
|
currentViews.push(viewConfig);
|
92
|
-
this.
|
96
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_views, "f").next(currentViews);
|
93
97
|
// When the initial activeViewId is set there are no views registered. We have to re-emit
|
94
98
|
// the activeId so the newly registered view is notified that it is active.
|
95
|
-
this.
|
96
|
-
this.
|
99
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_activeViewId, "f").pipe(take(1)).subscribe((id) => {
|
100
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_activeViewId, "f").next(id);
|
97
101
|
});
|
98
|
-
this
|
102
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_dataStateChange, "f")
|
99
103
|
.pipe(take(1))
|
100
104
|
.subscribe((change) => {
|
101
105
|
const dataState = change.dataState;
|
@@ -119,20 +123,20 @@ export class SkyDataManagerService {
|
|
119
123
|
newViewState.displayedColumnIds = displayedColumnIds;
|
120
124
|
}
|
121
125
|
const newDataState = dataState.addOrUpdateView(viewConfig.id, newViewState);
|
122
|
-
this.updateDataState(newDataState, this
|
126
|
+
this.updateDataState(newDataState, __classPrivateFieldGet(this, _SkyDataManagerService_initSource, "f"));
|
123
127
|
}
|
124
128
|
else {
|
125
129
|
const currentAvailableColumnIds = viewConfig.columnOptions?.map((columnOptions) => {
|
126
130
|
return columnOptions.id;
|
127
|
-
});
|
131
|
+
}) || [];
|
128
132
|
// Ensure that the view state's available columns match with the view config. Also,
|
129
133
|
// add new columns to the `displayedColumnIds` as long as they are not `initialHide`.
|
130
134
|
// We only add columns to `displayedColumnsIds` if we had previously tracked
|
131
135
|
// `columnIds` to avoid breaking changes.
|
132
136
|
if (currentViewState.columnIds.length > 0) {
|
133
|
-
let newColumnIds = currentAvailableColumnIds
|
134
|
-
newColumnIds = newColumnIds
|
135
|
-
return viewConfig.columnOptions
|
137
|
+
let newColumnIds = currentAvailableColumnIds?.filter((id) => currentViewState.columnIds.indexOf(id) < 0);
|
138
|
+
newColumnIds = newColumnIds?.filter((columnId) => {
|
139
|
+
return viewConfig.columnOptions?.find((columnOption) => columnOption.id === columnId && !columnOption.initialHide);
|
136
140
|
});
|
137
141
|
// Add the column IDs that now exist to the data manager state both as available
|
138
142
|
// and as shown.
|
@@ -143,7 +147,7 @@ export class SkyDataManagerService {
|
|
143
147
|
// and as shown.
|
144
148
|
currentViewState.columnIds = currentAvailableColumnIds;
|
145
149
|
const newDataState = dataState.addOrUpdateView(viewConfig.id, currentViewState);
|
146
|
-
this.updateDataState(newDataState, this
|
150
|
+
this.updateDataState(newDataState, __classPrivateFieldGet(this, _SkyDataManagerService_initSource, "f"));
|
147
151
|
}
|
148
152
|
})
|
149
153
|
.unsubscribe();
|
@@ -158,12 +162,12 @@ export class SkyDataManagerService {
|
|
158
162
|
getDataStateUpdates(sourceId, updateFilter) {
|
159
163
|
// filter out events from the provided source and emit just the dataState
|
160
164
|
if (updateFilter) {
|
161
|
-
return this.
|
165
|
+
return __classPrivateFieldGet(this, _SkyDataManagerService_dataStateChange, "f").pipe(filter((stateChange) => sourceId !== stateChange.source), map((stateChange) => stateChange.dataState), updateFilter.comparator
|
162
166
|
? distinctUntilChanged(updateFilter.comparator)
|
163
|
-
: distinctUntilChanged(this.
|
167
|
+
: distinctUntilChanged(__classPrivateFieldGet(this, _SkyDataManagerService_instances, "m", _SkyDataManagerService_getDefaultStateComparator).call(this, updateFilter.properties)));
|
164
168
|
}
|
165
169
|
else {
|
166
|
-
return this.
|
170
|
+
return __classPrivateFieldGet(this, _SkyDataManagerService_dataStateChange, "f").pipe(filter((stateChange) => sourceId !== stateChange.source), map((stateChange) => stateChange.dataState));
|
167
171
|
}
|
168
172
|
}
|
169
173
|
/**
|
@@ -176,52 +180,52 @@ export class SkyDataManagerService {
|
|
176
180
|
updateDataState(state, sourceId) {
|
177
181
|
const newState = new SkyDataManagerState(state.getStateOptions());
|
178
182
|
const newStateChange = new SkyDataManagerStateChange(newState, sourceId);
|
179
|
-
this.
|
183
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_dataStateChange, "f").next(newStateChange);
|
180
184
|
}
|
181
185
|
/**
|
182
186
|
* Returns the current `SkyDataManagerConfig`.
|
183
187
|
*/
|
184
188
|
getCurrentDataManagerConfig() {
|
185
|
-
return this.
|
189
|
+
return __classPrivateFieldGet(this, _SkyDataManagerService_dataManagerConfig, "f").value;
|
186
190
|
}
|
187
191
|
/**
|
188
192
|
* Returns an observable of data manager config changes that views and other data manager entities can subscribe to.
|
189
193
|
*/
|
190
194
|
getDataManagerConfigUpdates() {
|
191
|
-
return this
|
195
|
+
return __classPrivateFieldGet(this, _SkyDataManagerService_dataManagerConfig, "f");
|
192
196
|
}
|
193
197
|
/**
|
194
198
|
* Updates the data manager config and emits a new value to entities subscribed to data config changes.
|
195
199
|
* @param value The new `SkyDataManagerConfig` value.
|
196
200
|
*/
|
197
201
|
updateDataManagerConfig(value) {
|
198
|
-
this.
|
202
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_dataManagerConfig, "f").next(value);
|
199
203
|
}
|
200
204
|
/**
|
201
205
|
* Returns an observable of data view config changes that views and other data manager entities can subscribe to.
|
202
206
|
*/
|
203
207
|
getDataViewsUpdates() {
|
204
|
-
return this
|
208
|
+
return __classPrivateFieldGet(this, _SkyDataManagerService_views, "f");
|
205
209
|
}
|
206
210
|
/**
|
207
211
|
* Returns an observable of the active view ID that views and other data manager entities can subscribe to.
|
208
212
|
*/
|
209
213
|
getActiveViewIdUpdates() {
|
210
|
-
return this
|
214
|
+
return __classPrivateFieldGet(this, _SkyDataManagerService_activeViewId, "f");
|
211
215
|
}
|
212
216
|
/**
|
213
217
|
* Updates the active view ID. The data manager changes the displayed view.
|
214
218
|
* @param id The new active view ID.
|
215
219
|
*/
|
216
220
|
updateActiveViewId(id) {
|
217
|
-
this.
|
221
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_activeViewId, "f").next(id);
|
218
222
|
}
|
219
223
|
/**
|
220
224
|
* Returns the `SkyDataViewConfig` for the given view ID.
|
221
225
|
* @param viewId The ID of the view config to get.
|
222
226
|
*/
|
223
227
|
getViewById(viewId) {
|
224
|
-
const currentViews = this.
|
228
|
+
const currentViews = __classPrivateFieldGet(this, _SkyDataManagerService_views, "f").value;
|
225
229
|
const viewConfig = currentViews.find((view) => view.id === viewId);
|
226
230
|
return viewConfig;
|
227
231
|
}
|
@@ -232,14 +236,14 @@ export class SkyDataManagerService {
|
|
232
236
|
* @param view The new `SkyDataViewConfig` containing all properties.
|
233
237
|
*/
|
234
238
|
updateViewConfig(view) {
|
235
|
-
const currentViews = this.
|
239
|
+
const currentViews = __classPrivateFieldGet(this, _SkyDataManagerService_views, "f").value;
|
236
240
|
const existingViewIndex = currentViews.findIndex((currentView) => currentView.id === view.id);
|
237
241
|
if (existingViewIndex === -1) {
|
238
242
|
console.error('A view with the id {id} does not exist.', view.id);
|
239
243
|
}
|
240
244
|
else {
|
241
245
|
currentViews[existingViewIndex] = view;
|
242
|
-
this.
|
246
|
+
__classPrivateFieldGet(this, _SkyDataManagerService_views, "f").next(currentViews);
|
243
247
|
}
|
244
248
|
}
|
245
249
|
/**
|
@@ -250,28 +254,28 @@ export class SkyDataManagerService {
|
|
250
254
|
viewkeeperClasses[viewId] = classes;
|
251
255
|
this.viewkeeperClasses.next(viewkeeperClasses);
|
252
256
|
}
|
253
|
-
|
254
|
-
|
255
|
-
|
257
|
+
}
|
258
|
+
_SkyDataManagerService_activeViewId = new WeakMap(), _SkyDataManagerService_dataManagerConfig = new WeakMap(), _SkyDataManagerService_views = new WeakMap(), _SkyDataManagerService_dataStateChange = new WeakMap(), _SkyDataManagerService_isInitialized = new WeakMap(), _SkyDataManagerService_ngUnsubscribe = new WeakMap(), _SkyDataManagerService_initSource = new WeakMap(), _SkyDataManagerService_uiConfigService = new WeakMap(), _SkyDataManagerService_instances = new WeakSet(), _SkyDataManagerService_filterDataStateProperties = function _SkyDataManagerService_filterDataStateProperties(state, properties) {
|
259
|
+
const stateProperties = state.getStateOptions();
|
260
|
+
const filteredStateProperties = {};
|
261
|
+
if (properties) {
|
256
262
|
for (const property of properties) {
|
257
|
-
|
258
|
-
if (Object.prototype.hasOwnProperty.call(stateProperties, property)) {
|
263
|
+
if (property in stateProperties) {
|
259
264
|
filteredStateProperties[property] = stateProperties[property];
|
260
265
|
}
|
261
266
|
}
|
262
|
-
return filteredStateProperties;
|
263
267
|
}
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
}
|
271
|
-
}
|
272
|
-
SkyDataManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
273
|
-
SkyDataManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
268
|
+
return filteredStateProperties;
|
269
|
+
}, _SkyDataManagerService_getDefaultStateComparator = function _SkyDataManagerService_getDefaultStateComparator(properties) {
|
270
|
+
return (state1, state2) => {
|
271
|
+
const filteredState1 = __classPrivateFieldGet(this, _SkyDataManagerService_instances, "m", _SkyDataManagerService_filterDataStateProperties).call(this, state1, properties);
|
272
|
+
const filteredState2 = __classPrivateFieldGet(this, _SkyDataManagerService_instances, "m", _SkyDataManagerService_filterDataStateProperties).call(this, state2, properties);
|
273
|
+
return JSON.stringify(filteredState1) === JSON.stringify(filteredState2);
|
274
|
+
};
|
275
|
+
};
|
276
|
+
SkyDataManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDataManagerService, deps: [{ token: i1.SkyUIConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
277
|
+
SkyDataManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDataManagerService });
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDataManagerService, decorators: [{
|
275
279
|
type: Injectable
|
276
280
|
}], ctorParameters: function () { return [{ type: i1.SkyUIConfigService }]; } });
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUU1RDs7Ozs7OztHQU9HO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQW1CaEMsWUFBb0IsZUFBbUM7UUFBbkMsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBbEJoRCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FFM0MsRUFBRSxDQUFDLENBQUM7UUFFVSxpQkFBWSxHQUFHLElBQUksYUFBYSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRTVDLHNCQUFpQixHQUNoQyxJQUFJLGVBQWUsQ0FBdUIsU0FBUyxDQUFDLENBQUM7UUFFdEMsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFzQixFQUFFLENBQUMsQ0FBQztRQUVyRCxvQkFBZSxHQUM5QixJQUFJLGFBQWEsQ0FBNEIsQ0FBQyxDQUFDLENBQUM7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Q2pDLDBCQUEwQjtZQUMxQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ25FLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMvRDtTQUNGO1FBRUQsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRU8seUJBQXlCLENBQy9CLFVBQW9CO1FBRXBCLE9BQU8sQ0FDTCxNQUEyQixFQUMzQixNQUEyQixFQUNsQixFQUFFO1lBQ1gsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMxRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQztJQUNKLENBQUM7O2tIQWpWVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lVSUNvbmZpZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgbWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb25maWcgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItY29uZmlnJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VySW5pdEFyZ3MgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItaW5pdC1hcmdzJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZUNoYW5nZSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZS1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnMgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUtb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlVXBkYXRlRmlsdGVyQXJncyB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZS11cGRhdGUtZmlsdGVyLWFyZ3MnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuL21vZGVscy9kYXRhLXZpZXctY29uZmlnJztcbmltcG9ydCB7IFNreURhdGFWaWV3U3RhdGUgfSBmcm9tICcuL21vZGVscy9kYXRhLXZpZXctc3RhdGUnO1xuXG4vKipcbiAqIFRoZSBkYXRhIG1hbmFnZXIgc2VydmljZSBwcm92aWRlcyB3YXlzIGZvciBkYXRhIHZpZXdzLCB0b29sYmFyIGl0ZW1zLCBhbmQgbW9yZSB0byBzdGF5IHVwIHRvIGRhdGVcbiAqIHdpdGggdGhlIGFjdGl2ZSB2aWV3IElELCBkYXRhIG1hbmFnZXIgY29uZmlnLCByZWdpc3RlcmVkIHZpZXdzIGFuZCB0aGVpciBjb25maWdzLCBhbmQgZGF0YSBzdGF0ZS5cbiAqIFRoZXJlIGFyZSBtZXRob2RzIHRvIGdldCBjdXJyZW50IHZhbHVlcywgdXBkYXRlIHZhbHVlcywgYW5kIGdldCBzdWJzY3JpcHRpb25zIHRvIHRoZSBjaGFuZ2luZyB2YWx1ZXMuPGJyLz4gPGJyLz5cbiAqIFByb3ZpZGUgdGhpcyBzZXJ2aWNlIGF0IHRoZSBjb21wb25lbnQgbGV2ZWwgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgYSBkYXRhIG1hbmFnZXIuIERvIG5vdFxuICogcHJvdmlkZSBpdCBhdCB0aGUgbW9kdWxlIGxldmVsIG9yIGluIGBhcHAtZXh0cmFzYC4gVGhpcyBhbGxvd3MgbXVsdGlwbGUgZGF0YVxuICogbWFuYWdlcnMgdG8gYmUgdXNlZCBhbmQgc2VsZi1jb250YWluZWQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgdmlld2tlZXBlckNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcbiAgICBbdmlld0lkOiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgfT4oe30pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlVmlld0lkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFNYW5hZ2VyQ29uZmlnID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreURhdGFNYW5hZ2VyQ29uZmlnPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdmlld3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreURhdGFWaWV3Q29uZmlnW10+KFtdKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFTdGF0ZUNoYW5nZSA9XG4gICAgbmV3IFJlcGxheVN1YmplY3Q8U2t5RGF0YU1hbmFnZXJTdGF0ZUNoYW5nZT4oMSk7XG5cbiAgcHJpdmF0ZSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgaW5pdFNvdXJjZSA9ICdkYXRhTWFuYWdlclNlcnZpY2VJbml0JztcbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1aUNvbmZpZ1NlcnZpY2U6IFNreVVJQ29uZmlnU2VydmljZSkge31cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVWaWV3SWQuY29tcGxldGUoKTtcbiAgICB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnLmNvbXBsZXRlKCk7XG4gICAgdGhpcy52aWV3cy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBkYXRhIG1hbmFnZXIgd2l0aCB0aGUgZ2l2ZW4gc2V0dGluZ3MgYW5kIHNldHMgYGlzSW5pdGlhbGl6ZWRgIHRvIGB0cnVlYC5cbiAgICogVGhpcyBtdXN0IGJlIGNhbGxlZCBmb3IgdGhlIGRhdGEgbWFuYWdlciB0byByZW5kZXIuXG4gICAqIEBwYXJhbSBhcmdzIFRoZSBpbml0aWFsIGFjdGl2ZSB2aWV3IElELCBkYXRhIG1hbmFnZXIgY29uZmlnLCBhbmQgc3RhdGUgdG8gdXNlIGZvciB0aGUgZGF0YSBtYW5hZ2VyLlxuICAgKiBJZiBhIHNldHRpbmdzIGtleSBpcyBwcm92aWRlZCwgaXQgY2hlY2tzIGZvciBhIHNhdmVkIGRhdGEgc3RhdGUgaW4gdGhlIFNLWSBVSSBjb25maWcgc2VydmljZSBiZWZvcmUgdXNpbmcgdGhlIGRlZmF1bHQgZGF0YSBzdGF0ZVxuICAgKiBhbmQgc2F2ZXMgYW55IHN0YXRlIGNoYW5nZXMgdG8gdGhlIHNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgaW5pdERhdGFNYW5hZ2VyKGFyZ3M6IFNreURhdGFNYW5hZ2VySW5pdEFyZ3MpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1RoaXMgZGF0YSBtYW5hZ2VyIGluc3RhbmNlIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdERhdGFTdGF0ZSA9IGFyZ3MuZGVmYXVsdERhdGFTdGF0ZTtcbiAgICBjb25zdCBzZXR0aW5nc0tleSA9IGFyZ3Muc2V0dGluZ3NLZXk7XG5cbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZVZpZXdJZChhcmdzLmFjdGl2ZVZpZXdJZCk7XG4gICAgdGhpcy51cGRhdGVEYXRhTWFuYWdlckNvbmZpZyhhcmdzLmRhdGFNYW5hZ2VyQ29uZmlnKTtcblxuICAgIGlmIChzZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy51aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgLmdldENvbmZpZyhzZXR0aW5nc0tleSwgZGVmYXVsdERhdGFTdGF0ZS5nZXRTdGF0ZU9wdGlvbnMoKSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY29uZmlnOiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucykgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgICAgbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoY29uZmlnKSxcbiAgICAgICAgICAgIHRoaXMuaW5pdFNvdXJjZVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZShkZWZhdWx0RGF0YVN0YXRlLCB0aGlzLmluaXRTb3VyY2UpO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuaW5pdFNvdXJjZSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSkgPT4ge1xuICAgICAgICAgIHRoaXMudWlDb25maWdTZXJ2aWNlXG4gICAgICAgICAgICAuc2V0Q29uZmlnKHNldHRpbmdzS2V5LCBzdGF0ZS5nZXRTdGF0ZU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICAgICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBzYXZlIGRhdGEgbWFuYWdlciBzZXR0aW5ncy4nKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oZXJyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGEgdmlldyB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlci4gVGhpcyBtdXN0IGJlIGNhbGxlZCBmb3IgZWFjaCB2aWV3IGZvciB0aGUgdmlld3MgdG8gYXBwZWFyIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyLlxuICAgKiBAcGFyYW0gdmlld0NvbmZpZyBUaGUgU2t5RGF0YVZpZXdDb25maWcgc2V0dGluZ3MgZm9yIHRoZSB2aWV3IGJlaW5nIHJlZ2lzdGVyZWQuXG4gICAqL1xuICBwdWJsaWMgaW5pdERhdGFWaWV3KHZpZXdDb25maWc6IFNreURhdGFWaWV3Q29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZpZXdzOiBTa3lEYXRhVmlld0NvbmZpZ1tdID0gdGhpcy52aWV3cy52YWx1ZTtcblxuICAgIGlmICh0aGlzLmdldFZpZXdCeUlkKHZpZXdDb25maWcuaWQpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBBIGRhdGEgbWFuYWdlciB2aWV3IHdpdGggdGhlIGlkICR7dmlld0NvbmZpZy5pZH0gaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZC5gXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGN1cnJlbnRWaWV3cy5wdXNoKHZpZXdDb25maWcpO1xuICAgIHRoaXMudmlld3MubmV4dChjdXJyZW50Vmlld3MpO1xuXG4gICAgLy8gV2hlbiB0aGUgaW5pdGlhbCBhY3RpdmVWaWV3SWQgaXMgc2V0IHRoZXJlIGFyZSBubyB2aWV3cyByZWdpc3RlcmVkLiBXZSBoYXZlIHRvIHJlLWVtaXRcbiAgICAvLyB0aGUgYWN0aXZlSWQgc28gdGhlIG5ld2x5IHJlZ2lzdGVyZWQgdmlldyBpcyBub3RpZmllZCB0aGF0IGl0IGlzIGFjdGl2ZS5cbiAgICB0aGlzLmFjdGl2ZVZpZXdJZC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoaWQpID0+IHtcbiAgICAgIHRoaXMuYWN0aXZlVmlld0lkLm5leHQoaWQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kYXRhU3RhdGVDaGFuZ2VcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YVN0YXRlID0gY2hhbmdlLmRhdGFTdGF0ZTtcbiAgICAgICAgY29uc3QgY3VycmVudFZpZXdTdGF0ZSA9IGRhdGFTdGF0ZS5nZXRWaWV3U3RhdGVCeUlkKHZpZXdDb25maWcuaWQpO1xuXG4gICAgICAgIGlmICghY3VycmVudFZpZXdTdGF0ZSkge1xuICAgICAgICAgIGNvbnN0IG5ld1ZpZXdTdGF0ZSA9IG5ldyBTa3lEYXRhVmlld1N0YXRlKHsgdmlld0lkOiB2aWV3Q29uZmlnLmlkIH0pO1xuXG4gICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHZpZXcgc3RhdGUncyBhdmFpbGFibGUgY29sdW1ucyBtYXRjaCB3aXRoIHRoZSB2aWV3IGNvbmZpZy4gQWxzbyxcbiAgICAgICAgICAvLyBhZGQgY29sdW1ucyB0byB0aGUgYGRpc3BsYXllZENvbHVtbklkc2AgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgYGluaXRpYWxIaWRlYFxuICAgICAgICAgIGlmICh2aWV3Q29uZmlnLmNvbHVtbk9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbklkcyA9IHZpZXdDb25maWcuY29sdW1uT3B0aW9ucy5tYXAoKGNvbHVtbk9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbk9wdGlvbnMuaWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGRpc3BsYXllZENvbHVtbklkcyA9IHZpZXdDb25maWcuY29sdW1uT3B0aW9uc1xuICAgICAgICAgICAgICAuZmlsdGVyKChjb2x1bW5PcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWNvbHVtbk9wdGlvbi5pbml0aWFsSGlkZTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLm1hcCgoY29sdW1uT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbk9wdGlvbi5pZDtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG5ld1ZpZXdTdGF0ZS5jb2x1bW5JZHMgPSBjb2x1bW5JZHM7XG4gICAgICAgICAgICBuZXdWaWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID0gZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBuZXdEYXRhU3RhdGUgPSBkYXRhU3RhdGUuYWRkT3JVcGRhdGVWaWV3KFxuICAgICAgICAgICAgdmlld0NvbmZpZy5pZCxcbiAgICAgICAgICAgIG5ld1ZpZXdTdGF0ZVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZShuZXdEYXRhU3RhdGUsIHRoaXMuaW5pdFNvdXJjZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgY3VycmVudEF2YWlsYWJsZUNvbHVtbklkcyA9IHZpZXdDb25maWcuY29sdW1uT3B0aW9ucz8ubWFwKFxuICAgICAgICAgICAgKGNvbHVtbk9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbk9wdGlvbnMuaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB2aWV3IHN0YXRlJ3MgYXZhaWxhYmxlIGNvbHVtbnMgbWF0Y2ggd2l0aCB0aGUgdmlldyBjb25maWcuIEFsc28sXG4gICAgICAgICAgLy8gYWRkIG5ldyBjb2x1bW5zIHRvIHRoZSBgZGlzcGxheWVkQ29sdW1uSWRzYCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBgaW5pdGlhbEhpZGVgLlxuICAgICAgICAgIC8vIFdlIG9ubHkgYWRkIGNvbHVtbnMgdG8gYGRpc3BsYXllZENvbHVtbnNJZHNgIGlmIHdlIGhhZCBwcmV2aW91c2x5IHRyYWNrZWRcbiAgICAgICAgICAvLyBgY29sdW1uSWRzYCB0byBhdm9pZCBicmVha2luZyBjaGFuZ2VzLlxuICAgICAgICAgIGlmIChjdXJyZW50Vmlld1N0YXRlLmNvbHVtbklkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgbmV3Q29sdW1uSWRzID0gY3VycmVudEF2YWlsYWJsZUNvbHVtbklkcy5maWx0ZXIoXG4gICAgICAgICAgICAgIChpZCkgPT4gY3VycmVudFZpZXdTdGF0ZS5jb2x1bW5JZHMuaW5kZXhPZihpZCkgPCAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbmV3Q29sdW1uSWRzID0gbmV3Q29sdW1uSWRzLmZpbHRlcigoY29sdW1uSWQpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHZpZXdDb25maWcuY29sdW1uT3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgIChjb2x1bW5PcHRpb24pID0+XG4gICAgICAgICAgICAgICAgICBjb2x1bW5PcHRpb24uaWQgPT09IGNvbHVtbklkICYmICFjb2x1bW5PcHRpb24uaW5pdGlhbEhpZGVcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBBZGQgdGhlIGNvbHVtbiBJRHMgdGhhdCBub3cgZXhpc3QgdG8gdGhlIGRhdGEgbWFuYWdlciBzdGF0ZSBib3RoIGFzIGF2YWlsYWJsZVxuICAgICAgICAgICAgLy8gYW5kIGFzIHNob3duLlxuICAgICAgICAgICAgY3VycmVudFZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMgPVxuICAgICAgICAgICAgICBjdXJyZW50Vmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcy5jb25jYXQobmV3Q29sdW1uSWRzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQWRkIHRoZSBjb2x1bW4gSURzIHRoYXQgbm93IGV4aXN0IHRvIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGUgYm90aCBhcyBhdmFpbGFibGVcbiAgICAgICAgICAvLyBhbmQgYXMgc2hvd24uXG4gICAgICAgICAgY3VycmVudFZpZXdTdGF0ZS5jb2x1bW5JZHMgPSBjdXJyZW50QXZhaWxhYmxlQ29sdW1uSWRzO1xuXG4gICAgICAgICAgY29uc3QgbmV3RGF0YVN0YXRlID0gZGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgIHZpZXdDb25maWcuaWQsXG4gICAgICAgICAgICBjdXJyZW50Vmlld1N0YXRlXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKG5ld0RhdGFTdGF0ZSwgdGhpcy5pbml0U291cmNlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBvZiBkYXRhIHN0YXRlIGNoYW5nZXMgdGhhdCB2aWV3cyBhbmQgb3RoZXIgZGF0YSBtYW5hZ2VyIGVudGl0aWVzIGNhbiBzdWJzY3JpYmUgdG8uXG4gICAqIEl0IGV4Y2x1ZGVzIHVwZGF0ZXMgb3JpZ2luYXRpbmcgZnJvbSB0aGUgcHJvdmlkZWQgc291cmNlLiBUaGlzIGFsbG93cyBzdWJzY3JpYmVycyB0byBvbmx5IHJlc3BvbmQgdG9cbiAgICogY2hhbmdlcyB0aGV5IGRpZCBub3QgY3JlYXRlIGFuZCBoZWxwcyBwcmV2ZW50IGluZmluaXRlIGxvb3BzIG9mIHVwZGF0ZXMgYW5kIHJlc3BvbnNlcy5cbiAgICogQHBhcmFtIHNvdXJjZUlkIFRoZSBJRCBvZiB0aGUgZW50aXR5IHN1YnNjcmliaW5nIHRvIGRhdGEgc3RhdGUgdXBkYXRlcy4gVGhpcyBjYW4gYmUgYW55IHZhbHVlIHlvdSBjaG9vc2VcbiAgICogYnV0IHNob3VsZCBiZSB1bmlxdWUgd2l0aGluIHRoZSBkYXRhIG1hbmFnZXIgaW5zdGFuY2UgYW5kIHNob3VsZCBhbHNvIGJlIHVzZWQgd2hlbiB0aGF0IGVudGl0eSB1cGRhdGVzIHRoZSBzdGF0ZS5cbiAgICovXG4gIHB1YmxpYyBnZXREYXRhU3RhdGVVcGRhdGVzKFxuICAgIHNvdXJjZUlkOiBzdHJpbmcsXG4gICAgdXBkYXRlRmlsdGVyPzogU2t5RGF0YU1hbmFnZXJTdGF0ZVVwZGF0ZUZpbHRlckFyZ3NcbiAgKTogT2JzZXJ2YWJsZTxTa3lEYXRhTWFuYWdlclN0YXRlPiB7XG4gICAgLy8gZmlsdGVyIG91dCBldmVudHMgZnJvbSB0aGUgcHJvdmlkZWQgc291cmNlIGFuZCBlbWl0IGp1c3QgdGhlIGRhdGFTdGF0ZVxuICAgIGlmICh1cGRhdGVGaWx0ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTdGF0ZUNoYW5nZS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHN0YXRlQ2hhbmdlKSA9PiBzb3VyY2VJZCAhPT0gc3RhdGVDaGFuZ2Uuc291cmNlKSxcbiAgICAgICAgbWFwKChzdGF0ZUNoYW5nZSkgPT4gc3RhdGVDaGFuZ2UuZGF0YVN0YXRlKSxcbiAgICAgICAgdXBkYXRlRmlsdGVyLmNvbXBhcmF0b3JcbiAgICAgICAgICA/IGRpc3RpbmN0VW50aWxDaGFuZ2VkKHVwZGF0ZUZpbHRlci5jb21wYXJhdG9yKVxuICAgICAgICAgIDogZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgICAgICAgIHRoaXMuZ2V0RGVmYXVsdFN0YXRlQ29tcGFyYXRvcih1cGRhdGVGaWx0ZXIucHJvcGVydGllcylcbiAgICAgICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTdGF0ZUNoYW5nZS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHN0YXRlQ2hhbmdlKSA9PiBzb3VyY2VJZCAhPT0gc3RhdGVDaGFuZ2Uuc291cmNlKSxcbiAgICAgICAgbWFwKChzdGF0ZUNoYW5nZSkgPT4gc3RhdGVDaGFuZ2UuZGF0YVN0YXRlKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZGF0YSBzdGF0ZSBhbmQgZW1pdHMgYSBuZXcgdmFsdWUgdG8gZW50aXRpZXMgc3Vic2NyaWJlZCB0byBkYXRhIHN0YXRlIGNoYW5nZXMuXG4gICAqIEBwYXJhbSBzdGF0ZSBUaGUgbmV3IGBTa3lEYXRhTWFuYWdlclN0YXRlYCB2YWx1ZS5cbiAgICogQHBhcmFtIHNvdXJjZUlkIFRoZSBJRCBvZiB0aGUgZW50aXR5IHVwZGF0aW5nIHRoZSBzdGF0ZS4gVGhpcyBjYW4gYmUgYW55IHZhbHVlIHlvdSBjaG9vc2UsXG4gICAqIGJ1dCBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyIGluc3RhbmNlIGFuZCBzaG91bGQgYWxzbyBiZSB1c2VkIHdoZW4gdGhhdCBlbnRpdHlcbiAgICogc3Vic2NyaWJlcyB0byBzdGF0ZSBjaGFuZ2VzIGZyb20gYGdldERhdGFTdGF0ZVVwZGF0ZXNgLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZURhdGFTdGF0ZShzdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSwgc291cmNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoc3RhdGUuZ2V0U3RhdGVPcHRpb25zKCkpO1xuICAgIGNvbnN0IG5ld1N0YXRlQ2hhbmdlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGVDaGFuZ2UobmV3U3RhdGUsIHNvdXJjZUlkKTtcblxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlLm5leHQobmV3U3RhdGVDaGFuZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgYFNreURhdGFNYW5hZ2VyQ29uZmlnYC5cbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50RGF0YU1hbmFnZXJDb25maWcoKTogU2t5RGF0YU1hbmFnZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBvZiBkYXRhIG1hbmFnZXIgY29uZmlnIGNoYW5nZXMgdGhhdCB2aWV3cyBhbmQgb3RoZXIgZGF0YSBtYW5hZ2VyIGVudGl0aWVzIGNhbiBzdWJzY3JpYmUgdG8uXG4gICAqL1xuICBwdWJsaWMgZ2V0RGF0YU1hbmFnZXJDb25maWdVcGRhdGVzKCk6IE9ic2VydmFibGU8U2t5RGF0YU1hbmFnZXJDb25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhTWFuYWdlckNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBkYXRhIG1hbmFnZXIgY29uZmlnIGFuZCBlbWl0cyBhIG5ldyB2YWx1ZSB0byBlbnRpdGllcyBzdWJzY3JpYmVkIHRvIGRhdGEgY29uZmlnIGNoYW5nZXMuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgbmV3IGBTa3lEYXRhTWFuYWdlckNvbmZpZ2AgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlRGF0YU1hbmFnZXJDb25maWcodmFsdWU6IFNreURhdGFNYW5hZ2VyQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhTWFuYWdlckNvbmZpZy5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgZGF0YSB2aWV3IGNvbmZpZyBjaGFuZ2VzIHRoYXQgdmlld3MgYW5kIG90aGVyIGRhdGEgbWFuYWdlciBlbnRpdGllcyBjYW4gc3Vic2NyaWJlIHRvLlxuICAgKi9cbiAgcHVibGljIGdldERhdGFWaWV3c1VwZGF0ZXMoKTogT2JzZXJ2YWJsZTxTa3lEYXRhVmlld0NvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudmlld3M7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIHRoZSBhY3RpdmUgdmlldyBJRCB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICovXG4gIHB1YmxpYyBnZXRBY3RpdmVWaWV3SWRVcGRhdGVzKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlVmlld0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGFjdGl2ZSB2aWV3IElELiBUaGUgZGF0YSBtYW5hZ2VyIGNoYW5nZXMgdGhlIGRpc3BsYXllZCB2aWV3LlxuICAgKiBAcGFyYW0gaWQgVGhlIG5ldyBhY3RpdmUgdmlldyBJRC5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVBY3RpdmVWaWV3SWQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlVmlld0lkLm5leHQoaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGBTa3lEYXRhVmlld0NvbmZpZ2AgZm9yIHRoZSBnaXZlbiB2aWV3IElELlxuICAgKiBAcGFyYW0gdmlld0lkIFRoZSBJRCBvZiB0aGUgdmlldyBjb25maWcgdG8gZ2V0LlxuICAgKi9cbiAgcHVibGljIGdldFZpZXdCeUlkKHZpZXdJZDogc3RyaW5nKTogU2t5RGF0YVZpZXdDb25maWcge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IHRoaXMudmlld3MudmFsdWU7XG4gICAgY29uc3Qgdmlld0NvbmZpZzogU2t5RGF0YVZpZXdDb25maWcgPSBjdXJyZW50Vmlld3MuZmluZChcbiAgICAgICh2aWV3KSA9PiB2aWV3LmlkID09PSB2aWV3SWRcbiAgICApO1xuXG4gICAgcmV0dXJuIHZpZXdDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZ2l2ZW4gdmlldyBjb25maWcuIFRoZSByZWdpc3RlcmVkIHZpZXcgd2l0aCB0aGUgc2FtZSBJRCBpcyB1cGRhdGVkIHRvIHRoZVxuICAgKiBwcm92aWRlZCBjb25maWcsIHNvIGluY2x1ZGUgYWxsIHByb3BlcnRpZXMgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkgY2hhbmdlZC4gSWYgdGhlXG4gICAqIHZpZXcgd2FzIG5vdCBpbml0aWFsaXplZCBhbHJlYWR5LCBubyB1cGRhdGUgaGFwcGVucy5cbiAgICogQHBhcmFtIHZpZXcgVGhlIG5ldyBgU2t5RGF0YVZpZXdDb25maWdgIGNvbnRhaW5pbmcgYWxsIHByb3BlcnRpZXMuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlVmlld0NvbmZpZyh2aWV3OiBTa3lEYXRhVmlld0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IHRoaXMudmlld3MudmFsdWU7XG4gICAgY29uc3QgZXhpc3RpbmdWaWV3SW5kZXggPSBjdXJyZW50Vmlld3MuZmluZEluZGV4KFxuICAgICAgKGN1cnJlbnRWaWV3KSA9PiBjdXJyZW50Vmlldy5pZCA9PT0gdmlldy5pZFxuICAgICk7XG5cbiAgICBpZiAoZXhpc3RpbmdWaWV3SW5kZXggPT09IC0xKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdBIHZpZXcgd2l0aCB0aGUgaWQge2lkfSBkb2VzIG5vdCBleGlzdC4nLCB2aWV3LmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudFZpZXdzW2V4aXN0aW5nVmlld0luZGV4XSA9IHZpZXc7XG4gICAgICB0aGlzLnZpZXdzLm5leHQoY3VycmVudFZpZXdzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2V0Vmlld2tlZXBlckNsYXNzZXModmlld0lkOiBzdHJpbmcsIGNsYXNzZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgY29uc3Qgdmlld2tlZXBlckNsYXNzZXMgPSB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnZhbHVlO1xuICAgIHZpZXdrZWVwZXJDbGFzc2VzW3ZpZXdJZF0gPSBjbGFzc2VzO1xuXG4gICAgdGhpcy52aWV3a2VlcGVyQ2xhc3Nlcy5uZXh0KHZpZXdrZWVwZXJDbGFzc2VzKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyRGF0YVN0YXRlUHJvcGVydGllcyhcbiAgICBzdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSxcbiAgICBwcm9wZXJ0aWVzOiBzdHJpbmdbXVxuICApOiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucyB7XG4gICAgY29uc3Qgc3RhdGVQcm9wZXJ0aWVzID0gc3RhdGUuZ2V0U3RhdGVPcHRpb25zKCkgYXMgeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgICBjb25zdCBmaWx0ZXJlZFN0YXRlUHJvcGVydGllczogYW55ID0ge307XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzdGF0ZVByb3BlcnRpZXMsIHByb3BlcnR5KSkge1xuICAgICAgICBmaWx0ZXJlZFN0YXRlUHJvcGVydGllc1twcm9wZXJ0eV0gPSBzdGF0ZVByb3BlcnRpZXNbcHJvcGVydHldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZFN0YXRlUHJvcGVydGllcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGVmYXVsdFN0YXRlQ29tcGFyYXRvcihcbiAgICBwcm9wZXJ0aWVzOiBzdHJpbmdbXVxuICApOiAoc3RhdGUxOiBTa3lEYXRhTWFuYWdlclN0YXRlLCBzdGF0ZTI6IFNreURhdGFNYW5hZ2VyU3RhdGUpID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdGF0ZTE6IFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gICAgICBzdGF0ZTI6IFNreURhdGFNYW5hZ2VyU3RhdGVcbiAgICApOiBib29sZWFuID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkU3RhdGUxID0gdGhpcy5maWx0ZXJEYXRhU3RhdGVQcm9wZXJ0aWVzKHN0YXRlMSwgcHJvcGVydGllcyk7XG4gICAgICBjb25zdCBmaWx0ZXJlZFN0YXRlMiA9IHRoaXMuZmlsdGVyRGF0YVN0YXRlUHJvcGVydGllcyhzdGF0ZTIsIHByb3BlcnRpZXMpO1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkU3RhdGUxKSA9PT0gSlNPTi5zdHJpbmdpZnkoZmlsdGVyZWRTdGF0ZTIpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBR3RELE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFFNUQ7Ozs7Ozs7R0FPRztBQUVILE1BQU0sT0FBTyxxQkFBcUI7SUFhaEMsWUFBWSxlQUFtQzs7UUFaeEMsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQTJCLEVBQUUsQ0FBQyxDQUFDO1FBRTdFLDhDQUF5QixJQUFJLGFBQWEsQ0FBUyxDQUFDLENBQUMsRUFBQztRQUN0RCxtREFBOEIsSUFBSSxlQUFlLENBQXVCLEVBQUUsQ0FBQyxFQUFDO1FBQzVFLHVDQUFrQixJQUFJLGVBQWUsQ0FBc0IsRUFBRSxDQUFDLEVBQUM7UUFDL0QsaURBQTRCLElBQUksYUFBYSxDQUE0QixDQUFDLENBQUMsRUFBQztRQUU1RSx1REFBb0M7UUFDcEMsK0NBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFDckMsNENBQWMsd0JBQXdCLEVBQUM7UUFDdkMseURBQXFDO1FBR25D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dUJBQXVCLEdBQTRCLEVBQUUsQ0FBQztJQUU1RCxJQUFJLFVBQVUsRUFBRTtRQUNkLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFO1lBQ2pDLElBQUksUUFBUSxJQUFJLGVBQWUsRUFBRTtnQkFDL0IsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQy9EO1NBQ0Y7S0FDRjtJQUVELE9BQU8sdUJBQXVCLENBQUM7QUFDakMsQ0FBQywrR0FHQyxVQUE0RDtJQUU1RCxPQUFPLENBQ0wsTUFBMkIsRUFDM0IsTUFBMkIsRUFDbEIsRUFBRTtRQUNYLE1BQU0sY0FBYyxHQUFHLHVCQUFBLElBQUksMEZBQTJCLE1BQS9CLElBQUksRUFDekIsTUFBTSxFQUNOLFVBQVUsQ0FDWCxDQUFDO1FBQ0YsTUFBTSxjQUFjLEdBQUcsdUJBQUEsSUFBSSwwRkFBMkIsTUFBL0IsSUFBSSxFQUN6QixNQUFNLEVBQ04sVUFBVSxDQUNYLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzRSxDQUFDLENBQUM7QUFDSixDQUFDO21IQXhWVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lVSUNvbmZpZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgbWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb25maWcgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItY29uZmlnJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VySW5pdEFyZ3MgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItaW5pdC1hcmdzJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZUNoYW5nZSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZS1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnMgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUtb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlVXBkYXRlRmlsdGVyQXJncyB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZS11cGRhdGUtZmlsdGVyLWFyZ3MnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuL21vZGVscy9kYXRhLXZpZXctY29uZmlnJztcbmltcG9ydCB7IFNreURhdGFWaWV3U3RhdGUgfSBmcm9tICcuL21vZGVscy9kYXRhLXZpZXctc3RhdGUnO1xuXG4vKipcbiAqIFRoZSBkYXRhIG1hbmFnZXIgc2VydmljZSBwcm92aWRlcyB3YXlzIGZvciBkYXRhIHZpZXdzLCB0b29sYmFyIGl0ZW1zLCBhbmQgbW9yZSB0byBzdGF5IHVwIHRvIGRhdGVcbiAqIHdpdGggdGhlIGFjdGl2ZSB2aWV3IElELCBkYXRhIG1hbmFnZXIgY29uZmlnLCByZWdpc3RlcmVkIHZpZXdzIGFuZCB0aGVpciBjb25maWdzLCBhbmQgZGF0YSBzdGF0ZS5cbiAqIFRoZXJlIGFyZSBtZXRob2RzIHRvIGdldCBjdXJyZW50IHZhbHVlcywgdXBkYXRlIHZhbHVlcywgYW5kIGdldCBzdWJzY3JpcHRpb25zIHRvIHRoZSBjaGFuZ2luZyB2YWx1ZXMuPGJyLz4gPGJyLz5cbiAqIFByb3ZpZGUgdGhpcyBzZXJ2aWNlIGF0IHRoZSBjb21wb25lbnQgbGV2ZWwgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgYSBkYXRhIG1hbmFnZXIuIERvIG5vdFxuICogcHJvdmlkZSBpdCBhdCB0aGUgbW9kdWxlIGxldmVsIG9yIGluIGBhcHAtZXh0cmFzYC4gVGhpcyBhbGxvd3MgbXVsdGlwbGUgZGF0YVxuICogbWFuYWdlcnMgdG8gYmUgdXNlZCBhbmQgc2VsZi1jb250YWluZWQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgdmlld2tlZXBlckNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4oe30pO1xuXG4gIHJlYWRvbmx5ICNhY3RpdmVWaWV3SWQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuICByZWFkb25seSAjZGF0YU1hbmFnZXJDb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreURhdGFNYW5hZ2VyQ29uZmlnPih7fSk7XG4gIHJlYWRvbmx5ICN2aWV3cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2t5RGF0YVZpZXdDb25maWdbXT4oW10pO1xuICByZWFkb25seSAjZGF0YVN0YXRlQ2hhbmdlID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5RGF0YU1hbmFnZXJTdGF0ZUNoYW5nZT4oMSk7XG5cbiAgI2lzSW5pdGlhbGl6ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI2luaXRTb3VyY2UgPSAnZGF0YU1hbmFnZXJTZXJ2aWNlSW5pdCc7XG4gICN1aUNvbmZpZ1NlcnZpY2U6IFNreVVJQ29uZmlnU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcih1aUNvbmZpZ1NlcnZpY2U6IFNreVVJQ29uZmlnU2VydmljZSkge1xuICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZSA9IHVpQ29uZmlnU2VydmljZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNhY3RpdmVWaWV3SWQuY29tcGxldGUoKTtcbiAgICB0aGlzLiNkYXRhTWFuYWdlckNvbmZpZy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3ZpZXdzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jZGF0YVN0YXRlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBkYXRhIG1hbmFnZXIgd2l0aCB0aGUgZ2l2ZW4gc2V0dGluZ3MgYW5kIHNldHMgYGlzSW5pdGlhbGl6ZWRgIHRvIGB0cnVlYC5cbiAgICogVGhpcyBtdXN0IGJlIGNhbGxlZCBmb3IgdGhlIGRhdGEgbWFuYWdlciB0byByZW5kZXIuXG4gICAqIEBwYXJhbSBhcmdzIFRoZSBpbml0aWFsIGFjdGl2ZSB2aWV3IElELCBkYXRhIG1hbmFnZXIgY29uZmlnLCBhbmQgc3RhdGUgdG8gdXNlIGZvciB0aGUgZGF0YSBtYW5hZ2VyLlxuICAgKiBJZiBhIHNldHRpbmdzIGtleSBpcyBwcm92aWRlZCwgaXQgY2hlY2tzIGZvciBhIHNhdmVkIGRhdGEgc3RhdGUgaW4gdGhlIFNLWSBVSSBjb25maWcgc2VydmljZSBiZWZvcmUgdXNpbmcgdGhlIGRlZmF1bHQgZGF0YSBzdGF0ZVxuICAgKiBhbmQgc2F2ZXMgYW55IHN0YXRlIGNoYW5nZXMgdG8gdGhlIHNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgaW5pdERhdGFNYW5hZ2VyKGFyZ3M6IFNreURhdGFNYW5hZ2VySW5pdEFyZ3MpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jaXNJbml0aWFsaXplZCkge1xuICAgICAgY29uc29sZS53YXJuKCdUaGlzIGRhdGEgbWFuYWdlciBpbnN0YW5jZSBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpemVkLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgZGVmYXVsdERhdGFTdGF0ZSA9IGFyZ3MuZGVmYXVsdERhdGFTdGF0ZTtcbiAgICBjb25zdCBzZXR0aW5nc0tleSA9IGFyZ3Muc2V0dGluZ3NLZXk7XG5cbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZVZpZXdJZChhcmdzLmFjdGl2ZVZpZXdJZCk7XG4gICAgdGhpcy51cGRhdGVEYXRhTWFuYWdlckNvbmZpZyhhcmdzLmRhdGFNYW5hZ2VyQ29uZmlnKTtcblxuICAgIGlmIChzZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5nZXRDb25maWcoc2V0dGluZ3NLZXksIGRlZmF1bHREYXRhU3RhdGUuZ2V0U3RhdGVPcHRpb25zKCkpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZzogU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnMpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICAgIG5ldyBTa3lEYXRhTWFuYWdlclN0YXRlKGNvbmZpZyksXG4gICAgICAgICAgICB0aGlzLiNpbml0U291cmNlXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKGRlZmF1bHREYXRhU3RhdGUsIHRoaXMuI2luaXRTb3VyY2UpO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI2luaXRTb3VyY2UpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUpID0+IHtcbiAgICAgICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgICAgIC5zZXRDb25maWcoc2V0dGluZ3NLZXksIHN0YXRlLmdldFN0YXRlT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHNhdmUgZGF0YSBtYW5hZ2VyIHNldHRpbmdzLicpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYSB2aWV3IHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyLiBUaGlzIG11c3QgYmUgY2FsbGVkIGZvciBlYWNoIHZpZXcgZm9yIHRoZSB2aWV3cyB0byBhcHBlYXIgd2l0aGluIHRoZSBkYXRhIG1hbmFnZXIuXG4gICAqIEBwYXJhbSB2aWV3Q29uZmlnIFRoZSBTa3lEYXRhVmlld0NvbmZpZyBzZXR0aW5ncyBmb3IgdGhlIHZpZXcgYmVpbmcgcmVnaXN0ZXJlZC5cbiAgICovXG4gIHB1YmxpYyBpbml0RGF0YVZpZXcodmlld0NvbmZpZzogU2t5RGF0YVZpZXdDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Vmlld3MgPSB0aGlzLiN2aWV3cy52YWx1ZTtcblxuICAgIGlmICh0aGlzLmdldFZpZXdCeUlkKHZpZXdDb25maWcuaWQpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBBIGRhdGEgbWFuYWdlciB2aWV3IHdpdGggdGhlIGlkICR7dmlld0NvbmZpZy5pZH0gaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZC5gXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGN1cnJlbnRWaWV3cy5wdXNoKHZpZXdDb25maWcpO1xuICAgIHRoaXMuI3ZpZXdzLm5leHQoY3VycmVudFZpZXdzKTtcblxuICAgIC8vIFdoZW4gdGhlIGluaXRpYWwgYWN0aXZlVmlld0lkIGlzIHNldCB0aGVyZSBhcmUgbm8gdmlld3MgcmVnaXN0ZXJlZC4gV2UgaGF2ZSB0byByZS1lbWl0XG4gICAgLy8gdGhlIGFjdGl2ZUlkIHNvIHRoZSBuZXdseSByZWdpc3RlcmVkIHZpZXcgaXMgbm90aWZpZWQgdGhhdCBpdCBpcyBhY3RpdmUuXG4gICAgdGhpcy4jYWN0aXZlVmlld0lkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChpZCkgPT4ge1xuICAgICAgdGhpcy4jYWN0aXZlVmlld0lkLm5leHQoaWQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YVN0YXRlQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGFTdGF0ZSA9IGNoYW5nZS5kYXRhU3RhdGU7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWaWV3U3RhdGUgPSBkYXRhU3RhdGUuZ2V0Vmlld1N0YXRlQnlJZCh2aWV3Q29uZmlnLmlkKTtcblxuICAgICAgICBpZiAoIWN1cnJlbnRWaWV3U3RhdGUpIHtcbiAgICAgICAgICBjb25zdCBuZXdWaWV3U3RhdGUgPSBuZXcgU2t5RGF0YVZpZXdTdGF0ZSh7IHZpZXdJZDogdmlld0NvbmZpZy5pZCB9KTtcblxuICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB2aWV3IHN0YXRlJ3MgYXZhaWxhYmxlIGNvbHVtbnMgbWF0Y2ggd2l0aCB0aGUgdmlldyBjb25maWcuIEFsc28sXG4gICAgICAgICAgLy8gYWRkIGNvbHVtbnMgdG8gdGhlIGBkaXNwbGF5ZWRDb2x1bW5JZHNgIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IGBpbml0aWFsSGlkZWBcbiAgICAgICAgICBpZiAodmlld0NvbmZpZy5jb2x1bW5PcHRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBjb2x1bW5JZHMgPSB2aWV3Q29uZmlnLmNvbHVtbk9wdGlvbnMubWFwKChjb2x1bW5PcHRpb25zKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBjb2x1bW5PcHRpb25zLmlkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5ZWRDb2x1bW5JZHMgPSB2aWV3Q29uZmlnLmNvbHVtbk9wdGlvbnNcbiAgICAgICAgICAgICAgLmZpbHRlcigoY29sdW1uT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFjb2x1bW5PcHRpb24uaW5pdGlhbEhpZGU7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5tYXAoKGNvbHVtbk9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb2x1bW5PcHRpb24uaWQ7XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBuZXdWaWV3U3RhdGUuY29sdW1uSWRzID0gY29sdW1uSWRzO1xuICAgICAgICAgICAgbmV3Vmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcyA9IGRpc3BsYXllZENvbHVtbklkcztcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbmV3RGF0YVN0YXRlID0gZGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgIHZpZXdDb25maWcuaWQsXG4gICAgICAgICAgICBuZXdWaWV3U3RhdGVcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhU3RhdGUobmV3RGF0YVN0YXRlLCB0aGlzLiNpbml0U291cmNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50QXZhaWxhYmxlQ29sdW1uSWRzID1cbiAgICAgICAgICAgIHZpZXdDb25maWcuY29sdW1uT3B0aW9ucz8ubWFwKChjb2x1bW5PcHRpb25zKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBjb2x1bW5PcHRpb25zLmlkO1xuICAgICAgICAgICAgfSkgfHwgW107XG5cbiAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgdmlldyBzdGF0ZSdzIGF2YWlsYWJsZSBjb2x1bW5zIG1hdGNoIHdpdGggdGhlIHZpZXcgY29uZmlnLiBBbHNvLFxuICAgICAgICAgIC8vIGFkZCBuZXcgY29sdW1ucyB0byB0aGUgYGRpc3BsYXllZENvbHVtbklkc2AgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgYGluaXRpYWxIaWRlYC5cbiAgICAgICAgICAvLyBXZSBvbmx5IGFkZCBjb2x1bW5zIHRvIGBkaXNwbGF5ZWRDb2x1bW5zSWRzYCBpZiB3ZSBoYWQgcHJldmlvdXNseSB0cmFja2VkXG4gICAgICAgICAgLy8gYGNvbHVtbklkc2AgdG8gYXZvaWQgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICAgICAgICBpZiAoY3VycmVudFZpZXdTdGF0ZS5jb2x1bW5JZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IG5ld0NvbHVtbklkcyA9IGN1cnJlbnRBdmFpbGFibGVDb2x1bW5JZHM/LmZpbHRlcihcbiAgICAgICAgICAgICAgKGlkKSA9PiBjdXJyZW50Vmlld1N0YXRlLmNvbHVtbklkcy5pbmRleE9mKGlkKSA8IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBuZXdDb2x1bW5JZHMgPSBuZXdDb2x1bW5JZHM/LmZpbHRlcigoY29sdW1uSWQpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHZpZXdDb25maWcuY29sdW1uT3B0aW9ucz8uZmluZChcbiAgICAgICAgICAgICAgICAoY29sdW1uT3B0aW9uKSA9PlxuICAgICAgICAgICAgICAgICAgY29sdW1uT3B0aW9uLmlkID09PSBjb2x1bW5JZCAmJiAhY29sdW1uT3B0aW9uLmluaXRpYWxIaWRlXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gQWRkIHRoZSBjb2x1bW4gSURzIHRoYXQgbm93IGV4aXN0IHRvIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGUgYm90aCBhcyBhdmFpbGFibGVcbiAgICAgICAgICAgIC8vIGFuZCBhcyBzaG93bi5cbiAgICAgICAgICAgIGN1cnJlbnRWaWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID1cbiAgICAgICAgICAgICAgY3VycmVudFZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMuY29uY2F0KG5ld0NvbHVtbklkcyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFkZCB0aGUgY29sdW1uIElEcyB0aGF0IG5vdyBleGlzdCB0byB0aGUgZGF0YSBtYW5hZ2VyIHN0YXRlIGJvdGggYXMgYXZhaWxhYmxlXG4gICAgICAgICAgLy8gYW5kIGFzIHNob3duLlxuICAgICAgICAgIGN1cnJlbnRWaWV3U3RhdGUuY29sdW1uSWRzID0gY3VycmVudEF2YWlsYWJsZUNvbHVtbklkcztcblxuICAgICAgICAgIGNvbnN0IG5ld0RhdGFTdGF0ZSA9IGRhdGFTdGF0ZS5hZGRPclVwZGF0ZVZpZXcoXG4gICAgICAgICAgICB2aWV3Q29uZmlnLmlkLFxuICAgICAgICAgICAgY3VycmVudFZpZXdTdGF0ZVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZShuZXdEYXRhU3RhdGUsIHRoaXMuI2luaXRTb3VyY2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIGRhdGEgc3RhdGUgY2hhbmdlcyB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICogSXQgZXhjbHVkZXMgdXBkYXRlcyBvcmlnaW5hdGluZyBmcm9tIHRoZSBwcm92aWRlZCBzb3VyY2UuIFRoaXMgYWxsb3dzIHN1YnNjcmliZXJzIHRvIG9ubHkgcmVzcG9uZCB0b1xuICAgKiBjaGFuZ2VzIHRoZXkgZGlkIG5vdCBjcmVhdGUgYW5kIGhlbHBzIHByZXZlbnQgaW5maW5pdGUgbG9vcHMgb2YgdXBkYXRlcyBhbmQgcmVzcG9uc2VzLlxuICAgKiBAcGFyYW0gc291cmNlSWQgVGhlIElEIG9mIHRoZSBlbnRpdHkgc3Vic2NyaWJpbmcgdG8gZGF0YSBzdGF0ZSB1cGRhdGVzLiBUaGlzIGNhbiBiZSBhbnkgdmFsdWUgeW91IGNob29zZVxuICAgKiBidXQgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlciBpbnN0YW5jZSBhbmQgc2hvdWxkIGFsc28gYmUgdXNlZCB3aGVuIHRoYXQgZW50aXR5IHVwZGF0ZXMgdGhlIHN0YXRlLlxuICAgKi9cbiAgcHVibGljIGdldERhdGFTdGF0ZVVwZGF0ZXMoXG4gICAgc291cmNlSWQ6IHN0cmluZyxcbiAgICB1cGRhdGVGaWx0ZXI/OiBTa3lEYXRhTWFuYWdlclN0YXRlVXBkYXRlRmlsdGVyQXJnc1xuICApOiBPYnNlcnZhYmxlPFNreURhdGFNYW5hZ2VyU3RhdGU+IHtcbiAgICAvLyBmaWx0ZXIgb3V0IGV2ZW50cyBmcm9tIHRoZSBwcm92aWRlZCBzb3VyY2UgYW5kIGVtaXQganVzdCB0aGUgZGF0YVN0YXRlXG4gICAgaWYgKHVwZGF0ZUZpbHRlcikge1xuICAgICAgcmV0dXJuIHRoaXMuI2RhdGFTdGF0ZUNoYW5nZS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHN0YXRlQ2hhbmdlKSA9PiBzb3VyY2VJZCAhPT0gc3RhdGVDaGFuZ2Uuc291cmNlKSxcbiAgICAgICAgbWFwKChzdGF0ZUNoYW5nZSkgPT4gc3RhdGVDaGFuZ2UuZGF0YVN0YXRlKSxcbiAgICAgICAgdXBkYXRlRmlsdGVyLmNvbXBhcmF0b3JcbiAgICAgICAgICA/IGRpc3RpbmN0VW50aWxDaGFuZ2VkKHVwZGF0ZUZpbHRlci5jb21wYXJhdG9yKVxuICAgICAgICAgIDogZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgICAgICAgIHRoaXMuI2dldERlZmF1bHRTdGF0ZUNvbXBhcmF0b3IoXG4gICAgICAgICAgICAgICAgdXBkYXRlRmlsdGVyLnByb3BlcnRpZXMgYXMgKGtleW9mIFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zKVtdXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLiNkYXRhU3RhdGVDaGFuZ2UucGlwZShcbiAgICAgICAgZmlsdGVyKChzdGF0ZUNoYW5nZSkgPT4gc291cmNlSWQgIT09IHN0YXRlQ2hhbmdlLnNvdXJjZSksXG4gICAgICAgIG1hcCgoc3RhdGVDaGFuZ2UpID0+IHN0YXRlQ2hhbmdlLmRhdGFTdGF0ZSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGRhdGEgc3RhdGUgYW5kIGVtaXRzIGEgbmV3IHZhbHVlIHRvIGVudGl0aWVzIHN1YnNjcmliZWQgdG8gZGF0YSBzdGF0ZSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gc3RhdGUgVGhlIG5ldyBgU2t5RGF0YU1hbmFnZXJTdGF0ZWAgdmFsdWUuXG4gICAqIEBwYXJhbSBzb3VyY2VJZCBUaGUgSUQgb2YgdGhlIGVudGl0eSB1cGRhdGluZyB0aGUgc3RhdGUuIFRoaXMgY2FuIGJlIGFueSB2YWx1ZSB5b3UgY2hvb3NlLFxuICAgKiBidXQgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlciBpbnN0YW5jZSBhbmQgc2hvdWxkIGFsc28gYmUgdXNlZCB3aGVuIHRoYXQgZW50aXR5XG4gICAqIHN1YnNjcmliZXMgdG8gc3RhdGUgY2hhbmdlcyBmcm9tIGBnZXREYXRhU3RhdGVVcGRhdGVzYC5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVEYXRhU3RhdGUoc3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUsIHNvdXJjZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IG5ldyBTa3lEYXRhTWFuYWdlclN0YXRlKHN0YXRlLmdldFN0YXRlT3B0aW9ucygpKTtcbiAgICBjb25zdCBuZXdTdGF0ZUNoYW5nZSA9IG5ldyBTa3lEYXRhTWFuYWdlclN0YXRlQ2hhbmdlKG5ld1N0YXRlLCBzb3VyY2VJZCk7XG5cbiAgICB0aGlzLiNkYXRhU3RhdGVDaGFuZ2UubmV4dChuZXdTdGF0ZUNoYW5nZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBgU2t5RGF0YU1hbmFnZXJDb25maWdgLlxuICAgKi9cbiAgcHVibGljIGdldEN1cnJlbnREYXRhTWFuYWdlckNvbmZpZygpOiBTa3lEYXRhTWFuYWdlckNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuI2RhdGFNYW5hZ2VyQ29uZmlnLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBvZiBkYXRhIG1hbmFnZXIgY29uZmlnIGNoYW5nZXMgdGhhdCB2aWV3cyBhbmQgb3RoZXIgZGF0YSBtYW5hZ2VyIGVudGl0aWVzIGNhbiBzdWJzY3JpYmUgdG8uXG4gICAqL1xuICBwdWJsaWMgZ2V0RGF0YU1hbmFnZXJDb25maWdVcGRhdGVzKCk6IE9ic2VydmFibGU8U2t5RGF0YU1hbmFnZXJDb25maWc+IHtcbiAgICByZXR1cm4gdGhpcy4jZGF0YU1hbmFnZXJDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZGF0YSBtYW5hZ2VyIGNvbmZpZyBhbmQgZW1pdHMgYSBuZXcgdmFsdWUgdG8gZW50aXRpZXMgc3Vic2NyaWJlZCB0byBkYXRhIGNvbmZpZyBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG5ldyBgU2t5RGF0YU1hbmFnZXJDb25maWdgIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZURhdGFNYW5hZ2VyQ29uZmlnKHZhbHVlOiBTa3lEYXRhTWFuYWdlckNvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyQ29uZmlnLm5leHQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBvZiBkYXRhIHZpZXcgY29uZmlnIGNoYW5nZXMgdGhhdCB2aWV3cyBhbmQgb3RoZXIgZGF0YSBtYW5hZ2VyIGVudGl0aWVzIGNhbiBzdWJzY3JpYmUgdG8uXG4gICAqL1xuICBwdWJsaWMgZ2V0RGF0YVZpZXdzVXBkYXRlcygpOiBPYnNlcnZhYmxlPFNreURhdGFWaWV3Q29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy4jdmlld3M7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIHRoZSBhY3RpdmUgdmlldyBJRCB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICovXG4gIHB1YmxpYyBnZXRBY3RpdmVWaWV3SWRVcGRhdGVzKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuI2FjdGl2ZVZpZXdJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBhY3RpdmUgdmlldyBJRC4gVGhlIGRhdGEgbWFuYWdlciBjaGFuZ2VzIHRoZSBkaXNwbGF5ZWQgdmlldy5cbiAgICogQHBhcmFtIGlkIFRoZSBuZXcgYWN0aXZlIHZpZXcgSUQuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlQWN0aXZlVmlld0lkKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNhY3RpdmVWaWV3SWQubmV4dChpZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYFNreURhdGFWaWV3Q29uZmlnYCBmb3IgdGhlIGdpdmVuIHZpZXcgSUQuXG4gICAqIEBwYXJhbSB2aWV3SWQgVGhlIElEIG9mIHRoZSB2aWV3IGNvbmZpZyB0byBnZXQuXG4gICAqL1xuICBwdWJsaWMgZ2V0Vmlld0J5SWQodmlld0lkOiBzdHJpbmcpOiBTa3lEYXRhVmlld0NvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY3VycmVudFZpZXdzOiBTa3lEYXRhVmlld0NvbmZpZ1tdID0gdGhpcy4jdmlld3MudmFsdWU7XG4gICAgY29uc3Qgdmlld0NvbmZpZzogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQgPSBjdXJyZW50Vmlld3MuZmluZChcbiAgICAgICh2aWV3KSA9PiB2aWV3LmlkID09PSB2aWV3SWRcbiAgICApO1xuXG4gICAgcmV0dXJuIHZpZXdDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZ2l2ZW4gdmlldyBjb25maWcuIFRoZSByZWdpc3RlcmVkIHZpZXcgd2l0aCB0aGUgc2FtZSBJRCBpcyB1cGRhdGVkIHRvIHRoZVxuICAgKiBwcm92aWRlZCBjb25maWcsIHNvIGluY2x1ZGUgYWxsIHByb3BlcnRpZXMgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkgY2hhbmdlZC4gSWYgdGhlXG4gICAqIHZpZXcgd2FzIG5vdCBpbml0aWFsaXplZCBhbHJlYWR5LCBubyB1cGRhdGUgaGFwcGVucy5cbiAgICogQHBhcmFtIHZpZXcgVGhlIG5ldyBgU2t5RGF0YVZpZXdDb25maWdgIGNvbnRhaW5pbmcgYWxsIHByb3BlcnRpZXMuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlVmlld0NvbmZpZyh2aWV3OiBTa3lEYXRhVmlld0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IHRoaXMuI3ZpZXdzLnZhbHVlO1xuICAgIGNvbnN0IGV4aXN0aW5nVmlld0luZGV4ID0gY3VycmVudFZpZXdzLmZpbmRJbmRleChcbiAgICAgIChjdXJyZW50VmlldykgPT4gY3VycmVudFZpZXcuaWQgPT09IHZpZXcuaWRcbiAgICApO1xuXG4gICAgaWYgKGV4aXN0aW5nVmlld0luZGV4ID09PSAtMSkge1xuICAgICAgY29uc29sZS5lcnJvcignQSB2aWV3IHdpdGggdGhlIGlkIHtpZH0gZG9lcyBub3QgZXhpc3QuJywgdmlldy5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRWaWV3c1tleGlzdGluZ1ZpZXdJbmRleF0gPSB2aWV3O1xuICAgICAgdGhpcy4jdmlld3MubmV4dChjdXJyZW50Vmlld3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZXRWaWV3a2VlcGVyQ2xhc3Nlcyh2aWV3SWQ6IHN0cmluZywgY2xhc3Nlczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3a2VlcGVyQ2xhc3NlcyA9IHRoaXMudmlld2tlZXBlckNsYXNzZXMudmFsdWU7XG4gICAgdmlld2tlZXBlckNsYXNzZXNbdmlld0lkXSA9IGNsYXNzZXM7XG5cbiAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLm5leHQodmlld2tlZXBlckNsYXNzZXMpO1xuICB9XG5cbiAgI2ZpbHRlckRhdGFTdGF0ZVByb3BlcnRpZXMoXG4gICAgc3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gICAgcHJvcGVydGllczogKGtleW9mIFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zKVtdIHwgdW5kZWZpbmVkXG4gICk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICBjb25zdCBzdGF0ZVByb3BlcnRpZXMgPSBzdGF0ZS5nZXRTdGF0ZU9wdGlvbnMoKTtcbiAgICBjb25zdCBmaWx0ZXJlZFN0YXRlUHJvcGVydGllczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICAgIGlmIChwcm9wZXJ0aWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcbiAgICAgICAgaWYgKHByb3BlcnR5IGluIHN0YXRlUHJvcGVydGllcykge1xuICAgICAgICAgIGZpbHRlcmVkU3RhdGVQcm9wZXJ0aWVzW3Byb3BlcnR5XSA9IHN0YXRlUHJvcGVydGllc1twcm9wZXJ0eV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmlsdGVyZWRTdGF0ZVByb3BlcnRpZXM7XG4gIH1cblxuICAjZ2V0RGVmYXVsdFN0YXRlQ29tcGFyYXRvcihcbiAgICBwcm9wZXJ0aWVzOiAoa2V5b2YgU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnMpW10gfCB1bmRlZmluZWRcbiAgKTogKHN0YXRlMTogU2t5RGF0YU1hbmFnZXJTdGF0ZSwgc3RhdGUyOiBTa3lEYXRhTWFuYWdlclN0YXRlKSA9PiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3RhdGUxOiBTa3lEYXRhTWFuYWdlclN0YXRlLFxuICAgICAgc3RhdGUyOiBTa3lEYXRhTWFuYWdlclN0YXRlXG4gICAgKTogYm9vbGVhbiA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZFN0YXRlMSA9IHRoaXMuI2ZpbHRlckRhdGFTdGF0ZVByb3BlcnRpZXMoXG4gICAgICAgIHN0YXRlMSxcbiAgICAgICAgcHJvcGVydGllc1xuICAgICAgKTtcbiAgICAgIGNvbnN0IGZpbHRlcmVkU3RhdGUyID0gdGhpcy4jZmlsdGVyRGF0YVN0YXRlUHJvcGVydGllcyhcbiAgICAgICAgc3RhdGUyLFxuICAgICAgICBwcm9wZXJ0aWVzXG4gICAgICApO1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkU3RhdGUxKSA9PT0gSlNPTi5zdHJpbmdpZnkoZmlsdGVyZWRTdGF0ZTIpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
@@ -1,7 +1,8 @@
|
|
1
|
-
|
1
|
+
var _SkyDataViewComponent__isActive, _SkyDataViewComponent_ngUnsubscribe, _SkyDataViewComponent_dataManagerService, _SkyDataViewComponent_changeDetector;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
2
4
|
import { Subject } from 'rxjs';
|
3
5
|
import { takeUntil } from 'rxjs/operators';
|
4
|
-
import { SkyDataManagerService } from './data-manager.service';
|
5
6
|
import * as i0 from "@angular/core";
|
6
7
|
import * as i1 from "./data-manager.service";
|
7
8
|
import * as i2 from "@angular/common";
|
@@ -11,38 +12,41 @@ import * as i2 from "@angular/common";
|
|
11
12
|
* search text, and more to the data it displays.
|
12
13
|
*/
|
13
14
|
export class SkyDataViewComponent {
|
14
|
-
constructor(
|
15
|
-
this
|
16
|
-
this
|
17
|
-
this
|
18
|
-
this
|
15
|
+
constructor(dataManagerService, changeDetector) {
|
16
|
+
_SkyDataViewComponent__isActive.set(this, false);
|
17
|
+
_SkyDataViewComponent_ngUnsubscribe.set(this, new Subject());
|
18
|
+
_SkyDataViewComponent_dataManagerService.set(this, void 0);
|
19
|
+
_SkyDataViewComponent_changeDetector.set(this, void 0);
|
20
|
+
__classPrivateFieldSet(this, _SkyDataViewComponent_dataManagerService, dataManagerService, "f");
|
21
|
+
__classPrivateFieldSet(this, _SkyDataViewComponent_changeDetector, changeDetector, "f");
|
19
22
|
}
|
20
23
|
get isActive() {
|
21
|
-
return this
|
24
|
+
return __classPrivateFieldGet(this, _SkyDataViewComponent__isActive, "f");
|
22
25
|
}
|
23
26
|
set isActive(value) {
|
24
|
-
this
|
25
|
-
this.
|
27
|
+
__classPrivateFieldSet(this, _SkyDataViewComponent__isActive, value, "f");
|
28
|
+
__classPrivateFieldGet(this, _SkyDataViewComponent_changeDetector, "f").markForCheck();
|
26
29
|
}
|
27
30
|
ngOnInit() {
|
28
|
-
this
|
31
|
+
__classPrivateFieldGet(this, _SkyDataViewComponent_dataManagerService, "f")
|
29
32
|
.getActiveViewIdUpdates()
|
30
|
-
.pipe(takeUntil(this
|
33
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyDataViewComponent_ngUnsubscribe, "f")))
|
31
34
|
.subscribe((activeViewId) => {
|
32
35
|
this.isActive = this.viewId === activeViewId;
|
33
36
|
});
|
34
37
|
}
|
35
38
|
ngOnDestroy() {
|
36
|
-
this.
|
37
|
-
this.
|
39
|
+
__classPrivateFieldGet(this, _SkyDataViewComponent_ngUnsubscribe, "f").next();
|
40
|
+
__classPrivateFieldGet(this, _SkyDataViewComponent_ngUnsubscribe, "f").complete();
|
38
41
|
}
|
39
42
|
}
|
40
|
-
|
41
|
-
SkyDataViewComponent.ɵ
|
42
|
-
i0.ɵɵ
|
43
|
+
_SkyDataViewComponent__isActive = new WeakMap(), _SkyDataViewComponent_ngUnsubscribe = new WeakMap(), _SkyDataViewComponent_dataManagerService = new WeakMap(), _SkyDataViewComponent_changeDetector = new WeakMap();
|
44
|
+
SkyDataViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDataViewComponent, deps: [{ token: i1.SkyDataManagerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
45
|
+
SkyDataViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyDataViewComponent, selector: "sky-data-view", inputs: { viewId: "viewId" }, ngImport: i0, template: "<ng-container *ngIf=\"isActive\">\n <ng-content></ng-content>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDataViewComponent, decorators: [{
|
43
47
|
type: Component,
|
44
48
|
args: [{ selector: 'sky-data-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"isActive\">\n <ng-content></ng-content>\n</ng-container>\n" }]
|
45
|
-
}], ctorParameters: function () { return [{ type:
|
49
|
+
}], ctorParameters: function () { return [{ type: i1.SkyDataManagerService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { viewId: [{
|
46
50
|
type: Input
|
47
51
|
}] } });
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUkzQzs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLG9CQUFvQjtJQXVCL0IsWUFDRSxrQkFBeUMsRUFDekMsY0FBaUM7UUFSbkMsMENBQWEsS0FBSyxFQUFDO1FBRW5CLDhDQUFpQixJQUFJLE9BQU8sRUFBUSxFQUFDO1FBQ3JDLDJEQUEyQztRQUMzQyx1REFBbUM7UUFNakMsdUJBQUEsSUFBSSw0Q0FBdUIsa0JBQWtCLE1BQUEsQ0FBQztRQUM5Qyx1QkFBQSxJQUFJLHdDQUFtQixjQUFjLE1BQUEsQ0FBQztJQUN4QyxDQUFDO0lBckJELElBQVcsUUFBUTtRQUNqQixPQUFPLHVCQUFBLElBQUksdUNBQVcsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsS0FBYztRQUNoQyx1QkFBQSxJQUFJLG1DQUFjLEtBQUssTUFBQSxDQUFDO1FBQ3hCLHVCQUFBLElBQUksNENBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQWdCTSxRQUFRO1FBQ2IsdUJBQUEsSUFBSSxnREFBb0I7YUFDckIsc0JBQXNCLEVBQUU7YUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLDJDQUFlLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsdUJBQUEsSUFBSSwyQ0FBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLHVCQUFBLElBQUksMkNBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzs7a0hBM0NVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLG1GQ3hCakMsbUZBR0E7NEZEcUJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlLG1CQUVSLHVCQUF1QixDQUFDLE1BQU07NElBUXhDLE1BQU07c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLnNlcnZpY2UnO1xuXG4vKipcbiAqIEEgZGF0YSB2aWV3IGlzIHJlbmRlcmVkIHdpdGhpbiBhIGRhdGEgbWFuYWdlciBjb21wb25lbnQuXG4gKiBJdCBjYW4gc3Vic2NyaWJlIHRvIGRhdGEgc3RhdGUgY2hhbmdlcyBmcm9tIGBTa3lEYXRhTWFuYWdlclNlcnZpY2VgIGFuZCBhcHBseSB0aGUgZmlsdGVycyxcbiAqIHNlYXJjaCB0ZXh0LCBhbmQgbW9yZSB0byB0aGUgZGF0YSBpdCBkaXNwbGF5cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRhdGEtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHZpZXcuIFNlZSB0aGUgYFNreURhdGFWaWV3Q29uZmlnYCBpbnRlcmZhY2UuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHZpZXdJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pc0FjdGl2ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfaXNBY3RpdmUgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNfaXNBY3RpdmUgPSBmYWxzZTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNkYXRhTWFuYWdlclNlcnZpY2U6IFNreURhdGFNYW5hZ2VyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhTWFuYWdlclNlcnZpY2U6IFNreURhdGFNYW5hZ2VyU2VydmljZSxcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlID0gZGF0YU1hbmFnZXJTZXJ2aWNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0QWN0aXZlVmlld0lkVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChhY3RpdmVWaWV3SWQpID0+IHtcbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IHRoaXMudmlld0lkID09PSBhY3RpdmVWaWV3SWQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0FjdGl2ZVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uIH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItc29ydC1vcHRpb24nO1xuXG4vKipcbiAqIFRoZSBkYXRhIG1hbmFnZXIgY29uZmlnIGNvbnRhaW5zIHNldHRpbmdzIHRoYXQgYXBwbHkgdG8gdGhlIGRhdGEgbWFuYWdlciBhY3Jvc3MgYWxsIHZpZXdzLFxuICogc3VjaCBhcyB0aGUgc29ydCBhbmQgZmlsdGVyIHNldHRpbmdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreURhdGFNYW5hZ2VyQ29uZmlnIHtcbiAgLyoqXG4gICAqIEFuIHVudHlwZWQgcHJvcGVydHkgdGhhdCBjYW4gdHJhY2sgYW55IGNvbmZpZyBpbmZvcm1hdGlvbiByZWxldmFudCB0byBhXG4gICAqIGRhdGEgbWFuYWdlciB0aGF0IGV4aXN0aW5nIG9wdGlvbnMgZG8gbm90IGluY2x1ZGUuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBhZGRpdGlvbmFsT3B0aW9ucz86IGFueTtcbiAgLyoqXG4gICAqIFRoZSBtb2RhbCBjb21wb25lbnQgdG8gbGF1bmNoIHdoZW4gdGhlIGZpbHRlciBidXR0b24gaXMgc2VsZWN0ZWQuIFRoZSBzYW1lIGZpbHRlciBvcHRpb25zIGFyZVxuICAgKiB1c2VkIGZvciBhbGwgdmlld3MsIGJ1dCB2aWV3cyBjYW4gdXNlIGBTa3lEYXRhVmlld0NvbmZpZ2AgdG8gaW5kaWNhdGUgd2hldGhlciB0byBkaXNwbGF5XG4gICAqIHRoZSBmaWx0ZXIgYnV0dG9uLiBUaGUgbW9kYWwgcmVjZWl2ZXMgdGhlIGBmaWx0ZXJEYXRhYCBpbiB0aGUgZGF0YSBzdGF0ZSBhcyBjb250ZXh0LlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgZmlsdGVyTW9kYWxDb21wb25lbnQ/OiBhbnk7XG4gIC8qKlxuICAgKiBUaGUgc29ydCBvcHRpb25zIGRpc3BsYXllZCBpbiB0aGUgc29ydCBkcm9wZG93bi4gVGhlIHNhbWUgc29ydCBvcHRpb25zIGFyZSB1c2VkIGZvciBhbGwgdmlld3MsXG4gICAqIGJ1dCB2aWV3cyBjYW4gdXNlIGBTa3lEYXRhVmlld0NvbmZpZ2AgdG8gaW5kaWNhdGUgd2hldGhlciB0byBkaXNwbGF5IHRoZSBzb3J0IGJ1dHRvbi5cbiAgICovXG4gIHNvcnRPcHRpb25zPzogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uW107XG59XG4iXX0=
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWZpbHRlci1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL21vZGVscy9kYXRhLW1hbmFnZXItZmlsdGVyLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2t5RGF0YU1hbmFnZXJGaWx0ZXJEYXRhIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIGFueSBmaWx0ZXJzIGFyZSBhcHBsaWVkLlxuICAgKi9cbiAgZmlsdGVyc0FwcGxpZWQ/
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWZpbHRlci1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL21vZGVscy9kYXRhLW1hbmFnZXItZmlsdGVyLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2t5RGF0YU1hbmFnZXJGaWx0ZXJEYXRhIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIGFueSBmaWx0ZXJzIGFyZSBhcHBsaWVkLlxuICAgKi9cbiAgZmlsdGVyc0FwcGxpZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGZpbHRlciBkYXRhIHVzZWQgaW4gdGhlIGRhdGEgbWFuYWdlci4gWW91IG1heSB1c2UgYW55IGZpbHRlciBtb2RlbCB0aGF0IHdvcmtzIGZvclxuICAgKiB5b3VyIGRhdGEgc2V0IGFuZCBtb2RlbHMuIFNlZSB0aGUgZGVtbyBmb3IgYW4gZXhhbXBsZS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGZpbHRlcnM/OiBhbnk7XG59XG4iXX0=
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXN0YXRlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lEYXRhTWFuYWdlckZpbHRlckRhdGEgfSBmcm9tICcuL2RhdGEtbWFuYWdlci1maWx0ZXItZGF0YSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24gfSBmcm9tICcuL2RhdGEtbWFuYWdlci1zb3J0LW9wdGlvbic7XG5pbXBvcnQgeyBTa3lEYXRhVmlld1N0YXRlT3B0aW9ucyB9IGZyb20gJy4vZGF0YS12aWV3LXN0YXRlLW9wdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzZWxlY3RlZCBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24gdG8gYXBwbHkuXG4gICAqL1xuICBhY3RpdmVTb3J0T3B0aW9uPzogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uO1xuICAvKipcbiAgICogQW4gdW50eXBlZCBwcm9wZXJ0eSB0aGF0IHRyYWNrcyBhbnkgc3RhdGUgaW5mb3JtYXRpb24gdGhhdCdzIHJlbGV2YW50IHRvIGEgZGF0YVxuICAgKiBtYW5hZ2VyIGJ1dCB0aGF0IHRoZSBleGlzdGluZyBwcm9wZXJ0aWVzIGRvIG5vdCBjb3Zlci5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGFkZGl0aW9uYWxEYXRhPzogYW55O1xuICAvKipcbiAgICogVGhlIHN0YXRlIG9mIHRoZSBmaWx0ZXJzLlxuICAgKi9cbiAgZmlsdGVyRGF0YT86IFNreURhdGFNYW5hZ2VyRmlsdGVyRGF0YTtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgb25seSB0aGUgc2VsZWN0ZWQgcm93cyBvciBvYmplY3RzLiBUaGUgbXVsdGlzZWxlY3QgdG9vbGJhclxuICAgKiB1c2VzIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBvbmx5U2hvd1NlbGVjdGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBzZWFyY2ggdGV4dCB0byBhcHBseS5cbiAgICovXG4gIHNlYXJjaFRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJvd3Mgb3Igb2JqZWN0cy5cbiAgICovXG4gIHNlbGVjdGVkSWRzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBUaGUgc3RhdGVzIG9mIHRoZSBpbmRpdmlkdWFsIHZpZXdzLlxuICAgKi9cbiAgdmlld3M/OiBTa3lEYXRhVmlld1N0YXRlT3B0aW9uc1tdO1xufVxuIl19
|
@@ -67,4 +67,4 @@ export class SkyDataManagerState {
|
|
67
67
|
});
|
68
68
|
}
|
69
69
|
}
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHckQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBaUM5QixZQUFZLElBQWdDO1FBTDVDOztXQUVHO1FBQ0ksVUFBSyxHQUF1QixFQUFFLENBQUM7UUFHcEMsTUFBTSxLQUFLLEdBQ1QsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ3BCLE1BQU0sVUFBVSxHQUE4QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixLQUFLLEVBQUUsVUFBVTtTQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUNwQixNQUFjLEVBQ2QsSUFBc0I7UUFFdEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQztRQUUzRSxJQUFJLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDdEM7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO1FBRUQsT0FBTyxJQUFJLG1CQUFtQixDQUFDO1lBQzdCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lEYXRhTWFuYWdlckZpbHRlckRhdGEgfSBmcm9tICcuL2RhdGEtbWFuYWdlci1maWx0ZXItZGF0YSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24gfSBmcm9tICcuL2RhdGEtbWFuYWdlci1zb3J0LW9wdGlvbic7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucyB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXN0YXRlLW9wdGlvbnMnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdTdGF0ZSB9IGZyb20gJy4vZGF0YS12aWV3LXN0YXRlJztcbmltcG9ydCB7IFNreURhdGFWaWV3U3RhdGVPcHRpb25zIH0gZnJvbSAnLi9kYXRhLXZpZXctc3RhdGUtb3B0aW9ucyc7XG5cbi8qKlxuICogUHJvdmlkZXMgb3B0aW9ucyB0aGF0IGNvbnRyb2wgd2hpY2ggZGF0YSB0byBkaXNwbGF5LlxuICovXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJTdGF0ZSB7XG4gIC8qKlxuICAgKiBUaGUgc2VsZWN0ZWQgU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uIHRvIGFwcGx5LlxuICAgKi9cbiAgcHVibGljIGFjdGl2ZVNvcnRPcHRpb246IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIEFuIHVudHlwZWQgcHJvcGVydHkgdGhhdCB0cmFja3MgYW55IHN0YXRlIGluZm9ybWF0aW9uIHRoYXQncyByZWxldmFudCB0byBhIGRhdGFcbiAgICogbWFuYWdlciBidXQgdGhhdCB0aGUgZXhpc3RpbmcgcHJvcGVydGllcyBkbyBub3QgY292ZXIuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgYWRkaXRpb25hbERhdGE6IGFueTtcbiAgLyoqXG4gICAqIFRoZSBzdGF0ZSBvZiB0aGUgZmlsdGVycy5cbiAgICovXG4gIHB1YmxpYyBmaWx0ZXJEYXRhOiBTa3lEYXRhTWFuYWdlckZpbHRlckRhdGEgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IG9ubHkgdGhlIHNlbGVjdGVkIHJvd3Mgb3Igb2JqZWN0cy4gVGhlIG11bHRpc2VsZWN0IHRvb2xiYXJcbiAgICogdXNlcyB0aGlzIHByb3BlcnR5LlxuICAgKi9cbiAgcHVibGljIG9ubHlTaG93U2VsZWN0ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBUaGUgc2VhcmNoIHRleHQgdG8gYXBwbHkuXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCByb3dzIG9yIG9iamVjdHMuXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVGhlIHN0YXRlcyBvZiB0aGUgaW5kaXZpZHVhbCB2aWV3cy5cbiAgICovXG4gIHB1YmxpYyB2aWV3czogU2t5RGF0YVZpZXdTdGF0ZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoZGF0YTogU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnMpIHtcbiAgICBjb25zdCB2aWV3cyA9XG4gICAgICBkYXRhLnZpZXdzICYmIGRhdGEudmlld3MubWFwKCh2aWV3KSA9PiBuZXcgU2t5RGF0YVZpZXdTdGF0ZSh2aWV3KSk7XG5cbiAgICB0aGlzLmFjdGl2ZVNvcnRPcHRpb24gPSBkYXRhLmFjdGl2ZVNvcnRPcHRpb247XG4gICAgdGhpcy5hZGRpdGlvbmFsRGF0YSA9IGRhdGEuYWRkaXRpb25hbERhdGE7XG4gICAgdGhpcy5maWx0ZXJEYXRhID0gZGF0YS5maWx0ZXJEYXRhO1xuICAgIHRoaXMub25seVNob3dTZWxlY3RlZCA9IGRhdGEub25seVNob3dTZWxlY3RlZDtcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gZGF0YS5zZWxlY3RlZElkcztcbiAgICB0aGlzLnNlYXJjaFRleHQgPSBkYXRhLnNlYXJjaFRleHQ7XG4gICAgdGhpcy52aWV3cyA9IHZpZXdzIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9uc2AgZm9yIHRoZSBkYXRhIG1hbmFnZXIuXG4gICAqIEByZXR1cm5zIFRoZSBgU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnNgIGZvciB0aGUgZGF0YSBtYW5hZ2VyLlxuICAgKi9cbiAgcHVibGljIGdldFN0YXRlT3B0aW9ucygpOiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucyB7XG4gICAgY29uc3Qgdmlld1N0YXRlczogU2t5RGF0YVZpZXdTdGF0ZU9wdGlvbnNbXSA9IHRoaXMudmlld3MubWFwKCh2aWV3KSA9PiB7XG4gICAgICByZXR1cm4gdmlldy5nZXRWaWV3U3RhdGVPcHRpb25zKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWN0aXZlU29ydE9wdGlvbjogdGhpcy5hY3RpdmVTb3J0T3B0aW9uLFxuICAgICAgYWRkaXRpb25hbERhdGE6IHRoaXMuYWRkaXRpb25hbERhdGEsXG4gICAgICBmaWx0ZXJEYXRhOiB0aGlzLmZpbHRlckRhdGEsXG4gICAgICBvbmx5U2hvd1NlbGVjdGVkOiB0aGlzLm9ubHlTaG93U2VsZWN0ZWQsXG4gICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFRleHQsXG4gICAgICBzZWxlY3RlZElkczogdGhpcy5zZWxlY3RlZElkcyxcbiAgICAgIHZpZXdzOiB2aWV3U3RhdGVzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYFNreURhdGFWaWV3U3RhdGVgIGZvciB0aGUgc3BlY2lmaWVkIHZpZXcuXG4gICAqIEBwYXJhbSB2aWV3SWQgVGhlIElEIGZvciB0aGUgdmlldy5cbiAgICogQHJldHVybnMgVGhlIGBTa3lEYXRhVmlld1N0YXRlYCBmb3IgdGhlIHNwZWNpZmllZCB2aWV3LlxuICAgKi9cbiAgcHVibGljIGdldFZpZXdTdGF0ZUJ5SWQodmlld0lkOiBzdHJpbmcpOiBTa3lEYXRhVmlld1N0YXRlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy52aWV3cy5maW5kKCh2aWV3KSA9PiB2aWV3LnZpZXdJZCA9PT0gdmlld0lkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgYFNreURhdGFWaWV3U3RhdGVgIHRvIGEgdmlldyBvciB1cGRhdGVzIGFuIGV4aXN0aW5nIHZpZXcuXG4gICAqIEBwYXJhbSB2aWV3SWQgVGhlIElEIGZvciB0aGUgdmlldy5cbiAgICogQHBhcmFtIHZpZXcgVGhlIGBTa3lEYXRhVmlld1N0YXRlYCBvcHRpb24gdG8gYWRkIG9yIHVwZGF0ZS5cbiAgICogQHJldHVybnMgVGhlIHN0YXRlIG9mIHRoZSBkYXRhIG1hbmFnZXIgZm9yIHRoZSBzcGVjaWZpZWQgdmlldy5cbiAgICovXG4gIHB1YmxpYyBhZGRPclVwZGF0ZVZpZXcoXG4gICAgdmlld0lkOiBzdHJpbmcsXG4gICAgdmlldzogU2t5RGF0YVZpZXdTdGF0ZVxuICApOiBTa3lEYXRhTWFuYWdlclN0YXRlIHtcbiAgICBjb25zdCBleGlzdGluZ1ZpZXdJbmRleCA9IHRoaXMudmlld3MuZmluZEluZGV4KCh2KSA9PiB2LnZpZXdJZCA9PT0gdmlld0lkKTtcblxuICAgIGlmIChleGlzdGluZ1ZpZXdJbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMudmlld3NbZXhpc3RpbmdWaWV3SW5kZXhdID0gdmlldztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aWV3cy5wdXNoKHZpZXcpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2t5RGF0YU1hbmFnZXJTdGF0ZSh7XG4gICAgICBhY3RpdmVTb3J0T3B0aW9uOiB0aGlzLmFjdGl2ZVNvcnRPcHRpb24sXG4gICAgICBhZGRpdGlvbmFsRGF0YTogdGhpcy5hZGRpdGlvbmFsRGF0YSxcbiAgICAgIGZpbHRlckRhdGE6IHRoaXMuZmlsdGVyRGF0YSxcbiAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoVGV4dCxcbiAgICAgIHNlbGVjdGVkSWRzOiB0aGlzLnNlbGVjdGVkSWRzLFxuICAgICAgdmlld3M6IHRoaXMudmlld3MsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LXN0YXRlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvbW9kZWxzL2RhdGEtdmlldy1zdGF0ZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNreURhdGFWaWV3U3RhdGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGlzIHZpZXcuXG4gICAqL1xuICB2aWV3SWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBJRHMgb2YgdGhlIGNvbHVtbnMgYWJsZSB0byBiZSBkaXNwbGF5ZWQgZm9yIGNvbHVtbi1iYXNlZCB2aWV3cy4gVGhpcyBwcm9wZXJ0eSBpcyByZXF1aXJlZCB3aGVuIHV0aWxpemluZyBhIGdyaWQtYmFzZWQgdmlldywgYSBjb2x1bW4gcGlja2VyLCBvciBib3RoLlxuICAgKi9cbiAgY29sdW1uSWRzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBUaGUgSURzIG9mIHRoZSBjb2x1bW5zIGRpc3BsYXllZCBmb3IgY29sdW1uLWJhc2VkIHZpZXdzLlxuICAgKi9cbiAgZGlzcGxheWVkQ29sdW1uSWRzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBBbiB1bnR5cGVkIHByb3BlcnR5IHRoYXQgdHJhY2tzIGFueSB2aWV3LXNwZWNpZmljIHN0YXRlIGluZm9ybWF0aW9uXG4gICAqIHRoYXQgaXMgcmVsZXZhbnQgdG8gYSBkYXRhIG1hbmFnZXIgYnV0IHRoYXQgZXhpc3RpbmcgcHJvcGVydGllcyBkbyBub3QgY292ZXIuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBhZGRpdGlvbmFsRGF0YT86IGFueTtcbn1cbiJdfQ==
|