devexpress-dashboard-angular 23.2.1-alpha-23254-2205 → 23.2.2-beta
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/esm2020/ui/dashboard-control/index.mjs +459 -0
- package/esm2020/ui/nested/ajax-remote-service.mjs +75 -0
- package/esm2020/ui/nested/base/i-dashboard-data-source-wizard-settings.mjs +39 -0
- package/esm2020/ui/nested/chart-indicators.mjs +59 -0
- package/esm2020/ui/nested/dashboard-export.mjs +91 -0
- package/esm2020/ui/nested/dashboard-parameter-dialog.mjs +83 -0
- package/esm2020/ui/nested/data-inspector.mjs +107 -0
- package/esm2020/ui/nested/data-request-options.mjs +67 -0
- package/esm2020/ui/nested/data-source-wizard.mjs +83 -0
- package/esm2020/ui/nested/designer-toolbar.mjs +59 -0
- package/esm2020/ui/nested/extensions.mjs +131 -0
- package/esm2020/ui/nested/fetch-remote-service.mjs +67 -0
- package/esm2020/ui/nested/item-binding-panel.mjs +59 -0
- package/esm2020/ui/nested/item-options-panel.mjs +59 -0
- package/esm2020/ui/nested/mobile-layout.mjs +59 -0
- package/esm2020/ui/nested/viewer-api.mjs +163 -0
- package/esm2020/ui/nested/wizard-settings.mjs +57 -0
- package/fesm2015/devexpress-dashboard-angular-ui-dashboard-control.mjs +454 -0
- package/fesm2015/devexpress-dashboard-angular-ui-dashboard-control.mjs.map +1 -0
- package/fesm2015/devexpress-dashboard-angular-ui-nested.mjs +1221 -0
- package/fesm2015/devexpress-dashboard-angular-ui-nested.mjs.map +1 -0
- package/fesm2015/{devexpress-dashboard-angular.js → devexpress-dashboard-angular.mjs} +1 -1
- package/fesm2015/devexpress-dashboard-angular.mjs.map +1 -0
- package/fesm2020/devexpress-dashboard-angular-ui-dashboard-control.mjs +452 -0
- package/fesm2020/devexpress-dashboard-angular-ui-dashboard-control.mjs.map +1 -0
- package/fesm2020/devexpress-dashboard-angular-ui-nested.mjs +1191 -0
- package/fesm2020/devexpress-dashboard-angular-ui-nested.mjs.map +1 -0
- package/fesm2020/devexpress-dashboard-angular.mjs +6 -0
- package/fesm2020/devexpress-dashboard-angular.mjs.map +1 -0
- package/package.json +41 -16
- package/ui/dashboard-control/index.d.ts +1 -1
- package/ui/nested/ajax-remote-service.d.ts +1 -1
- package/ui/nested/base/i-dashboard-data-source-wizard-settings.d.ts +1 -1
- package/ui/nested/chart-indicators.d.ts +1 -1
- package/ui/nested/dashboard-export.d.ts +1 -1
- package/ui/nested/dashboard-parameter-dialog.d.ts +1 -1
- package/ui/nested/data-inspector.d.ts +1 -1
- package/ui/nested/data-request-options.d.ts +1 -1
- package/ui/nested/data-source-wizard.d.ts +1 -1
- package/ui/nested/designer-toolbar.d.ts +1 -1
- package/ui/nested/extensions.d.ts +1 -1
- package/ui/nested/fetch-remote-service.d.ts +1 -1
- package/ui/nested/item-binding-panel.d.ts +1 -1
- package/ui/nested/item-options-panel.d.ts +1 -1
- package/ui/nested/mobile-layout.d.ts +1 -1
- package/ui/nested/viewer-api.d.ts +1 -1
- package/ui/nested/wizard-settings.d.ts +1 -1
- package/bundles/devexpress-dashboard-angular-ui-dashboard-control.umd.js +0 -1029
- package/bundles/devexpress-dashboard-angular-ui-dashboard-control.umd.js.map +0 -1
- package/bundles/devexpress-dashboard-angular-ui-nested.umd.js +0 -2271
- package/bundles/devexpress-dashboard-angular-ui-nested.umd.js.map +0 -1
- package/bundles/devexpress-dashboard-angular.umd.js +0 -21
- package/bundles/devexpress-dashboard-angular.umd.js.map +0 -1
- package/devexpress-dashboard-angular.d.ts +0 -5
- package/esm2015/ui/dashboard-control/index.js +0 -462
- package/esm2015/ui/nested/ajax-remote-service.js +0 -81
- package/esm2015/ui/nested/base/i-dashboard-data-source-wizard-settings.js +0 -39
- package/esm2015/ui/nested/chart-indicators.js +0 -65
- package/esm2015/ui/nested/dashboard-export.js +0 -97
- package/esm2015/ui/nested/dashboard-parameter-dialog.js +0 -89
- package/esm2015/ui/nested/data-inspector.js +0 -113
- package/esm2015/ui/nested/data-request-options.js +0 -73
- package/esm2015/ui/nested/data-source-wizard.js +0 -89
- package/esm2015/ui/nested/designer-toolbar.js +0 -65
- package/esm2015/ui/nested/extensions.js +0 -137
- package/esm2015/ui/nested/fetch-remote-service.js +0 -73
- package/esm2015/ui/nested/item-binding-panel.js +0 -65
- package/esm2015/ui/nested/item-options-panel.js +0 -65
- package/esm2015/ui/nested/mobile-layout.js +0 -65
- package/esm2015/ui/nested/viewer-api.js +0 -169
- package/esm2015/ui/nested/wizard-settings.js +0 -64
- package/fesm2015/devexpress-dashboard-angular-ui-dashboard-control.js +0 -455
- package/fesm2015/devexpress-dashboard-angular-ui-dashboard-control.js.map +0 -1
- package/fesm2015/devexpress-dashboard-angular-ui-nested.js +0 -1281
- package/fesm2015/devexpress-dashboard-angular-ui-nested.js.map +0 -1
- package/fesm2015/devexpress-dashboard-angular.js.map +0 -1
- package/ui/dashboard-control/devexpress-dashboard-angular-ui-dashboard-control.d.ts +0 -5
- package/ui/dashboard-control/package.json +0 -10
- package/ui/nested/devexpress-dashboard-angular-ui-nested.d.ts +0 -5
- package/ui/nested/package.json +0 -10
- /package/{esm2015/devexpress-dashboard-angular.js → esm2020/devexpress-dashboard-angular.mjs} +0 -0
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/ui/dashboard-control/devexpress-dashboard-angular-ui-dashboard-control.js → esm2020/ui/dashboard-control/devexpress-dashboard-angular-ui-dashboard-control.mjs} +0 -0
- /package/{esm2015/ui/nested/devexpress-dashboard-angular-ui-nested.js → esm2020/ui/nested/devexpress-dashboard-angular-ui-nested.mjs} +0 -0
- /package/{esm2015/ui/nested/index.js → esm2020/ui/nested/index.mjs} +0 -0
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
import { Component, NgModule, PLATFORM_ID, Inject, Input, Output } from '@angular/core';
|
|
2
|
+
import DxDashboardControl from 'devexpress-dashboard/integration/index';
|
|
3
|
+
import { DxComponent, DxTemplateHost, DxIntegrationModule, DxTemplateModule, NestedOptionHost, WatcherHelper } from 'devextreme-angular/core';
|
|
4
|
+
import { DxoAjaxRemoteServiceModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
5
|
+
import { DxoDataRequestOptionsModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
6
|
+
import { DxoExtensionsModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
7
|
+
import { DxoChartIndicatorsModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
8
|
+
import { DxoDashboardExportModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
9
|
+
import { DxoDashboardParameterDialogModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
10
|
+
import { DxoDataInspectorModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
11
|
+
import { DxoDataSourceWizardModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
12
|
+
import { DxoWizardSettingsModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
13
|
+
import { DxoDesignerToolbarModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
14
|
+
import { DxoItemBindingPanelModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
15
|
+
import { DxoItemOptionsPanelModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
16
|
+
import { DxoMobileLayoutModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
17
|
+
import { DxoViewerApiModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
18
|
+
import { DxoFetchRemoteServiceModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "devextreme-angular/core";
|
|
21
|
+
import * as i2 from "@angular/platform-browser";
|
|
22
|
+
/**
|
|
23
|
+
* [descr:dxDashboardControl]
|
|
24
|
+
|
|
25
|
+
*/
|
|
26
|
+
export class DxDashboardControlComponent extends DxComponent {
|
|
27
|
+
constructor(elementRef, ngZone, templateHost, _watcherHelper, optionHost, transferState, platformId) {
|
|
28
|
+
super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId);
|
|
29
|
+
this._createEventEmitters([
|
|
30
|
+
{ subscribe: 'beforeRender', emit: 'onBeforeRender' },
|
|
31
|
+
{ subscribe: 'dashboardBeginUpdate', emit: 'onDashboardBeginUpdate' },
|
|
32
|
+
{ subscribe: 'dashboardEndUpdate', emit: 'onDashboardEndUpdate' },
|
|
33
|
+
{ subscribe: 'dashboardInitialized', emit: 'onDashboardInitialized' },
|
|
34
|
+
{ subscribe: 'dashboardInitializing', emit: 'onDashboardInitializing' },
|
|
35
|
+
{ subscribe: 'dashboardStateChanged', emit: 'onDashboardStateChanged' },
|
|
36
|
+
{ subscribe: 'initializing', emit: 'onInitializing' },
|
|
37
|
+
{ subscribe: 'itemBeginUpdate', emit: 'onItemBeginUpdate' },
|
|
38
|
+
{ subscribe: 'itemEndUpdate', emit: 'onItemEndUpdate' },
|
|
39
|
+
{ subscribe: 'optionChanged', emit: 'onOptionChanged' },
|
|
40
|
+
{ emit: 'ajaxRemoteServiceChange' },
|
|
41
|
+
{ emit: 'allowMaximizeItemsChange' },
|
|
42
|
+
{ emit: 'dashboardIdChange' },
|
|
43
|
+
{ emit: 'dataRequestOptionsChange' },
|
|
44
|
+
{ emit: 'encodeHtmlChange' },
|
|
45
|
+
{ emit: 'endpointChange' },
|
|
46
|
+
{ emit: 'extensionsChange' },
|
|
47
|
+
{ emit: 'fetchRemoteServiceChange' },
|
|
48
|
+
{ emit: 'initialDashboardIdChange' },
|
|
49
|
+
{ emit: 'initialDashboardStateChange' },
|
|
50
|
+
{ emit: 'limitVisibleDataModeChange' },
|
|
51
|
+
{ emit: 'loadDefaultDashboardChange' },
|
|
52
|
+
{ emit: 'nonceChange' },
|
|
53
|
+
{ emit: 'resizeByTimerChange' },
|
|
54
|
+
{ emit: 'showConfirmationOnBrowserClosingChange' },
|
|
55
|
+
{ emit: 'useNeutralFilterModeChange' },
|
|
56
|
+
{ emit: 'workingModeChange' }
|
|
57
|
+
]);
|
|
58
|
+
optionHost.setHost(this);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* [descr:dxDashboardControlOptions.ajaxRemoteService]
|
|
62
|
+
|
|
63
|
+
*/
|
|
64
|
+
get ajaxRemoteService() {
|
|
65
|
+
return this._getOption('ajaxRemoteService');
|
|
66
|
+
}
|
|
67
|
+
set ajaxRemoteService(value) {
|
|
68
|
+
this._setOption('ajaxRemoteService', value);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* [descr:dxDashboardControlOptions.allowMaximizeItems]
|
|
72
|
+
|
|
73
|
+
*/
|
|
74
|
+
get allowMaximizeItems() {
|
|
75
|
+
return this._getOption('allowMaximizeItems');
|
|
76
|
+
}
|
|
77
|
+
set allowMaximizeItems(value) {
|
|
78
|
+
this._setOption('allowMaximizeItems', value);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* [descr:dxDashboardControlOptions.dashboardId]
|
|
82
|
+
|
|
83
|
+
*/
|
|
84
|
+
get dashboardId() {
|
|
85
|
+
return this._getOption('dashboardId');
|
|
86
|
+
}
|
|
87
|
+
set dashboardId(value) {
|
|
88
|
+
this._setOption('dashboardId', value);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* [descr:dxDashboardControlOptions.dataRequestOptions]
|
|
92
|
+
|
|
93
|
+
*/
|
|
94
|
+
get dataRequestOptions() {
|
|
95
|
+
return this._getOption('dataRequestOptions');
|
|
96
|
+
}
|
|
97
|
+
set dataRequestOptions(value) {
|
|
98
|
+
this._setOption('dataRequestOptions', value);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* [descr:dxDashboardControlOptions.encodeHtml]
|
|
102
|
+
|
|
103
|
+
*/
|
|
104
|
+
get encodeHtml() {
|
|
105
|
+
return this._getOption('encodeHtml');
|
|
106
|
+
}
|
|
107
|
+
set encodeHtml(value) {
|
|
108
|
+
this._setOption('encodeHtml', value);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* [descr:dxDashboardControlOptions.endpoint]
|
|
112
|
+
|
|
113
|
+
*/
|
|
114
|
+
get endpoint() {
|
|
115
|
+
return this._getOption('endpoint');
|
|
116
|
+
}
|
|
117
|
+
set endpoint(value) {
|
|
118
|
+
this._setOption('endpoint', value);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* [descr:dxDashboardControlOptions.extensions]
|
|
122
|
+
|
|
123
|
+
*/
|
|
124
|
+
get extensions() {
|
|
125
|
+
return this._getOption('extensions');
|
|
126
|
+
}
|
|
127
|
+
set extensions(value) {
|
|
128
|
+
this._setOption('extensions', value);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* [descr:dxDashboardControlOptions.fetchRemoteService]
|
|
132
|
+
|
|
133
|
+
*/
|
|
134
|
+
get fetchRemoteService() {
|
|
135
|
+
return this._getOption('fetchRemoteService');
|
|
136
|
+
}
|
|
137
|
+
set fetchRemoteService(value) {
|
|
138
|
+
this._setOption('fetchRemoteService', value);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* [descr:dxDashboardControlOptions.initialDashboardId]
|
|
142
|
+
|
|
143
|
+
*/
|
|
144
|
+
get initialDashboardId() {
|
|
145
|
+
return this._getOption('initialDashboardId');
|
|
146
|
+
}
|
|
147
|
+
set initialDashboardId(value) {
|
|
148
|
+
this._setOption('initialDashboardId', value);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* [descr:dxDashboardControlOptions.initialDashboardState]
|
|
152
|
+
|
|
153
|
+
*/
|
|
154
|
+
get initialDashboardState() {
|
|
155
|
+
return this._getOption('initialDashboardState');
|
|
156
|
+
}
|
|
157
|
+
set initialDashboardState(value) {
|
|
158
|
+
this._setOption('initialDashboardState', value);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* [descr:dxDashboardControlOptions.limitVisibleDataMode]
|
|
162
|
+
|
|
163
|
+
*/
|
|
164
|
+
get limitVisibleDataMode() {
|
|
165
|
+
return this._getOption('limitVisibleDataMode');
|
|
166
|
+
}
|
|
167
|
+
set limitVisibleDataMode(value) {
|
|
168
|
+
this._setOption('limitVisibleDataMode', value);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* [descr:dxDashboardControlOptions.loadDefaultDashboard]
|
|
172
|
+
|
|
173
|
+
*/
|
|
174
|
+
get loadDefaultDashboard() {
|
|
175
|
+
return this._getOption('loadDefaultDashboard');
|
|
176
|
+
}
|
|
177
|
+
set loadDefaultDashboard(value) {
|
|
178
|
+
this._setOption('loadDefaultDashboard', value);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* [descr:dxDashboardControlOptions.nonce]
|
|
182
|
+
|
|
183
|
+
*/
|
|
184
|
+
get nonce() {
|
|
185
|
+
return this._getOption('nonce');
|
|
186
|
+
}
|
|
187
|
+
set nonce(value) {
|
|
188
|
+
this._setOption('nonce', value);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* [descr:dxDashboardControlOptions.resizeByTimer]
|
|
192
|
+
|
|
193
|
+
*/
|
|
194
|
+
get resizeByTimer() {
|
|
195
|
+
return this._getOption('resizeByTimer');
|
|
196
|
+
}
|
|
197
|
+
set resizeByTimer(value) {
|
|
198
|
+
this._setOption('resizeByTimer', value);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* [descr:dxDashboardControlOptions.showConfirmationOnBrowserClosing]
|
|
202
|
+
|
|
203
|
+
*/
|
|
204
|
+
get showConfirmationOnBrowserClosing() {
|
|
205
|
+
return this._getOption('showConfirmationOnBrowserClosing');
|
|
206
|
+
}
|
|
207
|
+
set showConfirmationOnBrowserClosing(value) {
|
|
208
|
+
this._setOption('showConfirmationOnBrowserClosing', value);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* [descr:dxDashboardControlOptions.useNeutralFilterMode]
|
|
212
|
+
|
|
213
|
+
*/
|
|
214
|
+
get useNeutralFilterMode() {
|
|
215
|
+
return this._getOption('useNeutralFilterMode');
|
|
216
|
+
}
|
|
217
|
+
set useNeutralFilterMode(value) {
|
|
218
|
+
this._setOption('useNeutralFilterMode', value);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* [descr:dxDashboardControlOptions.workingMode]
|
|
222
|
+
|
|
223
|
+
*/
|
|
224
|
+
get workingMode() {
|
|
225
|
+
return this._getOption('workingMode');
|
|
226
|
+
}
|
|
227
|
+
set workingMode(value) {
|
|
228
|
+
this._setOption('workingMode', value);
|
|
229
|
+
}
|
|
230
|
+
_createInstance(element, options) {
|
|
231
|
+
return new DxDashboardControl(element, options);
|
|
232
|
+
}
|
|
233
|
+
ngOnDestroy() {
|
|
234
|
+
this._destroyWidget();
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/** @nocollapse */ DxDashboardControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxDashboardControlComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.DxTemplateHost }, { token: i1.WatcherHelper }, { token: i1.NestedOptionHost }, { token: i2.TransferState }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
238
|
+
/** @nocollapse */ DxDashboardControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DxDashboardControlComponent, selector: "dx-dashboard-control", inputs: { ajaxRemoteService: "ajaxRemoteService", allowMaximizeItems: "allowMaximizeItems", dashboardId: "dashboardId", dataRequestOptions: "dataRequestOptions", encodeHtml: "encodeHtml", endpoint: "endpoint", extensions: "extensions", fetchRemoteService: "fetchRemoteService", initialDashboardId: "initialDashboardId", initialDashboardState: "initialDashboardState", limitVisibleDataMode: "limitVisibleDataMode", loadDefaultDashboard: "loadDefaultDashboard", nonce: "nonce", resizeByTimer: "resizeByTimer", showConfirmationOnBrowserClosing: "showConfirmationOnBrowserClosing", useNeutralFilterMode: "useNeutralFilterMode", workingMode: "workingMode" }, outputs: { onBeforeRender: "onBeforeRender", onDashboardBeginUpdate: "onDashboardBeginUpdate", onDashboardEndUpdate: "onDashboardEndUpdate", onDashboardInitialized: "onDashboardInitialized", onDashboardInitializing: "onDashboardInitializing", onDashboardStateChanged: "onDashboardStateChanged", onInitializing: "onInitializing", onItemBeginUpdate: "onItemBeginUpdate", onItemEndUpdate: "onItemEndUpdate", onOptionChanged: "onOptionChanged", ajaxRemoteServiceChange: "ajaxRemoteServiceChange", allowMaximizeItemsChange: "allowMaximizeItemsChange", dashboardIdChange: "dashboardIdChange", dataRequestOptionsChange: "dataRequestOptionsChange", encodeHtmlChange: "encodeHtmlChange", endpointChange: "endpointChange", extensionsChange: "extensionsChange", fetchRemoteServiceChange: "fetchRemoteServiceChange", initialDashboardIdChange: "initialDashboardIdChange", initialDashboardStateChange: "initialDashboardStateChange", limitVisibleDataModeChange: "limitVisibleDataModeChange", loadDefaultDashboardChange: "loadDefaultDashboardChange", nonceChange: "nonceChange", resizeByTimerChange: "resizeByTimerChange", showConfirmationOnBrowserClosingChange: "showConfirmationOnBrowserClosingChange", useNeutralFilterModeChange: "useNeutralFilterModeChange", workingModeChange: "workingModeChange" }, providers: [
|
|
239
|
+
DxTemplateHost,
|
|
240
|
+
WatcherHelper,
|
|
241
|
+
NestedOptionHost
|
|
242
|
+
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxDashboardControlComponent, decorators: [{
|
|
244
|
+
type: Component,
|
|
245
|
+
args: [{
|
|
246
|
+
selector: 'dx-dashboard-control',
|
|
247
|
+
template: '',
|
|
248
|
+
providers: [
|
|
249
|
+
DxTemplateHost,
|
|
250
|
+
WatcherHelper,
|
|
251
|
+
NestedOptionHost
|
|
252
|
+
]
|
|
253
|
+
}]
|
|
254
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.DxTemplateHost }, { type: i1.WatcherHelper }, { type: i1.NestedOptionHost }, { type: i2.TransferState }, { type: undefined, decorators: [{
|
|
255
|
+
type: Inject,
|
|
256
|
+
args: [PLATFORM_ID]
|
|
257
|
+
}] }]; }, propDecorators: { ajaxRemoteService: [{
|
|
258
|
+
type: Input
|
|
259
|
+
}], allowMaximizeItems: [{
|
|
260
|
+
type: Input
|
|
261
|
+
}], dashboardId: [{
|
|
262
|
+
type: Input
|
|
263
|
+
}], dataRequestOptions: [{
|
|
264
|
+
type: Input
|
|
265
|
+
}], encodeHtml: [{
|
|
266
|
+
type: Input
|
|
267
|
+
}], endpoint: [{
|
|
268
|
+
type: Input
|
|
269
|
+
}], extensions: [{
|
|
270
|
+
type: Input
|
|
271
|
+
}], fetchRemoteService: [{
|
|
272
|
+
type: Input
|
|
273
|
+
}], initialDashboardId: [{
|
|
274
|
+
type: Input
|
|
275
|
+
}], initialDashboardState: [{
|
|
276
|
+
type: Input
|
|
277
|
+
}], limitVisibleDataMode: [{
|
|
278
|
+
type: Input
|
|
279
|
+
}], loadDefaultDashboard: [{
|
|
280
|
+
type: Input
|
|
281
|
+
}], nonce: [{
|
|
282
|
+
type: Input
|
|
283
|
+
}], resizeByTimer: [{
|
|
284
|
+
type: Input
|
|
285
|
+
}], showConfirmationOnBrowserClosing: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}], useNeutralFilterMode: [{
|
|
288
|
+
type: Input
|
|
289
|
+
}], workingMode: [{
|
|
290
|
+
type: Input
|
|
291
|
+
}], onBeforeRender: [{
|
|
292
|
+
type: Output
|
|
293
|
+
}], onDashboardBeginUpdate: [{
|
|
294
|
+
type: Output
|
|
295
|
+
}], onDashboardEndUpdate: [{
|
|
296
|
+
type: Output
|
|
297
|
+
}], onDashboardInitialized: [{
|
|
298
|
+
type: Output
|
|
299
|
+
}], onDashboardInitializing: [{
|
|
300
|
+
type: Output
|
|
301
|
+
}], onDashboardStateChanged: [{
|
|
302
|
+
type: Output
|
|
303
|
+
}], onInitializing: [{
|
|
304
|
+
type: Output
|
|
305
|
+
}], onItemBeginUpdate: [{
|
|
306
|
+
type: Output
|
|
307
|
+
}], onItemEndUpdate: [{
|
|
308
|
+
type: Output
|
|
309
|
+
}], onOptionChanged: [{
|
|
310
|
+
type: Output
|
|
311
|
+
}], ajaxRemoteServiceChange: [{
|
|
312
|
+
type: Output
|
|
313
|
+
}], allowMaximizeItemsChange: [{
|
|
314
|
+
type: Output
|
|
315
|
+
}], dashboardIdChange: [{
|
|
316
|
+
type: Output
|
|
317
|
+
}], dataRequestOptionsChange: [{
|
|
318
|
+
type: Output
|
|
319
|
+
}], encodeHtmlChange: [{
|
|
320
|
+
type: Output
|
|
321
|
+
}], endpointChange: [{
|
|
322
|
+
type: Output
|
|
323
|
+
}], extensionsChange: [{
|
|
324
|
+
type: Output
|
|
325
|
+
}], fetchRemoteServiceChange: [{
|
|
326
|
+
type: Output
|
|
327
|
+
}], initialDashboardIdChange: [{
|
|
328
|
+
type: Output
|
|
329
|
+
}], initialDashboardStateChange: [{
|
|
330
|
+
type: Output
|
|
331
|
+
}], limitVisibleDataModeChange: [{
|
|
332
|
+
type: Output
|
|
333
|
+
}], loadDefaultDashboardChange: [{
|
|
334
|
+
type: Output
|
|
335
|
+
}], nonceChange: [{
|
|
336
|
+
type: Output
|
|
337
|
+
}], resizeByTimerChange: [{
|
|
338
|
+
type: Output
|
|
339
|
+
}], showConfirmationOnBrowserClosingChange: [{
|
|
340
|
+
type: Output
|
|
341
|
+
}], useNeutralFilterModeChange: [{
|
|
342
|
+
type: Output
|
|
343
|
+
}], workingModeChange: [{
|
|
344
|
+
type: Output
|
|
345
|
+
}] } });
|
|
346
|
+
export class DxDashboardControlModule {
|
|
347
|
+
}
|
|
348
|
+
/** @nocollapse */ DxDashboardControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxDashboardControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
349
|
+
/** @nocollapse */ DxDashboardControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DxDashboardControlModule, declarations: [DxDashboardControlComponent], imports: [DxoAjaxRemoteServiceModule,
|
|
350
|
+
DxoDataRequestOptionsModule,
|
|
351
|
+
DxoExtensionsModule,
|
|
352
|
+
DxoChartIndicatorsModule,
|
|
353
|
+
DxoDashboardExportModule,
|
|
354
|
+
DxoDashboardParameterDialogModule,
|
|
355
|
+
DxoDataInspectorModule,
|
|
356
|
+
DxoDataSourceWizardModule,
|
|
357
|
+
DxoWizardSettingsModule,
|
|
358
|
+
DxoDesignerToolbarModule,
|
|
359
|
+
DxoItemBindingPanelModule,
|
|
360
|
+
DxoItemOptionsPanelModule,
|
|
361
|
+
DxoMobileLayoutModule,
|
|
362
|
+
DxoViewerApiModule,
|
|
363
|
+
DxoFetchRemoteServiceModule,
|
|
364
|
+
DxIntegrationModule,
|
|
365
|
+
DxTemplateModule], exports: [DxDashboardControlComponent, DxoAjaxRemoteServiceModule,
|
|
366
|
+
DxoDataRequestOptionsModule,
|
|
367
|
+
DxoExtensionsModule,
|
|
368
|
+
DxoChartIndicatorsModule,
|
|
369
|
+
DxoDashboardExportModule,
|
|
370
|
+
DxoDashboardParameterDialogModule,
|
|
371
|
+
DxoDataInspectorModule,
|
|
372
|
+
DxoDataSourceWizardModule,
|
|
373
|
+
DxoWizardSettingsModule,
|
|
374
|
+
DxoDesignerToolbarModule,
|
|
375
|
+
DxoItemBindingPanelModule,
|
|
376
|
+
DxoItemOptionsPanelModule,
|
|
377
|
+
DxoMobileLayoutModule,
|
|
378
|
+
DxoViewerApiModule,
|
|
379
|
+
DxoFetchRemoteServiceModule,
|
|
380
|
+
DxTemplateModule] });
|
|
381
|
+
/** @nocollapse */ DxDashboardControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxDashboardControlModule, imports: [DxoAjaxRemoteServiceModule,
|
|
382
|
+
DxoDataRequestOptionsModule,
|
|
383
|
+
DxoExtensionsModule,
|
|
384
|
+
DxoChartIndicatorsModule,
|
|
385
|
+
DxoDashboardExportModule,
|
|
386
|
+
DxoDashboardParameterDialogModule,
|
|
387
|
+
DxoDataInspectorModule,
|
|
388
|
+
DxoDataSourceWizardModule,
|
|
389
|
+
DxoWizardSettingsModule,
|
|
390
|
+
DxoDesignerToolbarModule,
|
|
391
|
+
DxoItemBindingPanelModule,
|
|
392
|
+
DxoItemOptionsPanelModule,
|
|
393
|
+
DxoMobileLayoutModule,
|
|
394
|
+
DxoViewerApiModule,
|
|
395
|
+
DxoFetchRemoteServiceModule,
|
|
396
|
+
DxIntegrationModule,
|
|
397
|
+
DxTemplateModule, DxoAjaxRemoteServiceModule,
|
|
398
|
+
DxoDataRequestOptionsModule,
|
|
399
|
+
DxoExtensionsModule,
|
|
400
|
+
DxoChartIndicatorsModule,
|
|
401
|
+
DxoDashboardExportModule,
|
|
402
|
+
DxoDashboardParameterDialogModule,
|
|
403
|
+
DxoDataInspectorModule,
|
|
404
|
+
DxoDataSourceWizardModule,
|
|
405
|
+
DxoWizardSettingsModule,
|
|
406
|
+
DxoDesignerToolbarModule,
|
|
407
|
+
DxoItemBindingPanelModule,
|
|
408
|
+
DxoItemOptionsPanelModule,
|
|
409
|
+
DxoMobileLayoutModule,
|
|
410
|
+
DxoViewerApiModule,
|
|
411
|
+
DxoFetchRemoteServiceModule,
|
|
412
|
+
DxTemplateModule] });
|
|
413
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxDashboardControlModule, decorators: [{
|
|
414
|
+
type: NgModule,
|
|
415
|
+
args: [{
|
|
416
|
+
imports: [
|
|
417
|
+
DxoAjaxRemoteServiceModule,
|
|
418
|
+
DxoDataRequestOptionsModule,
|
|
419
|
+
DxoExtensionsModule,
|
|
420
|
+
DxoChartIndicatorsModule,
|
|
421
|
+
DxoDashboardExportModule,
|
|
422
|
+
DxoDashboardParameterDialogModule,
|
|
423
|
+
DxoDataInspectorModule,
|
|
424
|
+
DxoDataSourceWizardModule,
|
|
425
|
+
DxoWizardSettingsModule,
|
|
426
|
+
DxoDesignerToolbarModule,
|
|
427
|
+
DxoItemBindingPanelModule,
|
|
428
|
+
DxoItemOptionsPanelModule,
|
|
429
|
+
DxoMobileLayoutModule,
|
|
430
|
+
DxoViewerApiModule,
|
|
431
|
+
DxoFetchRemoteServiceModule,
|
|
432
|
+
DxIntegrationModule,
|
|
433
|
+
DxTemplateModule
|
|
434
|
+
],
|
|
435
|
+
declarations: [
|
|
436
|
+
DxDashboardControlComponent
|
|
437
|
+
],
|
|
438
|
+
exports: [
|
|
439
|
+
DxDashboardControlComponent,
|
|
440
|
+
DxoAjaxRemoteServiceModule,
|
|
441
|
+
DxoDataRequestOptionsModule,
|
|
442
|
+
DxoExtensionsModule,
|
|
443
|
+
DxoChartIndicatorsModule,
|
|
444
|
+
DxoDashboardExportModule,
|
|
445
|
+
DxoDashboardParameterDialogModule,
|
|
446
|
+
DxoDataInspectorModule,
|
|
447
|
+
DxoDataSourceWizardModule,
|
|
448
|
+
DxoWizardSettingsModule,
|
|
449
|
+
DxoDesignerToolbarModule,
|
|
450
|
+
DxoItemBindingPanelModule,
|
|
451
|
+
DxoItemOptionsPanelModule,
|
|
452
|
+
DxoMobileLayoutModule,
|
|
453
|
+
DxoViewerApiModule,
|
|
454
|
+
DxoFetchRemoteServiceModule,
|
|
455
|
+
DxTemplateModule
|
|
456
|
+
]
|
|
457
|
+
}]
|
|
458
|
+
}] });
|
|
459
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWkvZGFzaGJvYXJkLWNvbnRyb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUNILFNBQVMsRUFDVCxRQUFRLEVBR1IsV0FBVyxFQUNYLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUdULE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sa0JBQWtCLE1BQU0sd0NBQXdDLENBQUM7QUFHeEUsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FB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QixrQkFBa0I7d0JBQ2xCLDJCQUEyQjt3QkFDM0IsbUJBQW1CO3dCQUNuQixnQkFBZ0I7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDWiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4QixpQ0FBaUM7d0JBQ2pDLHNCQUFzQjt3QkFDdEIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQiwyQkFBMkI7d0JBQzNCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cblxuXG5pbXBvcnQgeyBUcmFuc2ZlclN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE5nTW9kdWxlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgTmdab25lLFxuICAgIFBMQVRGT1JNX0lELFxuICAgIEluamVjdCxcblxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgRXZlbnRFbWl0dGVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IElEYXNoYm9hcmREYXRhU291cmNlV2l6YXJkU2V0dGluZ3MgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC9kZXNpZ25lci9kYXRhLXNvdXJjZS13aXphcmQvZGF0YS1zb3VyY2Utd2l6YXJkLWV4dGVuc2lvbic7XG5cbmltcG9ydCBEeERhc2hib2FyZENvbnRyb2wgZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQvaW50ZWdyYXRpb24vaW5kZXgnO1xuXG5cbmltcG9ydCB7XG4gICAgRHhDb21wb25lbnQsXG4gICAgRHhUZW1wbGF0ZUhvc3QsXG4gICAgRHhJbnRlZ3JhdGlvbk1vZHVsZSxcbiAgICBEeFRlbXBsYXRlTW9kdWxlLFxuICAgIE5lc3RlZE9wdGlvbkhvc3QsXG4gICAgV2F0Y2hlckhlbHBlclxufSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IER4b0FqYXhSZW1vdGVTZXJ2aWNlTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRGF0YVJlcXVlc3RPcHRpb25zTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b0NoYXJ0SW5kaWNhdG9yc01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b0Rhc2hib2FyZEV4cG9ydE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b0Rhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b0RhdGFJbnNwZWN0b3JNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9EYXRhU291cmNlV2l6YXJkTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvV2l6YXJkU2V0dGluZ3NNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9EZXNpZ25lclRvb2xiYXJNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9JdGVtQmluZGluZ1BhbmVsTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvSXRlbU9wdGlvbnNQYW5lbE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b01vYmlsZUxheW91dE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b1ZpZXdlckFwaU1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b0ZldGNoUmVtb3RlU2VydmljZU1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcblxuXG5cblxuLyoqXG4gKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sXVxuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHgtZGFzaGJvYXJkLWNvbnRyb2wnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRHhUZW1wbGF0ZUhvc3QsXG4gICAgICAgIFdhdGNoZXJIZWxwZXIsXG4gICAgICAgIE5lc3RlZE9wdGlvbkhvc3RcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIER4RGFzaGJvYXJkQ29udHJvbENvbXBvbmVudCBleHRlbmRzIER4Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBpbnN0YW5jZTogRHhEYXNoYm9hcmRDb250cm9sO1xuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuYWpheFJlbW90ZVNlcnZpY2VdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgYWpheFJlbW90ZVNlcnZpY2UoKTogeyBiZWZvcmVTZW5kPzogRnVuY3Rpb24sIGNvbXBsZXRlPzogRnVuY3Rpb24sIGhlYWRlcnM/OiBhbnkgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2FqYXhSZW1vdGVTZXJ2aWNlJyk7XG4gICAgfVxuICAgIHNldCBhamF4UmVtb3RlU2VydmljZSh2YWx1ZTogeyBiZWZvcmVTZW5kPzogRnVuY3Rpb24sIGNvbXBsZXRlPzogRnVuY3Rpb24sIGhlYWRlcnM/OiBhbnkgfSkge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2FqYXhSZW1vdGVTZXJ2aWNlJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuYWxsb3dNYXhpbWl6ZUl0ZW1zXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGFsbG93TWF4aW1pemVJdGVtcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignYWxsb3dNYXhpbWl6ZUl0ZW1zJyk7XG4gICAgfVxuICAgIHNldCBhbGxvd01heGltaXplSXRlbXModmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdhbGxvd01heGltaXplSXRlbXMnLCB2YWx1ZSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5kYXNoYm9hcmRJZF1cbiAgICBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBkYXNoYm9hcmRJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdkYXNoYm9hcmRJZCcpO1xuICAgIH1cbiAgICBzZXQgZGFzaGJvYXJkSWQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2Rhc2hib2FyZElkJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuZGF0YVJlcXVlc3RPcHRpb25zXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRhdGFSZXF1ZXN0T3B0aW9ucygpOiB7IGl0ZW1EYXRhTG9hZGluZ01vZGU/OiBzdHJpbmcsIGl0ZW1EYXRhUmVxdWVzdE1vZGU/OiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2RhdGFSZXF1ZXN0T3B0aW9ucycpO1xuICAgIH1cbiAgICBzZXQgZGF0YVJlcXVlc3RPcHRpb25zKHZhbHVlOiB7IGl0ZW1EYXRhTG9hZGluZ01vZGU/OiBzdHJpbmcsIGl0ZW1EYXRhUmVxdWVzdE1vZGU/OiBzdHJpbmcgfSkge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2RhdGFSZXF1ZXN0T3B0aW9ucycsIHZhbHVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmVuY29kZUh0bWxdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZW5jb2RlSHRtbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZW5jb2RlSHRtbCcpO1xuICAgIH1cbiAgICBzZXQgZW5jb2RlSHRtbCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2VuY29kZUh0bWwnLCB2YWx1ZSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5lbmRwb2ludF1cbiAgICBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBlbmRwb2ludCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdlbmRwb2ludCcpO1xuICAgIH1cbiAgICBzZXQgZW5kcG9pbnQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2VuZHBvaW50JywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuZXh0ZW5zaW9uc11cbiAgICBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBleHRlbnNpb25zKCk6IHsgY2hhcnRJbmRpY2F0b3JzPzogeyBjdXN0b21JbmRpY2F0b3JUeXBlcz86IGFueSB9LCBkYXNoYm9hcmRFeHBvcnQ/OiB7IGFsbG93RXhwb3J0RGFzaGJvYXJkPzogYm9vbGVhbiwgYWxsb3dFeHBvcnREYXNoYm9hcmRJdGVtcz86IGJvb2xlYW4sIG9uRXhwb3J0RGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3duPzogRnVuY3Rpb24gfSwgZGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nPzogeyBvbkR5bmFtaWNMb29rVXBWYWx1ZXNMb2FkZWQ/OiBGdW5jdGlvbiwgb25IaWRkZW4/OiBGdW5jdGlvbiwgb25TaG93aW5nPzogRnVuY3Rpb24sIG9uU2hvd24/OiBGdW5jdGlvbiB9LCBkYXRhSW5zcGVjdG9yPzogeyBhbGxvd0luc3BlY3RBZ2dyZWdhdGVkRGF0YT86IGJvb2xlYW4sIGFsbG93SW5zcGVjdFJhd0RhdGE/OiBib29sZWFuLCBvbkRpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93bj86IEZ1bmN0aW9uLCBvbkdyaWRDb250ZW50UmVhZHk/OiBGdW5jdGlvbiwgb25HcmlkSW5pdGlhbGl6ZWQ/OiBGdW5jdGlvbiB9LCBkYXRhU291cmNlV2l6YXJkPzogeyBhbGxvd0NyZWF0ZU5ld0pzb25Db25uZWN0aW9uPzogYm9vbGVhbiwgZW5hYmxlQ3VzdG9tU3FsPzogYm9vbGVhbiwgb25DdXN0b21pemVEYXRhU291cmNlV2l6YXJkPzogRnVuY3Rpb24sIHdpemFyZFNldHRpbmdzPzogSURhc2hib2FyZERhdGFTb3VyY2VXaXphcmRTZXR0aW5ncyB9LCBkZXNpZ25lclRvb2xiYXI/OiB7IG9uUHJlcGFyaW5nPzogRnVuY3Rpb24gfSwgaXRlbUJpbmRpbmdQYW5lbD86IHsgb25DdXN0b21pemVEYXRhSXRlbUNvbnRhaW5lclNlY3Rpb25zPzogRnVuY3Rpb24gfSwgaXRlbU9wdGlvbnNQYW5lbD86IHsgb25DdXN0b21pemVTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIG1vYmlsZUxheW91dD86IHsgbW9iaWxlTGF5b3V0RW5hYmxlZD86IHN0cmluZyB9LCB2aWV3ZXJBcGk/OiB7IG9uRGFzaGJvYXJkVGl0bGVUb29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1BY3Rpb25BdmFpbGFiaWxpdHlDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUNhcHRpb25Ub29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DbGljaz86IEZ1bmN0aW9uLCBvbkl0ZW1EcmlsbERvd25TdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtRWxlbWVudEN1c3RvbUNvbG9yPzogRnVuY3Rpb24sIG9uSXRlbU1hc3RlckZpbHRlclN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1TZWxlY3Rpb25DaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVZpc3VhbEludGVyYWN0aXZpdHk/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0Q3JlYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRPcHRpb25zUHJlcGFyZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGluZz86IEZ1bmN0aW9uLCBvblNlbGVjdGVkVGFiUGFnZUNoYW5nZWQ/OiBGdW5jdGlvbiB9IH0ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdleHRlbnNpb25zJyk7XG4gICAgfVxuICAgIHNldCBleHRlbnNpb25zKHZhbHVlOiB7IGNoYXJ0SW5kaWNhdG9ycz86IHsgY3VzdG9tSW5kaWNhdG9yVHlwZXM/OiBhbnkgfSwgZGFzaGJvYXJkRXhwb3J0PzogeyBhbGxvd0V4cG9ydERhc2hib2FyZD86IGJvb2xlYW4sIGFsbG93RXhwb3J0RGFzaGJvYXJkSXRlbXM/OiBib29sZWFuLCBvbkV4cG9ydERpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93bj86IEZ1bmN0aW9uIH0sIGRhc2hib2FyZFBhcmFtZXRlckRpYWxvZz86IHsgb25EeW5hbWljTG9va1VwVmFsdWVzTG9hZGVkPzogRnVuY3Rpb24sIG9uSGlkZGVuPzogRnVuY3Rpb24sIG9uU2hvd2luZz86IEZ1bmN0aW9uLCBvblNob3duPzogRnVuY3Rpb24gfSwgZGF0YUluc3BlY3Rvcj86IHsgYWxsb3dJbnNwZWN0QWdncmVnYXRlZERhdGE/OiBib29sZWFuLCBhbGxvd0luc3BlY3RSYXdEYXRhPzogYm9vbGVhbiwgb25EaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd24/OiBGdW5jdGlvbiwgb25HcmlkQ29udGVudFJlYWR5PzogRnVuY3Rpb24sIG9uR3JpZEluaXRpYWxpemVkPzogRnVuY3Rpb24gfSwgZGF0YVNvdXJjZVdpemFyZD86IHsgYWxsb3dDcmVhdGVOZXdKc29uQ29ubmVjdGlvbj86IGJvb2xlYW4sIGVuYWJsZUN1c3RvbVNxbD86IGJvb2xlYW4sIG9uQ3VzdG9taXplRGF0YVNvdXJjZVdpemFyZD86IEZ1bmN0aW9uLCB3aXphcmRTZXR0aW5ncz86IElEYXNoYm9hcmREYXRhU291cmNlV2l6YXJkU2V0dGluZ3MgfSwgZGVzaWduZXJUb29sYmFyPzogeyBvblByZXBhcmluZz86IEZ1bmN0aW9uIH0sIGl0ZW1CaW5kaW5nUGFuZWw/OiB7IG9uQ3VzdG9taXplRGF0YUl0ZW1Db250YWluZXJTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIGl0ZW1PcHRpb25zUGFuZWw/OiB7IG9uQ3VzdG9taXplU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBtb2JpbGVMYXlvdXQ/OiB7IG1vYmlsZUxheW91dEVuYWJsZWQ/OiBzdHJpbmcgfSwgdmlld2VyQXBpPzogeyBvbkRhc2hib2FyZFRpdGxlVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQWN0aW9uQXZhaWxhYmlsaXR5Q2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DYXB0aW9uVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2xpY2s/OiBGdW5jdGlvbiwgb25JdGVtRHJpbGxEb3duU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUVsZW1lbnRDdXN0b21Db2xvcj86IEZ1bmN0aW9uLCBvbkl0ZW1NYXN0ZXJGaWx0ZXJTdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtU2VsZWN0aW9uQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1WaXN1YWxJbnRlcmFjdGl2aXR5PzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldENyZWF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0T3B0aW9uc1ByZXBhcmVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRpbmc/OiBGdW5jdGlvbiwgb25TZWxlY3RlZFRhYlBhZ2VDaGFuZ2VkPzogRnVuY3Rpb24gfSB9KSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZXh0ZW5zaW9ucycsIHZhbHVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmZldGNoUmVtb3RlU2VydmljZV1cbiAgICBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBmZXRjaFJlbW90ZVNlcnZpY2UoKTogeyBiZWZvcmVTZW5kPzogRnVuY3Rpb24sIGhlYWRlcnM/OiBhbnkgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2ZldGNoUmVtb3RlU2VydmljZScpO1xuICAgIH1cbiAgICBzZXQgZmV0Y2hSZW1vdGVTZXJ2aWNlKHZhbHVlOiB7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9KSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZmV0Y2hSZW1vdGVTZXJ2aWNlJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuaW5pdGlhbERhc2hib2FyZElkXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGluaXRpYWxEYXNoYm9hcmRJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdpbml0aWFsRGFzaGJvYXJkSWQnKTtcbiAgICB9XG4gICAgc2V0IGluaXRpYWxEYXNoYm9hcmRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaW5pdGlhbERhc2hib2FyZElkJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuaW5pdGlhbERhc2hib2FyZFN0YXRlXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGluaXRpYWxEYXNoYm9hcmRTdGF0ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdpbml0aWFsRGFzaGJvYXJkU3RhdGUnKTtcbiAgICB9XG4gICAgc2V0IGluaXRpYWxEYXNoYm9hcmRTdGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaW5pdGlhbERhc2hib2FyZFN0YXRlJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMubGltaXRWaXNpYmxlRGF0YU1vZGVdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgbGltaXRWaXNpYmxlRGF0YU1vZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignbGltaXRWaXNpYmxlRGF0YU1vZGUnKTtcbiAgICB9XG4gICAgc2V0IGxpbWl0VmlzaWJsZURhdGFNb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdsaW1pdFZpc2libGVEYXRhTW9kZScsIHZhbHVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmxvYWREZWZhdWx0RGFzaGJvYXJkXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGxvYWREZWZhdWx0RGFzaGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdsb2FkRGVmYXVsdERhc2hib2FyZCcpO1xuICAgIH1cbiAgICBzZXQgbG9hZERlZmF1bHREYXNoYm9hcmQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdsb2FkRGVmYXVsdERhc2hib2FyZCcsIHZhbHVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm5vbmNlXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG5vbmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ25vbmNlJyk7XG4gICAgfVxuICAgIHNldCBub25jZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignbm9uY2UnLCB2YWx1ZSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5yZXNpemVCeVRpbWVyXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHJlc2l6ZUJ5VGltZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Jlc2l6ZUJ5VGltZXInKTtcbiAgICB9XG4gICAgc2V0IHJlc2l6ZUJ5VGltZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdyZXNpemVCeVRpbWVyJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmddXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nJyk7XG4gICAgfVxuICAgIHNldCBzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMudXNlTmV1dHJhbEZpbHRlck1vZGVdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgdXNlTmV1dHJhbEZpbHRlck1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3VzZU5ldXRyYWxGaWx0ZXJNb2RlJyk7XG4gICAgfVxuICAgIHNldCB1c2VOZXV0cmFsRmlsdGVyTW9kZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ3VzZU5ldXRyYWxGaWx0ZXJNb2RlJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMud29ya2luZ01vZGVdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgd29ya2luZ01vZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignd29ya2luZ01vZGUnKTtcbiAgICB9XG4gICAgc2V0IHdvcmtpbmdNb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCd3b3JraW5nTW9kZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkJlZm9yZVJlbmRlcl1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25CZWZvcmVSZW5kZXI6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25EYXNoYm9hcmRCZWdpblVwZGF0ZV1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRCZWdpblVwZGF0ZTogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkRhc2hib2FyZEVuZFVwZGF0ZV1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRFbmRVcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25EYXNoYm9hcmRJbml0aWFsaXplZF1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRJbml0aWFsaXplZDogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkRhc2hib2FyZEluaXRpYWxpemluZ11cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRJbml0aWFsaXppbmc6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25EYXNoYm9hcmRTdGF0ZUNoYW5nZWRdXG4gICAgXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkU3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm9uSW5pdGlhbGl6aW5nXVxuICAgIFxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkluaXRpYWxpemluZzogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkl0ZW1CZWdpblVwZGF0ZV1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25JdGVtQmVnaW5VcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25JdGVtRW5kVXBkYXRlXVxuICAgIFxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkl0ZW1FbmRVcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25PcHRpb25DaGFuZ2VkXVxuICAgIFxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbk9wdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgYWpheFJlbW90ZVNlcnZpY2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgY29tcGxldGU/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9PjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIGFsbG93TWF4aW1pemVJdGVtc0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZGFzaGJvYXJkSWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZGF0YVJlcXVlc3RPcHRpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBpdGVtRGF0YUxvYWRpbmdNb2RlPzogc3RyaW5nLCBpdGVtRGF0YVJlcXVlc3RNb2RlPzogc3RyaW5nIH0+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZW5jb2RlSHRtbENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZW5kcG9pbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZXh0ZW5zaW9uc0NoYW5nZTogRXZlbnRFbWl0dGVyPHsgY2hhcnRJbmRpY2F0b3JzPzogeyBjdXN0b21JbmRpY2F0b3JUeXBlcz86IGFueSB9LCBkYXNoYm9hcmRFeHBvcnQ/OiB7IGFsbG93RXhwb3J0RGFzaGJvYXJkPzogYm9vbGVhbiwgYWxsb3dFeHBvcnREYXNoYm9hcmRJdGVtcz86IGJvb2xlYW4sIG9uRXhwb3J0RGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3duPzogRnVuY3Rpb24gfSwgZGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nPzogeyBvbkR5bmFtaWNMb29rVXBWYWx1ZXNMb2FkZWQ/OiBGdW5jdGlvbiwgb25IaWRkZW4/OiBGdW5jdGlvbiwgb25TaG93aW5nPzogRnVuY3Rpb24sIG9uU2hvd24/OiBGdW5jdGlvbiB9LCBkYXRhSW5zcGVjdG9yPzogeyBhbGxvd0luc3BlY3RBZ2dyZWdhdGVkRGF0YT86IGJvb2xlYW4sIGFsbG93SW5zcGVjdFJhd0RhdGE/OiBib29sZWFuLCBvbkRpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93bj86IEZ1bmN0aW9uLCBvbkdyaWRDb250ZW50UmVhZHk/OiBGdW5jdGlvbiwgb25HcmlkSW5pdGlhbGl6ZWQ/OiBGdW5jdGlvbiB9LCBkYXRhU291cmNlV2l6YXJkPzogeyBhbGxvd0NyZWF0ZU5ld0pzb25Db25uZWN0aW9uPzogYm9vbGVhbiwgZW5hYmxlQ3VzdG9tU3FsPzogYm9vbGVhbiwgb25DdXN0b21pemVEYXRhU291cmNlV2l6YXJkPzogRnVuY3Rpb24sIHdpemFyZFNldHRpbmdzPzogSURhc2hib2FyZERhdGFTb3VyY2VXaXphcmRTZXR0aW5ncyB9LCBkZXNpZ25lclRvb2xiYXI/OiB7IG9uUHJlcGFyaW5nPzogRnVuY3Rpb24gfSwgaXRlbUJpbmRpbmdQYW5lbD86IHsgb25DdXN0b21pemVEYXRhSXRlbUNvbnRhaW5lclNlY3Rpb25zPzogRnVuY3Rpb24gfSwgaXRlbU9wdGlvbnNQYW5lbD86IHsgb25DdXN0b21pemVTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIG1vYmlsZUxheW91dD86IHsgbW9iaWxlTGF5b3V0RW5hYmxlZD86IHN0cmluZyB9LCB2aWV3ZXJBcGk/OiB7IG9uRGFzaGJvYXJkVGl0bGVUb29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1BY3Rpb25BdmFpbGFiaWxpdHlDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUNhcHRpb25Ub29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DbGljaz86IEZ1bmN0aW9uLCBvbkl0ZW1EcmlsbERvd25TdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtRWxlbWVudEN1c3RvbUNvbG9yPzogRnVuY3Rpb24sIG9uSXRlbU1hc3RlckZpbHRlclN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1TZWxlY3Rpb25DaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVZpc3VhbEludGVyYWN0aXZpdHk/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0Q3JlYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRPcHRpb25zUHJlcGFyZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGluZz86IEZ1bmN0aW9uLCBvblNlbGVjdGVkVGFiUGFnZUNoYW5nZWQ/OiBGdW5jdGlvbiB9IH0+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZmV0Y2hSZW1vdGVTZXJ2aWNlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBiZWZvcmVTZW5kPzogRnVuY3Rpb24sIGhlYWRlcnM/OiBhbnkgfT47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBpbml0aWFsRGFzaGJvYXJkSWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgaW5pdGlhbERhc2hib2FyZFN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIGxpbWl0VmlzaWJsZURhdGFNb2RlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIGxvYWREZWZhdWx0RGFzaGJvYXJkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBub25jZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZXNpemVCeVRpbWVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZ0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdXNlTmV1dHJhbEZpbHRlck1vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIHdvcmtpbmdNb2RlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcblxuXG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG5nWm9uZTogTmdab25lLCB0ZW1wbGF0ZUhvc3Q6IER4VGVtcGxhdGVIb3N0LFxuICAgICAgICAgICAgX3dhdGNoZXJIZWxwZXI6IFdhdGNoZXJIZWxwZXIsXG4gICAgICAgICAgICBvcHRpb25Ib3N0OiBOZXN0ZWRPcHRpb25Ib3N0LFxuICAgICAgICAgICAgdHJhbnNmZXJTdGF0ZTogVHJhbnNmZXJTdGF0ZSxcbiAgICAgICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IGFueSkge1xuXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIG5nWm9uZSwgdGVtcGxhdGVIb3N0LCBfd2F0Y2hlckhlbHBlciwgdHJhbnNmZXJTdGF0ZSwgcGxhdGZvcm1JZCk7XG5cbiAgICAgICAgdGhpcy5fY3JlYXRlRXZlbnRFbWl0dGVycyhbXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2JlZm9yZVJlbmRlcicsIGVtaXQ6ICdvbkJlZm9yZVJlbmRlcicgfSxcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnZGFzaGJvYXJkQmVnaW5VcGRhdGUnLCBlbWl0OiAnb25EYXNoYm9hcmRCZWdpblVwZGF0ZScgfSxcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnZGFzaGJvYXJkRW5kVXBkYXRlJywgZW1pdDogJ29uRGFzaGJvYXJkRW5kVXBkYXRlJyB9LFxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRJbml0aWFsaXplZCcsIGVtaXQ6ICdvbkRhc2hib2FyZEluaXRpYWxpemVkJyB9LFxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRJbml0aWFsaXppbmcnLCBlbWl0OiAnb25EYXNoYm9hcmRJbml0aWFsaXppbmcnIH0sXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZFN0YXRlQ2hhbmdlZCcsIGVtaXQ6ICdvbkRhc2hib2FyZFN0YXRlQ2hhbmdlZCcgfSxcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnaW5pdGlhbGl6aW5nJywgZW1pdDogJ29uSW5pdGlhbGl6aW5nJyB9LFxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdpdGVtQmVnaW5VcGRhdGUnLCBlbWl0OiAnb25JdGVtQmVnaW5VcGRhdGUnIH0sXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2l0ZW1FbmRVcGRhdGUnLCBlbWl0OiAnb25JdGVtRW5kVXBkYXRlJyB9LFxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdvcHRpb25DaGFuZ2VkJywgZW1pdDogJ29uT3B0aW9uQ2hhbmdlZCcgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ2FqYXhSZW1vdGVTZXJ2aWNlQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnYWxsb3dNYXhpbWl6ZUl0ZW1zQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnZGFzaGJvYXJkSWRDaGFuZ2UnIH0sXG4gICAgICAgICAgICB7IGVtaXQ6ICdkYXRhUmVxdWVzdE9wdGlvbnNDaGFuZ2UnIH0sXG4gICAgICAgICAgICB7IGVtaXQ6ICdlbmNvZGVIdG1sQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnZW5kcG9pbnRDaGFuZ2UnIH0sXG4gICAgICAgICAgICB7IGVtaXQ6ICdleHRlbnNpb25zQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnZmV0Y2hSZW1vdGVTZXJ2aWNlQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnaW5pdGlhbERhc2hib2FyZElkQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnaW5pdGlhbERhc2hib2FyZFN0YXRlQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnbGltaXRWaXNpYmxlRGF0YU1vZGVDaGFuZ2UnIH0sXG4gICAgICAgICAgICB7IGVtaXQ6ICdsb2FkRGVmYXVsdERhc2hib2FyZENoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ25vbmNlQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAncmVzaXplQnlUaW1lckNoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAndXNlTmV1dHJhbEZpbHRlck1vZGVDaGFuZ2UnIH0sXG4gICAgICAgICAgICB7IGVtaXQ6ICd3b3JraW5nTW9kZUNoYW5nZScgfVxuICAgICAgICBdKTtcbiAgICAgICAgb3B0aW9uSG9zdC5zZXRIb3N0KHRoaXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY3JlYXRlSW5zdGFuY2UoZWxlbWVudCwgb3B0aW9ucykge1xuXG4gICAgICAgIHJldHVybiBuZXcgRHhEYXNoYm9hcmRDb250cm9sKGVsZW1lbnQsIG9wdGlvbnMpO1xuICAgIH1cblxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lXaWRnZXQoKTtcbiAgICB9XG5cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIER4b0FqYXhSZW1vdGVTZXJ2aWNlTW9kdWxlLFxuICAgIER4b0RhdGFSZXF1ZXN0T3B0aW9uc01vZHVsZSxcbiAgICBEeG9FeHRlbnNpb25zTW9kdWxlLFxuICAgIER4b0NoYXJ0SW5kaWNhdG9yc01vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRFeHBvcnRNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nTW9kdWxlLFxuICAgIER4b0RhdGFJbnNwZWN0b3JNb2R1bGUsXG4gICAgRHhvRGF0YVNvdXJjZVdpemFyZE1vZHVsZSxcbiAgICBEeG9XaXphcmRTZXR0aW5nc01vZHVsZSxcbiAgICBEeG9EZXNpZ25lclRvb2xiYXJNb2R1bGUsXG4gICAgRHhvSXRlbUJpbmRpbmdQYW5lbE1vZHVsZSxcbiAgICBEeG9JdGVtT3B0aW9uc1BhbmVsTW9kdWxlLFxuICAgIER4b01vYmlsZUxheW91dE1vZHVsZSxcbiAgICBEeG9WaWV3ZXJBcGlNb2R1bGUsXG4gICAgRHhvRmV0Y2hSZW1vdGVTZXJ2aWNlTW9kdWxlLFxuICAgIER4SW50ZWdyYXRpb25Nb2R1bGUsXG4gICAgRHhUZW1wbGF0ZU1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEeERhc2hib2FyZENvbnRyb2xDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIER4RGFzaGJvYXJkQ29udHJvbENvbXBvbmVudCxcbiAgICBEeG9BamF4UmVtb3RlU2VydmljZU1vZHVsZSxcbiAgICBEeG9EYXRhUmVxdWVzdE9wdGlvbnNNb2R1bGUsXG4gICAgRHhvRXh0ZW5zaW9uc01vZHVsZSxcbiAgICBEeG9DaGFydEluZGljYXRvcnNNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkRXhwb3J0TW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSxcbiAgICBEeG9EYXRhSW5zcGVjdG9yTW9kdWxlLFxuICAgIER4b0RhdGFTb3VyY2VXaXphcmRNb2R1bGUsXG4gICAgRHhvV2l6YXJkU2V0dGluZ3NNb2R1bGUsXG4gICAgRHhvRGVzaWduZXJUb29sYmFyTW9kdWxlLFxuICAgIER4b0l0ZW1CaW5kaW5nUGFuZWxNb2R1bGUsXG4gICAgRHhvSXRlbU9wdGlvbnNQYW5lbE1vZHVsZSxcbiAgICBEeG9Nb2JpbGVMYXlvdXRNb2R1bGUsXG4gICAgRHhvVmlld2VyQXBpTW9kdWxlLFxuICAgIER4b0ZldGNoUmVtb3RlU2VydmljZU1vZHVsZSxcbiAgICBEeFRlbXBsYXRlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRHhEYXNoYm9hcmRDb250cm9sTW9kdWxlIHsgfVxuXG5cbiJdfQ==
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/* tslint:disable:max-line-length */
|
|
2
|
+
import { Component, NgModule, Host, SkipSelf, Input } from '@angular/core';
|
|
3
|
+
import { NestedOptionHost, } from 'devextreme-angular/core';
|
|
4
|
+
import { NestedOption } from 'devextreme-angular/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "devextreme-angular/core";
|
|
7
|
+
export class DxoAjaxRemoteServiceComponent extends NestedOption {
|
|
8
|
+
constructor(parentOptionHost, optionHost) {
|
|
9
|
+
super();
|
|
10
|
+
parentOptionHost.setNestedOption(this);
|
|
11
|
+
optionHost.setHost(this, this._fullOptionPath.bind(this));
|
|
12
|
+
}
|
|
13
|
+
get beforeSend() {
|
|
14
|
+
return this._getOption('beforeSend');
|
|
15
|
+
}
|
|
16
|
+
set beforeSend(value) {
|
|
17
|
+
this._setOption('beforeSend', value);
|
|
18
|
+
}
|
|
19
|
+
get complete() {
|
|
20
|
+
return this._getOption('complete');
|
|
21
|
+
}
|
|
22
|
+
set complete(value) {
|
|
23
|
+
this._setOption('complete', value);
|
|
24
|
+
}
|
|
25
|
+
get headers() {
|
|
26
|
+
return this._getOption('headers');
|
|
27
|
+
}
|
|
28
|
+
set headers(value) {
|
|
29
|
+
this._setOption('headers', value);
|
|
30
|
+
}
|
|
31
|
+
get _optionPath() {
|
|
32
|
+
return 'ajaxRemoteService';
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
this._addRecreatedComponent();
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
this._addRemovedOption(this._getOptionPath());
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** @nocollapse */ DxoAjaxRemoteServiceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxoAjaxRemoteServiceComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
/** @nocollapse */ DxoAjaxRemoteServiceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DxoAjaxRemoteServiceComponent, selector: "dxo-ajax-remote-service", inputs: { beforeSend: "beforeSend", complete: "complete", headers: "headers" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxoAjaxRemoteServiceComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: 'dxo-ajax-remote-service', template: '', providers: [NestedOptionHost] }]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.NestedOptionHost, decorators: [{
|
|
47
|
+
type: SkipSelf
|
|
48
|
+
}, {
|
|
49
|
+
type: Host
|
|
50
|
+
}] }, { type: i1.NestedOptionHost, decorators: [{
|
|
51
|
+
type: Host
|
|
52
|
+
}] }]; }, propDecorators: { beforeSend: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], complete: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], headers: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}] } });
|
|
59
|
+
export class DxoAjaxRemoteServiceModule {
|
|
60
|
+
}
|
|
61
|
+
/** @nocollapse */ DxoAjaxRemoteServiceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxoAjaxRemoteServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
62
|
+
/** @nocollapse */ DxoAjaxRemoteServiceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DxoAjaxRemoteServiceModule, declarations: [DxoAjaxRemoteServiceComponent], exports: [DxoAjaxRemoteServiceComponent] });
|
|
63
|
+
/** @nocollapse */ DxoAjaxRemoteServiceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxoAjaxRemoteServiceModule });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DxoAjaxRemoteServiceModule, decorators: [{
|
|
65
|
+
type: NgModule,
|
|
66
|
+
args: [{
|
|
67
|
+
declarations: [
|
|
68
|
+
DxoAjaxRemoteServiceComponent
|
|
69
|
+
],
|
|
70
|
+
exports: [
|
|
71
|
+
DxoAjaxRemoteServiceComponent
|
|
72
|
+
],
|
|
73
|
+
}]
|
|
74
|
+
}] });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWpheC1yZW1vdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS9uZXN0ZWQvYWpheC1yZW1vdGUtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFHcEMsT0FBTyxFQUNILFNBQVMsRUFHVCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFFBQVEsRUFDUixLQUFLLEVBQ1IsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUNILGdCQUFnQixHQUNuQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBU3ZELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxZQUFZO0lBK0IzRCxZQUFnQyxnQkFBa0MsRUFDbEQsVUFBNEI7UUFDeEMsS0FBSyxFQUFFLENBQUM7UUFDUixnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBbkNELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBZTtRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFlO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUNJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdELElBQWMsV0FBVztRQUNyQixPQUFPLG1CQUFtQixDQUFDO0lBQy9CLENBQUM7SUFXRCxRQUFRO1FBQ0osSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7NklBN0NRLDZCQUE2QjtpSUFBN0IsNkJBQTZCLGtJQUYzQixDQUFDLGdCQUFnQixDQUFDLGlEQUZuQixFQUFFOzJGQUlILDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDSSx5QkFBeUIsWUFDekIsRUFBRSxhQUVELENBQUMsZ0JBQWdCLENBQUM7OzBCQWlDaEIsUUFBUTs7MEJBQUksSUFBSTs7MEJBQ3BCLElBQUk7NENBOUJULFVBQVU7c0JBRGIsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsT0FBTztzQkFEVixLQUFLOztBQXlDVixNQUFNLE9BQU8sMEJBQTBCOzswSUFBMUIsMEJBQTBCOzJJQUExQiwwQkFBMEIsaUJBMUQxQiw2QkFBNkIsYUFBN0IsNkJBQTZCOzJJQTBEN0IsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBUnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cblxuXG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIE5nTW9kdWxlLFxuICAgIEhvc3QsXG4gICAgU2tpcFNlbGYsXG4gICAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuXG5cblxuaW1wb3J0IHtcbiAgICBOZXN0ZWRPcHRpb25Ib3N0LFxufSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZXN0ZWRPcHRpb24gfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvY29yZSc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkeG8tYWpheC1yZW1vdGUtc2VydmljZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0eWxlczogWycnXSxcbiAgICBwcm92aWRlcnM6IFtOZXN0ZWRPcHRpb25Ib3N0XVxufSlcbmV4cG9ydCBjbGFzcyBEeG9BamF4UmVtb3RlU2VydmljZUNvbXBvbmVudCBleHRlbmRzIE5lc3RlZE9wdGlvbiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0ICB7XG4gICAgQElucHV0KClcbiAgICBnZXQgYmVmb3JlU2VuZCgpOiBGdW5jdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2JlZm9yZVNlbmQnKTtcbiAgICB9XG4gICAgc2V0IGJlZm9yZVNlbmQodmFsdWU6IEZ1bmN0aW9uKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignYmVmb3JlU2VuZCcsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBjb21wbGV0ZSgpOiBGdW5jdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2NvbXBsZXRlJyk7XG4gICAgfVxuICAgIHNldCBjb21wbGV0ZSh2YWx1ZTogRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdjb21wbGV0ZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBoZWFkZXJzKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2hlYWRlcnMnKTtcbiAgICB9XG4gICAgc2V0IGhlYWRlcnModmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2hlYWRlcnMnLCB2YWx1ZSk7XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgZ2V0IF9vcHRpb25QYXRoKCkge1xuICAgICAgICByZXR1cm4gJ2FqYXhSZW1vdGVTZXJ2aWNlJztcbiAgICB9XG5cblxuICAgIGNvbnN0cnVjdG9yKEBTa2lwU2VsZigpIEBIb3N0KCkgcGFyZW50T3B0aW9uSG9zdDogTmVzdGVkT3B0aW9uSG9zdCxcbiAgICAgICAgICAgIEBIb3N0KCkgb3B0aW9uSG9zdDogTmVzdGVkT3B0aW9uSG9zdCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBwYXJlbnRPcHRpb25Ib3N0LnNldE5lc3RlZE9wdGlvbih0aGlzKTtcbiAgICAgICAgb3B0aW9uSG9zdC5zZXRIb3N0KHRoaXMsIHRoaXMuX2Z1bGxPcHRpb25QYXRoLmJpbmQodGhpcykpO1xuICAgIH1cblxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuX2FkZFJlY3JlYXRlZENvbXBvbmVudCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9hZGRSZW1vdmVkT3B0aW9uKHRoaXMuX2dldE9wdGlvblBhdGgoKSk7XG4gICAgfVxuXG5cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRHhvQWpheFJlbW90ZVNlcnZpY2VDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIER4b0FqYXhSZW1vdGVTZXJ2aWNlQ29tcG9uZW50XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIER4b0FqYXhSZW1vdGVTZXJ2aWNlTW9kdWxlIHsgfVxuIl19
|