@techextensor/tab-core-utility 2.2.141 → 2.2.142

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.
@@ -16,7 +16,7 @@ export class TabBlueprintService {
16
16
  */
17
17
  getNextStatus(payload, params) {
18
18
  const headers = getHeaders(); // Get headers for the API request
19
- return this.apiService.get(`${API.getNextStatus}?RecordId=${payload.recordId}&AppObjectId=${payload.appObjectId}`, params, headers);
19
+ return this.apiService.get(`${API.getNextStatus}?RecordId=${payload.recordId}${payload.appObjectId && `&AppObjectId=${payload.appObjectId}`}`, params, headers);
20
20
  }
21
21
  /**
22
22
  * Updates the status of a record.
@@ -26,7 +26,7 @@ export class TabBlueprintService {
26
26
  */
27
27
  updateStatus(payload, params) {
28
28
  const headers = getHeaders(); // Get headers for the API request
29
- return this.apiService.get(`${API.updateStatus}?RecordId=${payload.recordId}&AppObjectId=${payload.appObjectId}&NextPossibleStatusId=${payload.nextPossibleStatusId}`, params, headers);
29
+ return this.apiService.get(`${API.updateStatus}?RecordId=${payload.recordId}&NextPossibleStatusId=${payload.nextPossibleStatusId}${payload.appObjectId && `&AppObjectId=${payload.appObjectId}`}`, params, headers);
30
30
  }
31
31
  static { this.ɵfac = function TabBlueprintService_Factory(t) { return new (t || TabBlueprintService)(); }; }
32
32
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TabBlueprintService, factory: TabBlueprintService.ɵfac, providedIn: 'root' }); }
@@ -35,4 +35,4 @@ export class TabBlueprintService {
35
35
  type: Injectable,
36
36
  args: [{ providedIn: 'root' }]
37
37
  }], null, null); })();
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJsdWVwcmludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWJsdWVwcmludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFNakQsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBK0JsRDtJQTdCQzs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxPQUEwQixFQUFFLE1BQVk7UUFDcEQsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUMsQ0FBQyxrQ0FBa0M7UUFDaEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxHQUFHLENBQUMsYUFBYSxhQUFhLE9BQU8sQ0FBQyxRQUFRLGdCQUFnQixPQUFPLENBQUMsV0FBVyxFQUFFLEVBQ3RGLE1BQU0sRUFDTixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxPQUE0QixFQUFFLE1BQVk7UUFDckQsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUMsQ0FBQyxrQ0FBa0M7UUFDaEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxHQUFHLENBQUMsWUFBWSxhQUFhLE9BQU8sQ0FBQyxRQUFRLGdCQUFnQixPQUFPLENBQUMsV0FBVyx5QkFBeUIsT0FBTyxDQUFDLG9CQUFvQixFQUFFLEVBQzFJLE1BQU0sRUFDTixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7b0ZBL0JVLG1CQUFtQjt1RUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQixtQkFETixNQUFNOztpRkFDbkIsbUJBQW1CO2NBRC9CLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBnZXRIZWFkZXJzIH0gZnJvbSBcIi4uL3V0aWxzL3JlcS1yZXMudXRpbFwiO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBDb21tb25BcGlSZXNwb25zZSwgTmV4dFN0YXR1c1BheWxvYWQsIFVwZGF0ZVN0YXR1c1BheWxvYWQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9jb21tb24tYXBpLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYWJCbHVlcHJpbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIG5leHQgc3RhdHVzIG9mIGEgcmVjb3JkLlxuICAgKiBAcGFyYW0gcGF5bG9hZCAtIE9iamVjdCBjb250YWluaW5nIHRoZSByZWNvcmRJZCBhbmQgYXBwT2JqZWN0SWQuXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgQVBJIGNhbGwuXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIEFQSSByZXNwb25zZS5cbiAgICovXG4gIGdldE5leHRTdGF0dXMocGF5bG9hZDogTmV4dFN0YXR1c1BheWxvYWQsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpOyAvLyBHZXQgaGVhZGVycyBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoXG4gICAgICBgJHtBUEkuZ2V0TmV4dFN0YXR1c30/UmVjb3JkSWQ9JHtwYXlsb2FkLnJlY29yZElkfSZBcHBPYmplY3RJZD0ke3BheWxvYWQuYXBwT2JqZWN0SWR9YCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIGhlYWRlcnNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHN0YXR1cyBvZiBhIHJlY29yZC5cbiAgICogQHBhcmFtIHBheWxvYWQgLSBPYmplY3QgY29udGFpbmluZyB0aGUgbmV4dCBwb3NzaWJsZSBzdGF0dXMgSUQuXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgQVBJIGNhbGwuXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIEFQSSByZXNwb25zZS5cbiAgICovXG4gIHVwZGF0ZVN0YXR1cyhwYXlsb2FkOiBVcGRhdGVTdGF0dXNQYXlsb2FkLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTsgLy8gR2V0IGhlYWRlcnMgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxuICAgICAgYCR7QVBJLnVwZGF0ZVN0YXR1c30/UmVjb3JkSWQ9JHtwYXlsb2FkLnJlY29yZElkfSZBcHBPYmplY3RJZD0ke3BheWxvYWQuYXBwT2JqZWN0SWR9Jk5leHRQb3NzaWJsZVN0YXR1c0lkPSR7cGF5bG9hZC5uZXh0UG9zc2libGVTdGF0dXNJZH1gLFxuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVyc1xuICAgICk7XG4gIH1cbn0iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJsdWVwcmludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWJsdWVwcmludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFNakQsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBK0JsRDtJQTdCQzs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxPQUEwQixFQUFFLE1BQVk7UUFDcEQsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUMsQ0FBQyxrQ0FBa0M7UUFDaEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxHQUFHLENBQUMsYUFBYSxhQUFhLE9BQU8sQ0FBQyxRQUFRLEdBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxnQkFBZ0IsT0FBTyxDQUFDLFdBQVcsRUFBRyxFQUFFLEVBQ3BILE1BQU0sRUFDTixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxPQUE0QixFQUFFLE1BQVk7UUFDckQsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUMsQ0FBQyxrQ0FBa0M7UUFDaEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxHQUFHLENBQUMsWUFBWSxhQUFhLE9BQU8sQ0FBQyxRQUFRLHlCQUF5QixPQUFPLENBQUMsb0JBQW9CLEdBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxnQkFBZ0IsT0FBTyxDQUFDLFdBQVcsRUFBRyxFQUFFLEVBQ3hLLE1BQU0sRUFDTixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7b0ZBL0JVLG1CQUFtQjt1RUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQixtQkFETixNQUFNOztpRkFDbkIsbUJBQW1CO2NBRC9CLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBnZXRIZWFkZXJzIH0gZnJvbSBcIi4uL3V0aWxzL3JlcS1yZXMudXRpbFwiO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBDb21tb25BcGlSZXNwb25zZSwgTmV4dFN0YXR1c1BheWxvYWQsIFVwZGF0ZVN0YXR1c1BheWxvYWQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9jb21tb24tYXBpLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYWJCbHVlcHJpbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIG5leHQgc3RhdHVzIG9mIGEgcmVjb3JkLlxuICAgKiBAcGFyYW0gcGF5bG9hZCAtIE9iamVjdCBjb250YWluaW5nIHRoZSByZWNvcmRJZCBhbmQgYXBwT2JqZWN0SWQuXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgQVBJIGNhbGwuXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIEFQSSByZXNwb25zZS5cbiAgICovXG4gIGdldE5leHRTdGF0dXMocGF5bG9hZDogTmV4dFN0YXR1c1BheWxvYWQsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpOyAvLyBHZXQgaGVhZGVycyBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoXG4gICAgICBgJHtBUEkuZ2V0TmV4dFN0YXR1c30/UmVjb3JkSWQ9JHtwYXlsb2FkLnJlY29yZElkfSR7IHBheWxvYWQuYXBwT2JqZWN0SWQgJiYgYCZBcHBPYmplY3RJZD0ke3BheWxvYWQuYXBwT2JqZWN0SWR9YCB9YCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIGhlYWRlcnNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHN0YXR1cyBvZiBhIHJlY29yZC5cbiAgICogQHBhcmFtIHBheWxvYWQgLSBPYmplY3QgY29udGFpbmluZyB0aGUgbmV4dCBwb3NzaWJsZSBzdGF0dXMgSUQuXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgQVBJIGNhbGwuXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIEFQSSByZXNwb25zZS5cbiAgICovXG4gIHVwZGF0ZVN0YXR1cyhwYXlsb2FkOiBVcGRhdGVTdGF0dXNQYXlsb2FkLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTsgLy8gR2V0IGhlYWRlcnMgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxuICAgICAgYCR7QVBJLnVwZGF0ZVN0YXR1c30/UmVjb3JkSWQ9JHtwYXlsb2FkLnJlY29yZElkfSZOZXh0UG9zc2libGVTdGF0dXNJZD0ke3BheWxvYWQubmV4dFBvc3NpYmxlU3RhdHVzSWR9JHsgcGF5bG9hZC5hcHBPYmplY3RJZCAmJiBgJkFwcE9iamVjdElkPSR7cGF5bG9hZC5hcHBPYmplY3RJZH1gIH1gLFxuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVyc1xuICAgICk7XG4gIH1cbn0iXX0=
@@ -193,23 +193,6 @@ export class TabGetService {
193
193
  }
194
194
  return null;
195
195
  }
196
- /**
197
- * Insert Screen Performance Statistics
198
- * @param data - Data to insert
199
- * @returns Response from the API
200
- */
201
- insertScreenPerformanceStatistics(data) {
202
- const headers = getHeaders();
203
- if (headers) {
204
- // Set the tab components for the tenant
205
- return this.apiService.post(
206
- // API endpoint for inserting screen performance statistics
207
- `${API.InsertScreenPerformanceAnalytics}`, data,
208
- // The headers for the request
209
- headers);
210
- }
211
- return null;
212
- }
213
196
  /**
214
197
  * Executes an HTTP request with the specified method, URL, headers, and body.
215
198
  *
@@ -251,40 +234,6 @@ export class TabGetService {
251
234
  }
252
235
  return null;
253
236
  }
254
- /**
255
- * Retrieves the detailed analytics of a screen's performance.
256
- * @param data - Data to be sent to the API
257
- * @returns Response from the API
258
- */
259
- getDetailOfPerformanceAnalytics(data) {
260
- const headers = getHeaders();
261
- if (headers) {
262
- // Set the tab components for the tenant
263
- return this.apiService.post(
264
- // API endpoint for retrieving the detailed analytics of a screen's performance
265
- `${API.GetDetailOfPerformanceAnalytics}`, data,
266
- // The headers for the request
267
- headers);
268
- }
269
- return null;
270
- }
271
- /**
272
- * Get summary of performance analytics
273
- * @param data - Data to be sent to the API
274
- * @returns Response from the API
275
- */
276
- getSummaryOfPerformanceAnalytics(data) {
277
- const headers = getHeaders();
278
- if (headers) {
279
- // Set the tab components for the tenant
280
- return this.apiService.post(
281
- // API endpoint for inserting screen performance statistics
282
- `${API.GetSummaryOfPerformanceAnalytics}`, data,
283
- // The headers for the request
284
- headers);
285
- }
286
- return null;
287
- }
288
237
  static { this.ɵfac = function TabGetService_Factory(t) { return new (t || TabGetService)(); }; }
289
238
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TabGetService, factory: TabGetService.ɵfac, providedIn: 'root' }); }
290
239
  }
@@ -292,4 +241,4 @@ export class TabGetService {
292
241
  type: Injectable,
293
242
  args: [{ providedIn: 'root' }]
294
243
  }], null, null); })();
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQiwwQkFBMEIsR0FDM0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdqQyxNQUFNLE9BQU8sYUFBYTtJQUQxQjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0EwVGhEO0lBeFRDOzs7O09BSUc7SUFDSCxxQkFBcUIsQ0FBQyxJQUFTLEVBQUMsT0FBWTtRQUMxQyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FD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LENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhFQTNUVSxhQUFhO3VFQUFiLGFBQWEsV0FBYixhQUFhLG1CQURBLE1BQU07O2lGQUNuQixhQUFhO2NBRHpCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEU1FIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL2NvbW1vbi9kc3EuaGVscGVycyc7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tICcuLi91dGlscy9yZXEtcmVzLnV0aWwnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IGdldEFwcE9iamVjdCB9IGZyb20gJy4uL3V0aWxzL3RhYi1hcHAudXRpbCc7XHJcbmltcG9ydCB7IEFQSVNlbGVjdFF1ZXJ5IH0gZnJvbSAnLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbHRlclZhbHVlVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSAnLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwT2JqZWN0c0NvbnN0YW50cyxcclxuICBEYXRhU291cmNlUXVlcmllc0NvbnN0YW50cyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvYXBwLW9iamVjdC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJHZXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FIZWxwZXIgPSBpbmplY3QoRFNRSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZSBSQVcgRFNRIHdpdGggTmFtZVxyXG4gICAqIEBwYXJhbSBkYXRhIC0gT2JqZWN0IGNvbnRhaW5pbmcgQXBwT2JqZWN0TmFtZSBhbmQgRFNRTmFtZVxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGV4ZWN1dGVSQVdEU1FXaXRoTmFtZShkYXRhOiBhbnksaGVhZGVycz86YW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlciA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICBgJHtBUEkuZ2V0RFNRfS8ke2RhdGEuQXBwT2JqZWN0TmFtZX0vJHtkYXRhLkRTUU5hbWV9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIGhlYWRlclxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IFJlY29yZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBQYXJhbWV0ZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFJlY29yZChwYXJhbXM6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoYCR7QVBJLmdldHJlY29yZH1gLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlIFJhdyBTUUxcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZXhlY3V0ZVJhd1NxbChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkucmF3U1FMfSR7ZGF0YX1gLCAnJywgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBIaXN0b3J5XHJcbiAgICogQHBhcmFtIGFwcE9iamVjdElkIC0gSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdFxyXG4gICAqIEBwYXJhbSByZWNvcmRJZHMgLSBBcnJheSBvZiByZWNvcmQgSURzXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0SGlzdG9yeShhcHBPYmplY3RJZDogc3RyaW5nLCByZWNvcmRJZHM6IHN0cmluZ1tdKTogYW55IHtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHt9O1xyXG4gICAgaWYgKGFwcE9iamVjdElkICYmIHJlY29yZElkcykge1xyXG4gICAgICBjb25zdCBhcHBPYmplY3ROYW1lID0gZ2V0QXBwT2JqZWN0KGFwcE9iamVjdElkKT8uT2JqZWN0TmFtZTtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGFwcE9iamVjdE5hbWUgJiYgaGVhZGVycykge1xyXG4gICAgICAgIGRhdGEuT2JqZWN0TmFtZSA9IGFwcE9iamVjdE5hbWU7XHJcbiAgICAgICAgZGF0YS5SZWNvcmRJZHMgPSByZWNvcmRJZHM7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5nZXRIaXN0b3J5fWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBNSkFZIEltcG9ydFxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSBmb3IgUE1KQVkgaW1wb3J0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgcG1qYXlJbXBvcnQoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLnBtamF5SW1wb3J0fWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYSBzZWxlY3QgcXVlcnkgd2l0aCBvcHRpb25hbCBwYXJhbWV0ZXJzXHJcbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgc2VsZWN0IHF1ZXJ5IGRhdGFcclxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyAtIE9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gYmUgYXBwbGllZCB0byB0aGUgcXVlcnlcclxuICAgKiBAcmV0dXJucyBSZXN1bHQgb2YgdGhlIHNlbGVjdCBxdWVyeSBleGVjdXRpb25cclxuICAgKi9cclxuICBzZWxlY3RFeGVjdXRvcihkYXRhOiBBUElTZWxlY3RRdWVyeSwgcGFyYW1ldGVycz86IGFueSk6IGFueSB7XHJcbiAgICBpZiAocGFyYW1ldGVycyAmJiBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzKS5sZW5ndGgpIHtcclxuICAgICAgZGF0YS5XaGVyZUNsYXVzZS5GaWx0ZXJMb2dpYyA9IGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVyTG9naWMgfHwgJ1tdJztcclxuICAgICAgZGF0YS5XaGVyZUNsYXVzZS5GaWx0ZXJzID0gZGF0YS5XaGVyZUNsYXVzZS5GaWx0ZXJzIHx8IFtdO1xyXG4gICAgICBkYXRhLldoZXJlQ2xhdXNlLlNRTFF1ZXJ5ID0gZGF0YS5XaGVyZUNsYXVzZS5TUUxRdWVyeSB8fCAnJztcclxuICAgICAgLyoqXHJcbiAgICAgICAqIFJlcGxhY2VzIHZhbHVlcyBmcm9tIHBhcmFtZXRlcnMgaWYgbWF0Y2hlZCBhbmQgaW4gZm9ybWF0IG9mIHt7a2V5fX0uXHJcbiAgICAgICAqIEV4YW1wbGU6IGlmIGZpbHRlci5WYWx1ZSBpcyBcInt7dXNlcklkfX1cIiBhbmRcclxuICAgICAgICogdGhpcy5fdmFsdWUucGFyYW1ldGVycy51c2VySWQgaXMgMTIzLCB0aGVuIGZpbHRlci5WYWx1ZSB3aWxsIGJlIHJlcGxhY2VkIHdpdGhcclxuICAgICAgICogXCIxMjNcIi5cclxuICAgICAgICovXHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycy5mb3JFYWNoKChmaWx0ZXI6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIGZpbHRlci5WYWx1ZVR5cGUgaXMgMSAobGl0ZXJhbClcclxuICAgICAgICBpZiAoZmlsdGVyLlZhbHVlICYmIGZpbHRlci5WYWx1ZVR5cGUgPT0gRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwpIHtcclxuICAgICAgICAgIGZpbHRlci5WYWx1ZSA9IGZpbHRlci5WYWx1ZS5yZXBsYWNlKFxyXG4gICAgICAgICAgICAve3soW159XSspfX0vZyxcclxuICAgICAgICAgICAgKG1hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXJzW2tleV07XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGlmIHZhbHVlVHlwZSA9IDIgKFBhcmFtZXRlcnMpXHJcbiAgICAgICAgLy8gdGhlbiB3ZSBuZWVkIHRvIHJlcGxhY2UgdGhlIHZhbHVlIHdpdGggcGFyYW1ldGVycyBhbmQgY2hhbmdlIHRoZSB2YWx1ZVR5cGUgdG8gMSAoTGl0ZXJhbClcclxuICAgICAgICBlbHNlIGlmIChmaWx0ZXIuVmFsdWVUeXBlID09IEZpbHRlclZhbHVlVHlwZS5QYXJhbWV0ZXIpIHtcclxuICAgICAgICAgIGZpbHRlci5WYWx1ZSA9IGZpbHRlci5WYWx1ZS5yZXBsYWNlKFxyXG4gICAgICAgICAgICAvKFtefV0rKS9nLFxyXG4gICAgICAgICAgICAobWF0Y2g6IHN0cmluZywga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlcnNba2V5XTtcclxuICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDogbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGZpbHRlci5WYWx1ZVR5cGUgPSBGaWx0ZXJWYWx1ZVR5cGUuTGl0ZXJhbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICAoZGF0YT8uV2hlcmVDbGF1c2U/LkZpbHRlcnMgfHwgW10pLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGVsZW1lbnQuVmFsdWVUeXBlID09PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyICYmXHJcbiAgICAgICAgICBwYXJhbWV0ZXJzW2VsZW1lbnQuRmllbGRJRF1cclxuICAgICAgICApIHtcclxuICAgICAgICAgIGVsZW1lbnQuVmFsdWUgPSBwYXJhbWV0ZXJzW2VsZW1lbnQuRmllbGRJRF07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRzcUhlbHBlci5leGVjdXRlUXVlcnkoZGF0YSwgUXVlcnlUeXBlLlNlbGVjdCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhIHNlbGVjdCBxdWVyeSBieSBpdHMgSUQsIHVzaW5nIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHNlbGVjdFF1ZXJ5SWQgLSBUaGUgSUQgb2YgdGhlIHNlbGVjdCBxdWVyeSB0byBiZSBleGVjdXRlZC5cclxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyAtIE9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gYmUgYXBwbGllZCB0byB0aGUgcXVlcnkuXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgc2VsZWN0IHF1ZXJ5IGV4ZWN1dGlvbi5cclxuICAgKiBAdGhyb3dzIEFuIGVycm9yIGlmIHRoZSBBUEkgcmVzcG9uc2Ugc3RhdHVzIGNvZGUgaXMgbm90ICcyMDAnLlxyXG4gICAqL1xyXG4gIGV4ZWN1dGVTZWxlY3RRdWVyeUJ5SWQoc2VsZWN0UXVlcnlJZDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogYW55KTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVSQVdEU1FXaXRoTmFtZSh7XHJcbiAgICAgIEFwcE9iamVjdE5hbWU6IEFwcE9iamVjdHNDb25zdGFudHMuVEFCRF9RdWVyaWVzLFxyXG4gICAgICBEU1FOYW1lOiBEYXRhU291cmNlUXVlcmllc0NvbnN0YW50cy5EZXRhaWxfVEFCRF9RdWVyaWVzLFxyXG4gICAgICBSZXF0b2tlbnM6IHtcclxuICAgICAgICBJRDogc2VsZWN0UXVlcnlJZCxcclxuICAgICAgfSxcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLlN0YXR1c0NvZGUgPT09ICcyMDAnKSB7XHJcbiAgICAgICAgICBjb25zdCBDb25maWd1cmF0aW9uID0gSlNPTi5wYXJzZShyZXMuUmVzdWx0WzBdLkNvbmZpZ3VyYXRpb24gfHwgJ3t9Jyk7XHJcbiAgICAgICAgICBpZiAoQ29uZmlndXJhdGlvbi5XaGVyZUNsYXVzZT8uRmlsdGVycykge1xyXG4gICAgICAgICAgICBDb25maWd1cmF0aW9uLldoZXJlQ2xhdXNlLkZpbHRlcnMgPSB0aGlzLnJlbW92ZVdoZXJlQ2xhdXNlRm9yRW1wdHlQYXJhbXMoQ29uZmlndXJhdGlvbi5XaGVyZUNsYXVzZS5GaWx0ZXJzLCBwYXJhbWV0ZXJzIHx8IHt9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEV4ZWN1dG9yKENvbmZpZ3VyYXRpb24sIHBhcmFtZXRlcnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzLk1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHJlbW92ZVdoZXJlQ2xhdXNlRm9yRW1wdHlQYXJhbXMoZmlsdGVyczogYW55W10sIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gZmlsdGVycy5maWx0ZXIoKGZpbHRlcjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGZpbHRlci5WYWx1ZVR5cGUgPT09IEZpbHRlclZhbHVlVHlwZS5QYXJhbWV0ZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVyTmFtZSA9IGZpbHRlci5WYWx1ZTtcclxuICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnM/Lmhhc093blByb3BlcnR5KHBhcmFtZXRlck5hbWUpICYmIHBhcmFtZXRlcnNbcGFyYW1ldGVyTmFtZV0gPT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFJlbW92ZSBmaWx0ZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoT2JqZWN0LmtleXMocGFyYW1ldGVycyB8fCB7fSkubGVuZ3RoID09PSAwICYmIGZpbHRlci5WYWx1ZVR5cGUgPT09IEZpbHRlclZhbHVlVHlwZS5QYXJhbWV0ZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBSZW1vdmUgZmlsdGVyXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBLZWVwIGZpbHRlclxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIC8qKlxyXG4gIC8vICAqIEdldCBSZXNvdXJjZSBMYW5ndWFnZSBCeSBMYW5ndWFnZSBDb2RlXHJcbiAgLy8gICogQHBhcmFtIGxhbmd1YWdlQ29kZSAtIExhbmd1YWdlIENvZGVcclxuICAvLyAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAvLyAgKi9cclxuICAvLyBnZXRSZXNvdXJjZUxhbmd1YWdlQnlMYW5ndWFnZUNvZGUobGFuZ3VhZ2VDb2RlOiBudW1iZXIpOiBhbnkge1xyXG4gIC8vICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAvLyAgIGlmIChoZWFkZXJzKSB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAvLyAgICAgICBgJHtBUEkubGFuZ3VhZ2VSZXNvdXJjZX1gLFxyXG4gIC8vICAgICAgIHsgTGFuZ3VhZ2VDb2RlOiBsYW5ndWFnZUNvZGUgfSxcclxuICAvLyAgICAgICBoZWFkZXJzXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbnVsbDtcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBTZWFyY2ggRGF0YVxyXG4gICAqIEBwYXJhbSBzZWFyY2hRdWVyeSAtIFNlYXJjaCBRdWVyeSBzdHJpbmdcclxuICAgKiBAcGFyYW0gbGltaXQgLSBMaW1pdCBvZiBzZWFyY2ggcmVzdWx0c1xyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFNlYXJjaERhdGEoc2VhcmNoUXVlcnk6IHN0cmluZywgbGltaXQ6IG51bWJlciwgcGFyYW1zPzogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICBgJHtBUEkuc2VhcmNofT9zZWFyY2hRdWVyeT0ke3NlYXJjaFF1ZXJ5fSZsaW1pdD0ke2xpbWl0fWAsXHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5zZXJ0IFNjcmVlbiBQZXJmb3JtYW5jZSBTdGF0aXN0aWNzXHJcbiAgICogQHBhcmFtIGRhdGEgLSBEYXRhIHRvIGluc2VydFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGluc2VydFNjcmVlblBlcmZvcm1hbmNlU3RhdGlzdGljcyhkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIC8vIFNldCB0aGUgdGFiIGNvbXBvbmVudHMgZm9yIHRoZSB0ZW5hbnRcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gICAgICAgIC8vIEFQSSBlbmRwb2ludCBmb3IgaW5zZXJ0aW5nIHNjcmVlbiBwZXJmb3JtYW5jZSBzdGF0aXN0aWNzXHJcbiAgICAgICAgYCR7QVBJLkluc2VydFNjcmVlblBlcmZvcm1hbmNlQW5hbHl0aWNzfWAsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICAvLyBUaGUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcclxuICAgICAgICBoZWFkZXJzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4ZWN1dGVzIGFuIEhUVFAgcmVxdWVzdCB3aXRoIHRoZSBzcGVjaWZpZWQgbWV0aG9kLCBVUkwsIGhlYWRlcnMsIGFuZCBib2R5LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGZ1bGxVcmwgLVRoZSBmdWxsIFVSTCBvZiB0aGUgcmVxdWVzdCBjb250YWluaW5nIHRoZSBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBtZXRob2QgLSBUaGUgSFRUUCBtZXRob2QgdG8gYmUgdXNlZCAoJ0dFVCcsICdQT1NUJywgJ1BVVCcsICdERUxFVEUnKS5cclxuICAgKiBAcGFyYW0gaGVhZGVycyAtIFRoZSBoZWFkZXJzIHRvIGluY2x1ZGUgaW4gdGhlIHJlcXVlc3QuXHJcbiAgICogQHBhcmFtIGJvZHkgLSBUaGUgYm9keSBjb250ZW50IGZvciBtZXRob2RzIGxpa2UgUE9TVCBhbmQgUFVULlxyXG4gICAqIEByZXR1cm5zIFRoZSBBUEkgcmVzcG9uc2UgY29ycmVzcG9uZGluZyB0byB0aGUgcmVxdWVzdC5cclxuICAgKi9cclxuICBleGVjdXRlSHR0cFJlcXVlc3QoXHJcbiAgICBmdWxsVXJsOiBhbnksXHJcbiAgICBtZXRob2Q6ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnREVMRVRFJyxcclxuICAgIGhlYWRlcnM6IGFueSxcclxuICAgIGJvZHk6IGFueVxyXG4gICk6IGFueSB7XHJcbiAgICBoZWFkZXJzID0ge1xyXG4gICAgICAuLi4oaGVhZGVycyB8fCB7fSksXHJcbiAgICAgICdYLVNraXAtSW50ZXJjZXB0b3InOiAndHJ1ZScsXHJcbiAgICAgICdYLVNraXAtQXV0aCc6ICd0cnVlJyxcclxuICAgICAgJ1gtVHJhY2stQVBJLURldGFpbHMnOiAndHJ1ZScsXHJcbiAgICB9O1xyXG4gICAgaWYgKG1ldGhvZCA9PSAnR0VUJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldEJ5VXJsKGZ1bGxVcmwsIHsgaGVhZGVycyB9KTtcclxuICAgIH0gZWxzZSBpZiAobWV0aG9kID09ICdQT1NUJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3RCeVVybChmdWxsVXJsLCBib2R5LCB7IGhlYWRlcnMgfSk7XHJcbiAgICB9IGVsc2UgaWYgKG1ldGhvZCA9PSAnUFVUJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnB1dEJ5VXJsKGZ1bGxVcmwsIGJvZHksIHsgaGVhZGVycyB9KTtcclxuICAgIH0gZWxzZSBpZiAobWV0aG9kID09ICdERUxFVEUnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZGVsZXRlQnlVcmwoZnVsbFVybCwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIGFuIEhUVFAgUmVxdWVzdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgRGF0YVNvdXJjZVF1ZXJ5IG5hbWVcclxuICAgKiBAcGFyYW0gUXVlcnlOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIERhdGFTb3VyY2VRdWVyeVxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGdlbmVyYXRlZCBIVFRQIHJlcXVlc3RcclxuICAgKi9cclxuICBnZW5lcmF0ZUh0dHBSZXF1ZXN0KFF1ZXJ5TmFtZTogc3RyaW5nKTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICBgJHtBUEkuR2VuZXJhdGVIdHRwUmVxdWVzdH0/ZHNxTmFtZT0ke1F1ZXJ5TmFtZX1gLFxyXG4gICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICBoZWFkZXJzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgZGV0YWlsZWQgYW5hbHl0aWNzIG9mIGEgc2NyZWVuJ3MgcGVyZm9ybWFuY2UuXHJcbiAgICogQHBhcmFtIGRhdGEgLSBEYXRhIHRvIGJlIHNlbnQgdG8gdGhlIEFQSVxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldERldGFpbE9mUGVyZm9ybWFuY2VBbmFseXRpY3MoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAvLyBTZXQgdGhlIHRhYiBjb21wb25lbnRzIGZvciB0aGUgdGVuYW50XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICAvLyBBUEkgZW5kcG9pbnQgZm9yIHJldHJpZXZpbmcgdGhlIGRldGFpbGVkIGFuYWx5dGljcyBvZiBhIHNjcmVlbidzIHBlcmZvcm1hbmNlXHJcbiAgICAgICAgYCR7QVBJLkdldERldGFpbE9mUGVyZm9ybWFuY2VBbmFseXRpY3N9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHN1bW1hcnkgb2YgcGVyZm9ybWFuY2UgYW5hbHl0aWNzXHJcbiAgICogQHBhcmFtIGRhdGEgLSBEYXRhIHRvIGJlIHNlbnQgdG8gdGhlIEFQSVxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFN1bW1hcnlPZlBlcmZvcm1hbmNlQW5hbHl0aWNzKGRhdGE6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgLy8gU2V0IHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIHRlbmFudFxyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXHJcbiAgICAgICAgLy8gQVBJIGVuZHBvaW50IGZvciBpbnNlcnRpbmcgc2NyZWVuIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3NcclxuICAgICAgICBgJHtBUEkuR2V0U3VtbWFyeU9mUGVyZm9ybWFuY2VBbmFseXRpY3N9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQiwwQkFBMEIsR0FDM0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdqQyxNQUFNLE9BQU8sYUFBYTtJQUQxQjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0E4UGhEO0lBNVBDOzs7O09BSUc7SUFDSCxxQkFBcUIsQ0FBQyxJQUFTLEVBQUMsT0FBWTtRQUMxQyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FD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QyxHQUFHLENBQ3hCLEdBQUcsR0FBRyxDQUFDLG1CQUFtQixZQUFZLFNBQVMsRUFBRSxFQUNqRCxTQUFTLEVBQ1QsT0FBTyxDQUNSLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhFQS9QVSxhQUFhO3VFQUFiLGFBQWEsV0FBYixhQUFhLG1CQURBLE1BQU07O2lGQUNuQixhQUFhO2NBRHpCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEU1FIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL2NvbW1vbi9kc3EuaGVscGVycyc7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tICcuLi91dGlscy9yZXEtcmVzLnV0aWwnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IGdldEFwcE9iamVjdCB9IGZyb20gJy4uL3V0aWxzL3RhYi1hcHAudXRpbCc7XHJcbmltcG9ydCB7IEFQSVNlbGVjdFF1ZXJ5IH0gZnJvbSAnLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbHRlclZhbHVlVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSAnLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwT2JqZWN0c0NvbnN0YW50cyxcclxuICBEYXRhU291cmNlUXVlcmllc0NvbnN0YW50cyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvYXBwLW9iamVjdC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJHZXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FIZWxwZXIgPSBpbmplY3QoRFNRSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZSBSQVcgRFNRIHdpdGggTmFtZVxyXG4gICAqIEBwYXJhbSBkYXRhIC0gT2JqZWN0IGNvbnRhaW5pbmcgQXBwT2JqZWN0TmFtZSBhbmQgRFNRTmFtZVxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGV4ZWN1dGVSQVdEU1FXaXRoTmFtZShkYXRhOiBhbnksaGVhZGVycz86YW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlciA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICBgJHtBUEkuZ2V0RFNRfS8ke2RhdGEuQXBwT2JqZWN0TmFtZX0vJHtkYXRhLkRTUU5hbWV9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIGhlYWRlclxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IFJlY29yZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBQYXJhbWV0ZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFJlY29yZChwYXJhbXM6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoYCR7QVBJLmdldHJlY29yZH1gLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlIFJhdyBTUUxcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZXhlY3V0ZVJhd1NxbChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkucmF3U1FMfSR7ZGF0YX1gLCAnJywgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBIaXN0b3J5XHJcbiAgICogQHBhcmFtIGFwcE9iamVjdElkIC0gSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdFxyXG4gICAqIEBwYXJhbSByZWNvcmRJZHMgLSBBcnJheSBvZiByZWNvcmQgSURzXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0SGlzdG9yeShhcHBPYmplY3RJZDogc3RyaW5nLCByZWNvcmRJZHM6IHN0cmluZ1tdKTogYW55IHtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHt9O1xyXG4gICAgaWYgKGFwcE9iamVjdElkICYmIHJlY29yZElkcykge1xyXG4gICAgICBjb25zdCBhcHBPYmplY3ROYW1lID0gZ2V0QXBwT2JqZWN0KGFwcE9iamVjdElkKT8uT2JqZWN0TmFtZTtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGFwcE9iamVjdE5hbWUgJiYgaGVhZGVycykge1xyXG4gICAgICAgIGRhdGEuT2JqZWN0TmFtZSA9IGFwcE9iamVjdE5hbWU7XHJcbiAgICAgICAgZGF0YS5SZWNvcmRJZHMgPSByZWNvcmRJZHM7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5nZXRIaXN0b3J5fWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBNSkFZIEltcG9ydFxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSBmb3IgUE1KQVkgaW1wb3J0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgcG1qYXlJbXBvcnQoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLnBtamF5SW1wb3J0fWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYSBzZWxlY3QgcXVlcnkgd2l0aCBvcHRpb25hbCBwYXJhbWV0ZXJzXHJcbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgc2VsZWN0IHF1ZXJ5IGRhdGFcclxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyAtIE9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gYmUgYXBwbGllZCB0byB0aGUgcXVlcnlcclxuICAgKiBAcmV0dXJucyBSZXN1bHQgb2YgdGhlIHNlbGVjdCBxdWVyeSBleGVjdXRpb25cclxuICAgKi9cclxuICBzZWxlY3RFeGVjdXRvcihkYXRhOiBBUElTZWxlY3RRdWVyeSwgcGFyYW1ldGVycz86IGFueSk6IGFueSB7XHJcbiAgICBpZiAocGFyYW1ldGVycyAmJiBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzKS5sZW5ndGgpIHtcclxuICAgICAgZGF0YS5XaGVyZUNsYXVzZS5GaWx0ZXJMb2dpYyA9IGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVyTG9naWMgfHwgJ1tdJztcclxuICAgICAgZGF0YS5XaGVyZUNsYXVzZS5GaWx0ZXJzID0gZGF0YS5XaGVyZUNsYXVzZS5GaWx0ZXJzIHx8IFtdO1xyXG4gICAgICBkYXRhLldoZXJlQ2xhdXNlLlNRTFF1ZXJ5ID0gZGF0YS5XaGVyZUNsYXVzZS5TUUxRdWVyeSB8fCAnJztcclxuICAgICAgLyoqXHJcbiAgICAgICAqIFJlcGxhY2VzIHZhbHVlcyBmcm9tIHBhcmFtZXRlcnMgaWYgbWF0Y2hlZCBhbmQgaW4gZm9ybWF0IG9mIHt7a2V5fX0uXHJcbiAgICAgICAqIEV4YW1wbGU6IGlmIGZpbHRlci5WYWx1ZSBpcyBcInt7dXNlcklkfX1cIiBhbmRcclxuICAgICAgICogdGhpcy5fdmFsdWUucGFyYW1ldGVycy51c2VySWQgaXMgMTIzLCB0aGVuIGZpbHRlci5WYWx1ZSB3aWxsIGJlIHJlcGxhY2VkIHdpdGhcclxuICAgICAgICogXCIxMjNcIi5cclxuICAgICAgICovXHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycy5mb3JFYWNoKChmaWx0ZXI6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIGZpbHRlci5WYWx1ZVR5cGUgaXMgMSAobGl0ZXJhbClcclxuICAgICAgICBpZiAoZmlsdGVyLlZhbHVlICYmIGZpbHRlci5WYWx1ZVR5cGUgPT0gRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwpIHtcclxuICAgICAgICAgIGZpbHRlci5WYWx1ZSA9IGZpbHRlci5WYWx1ZS5yZXBsYWNlKFxyXG4gICAgICAgICAgICAve3soW159XSspfX0vZyxcclxuICAgICAgICAgICAgKG1hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXJzW2tleV07XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGlmIHZhbHVlVHlwZSA9IDIgKFBhcmFtZXRlcnMpXHJcbiAgICAgICAgLy8gdGhlbiB3ZSBuZWVkIHRvIHJlcGxhY2UgdGhlIHZhbHVlIHdpdGggcGFyYW1ldGVycyBhbmQgY2hhbmdlIHRoZSB2YWx1ZVR5cGUgdG8gMSAoTGl0ZXJhbClcclxuICAgICAgICBlbHNlIGlmIChmaWx0ZXIuVmFsdWVUeXBlID09IEZpbHRlclZhbHVlVHlwZS5QYXJhbWV0ZXIpIHtcclxuICAgICAgICAgIGZpbHRlci5WYWx1ZSA9IGZpbHRlci5WYWx1ZS5yZXBsYWNlKFxyXG4gICAgICAgICAgICAvKFtefV0rKS9nLFxyXG4gICAgICAgICAgICAobWF0Y2g6IHN0cmluZywga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlcnNba2V5XTtcclxuICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDogbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGZpbHRlci5WYWx1ZVR5cGUgPSBGaWx0ZXJWYWx1ZVR5cGUuTGl0ZXJhbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICAoZGF0YT8uV2hlcmVDbGF1c2U/LkZpbHRlcnMgfHwgW10pLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGVsZW1lbnQuVmFsdWVUeXBlID09PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyICYmXHJcbiAgICAgICAgICBwYXJhbWV0ZXJzW2VsZW1lbnQuRmllbGRJRF1cclxuICAgICAgICApIHtcclxuICAgICAgICAgIGVsZW1lbnQuVmFsdWUgPSBwYXJhbWV0ZXJzW2VsZW1lbnQuRmllbGRJRF07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRzcUhlbHBlci5leGVjdXRlUXVlcnkoZGF0YSwgUXVlcnlUeXBlLlNlbGVjdCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhIHNlbGVjdCBxdWVyeSBieSBpdHMgSUQsIHVzaW5nIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHNlbGVjdFF1ZXJ5SWQgLSBUaGUgSUQgb2YgdGhlIHNlbGVjdCBxdWVyeSB0byBiZSBleGVjdXRlZC5cclxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyAtIE9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gYmUgYXBwbGllZCB0byB0aGUgcXVlcnkuXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgc2VsZWN0IHF1ZXJ5IGV4ZWN1dGlvbi5cclxuICAgKiBAdGhyb3dzIEFuIGVycm9yIGlmIHRoZSBBUEkgcmVzcG9uc2Ugc3RhdHVzIGNvZGUgaXMgbm90ICcyMDAnLlxyXG4gICAqL1xyXG4gIGV4ZWN1dGVTZWxlY3RRdWVyeUJ5SWQoc2VsZWN0UXVlcnlJZDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogYW55KTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVSQVdEU1FXaXRoTmFtZSh7XHJcbiAgICAgIEFwcE9iamVjdE5hbWU6IEFwcE9iamVjdHNDb25zdGFudHMuVEFCRF9RdWVyaWVzLFxyXG4gICAgICBEU1FOYW1lOiBEYXRhU291cmNlUXVlcmllc0NvbnN0YW50cy5EZXRhaWxfVEFCRF9RdWVyaWVzLFxyXG4gICAgICBSZXF0b2tlbnM6IHtcclxuICAgICAgICBJRDogc2VsZWN0UXVlcnlJZCxcclxuICAgICAgfSxcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLlN0YXR1c0NvZGUgPT09ICcyMDAnKSB7XHJcbiAgICAgICAgICBjb25zdCBDb25maWd1cmF0aW9uID0gSlNPTi5wYXJzZShyZXMuUmVzdWx0WzBdLkNvbmZpZ3VyYXRpb24gfHwgJ3t9Jyk7XHJcbiAgICAgICAgICBpZiAoQ29uZmlndXJhdGlvbi5XaGVyZUNsYXVzZT8uRmlsdGVycykge1xyXG4gICAgICAgICAgICBDb25maWd1cmF0aW9uLldoZXJlQ2xhdXNlLkZpbHRlcnMgPSB0aGlzLnJlbW92ZVdoZXJlQ2xhdXNlRm9yRW1wdHlQYXJhbXMoQ29uZmlndXJhdGlvbi5XaGVyZUNsYXVzZS5GaWx0ZXJzLCBwYXJhbWV0ZXJzIHx8IHt9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEV4ZWN1dG9yKENvbmZpZ3VyYXRpb24sIHBhcmFtZXRlcnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzLk1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHJlbW92ZVdoZXJlQ2xhdXNlRm9yRW1wdHlQYXJhbXMoZmlsdGVyczogYW55W10sIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gZmlsdGVycy5maWx0ZXIoKGZpbHRlcjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGZpbHRlci5WYWx1ZVR5cGUgPT09IEZpbHRlclZhbHVlVHlwZS5QYXJhbWV0ZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVyTmFtZSA9IGZpbHRlci5WYWx1ZTtcclxuICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnM/Lmhhc093blByb3BlcnR5KHBhcmFtZXRlck5hbWUpICYmIHBhcmFtZXRlcnNbcGFyYW1ldGVyTmFtZV0gPT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFJlbW92ZSBmaWx0ZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoT2JqZWN0LmtleXMocGFyYW1ldGVycyB8fCB7fSkubGVuZ3RoID09PSAwICYmIGZpbHRlci5WYWx1ZVR5cGUgPT09IEZpbHRlclZhbHVlVHlwZS5QYXJhbWV0ZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBSZW1vdmUgZmlsdGVyXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBLZWVwIGZpbHRlclxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIC8qKlxyXG4gIC8vICAqIEdldCBSZXNvdXJjZSBMYW5ndWFnZSBCeSBMYW5ndWFnZSBDb2RlXHJcbiAgLy8gICogQHBhcmFtIGxhbmd1YWdlQ29kZSAtIExhbmd1YWdlIENvZGVcclxuICAvLyAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAvLyAgKi9cclxuICAvLyBnZXRSZXNvdXJjZUxhbmd1YWdlQnlMYW5ndWFnZUNvZGUobGFuZ3VhZ2VDb2RlOiBudW1iZXIpOiBhbnkge1xyXG4gIC8vICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAvLyAgIGlmIChoZWFkZXJzKSB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAvLyAgICAgICBgJHtBUEkubGFuZ3VhZ2VSZXNvdXJjZX1gLFxyXG4gIC8vICAgICAgIHsgTGFuZ3VhZ2VDb2RlOiBsYW5ndWFnZUNvZGUgfSxcclxuICAvLyAgICAgICBoZWFkZXJzXHJcbiAgLy8gICAgICk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbnVsbDtcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBTZWFyY2ggRGF0YVxyXG4gICAqIEBwYXJhbSBzZWFyY2hRdWVyeSAtIFNlYXJjaCBRdWVyeSBzdHJpbmdcclxuICAgKiBAcGFyYW0gbGltaXQgLSBMaW1pdCBvZiBzZWFyY2ggcmVzdWx0c1xyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFNlYXJjaERhdGEoc2VhcmNoUXVlcnk6IHN0cmluZywgbGltaXQ6IG51bWJlciwgcGFyYW1zPzogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICBgJHtBUEkuc2VhcmNofT9zZWFyY2hRdWVyeT0ke3NlYXJjaFF1ZXJ5fSZsaW1pdD0ke2xpbWl0fWAsXHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYW4gSFRUUCByZXF1ZXN0IHdpdGggdGhlIHNwZWNpZmllZCBtZXRob2QsIFVSTCwgaGVhZGVycywgYW5kIGJvZHkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZnVsbFVybCAtVGhlIGZ1bGwgVVJMIG9mIHRoZSByZXF1ZXN0IGNvbnRhaW5pbmcgdGhlIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIG1ldGhvZCAtIFRoZSBIVFRQIG1ldGhvZCB0byBiZSB1c2VkICgnR0VUJywgJ1BPU1QnLCAnUFVUJywgJ0RFTEVURScpLlxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIC0gVGhlIGhlYWRlcnMgdG8gaW5jbHVkZSBpbiB0aGUgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSBib2R5IGNvbnRlbnQgZm9yIG1ldGhvZHMgbGlrZSBQT1NUIGFuZCBQVVQuXHJcbiAgICogQHJldHVybnMgVGhlIEFQSSByZXNwb25zZSBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXF1ZXN0LlxyXG4gICAqL1xyXG4gIGV4ZWN1dGVIdHRwUmVxdWVzdChcclxuICAgIGZ1bGxVcmw6IGFueSxcclxuICAgIG1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnLFxyXG4gICAgaGVhZGVyczogYW55LFxyXG4gICAgYm9keTogYW55XHJcbiAgKTogYW55IHtcclxuICAgIGhlYWRlcnMgPSB7XHJcbiAgICAgIC4uLihoZWFkZXJzIHx8IHt9KSxcclxuICAgICAgJ1gtU2tpcC1JbnRlcmNlcHRvcic6ICd0cnVlJyxcclxuICAgICAgJ1gtU2tpcC1BdXRoJzogJ3RydWUnLFxyXG4gICAgICAnWC1UcmFjay1BUEktRGV0YWlscyc6ICd0cnVlJyxcclxuICAgIH07XHJcbiAgICBpZiAobWV0aG9kID09ICdHRVQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0QnlVcmwoZnVsbFVybCwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtZXRob2QgPT0gJ1BPU1QnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdEJ5VXJsKGZ1bGxVcmwsIGJvZHksIHsgaGVhZGVycyB9KTtcclxuICAgIH0gZWxzZSBpZiAobWV0aG9kID09ICdQVVQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucHV0QnlVcmwoZnVsbFVybCwgYm9keSwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtZXRob2QgPT0gJ0RFTEVURScpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5kZWxldGVCeVVybChmdWxsVXJsLCB7IGhlYWRlcnMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZW5lcmF0ZXMgYW4gSFRUUCBSZXF1ZXN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBEYXRhU291cmNlUXVlcnkgbmFtZVxyXG4gICAqIEBwYXJhbSBRdWVyeU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgRGF0YVNvdXJjZVF1ZXJ5XHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZ2VuZXJhdGVkIEhUVFAgcmVxdWVzdFxyXG4gICAqL1xyXG4gIGdlbmVyYXRlSHR0cFJlcXVlc3QoUXVlcnlOYW1lOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgIGAke0FQSS5HZW5lcmF0ZUh0dHBSZXF1ZXN0fT9kc3FOYW1lPSR7UXVlcnlOYW1lfWAsXHJcbiAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -10,23 +10,19 @@ export class TabReleaseService {
10
10
  }
11
11
  /**
12
12
  * Retrieves the difference between the metadata JSONs of two releases.
13
- * @param data Object containing Release IDs
14
- * @param headers Optional headers for the request
15
13
  * @returns Observable of the API response
16
14
  */
17
- getMetaDataJsonDiff(data, headers) {
18
- const header = getHeaders(headers);
19
- return this.apiService.post(`${API.GetReleaseJSONDifference}`, data, header);
15
+ getMetaDataJsonDiff() {
16
+ const header = getHeaders();
17
+ return this.apiService.post(`${API.GetReleaseJSONDifference}`, {}, header);
20
18
  }
21
19
  /**
22
20
  * Retrieves the difference between the data JSONs of two releases.
23
- * @param data Object containing Release IDs
24
- * @param headers Optional headers for the request
25
21
  * @returns Observable of the API response
26
22
  */
27
- getDataJsonDiff(data, headers) {
28
- const header = getHeaders(headers);
29
- return this.apiService.post(`${API.GetDataDifference}`, data, header);
23
+ getDataJsonDiff() {
24
+ const header = getHeaders();
25
+ return this.apiService.post(`${API.GetDataDifference}`, {}, header);
30
26
  }
31
27
  static { this.ɵfac = function TabReleaseService_Factory(t) { return new (t || TabReleaseService)(); }; }
32
28
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TabReleaseService, factory: TabReleaseService.ɵfac, providedIn: 'root' }); }
@@ -35,4 +31,4 @@ export class TabReleaseService {
35
31
  type: Injectable,
36
32
  args: [{ providedIn: 'root' }]
37
33
  }], null, null); })();
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJlbGVhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1yZWxlYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUlqRCxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0F1QmxEO0lBckJDOzs7OztPQUtHO0lBQ0gsbUJBQW1CLENBQUMsSUFBVSxFQUFDLE9BQVk7UUFDekMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLElBQVUsRUFBQyxPQUFZO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7a0ZBdkJVLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFESixNQUFNOztpRkFDbkIsaUJBQWlCO2NBRDdCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBnZXRIZWFkZXJzIH0gZnJvbSBcIi4uL3V0aWxzL3JlcS1yZXMudXRpbFwiO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzXCI7XG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYWJSZWxlYXNlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1ldGFkYXRhIEpTT05zIG9mIHR3byByZWxlYXNlcy5cbiAgICogQHBhcmFtIGRhdGEgT2JqZWN0IGNvbnRhaW5pbmcgUmVsZWFzZSBJRHNcbiAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgQVBJIHJlc3BvbnNlXG4gICAqL1xuICBnZXRNZXRhRGF0YUpzb25EaWZmKGRhdGE/OiBhbnksaGVhZGVycz86YW55KTogYW55IHtcbiAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuR2V0UmVsZWFzZUpTT05EaWZmZXJlbmNlfWAsIGRhdGEsIGhlYWRlcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGRhdGEgSlNPTnMgb2YgdHdvIHJlbGVhc2VzLlxuICAgKiBAcGFyYW0gZGF0YSBPYmplY3QgY29udGFpbmluZyBSZWxlYXNlIElEc1xuICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRoZSBBUEkgcmVzcG9uc2VcbiAgICovXG4gIGdldERhdGFKc29uRGlmZihkYXRhPzogYW55LGhlYWRlcnM/OmFueSk6IGFueSB7XG4gICAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLkdldERhdGFEaWZmZXJlbmNlfWAsIGRhdGEsIGhlYWRlcik7XG4gIH1cbn0iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJlbGVhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1yZWxlYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU1qRCxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FtQmxEO0lBakJDOzs7T0FHRztJQUNILG1CQUFtQjtRQUNqQixNQUFNLE1BQU0sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlO1FBQ2IsTUFBTSxNQUFNLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0RSxDQUFDO2tGQW5CVSxpQkFBaUI7dUVBQWpCLGlCQUFpQixXQUFqQixpQkFBaUIsbUJBREosTUFBTTs7aUZBQ25CLGlCQUFpQjtjQUQ3QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gXCIuLi91dGlscy9yZXEtcmVzLnV0aWxcIjtcbmltcG9ydCB7IEFQSSB9IGZyb20gXCIuLi9jb25zdGFudHMvYXBpLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBDb21tb25BcGlSZXNwb25zZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2NvbW1vbi1hcGkuaW50ZXJmYWNlXCI7XG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYWJSZWxlYXNlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1ldGFkYXRhIEpTT05zIG9mIHR3byByZWxlYXNlcy5cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgQVBJIHJlc3BvbnNlXG4gICAqL1xuICBnZXRNZXRhRGF0YUpzb25EaWZmKCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKCk7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5HZXRSZWxlYXNlSlNPTkRpZmZlcmVuY2V9YCwge30sIGhlYWRlcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGRhdGEgSlNPTnMgb2YgdHdvIHJlbGVhc2VzLlxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRoZSBBUEkgcmVzcG9uc2VcbiAgICovXG4gIGdldERhdGFKc29uRGlmZigpOiBhbnkge1xuICAgIGNvbnN0IGhlYWRlciA9IGdldEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLkdldERhdGFEaWZmZXJlbmNlfWAsIHt9LCBoZWFkZXIpO1xuICB9XG59Il19
@@ -20,9 +20,14 @@ export var ReleaseContentType;
20
20
  ReleaseContentType[ReleaseContentType["Data"] = 2] = "Data";
21
21
  ReleaseContentType[ReleaseContentType["Script"] = 3] = "Script";
22
22
  })(ReleaseContentType || (ReleaseContentType = {}));
23
+ export var BuildFormComponentType;
24
+ (function (BuildFormComponentType) {
25
+ BuildFormComponentType["CommonFilter"] = "CommonFilter";
26
+ BuildFormComponentType["BulkUpdate"] = "BulkUpdate";
27
+ })(BuildFormComponentType || (BuildFormComponentType = {}));
23
28
  export var JsonType;
24
29
  (function (JsonType) {
25
30
  JsonType[JsonType["AppObjectAccess"] = 1] = "AppObjectAccess";
26
31
  JsonType[JsonType["Language"] = 2] = "Language";
27
32
  })(JsonType || (JsonType = {}));
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvY29tbW9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNsQiwyQ0FBUSxDQUFBO0lBQ1IsK0NBQVUsQ0FBQTtBQUNkLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQUVELE1BQU0sQ0FBTixJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDbEIsNkNBQVMsQ0FBQTtJQUNULDJDQUFRLENBQUE7QUFDWixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckI7QUFFRCxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLG1FQUFrQixDQUFBO0lBQ2xCLDZFQUF1QixDQUFBO0lBQ3ZCLHVEQUFZLENBQUE7QUFDaEIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUMxQixtRUFBWSxDQUFBO0lBQ1osMkRBQVEsQ0FBQTtJQUNSLCtEQUFVLENBQUE7QUFDZCxDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QjtBQU9ELE1BQU0sQ0FBTixJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDaEIsNkRBQW1CLENBQUE7SUFDbkIsK0NBQVksQ0FBQTtBQUNoQixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTY3JlZW5UeXBlIHtcbiAgICBMaXN0ID0gMSxcbiAgICBEZXRhaWwgPSAyXG59XG5cbmV4cG9ydCBlbnVtIE9iamVjdFR5cGUge1xuICAgIFRhYmxlID0gMSxcbiAgICBWaWV3ID0gMlxufVxuXG5leHBvcnQgZW51bSBSZXNvdXJjZVR5cGUge1xuICAgIEVtYWlsVGVhbXBsYXRlID0gMSxcbiAgICBMYW5ndWFnZVRyYW5zbGF0aW9uID0gMixcbiAgICBTZXR0aW5ncyA9IDNcbn1cblxuZXhwb3J0IGVudW0gUmVsZWFzZUNvbnRlbnRUeXBlIHtcbiAgICBNZXRhRGF0YSA9IDEsXG4gICAgRGF0YSA9IDIsXG4gICAgU2NyaXB0ID0gM1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRm9ybUNvbXBvbmVudFR5cGUge1xuICAgIENvbW1vbkZpbHRlcjogJ0NvbW1vbkZpbHRlcicsXG4gICAgQnVsa1VwZGF0ZTogJ0J1bGtVcGRhdGUnXG59XG5cbmV4cG9ydCBlbnVtIEpzb25UeXBlIHtcbiAgICBBcHBPYmplY3RBY2Nlc3MgPSAxLFxuICAgIExhbmd1YWdlID0gMlxufSJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvY29tbW9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNsQiwyQ0FBUSxDQUFBO0lBQ1IsK0NBQVUsQ0FBQTtBQUNkLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQUVELE1BQU0sQ0FBTixJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDbEIsNkNBQVMsQ0FBQTtJQUNULDJDQUFRLENBQUE7QUFDWixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckI7QUFFRCxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLG1FQUFrQixDQUFBO0lBQ2xCLDZFQUF1QixDQUFBO0lBQ3ZCLHVEQUFZLENBQUE7QUFDaEIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUMxQixtRUFBWSxDQUFBO0lBQ1osMkRBQVEsQ0FBQTtJQUNSLCtEQUFVLENBQUE7QUFDZCxDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QjtBQUVELE1BQU0sQ0FBTixJQUFZLHNCQUdYO0FBSEQsV0FBWSxzQkFBc0I7SUFDOUIsdURBQTZCLENBQUE7SUFDN0IsbURBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFHakM7QUFFRCxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2hCLDZEQUFtQixDQUFBO0lBQ25CLCtDQUFZLENBQUE7QUFDaEIsQ0FBQyxFQUhXLFFBQVEsS0FBUixRQUFRLFFBR25CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU2NyZWVuVHlwZSB7XG4gICAgTGlzdCA9IDEsXG4gICAgRGV0YWlsID0gMlxufVxuXG5leHBvcnQgZW51bSBPYmplY3RUeXBlIHtcbiAgICBUYWJsZSA9IDEsXG4gICAgVmlldyA9IDJcbn1cblxuZXhwb3J0IGVudW0gUmVzb3VyY2VUeXBlIHtcbiAgICBFbWFpbFRlYW1wbGF0ZSA9IDEsXG4gICAgTGFuZ3VhZ2VUcmFuc2xhdGlvbiA9IDIsXG4gICAgU2V0dGluZ3MgPSAzXG59XG5cbmV4cG9ydCBlbnVtIFJlbGVhc2VDb250ZW50VHlwZSB7XG4gICAgTWV0YURhdGEgPSAxLFxuICAgIERhdGEgPSAyLFxuICAgIFNjcmlwdCA9IDNcbn1cblxuZXhwb3J0IGVudW0gQnVpbGRGb3JtQ29tcG9uZW50VHlwZSB7XG4gICAgQ29tbW9uRmlsdGVyID0gJ0NvbW1vbkZpbHRlcicsXG4gICAgQnVsa1VwZGF0ZSA9ICdCdWxrVXBkYXRlJ1xufVxuXG5leHBvcnQgZW51bSBKc29uVHlwZSB7XG4gICAgQXBwT2JqZWN0QWNjZXNzID0gMSxcbiAgICBMYW5ndWFnZSA9IDJcbn0iXX0=
@@ -104,52 +104,6 @@ export class AppHelper {
104
104
  const headers = getHeaders();
105
105
  return this.apiService.post(API.SyncAppFields, payload, headers);
106
106
  }
107
- /**
108
- * Exports a report based on the given parameters.
109
- * @param params Optional parameters for exporting the report
110
- * @returns The result of the export operation
111
- */
112
- exportReport(params) {
113
- const headers = getHeaders();
114
- if (headers) {
115
- return this.apiService.post(
116
- // The endpoint for exporting a report
117
- API.exportReport,
118
- // The parameters for the export operation
119
- params,
120
- // The custom headers for the request
121
- headers);
122
- }
123
- return null;
124
- }
125
- /**
126
- * Downloads a report file based on the given parameters.
127
- * @param params Optional parameters for downloading the report file
128
- * @returns The result of the download operation
129
- */
130
- downloadReportFile(params) {
131
- const headers = getHeaders();
132
- if (headers) {
133
- return this.apiService.postBlob(API.downloadReportFile, params, headers);
134
- }
135
- return null;
136
- }
137
- /**
138
- * Sends a report based on the given parameters.
139
- * @param params Optional parameters for sending the report
140
- * @returns The result of the send operation
141
- */
142
- sendReport(params) {
143
- const headers = getHeaders();
144
- if (headers) {
145
- return this.apiService.post(
146
- // The endpoint for sending a report. The report will be sent to the specified email address.
147
- API.sendReport, params,
148
- // The custom headers for the request
149
- headers);
150
- }
151
- return null;
152
- }
153
107
  /**
154
108
  * Sets the tab components for the given tenant
155
109
  * @param connectionId The ID of the connection
@@ -186,6 +140,60 @@ export class AppHelper {
186
140
  const headers = getHeaders();
187
141
  return this.apiService.post(`${API.RefreshGlobalSearchData}`, data, headers);
188
142
  }
143
+ /**
144
+ * Exports a report based on the given parameters.
145
+ * @param payload Parameters for exporting the report
146
+ * @returns The result of the export operation
147
+ */
148
+ exportReport(payload) {
149
+ const headers = getHeaders();
150
+ return this.apiService.post(API.exportReport, payload, headers);
151
+ }
152
+ /**
153
+ * Downloads a report file based on the given parameters.
154
+ * @param payload Parameters for downloading the report file
155
+ * @returns The result of the download operation
156
+ */
157
+ downloadReport(payload) {
158
+ const headers = getHeaders();
159
+ return this.apiService.postBlob(API.downloadReportFile, payload, headers);
160
+ }
161
+ /**
162
+ * Sends a report based on the given parameters.
163
+ * @param payload Parameters for sending the report
164
+ * @returns The result of the send operation
165
+ */
166
+ sendReport(payload) {
167
+ const headers = getHeaders();
168
+ return this.apiService.post(API.sendReport, payload, headers);
169
+ }
170
+ /**
171
+ * Retrieves the detailed analytics of a screen's performance.
172
+ * @param data - Data to be sent to the API
173
+ * @returns Response from the API
174
+ */
175
+ getDetailOfPerformanceAnalytics(data) {
176
+ const headers = getHeaders();
177
+ return this.apiService.post(API.GetDetailOfPerformanceAnalytics, data, headers);
178
+ }
179
+ /**
180
+ * Get summary of performance analytics
181
+ * @param data - Data to be sent to the API
182
+ * @returns Response from the API
183
+ */
184
+ getSummaryOfPerformanceAnalytics(data) {
185
+ const headers = getHeaders();
186
+ return this.apiService.post(API.GetSummaryOfPerformanceAnalytics, data, headers);
187
+ }
188
+ /**
189
+ * Insert Screen Performance Statistics
190
+ * @param data - Data to insert
191
+ * @returns Response from the API
192
+ */
193
+ insertScreenPerformanceStatistics(data) {
194
+ const headers = getHeaders();
195
+ return this.apiService.post(API.InsertScreenPerformanceAnalytics, data, headers);
196
+ }
189
197
  static { this.ɵfac = function AppHelper_Factory(t) { return new (t || AppHelper)(); }; }
190
198
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AppHelper, factory: AppHelper.ɵfac, providedIn: 'root' }); }
191
199
  }
@@ -193,4 +201,4 @@ export class AppHelper {
193
201
  type: Injectable,
194
202
  args: [{ providedIn: 'root' }]
195
203
  }], null, null); })();
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vYXBwLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUlwRCxNQUFNLE9BQU8sU0FBUztJQUR0QjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBME1sRDtJQXhNQzs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTTtJQUNOLGdDQUFnQztJQUNoQyxzRUFBc0U7SUFDdEUsOENBQThDO0lBQzlDLE1BQU07SUFDTiw2QkFBNkI7SUFDN0Isa0NBQWtDO0lBQ2xDLG1CQUFtQjtJQUNuQixtRUFBbUU7SUFDbkUsTUFBTTtJQUNOLGlCQUFpQjtJQUNqQixJQUFJO0lBRUo7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxNQUFZO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcs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U0FBUzt1RUFBVCxTQUFTLFdBQVQsU0FBUyxtQkFESSxNQUFNOztpRkFDbkIsU0FBUztjQURyQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gJy4uLy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbG9uZURzcVBheWxvYWQsIENvbW1vbkFwaVJlc3BvbnNlLCBHZXREYXRhSnNvbkJ5VHlwZVBheWxvYWQsIFJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhUGF5bG9hZCwgUmVnaXN0ZXJBcHBPYmplY3RzUGF5bG9hZCwgU3luY0FwcEZpZWxkc1BheWxvYWQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbW1vbi1hcGkuaW50ZXJmYWNlJztcclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFwcEhlbHBlciB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG5cclxuICAvKipcclxuICAgKiBSZWJ1aWxkcyB0aGUgYXBwbGljYXRpb24uXHJcbiAgICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSByZWJ1aWxkIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIHJlYnVpbGRBcHAoKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuYnVpbGRBcHAsIHt9LCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8vIC8qKlxyXG4gIC8vICAqIFB1Ymxpc2hlcyB0aGUgYXBwbGljYXRpb24uXHJcbiAgLy8gICogQHBhcmFtIHBhcmFtcyBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciBwdWJsaXNoaW5nIHRoZSBhcHBsaWNhdGlvblxyXG4gIC8vICAqIEByZXR1cm5zIFJlc3VsdCBvZiB0aGUgcHVibGlzaCBvcGVyYXRpb25cclxuICAvLyAgKi9cclxuICAvLyBwdWJsaXNoQXBwKHBhcmFtcz86IGFueSkge1xyXG4gIC8vICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAvLyAgIGlmIChoZWFkZXJzKSB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KEFQSS5wdWJsaXNoQXBwLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgcmV0dXJuIG51bGw7XHJcbiAgLy8gfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgc2NyZWVuIGRhdGEuXHJcbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciByZXRyaWV2aW5nIHNjcmVlbiBkYXRhXHJcbiAgICogQHJldHVybnMgU2NyZWVuIGRhdGFcclxuICAgKi9cclxuICBnZXRTY3JlZW4ocGFyYW1zPzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoQVBJLmdldFNjcmVlbiwgcGFyYW1zLCBoZWFkZXJzKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHNjaGVtYSBkYXRhLlxyXG4gICAqIEByZXR1cm5zIFN1YnNjcmlwdGlvbiBmb3IgZ2V0dGluZyBzY2hlbWEgZGF0YVxyXG4gICAqL1xyXG4gIGdldFNjaGVtYSgpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoQVBJLmdldFNjaGVtYSwgdW5kZWZpbmVkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8vIHN0b3JlU2NoZW1hSW50b0lEQigpe1xyXG4gIC8vICAgLy8gdGhpcy5pZGJTZXJ2aWNlLmNsZWFySW5kZXhlZERCKClcclxuICAvLyAgIHRoaXMuZ2V0U2NoZW1hKCk/LnN1YnNjcmliZSh7XHJcbiAgLy8gICAgIG5leHQ6ICh2YWx1ZTogU2NoZW1hUmVzcG9uc2UpID0+IHtcclxuICAvLyAgICAgICAgIENvbW1vbi50YWJKc29uID0gSlNPTi5wYXJzZSh2YWx1ZS5SZXN1bHQpO1xyXG4gIC8vICAgICAgICAgdGhpcy5pZGJTZXJ2aWNlLnNldEl0ZW0oU3RvcmFnZUNvbnN0YW50cy50YWJEYXRhLCBKU09OLnBhcnNlKHZhbHVlLlJlc3VsdCkpXHJcbiAgLy8gICAgIH0sXHJcbiAgLy8gICAgIGVycm9yOiAocmVzcG9uc2U6IEVycm9yKSA9PiB7XHJcbiAgLy8gICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSlcclxuICAvLyAgICAgfVxyXG4gIC8vIH0pXHJcbiAgLy8gfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcGVybWlzc2lvbiBkYXRhLlxyXG4gICAqIEByZXR1cm5zIFN1YnNjcmlwdGlvbiBmb3IgZ2V0dGluZyBwZXJtaXNzaW9uIGRhdGFcclxuICAgKi9cclxuICBnZXRQZXJtaXNzaW9uKCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChBUEkuZ2V0UGVybWlzc2lvbiwgdW5kZWZpbmVkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdGVycyBhcHBsaWNhdGlvbiBvYmplY3RzLlxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIFBhcmFtZXRlcnMgZm9yIHJlZ2lzdGVyaW5nIGFwcGxpY2F0aW9uIG9iamVjdHNcclxuICAgKiBAcmV0dXJucyBSZXN1bHQgb2YgdGhlIHJlZ2lzdHJhdGlvbiBvcGVyYXRpb25cclxuICAgKi9cclxuICByZWdpc3RlckFwcE9iamVjdHMocGF5bG9hZDogUmVnaXN0ZXJBcHBPYmplY3RzUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLnJlZ2lzdGVyQXBwT2JqZWN0cywgcGF5bG9hZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbG9uZXMgYSBEYXRhU291cmNlUXVlcnkgKERTUSkgd2l0aCB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBwYXJhbWV0ZXJzIGZvciBjbG9uaW5nIHRoZSBEU1FcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBjbG9uaW5nIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIGNsb25lRHNxKHBheWxvYWQ6IENsb25lRHNxUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLmNsb25lRHNxLCBwYXlsb2FkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBkYXRhIGluIEpTT04gZm9ybWF0IGJhc2VkIG9uIHRoZSBnaXZlbiBKU09OIHR5cGUgYW5kIHJlcXVlc3QgdG9rZW5zLlxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIFBheWxvYWQgY29udGFpbmluZyB0aGUgSlNPTiB0eXBlIGFuZCByZXF1ZXN0IHRva2Vuc1xyXG4gICAqIEByZXR1cm5zIFRoZSBKU09OIGRhdGEgcmV0cmlldmVkXHJcbiAgICovXHJcbiAgZ2V0RGF0YUpzb25CeVR5cGUocGF5bG9hZDogR2V0RGF0YUpzb25CeVR5cGVQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuR2V0RGF0YUpzb25CeVR5cGUsIHBheWxvYWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3luY3MgdGhlIGZpZWxkcyBvZiB0aGUgYXBwbGljYXRpb24gb2JqZWN0IHdpdGggdGhlIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIHBheWxvYWQgUGFyYW1ldGVycyBmb3Igc3luY2luZyB0aGUgZmllbGRzXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgc3luY2hyb25pemF0aW9uIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIHN5bmNBcHBGaWVsZHMocGF5bG9hZDogU3luY0FwcEZpZWxkc1BheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5TeW5jQXBwRmllbGRzLCBwYXlsb2FkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4cG9ydHMgYSByZXBvcnQgYmFzZWQgb24gdGhlIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciBleHBvcnRpbmcgdGhlIHJlcG9ydFxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGV4cG9ydCBvcGVyYXRpb25cclxuICAgKi9cclxuICBleHBvcnRSZXBvcnQocGFyYW1zPzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gICAgICAgIC8vIFRoZSBlbmRwb2ludCBmb3IgZXhwb3J0aW5nIGEgcmVwb3J0XHJcbiAgICAgICAgQVBJLmV4cG9ydFJlcG9ydCxcclxuICAgICAgICAvLyBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGV4cG9ydCBvcGVyYXRpb25cclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgLy8gVGhlIGN1c3RvbSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG93bmxvYWRzIGEgcmVwb3J0IGZpbGUgYmFzZWQgb24gdGhlIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciBkb3dubG9hZGluZyB0aGUgcmVwb3J0IGZpbGVcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBkb3dubG9hZCBvcGVyYXRpb25cclxuICAgKi9cclxuICBkb3dubG9hZFJlcG9ydEZpbGUocGFyYW1zPzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0QmxvYihcclxuICAgICAgICBBUEkuZG93bmxvYWRSZXBvcnRGaWxlLFxyXG4gICAgICAgIHBhcmFtcyxcclxuICAgICAgICBoZWFkZXJzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSByZXBvcnQgYmFzZWQgb24gdGhlIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciBzZW5kaW5nIHRoZSByZXBvcnRcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBzZW5kIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIHNlbmRSZXBvcnQocGFyYW1zPzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gICAgICAgIC8vIFRoZSBlbmRwb2ludCBmb3Igc2VuZGluZyBhIHJlcG9ydC4gVGhlIHJlcG9ydCB3aWxsIGJlIHNlbnQgdG8gdGhlIHNwZWNpZmllZCBlbWFpbCBhZGRyZXNzLlxyXG4gICAgICAgIEFQSS5zZW5kUmVwb3J0LFxyXG4gICAgICAgIHBhcmFtcyxcclxuICAgICAgICAvLyBUaGUgY3VzdG9tIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIGdpdmVuIHRlbmFudFxyXG4gICAqIEBwYXJhbSBjb25uZWN0aW9uSWQgVGhlIElEIG9mIHRoZSBjb25uZWN0aW9uXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgc2V0VGFiQ29tcG9uZW50cyhjb25uZWN0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLnNldFRhYkNvbXBvbmVudHN9LyR7Y29ubmVjdGlvbklkfWAsIHt9LCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIHJlc3VsdCBvZiB0aGUgdmFsaWRhdGlvbiBmb3IgdGhlIGdpdmVuIGNvbm5lY3Rpb25cclxuICAgKiBAcGFyYW0gY29ubmVjdGlvbklkIFRoZSBJRCBvZiB0aGUgY29ubmVjdGlvblxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHBlcmZvcm1WYWxpZGF0aW9uKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KGAke0FQSS5wZXJmb3JtVmFsaWRhdGlvbn0vJHtjb25uZWN0aW9uSWR9YCwgdW5kZWZpbmVkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRlc3RzIHRoZSBjb25uZWN0aW9uIGZvciB0aGUgZ2l2ZW4gY29ubmVjdGlvbiBJRC5cclxuICAgKiBAcGFyYW0gY29ubmVjdGlvbklkIFRoZSBJRCBvZiB0aGUgY29ubmVjdGlvblxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHRlc3RDb25uZWN0aW9uKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KGAke0FQSS50ZXN0Q29ubmVjdGlvbn0vJHtjb25uZWN0aW9uSWR9YCwgdW5kZWZpbmVkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZnJlc2hlcyB0aGUgZ2xvYmFsIHNlYXJjaCBkYXRhIHVzaW5nIHRoZSBwcm92aWRlZCBwYXlsb2FkLlxyXG4gICAqIEBwYXJhbSBkYXRhIFBheWxvYWQgY29udGFpbmluZyB0aGUgcXVlcnkgb2JqZWN0IElEIGZvciByZWZyZXNoaW5nIHNlYXJjaCBkYXRhXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgQVBJIHJlc3BvbnNlXHJcbiAgICovXHJcbiAgcmVmcmVzaEdsb2JhbFNlYXJjaERhdGEoZGF0YTogUmVmcmVzaEdsb2JhbFNlYXJjaERhdGFQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuUmVmcmVzaEdsb2JhbFNlYXJjaERhdGF9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vYXBwLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUtwRCxNQUFNLE9BQU8sU0FBUztJQUR0QjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBK01sRDtJQTdNQzs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTTtJQUNOLGdDQUFnQztJQUNoQyxzRUFBc0U7SUFDdEUsOENBQThDO0lBQzlDLE1BQU07SUFDTiw2QkFBNkI7SUFDN0Isa0NBQWtDO0lBQ2xDLG1CQUFtQjtJQUNuQixtRUFBbUU7SUFDbkUsTUFBTTtJQUNOLGlCQUFpQjtJQUNqQixJQUFJO0lBRUo7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxNQUFZO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcs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Q0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQ0FBaUMsQ0FBQyxJQUE4QjtRQUM5RCxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQzswRUEvTVUsU0FBUzt1RUFBVCxTQUFTLFdBQVQsU0FBUyxtQkFESSxNQUFNOztpRkFDbkIsU0FBUztjQURyQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gJy4uLy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbG9uZURzcVBheWxvYWQsIENvbW1vbkFwaVJlc3BvbnNlLCBHZXREYXRhSnNvbkJ5VHlwZVBheWxvYWQsIFBlcmZvcm1hbmNlQW5hbHl0aWNzUGF5bG9hZCwgUmVmcmVzaEdsb2JhbFNlYXJjaERhdGFQYXlsb2FkLCBSZWdpc3RlckFwcE9iamVjdHNQYXlsb2FkLCBSZXBvcnRQYXlsb2FkLCBTY3JlZW5QZXJmb3JtYW5jZVBheWxvYWQsIFN5bmNBcHBGaWVsZHNQYXlsb2FkIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jb21tb24tYXBpLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQXBwSGVscGVyIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlYnVpbGRzIHRoZSBhcHBsaWNhdGlvbi5cclxuICAgKiBAcmV0dXJucyBSZXN1bHQgb2YgdGhlIHJlYnVpbGQgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgcmVidWlsZEFwcCgpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5idWlsZEFwcCwge30sIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogUHVibGlzaGVzIHRoZSBhcHBsaWNhdGlvbi5cclxuICAvLyAgKiBAcGFyYW0gcGFyYW1zIE9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHB1Ymxpc2hpbmcgdGhlIGFwcGxpY2F0aW9uXHJcbiAgLy8gICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSBwdWJsaXNoIG9wZXJhdGlvblxyXG4gIC8vICAqL1xyXG4gIC8vIHB1Ymxpc2hBcHAocGFyYW1zPzogYW55KSB7XHJcbiAgLy8gICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gIC8vICAgaWYgKGhlYWRlcnMpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoQVBJLnB1Ymxpc2hBcHAsIHBhcmFtcywgaGVhZGVycyk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbnVsbDtcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBzY3JlZW4gZGF0YS5cclxuICAgKiBAcGFyYW0gcGFyYW1zIE9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHJldHJpZXZpbmcgc2NyZWVuIGRhdGFcclxuICAgKiBAcmV0dXJucyBTY3JlZW4gZGF0YVxyXG4gICAqL1xyXG4gIGdldFNjcmVlbihwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChBUEkuZ2V0U2NyZWVuLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgc2NoZW1hIGRhdGEuXHJcbiAgICogQHJldHVybnMgU3Vic2NyaXB0aW9uIGZvciBnZXR0aW5nIHNjaGVtYSBkYXRhXHJcbiAgICovXHJcbiAgZ2V0U2NoZW1hKCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChBUEkuZ2V0U2NoZW1hLCB1bmRlZmluZWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gc3RvcmVTY2hlbWFJbnRvSURCKCl7XHJcbiAgLy8gICAvLyB0aGlzLmlkYlNlcnZpY2UuY2xlYXJJbmRleGVkREIoKVxyXG4gIC8vICAgdGhpcy5nZXRTY2hlbWEoKT8uc3Vic2NyaWJlKHtcclxuICAvLyAgICAgbmV4dDogKHZhbHVlOiBTY2hlbWFSZXNwb25zZSkgPT4ge1xyXG4gIC8vICAgICAgICAgQ29tbW9uLnRhYkpzb24gPSBKU09OLnBhcnNlKHZhbHVlLlJlc3VsdCk7XHJcbiAgLy8gICAgICAgICB0aGlzLmlkYlNlcnZpY2Uuc2V0SXRlbShTdG9yYWdlQ29uc3RhbnRzLnRhYkRhdGEsIEpTT04ucGFyc2UodmFsdWUuUmVzdWx0KSlcclxuICAvLyAgICAgfSxcclxuICAvLyAgICAgZXJyb3I6IChyZXNwb25zZTogRXJyb3IpID0+IHtcclxuICAvLyAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKVxyXG4gIC8vICAgICB9XHJcbiAgLy8gfSlcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBwZXJtaXNzaW9uIGRhdGEuXHJcbiAgICogQHJldHVybnMgU3Vic2NyaXB0aW9uIGZvciBnZXR0aW5nIHBlcm1pc3Npb24gZGF0YVxyXG4gICAqL1xyXG4gIGdldFBlcm1pc3Npb24oKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KEFQSS5nZXRQZXJtaXNzaW9uLCB1bmRlZmluZWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXJzIGFwcGxpY2F0aW9uIG9iamVjdHMuXHJcbiAgICogQHBhcmFtIHBheWxvYWQgUGFyYW1ldGVycyBmb3IgcmVnaXN0ZXJpbmcgYXBwbGljYXRpb24gb2JqZWN0c1xyXG4gICAqIEByZXR1cm5zIFJlc3VsdCBvZiB0aGUgcmVnaXN0cmF0aW9uIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyQXBwT2JqZWN0cyhwYXlsb2FkOiBSZWdpc3RlckFwcE9iamVjdHNQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkucmVnaXN0ZXJBcHBPYmplY3RzLCBwYXlsb2FkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb25lcyBhIERhdGFTb3VyY2VRdWVyeSAoRFNRKSB3aXRoIHRoZSBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIHBhcmFtZXRlcnMgZm9yIGNsb25pbmcgdGhlIERTUVxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGNsb25pbmcgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgY2xvbmVEc3EocGF5bG9hZDogQ2xvbmVEc3FQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuY2xvbmVEc3EsIHBheWxvYWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGRhdGEgaW4gSlNPTiBmb3JtYXQgYmFzZWQgb24gdGhlIGdpdmVuIEpTT04gdHlwZSBhbmQgcmVxdWVzdCB0b2tlbnMuXHJcbiAgICogQHBhcmFtIHBheWxvYWQgUGF5bG9hZCBjb250YWluaW5nIHRoZSBKU09OIHR5cGUgYW5kIHJlcXVlc3QgdG9rZW5zXHJcbiAgICogQHJldHVybnMgVGhlIEpTT04gZGF0YSByZXRyaWV2ZWRcclxuICAgKi9cclxuICBnZXREYXRhSnNvbkJ5VHlwZShwYXlsb2FkOiBHZXREYXRhSnNvbkJ5VHlwZVBheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5HZXREYXRhSnNvbkJ5VHlwZSwgcGF5bG9hZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTeW5jcyB0aGUgZmllbGRzIG9mIHRoZSBhcHBsaWNhdGlvbiBvYmplY3Qgd2l0aCB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBQYXJhbWV0ZXJzIGZvciBzeW5jaW5nIHRoZSBmaWVsZHNcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBzeW5jaHJvbml6YXRpb24gb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgc3luY0FwcEZpZWxkcyhwYXlsb2FkOiBTeW5jQXBwRmllbGRzUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLlN5bmNBcHBGaWVsZHMsIHBheWxvYWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgdGFiIGNvbXBvbmVudHMgZm9yIHRoZSBnaXZlbiB0ZW5hbnRcclxuICAgKiBAcGFyYW0gY29ubmVjdGlvbklkIFRoZSBJRCBvZiB0aGUgY29ubmVjdGlvblxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHNldFRhYkNvbXBvbmVudHMoY29ubmVjdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5zZXRUYWJDb21wb25lbnRzfS8ke2Nvbm5lY3Rpb25JZH1gLCB7fSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSByZXN1bHQgb2YgdGhlIHZhbGlkYXRpb24gZm9yIHRoZSBnaXZlbiBjb25uZWN0aW9uXHJcbiAgICogQHBhcmFtIGNvbm5lY3Rpb25JZCBUaGUgSUQgb2YgdGhlIGNvbm5lY3Rpb25cclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBwZXJmb3JtVmFsaWRhdGlvbihjb25uZWN0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChgJHtBUEkucGVyZm9ybVZhbGlkYXRpb259LyR7Y29ubmVjdGlvbklkfWAsIHVuZGVmaW5lZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUZXN0cyB0aGUgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIGNvbm5lY3Rpb24gSUQuXHJcbiAgICogQHBhcmFtIGNvbm5lY3Rpb25JZCBUaGUgSUQgb2YgdGhlIGNvbm5lY3Rpb25cclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICB0ZXN0Q29ubmVjdGlvbihjb25uZWN0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChgJHtBUEkudGVzdENvbm5lY3Rpb259LyR7Y29ubmVjdGlvbklkfWAsIHVuZGVmaW5lZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWZyZXNoZXMgdGhlIGdsb2JhbCBzZWFyY2ggZGF0YSB1c2luZyB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cclxuICAgKiBAcGFyYW0gZGF0YSBQYXlsb2FkIGNvbnRhaW5pbmcgdGhlIHF1ZXJ5IG9iamVjdCBJRCBmb3IgcmVmcmVzaGluZyBzZWFyY2ggZGF0YVxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIEFQSSByZXNwb25zZVxyXG4gICAqL1xyXG4gIHJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhKGRhdGE6IFJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLlJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhfWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwb3J0cyBhIHJlcG9ydCBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBQYXJhbWV0ZXJzIGZvciBleHBvcnRpbmcgdGhlIHJlcG9ydFxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGV4cG9ydCBvcGVyYXRpb25cclxuICAgKi9cclxuICBleHBvcnRSZXBvcnQocGF5bG9hZDogUmVwb3J0UGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLmV4cG9ydFJlcG9ydCwgcGF5bG9hZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb3dubG9hZHMgYSByZXBvcnQgZmlsZSBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBQYXJhbWV0ZXJzIGZvciBkb3dubG9hZGluZyB0aGUgcmVwb3J0IGZpbGVcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBkb3dubG9hZCBvcGVyYXRpb25cclxuICAgKi9cclxuICBkb3dubG9hZFJlcG9ydChwYXlsb2FkOiBSZXBvcnRQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdEJsb2IoQVBJLmRvd25sb2FkUmVwb3J0RmlsZSwgcGF5bG9hZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIHJlcG9ydCBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBQYXJhbWV0ZXJzIGZvciBzZW5kaW5nIHRoZSByZXBvcnRcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBzZW5kIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIHNlbmRSZXBvcnQocGF5bG9hZDogUmVwb3J0UGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLnNlbmRSZXBvcnQsIHBheWxvYWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBkZXRhaWxlZCBhbmFseXRpY3Mgb2YgYSBzY3JlZW4ncyBwZXJmb3JtYW5jZS5cclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcyhkYXRhOiBQZXJmb3JtYW5jZUFuYWx5dGljc1BheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5HZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzLCBkYXRhLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBzdW1tYXJ5IG9mIHBlcmZvcm1hbmNlIGFuYWx5dGljc1xyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBiZSBzZW50IHRvIHRoZSBBUElcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBnZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcyhkYXRhOiBQZXJmb3JtYW5jZUFuYWx5dGljc1BheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5HZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcywgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnNlcnQgU2NyZWVuIFBlcmZvcm1hbmNlIFN0YXRpc3RpY3NcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gaW5zZXJ0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgaW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VTdGF0aXN0aWNzKGRhdGE6IFNjcmVlblBlcmZvcm1hbmNlUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkluc2VydFNjcmVlblBlcmZvcm1hbmNlQW5hbHl0aWNzLCBkYXRhLCBoZWFkZXJzKTtcclxuICB9XHJcbn0iXX0=
@@ -2,106 +2,95 @@
2
2
  import { Injectable, inject } from '@angular/core';
3
3
  import { ApiService } from '../../../core/http-client/api.service';
4
4
  import { getFormDataHeaders, getHeaders } from '../../utils/req-res.util';
5
- import { of } from 'rxjs';
6
5
  import { API } from '../../constants/api-constants';
7
6
  import * as i0 from "@angular/core";
8
7
  export class MediaUploadHelper {
9
8
  constructor() {
10
9
  this.apiService = inject(ApiService);
11
10
  }
12
- /**
13
- * Uploads media object to the server.
14
- * @param mediaObject The media object to upload.
15
- * @returns An Observable that emits the response from the server.
16
- */
17
- uploadMediaFile(mediaObject) {
18
- const headers = getFormDataHeaders();
19
- if (headers) {
20
- return this.apiService.post(`${API.fileUpload}`, mediaObject, headers);
21
- }
22
- return of(null);
23
- }
11
+ // /**
12
+ // * Uploads media object to the server.
13
+ // * @param mediaObject The media object to upload.
14
+ // * @returns An Observable that emits the response from the server.
15
+ // */
16
+ // uploadMediaFile(mediaObject: any): Observable<any> {
17
+ // const headers = getFormDataHeaders();
18
+ // if (headers) {
19
+ // return this.apiService.post(`${API.fileUpload}`, mediaObject, headers);
20
+ // }
21
+ // return of(null);
22
+ // }
24
23
  /**
25
24
  * Uploads multiple media objects to the server.
26
- * @param mediaObjects An array of media objects to upload.
25
+ * @param payload An array of media objects to upload.
27
26
  * @returns An Observable that emits the response from the server.
28
27
  */
29
- uploadMultipleMediaFile(mediaObjects, headers) {
28
+ uploadMediaFiles(payload, headers) {
30
29
  if (!headers) {
31
30
  // Get the headers for FormData
32
31
  headers = getFormDataHeaders();
33
32
  }
34
33
  // If headers are available, make a POST request to upload the media objects
35
- if (headers) {
36
- return this.apiService.post(`${API.multipleFileUpload}`, mediaObjects, headers);
37
- }
38
- // If headers are not available, return an Observable that emits null
39
- return of(null);
40
- }
41
- /**
42
- * Retrieves a file from the server by its media ID.
43
- * @param mediaId The ID of the media file to retrieve.
44
- * @returns An Observable that emits the file as a Blob.
45
- */
46
- getFileByMediaId(mediaId, params) {
47
- const headers = getHeaders();
48
- if (headers) {
49
- return this.apiService.getBlob(`${API.getMediaFile}?mediaId=${mediaId}`, params, headers);
50
- }
51
- return of();
52
- }
53
- /**
54
- * Downloads all files from the given URL.
55
- * @param endPointName The URL to download files from.
56
- * @returns An Observable that emits the downloaded files as a Blob.
57
- */
58
- downloadAllFiles(endPointName) {
59
- return this.apiService.getBlob(endPointName);
60
- }
61
- /**
62
- * Downloads PDF files from the given URL.
63
- * @param endPointName The URL to download PDF files from.
64
- * @param data The data to send along with the request.
65
- * @returns An Observable that emits the downloaded PDF files as a Blob.
66
- */
67
- downloadPdfFiles(endPointName, data) {
68
- const headers = getHeaders();
69
- if (headers) {
70
- return this.apiService.postBlob(endPointName, data, headers);
71
- }
72
- return of();
73
- }
74
- /**
75
- * Retrieves an image from the server by its media ID.
76
- * @param mediaId The ID of the media file to retrieve.
77
- * @returns An Observable that emits the image as a Blob.
78
- */
79
- getImageByMediaId(mediaId, params) {
80
- const headers = getHeaders();
81
- if (headers) {
82
- const endPointName = `${API.getImage}?mediaId=${mediaId}`;
83
- return this.apiService.get(endPointName, params, headers);
84
- }
85
- return of();
34
+ return this.apiService.post(`${API.multipleFileUpload}`, payload, headers);
86
35
  }
36
+ // /**
37
+ // * Retrieves a file from the server by its media ID.
38
+ // * @param mediaId The ID of the media file to retrieve.
39
+ // * @returns An Observable that emits the file as a Blob.
40
+ // */
41
+ // getFileByMediaId(mediaId: number, params?: any): Observable<Blob> {
42
+ // const headers = getHeaders();
43
+ // if (headers) {
44
+ // return this.apiService.getBlob(`${API.getMediaFile}?mediaId=${mediaId}`, params, headers);
45
+ // }
46
+ // return of();
47
+ // }
48
+ // /**
49
+ // * Downloads all files from the given URL.
50
+ // * @param endPointName The URL to download files from.
51
+ // * @returns An Observable that emits the downloaded files as a Blob.
52
+ // */
53
+ // downloadAllFiles(endPointName: any): Observable<Blob> {
54
+ // return this.apiService.getBlob(endPointName);
55
+ // }
56
+ // /**
57
+ // * Downloads PDF files from the given URL.
58
+ // * @param endPointName The URL to download PDF files from.
59
+ // * @param data The data to send along with the request.
60
+ // * @returns An Observable that emits the downloaded PDF files as a Blob.
61
+ // */
62
+ // downloadPdfFiles(endPointName: any, data: any): Observable<Blob> {
63
+ // const headers = getHeaders();
64
+ // if (headers) {
65
+ // return this.apiService.postBlob(endPointName, data, headers);
66
+ // }
67
+ // return of();
68
+ // }
69
+ // /**
70
+ // * Retrieves an image from the server by its media ID.
71
+ // * @param mediaId The ID of the media file to retrieve.
72
+ // * @returns An Observable that emits the image as a Blob.
73
+ // */
74
+ // getImageByMediaId(mediaId: any, params?: any): Observable<Blob> {
75
+ // const headers = getHeaders();
76
+ // if (headers) {
77
+ // const endPointName = `${API.getImage}?mediaId=${mediaId}`;
78
+ // return this.apiService.get<Blob>(endPointName, params, headers);
79
+ // }
80
+ // return of();
81
+ // }
87
82
  /**
88
83
  * Removes a file from the server by its media ID.
89
84
  * @param mediaId The ID of the media file to remove.
90
- * @param params Optional parameters to send with the request.
91
85
  * @returns An Observable that emits the deleted file as a Blob.
92
86
  */
93
- removeFileByMediaId(mediaId, body) {
87
+ removeMediaFile(mediaId) {
94
88
  // Get the headers for the request
95
89
  const headers = getHeaders();
96
- // If headers are available, make a GET request to delete the file
97
- if (headers) {
98
- // Construct the endpoint URL with the media ID
99
- const endPointName = `${API.deleteFile}?MediaId=${mediaId}`;
100
- // Make the GET request to delete the file and return the response as a Blob
101
- return this.apiService.post(endPointName, body, headers);
102
- }
103
- // If headers are not available, return an Observable that emits null
104
- return of(null);
90
+ // Construct the endpoint URL with the media ID
91
+ const endPointName = `${API.deleteFile}?MediaId=${mediaId}`;
92
+ // Make the GET request to delete the file and return the response as a Blob
93
+ return this.apiService.post(endPointName, undefined, headers);
105
94
  }
106
95
  static { this.ɵfac = function MediaUploadHelper_Factory(t) { return new (t || MediaUploadHelper)(); }; }
107
96
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MediaUploadHelper, factory: MediaUploadHelper.ɵfac, providedIn: 'root' }); }
@@ -110,4 +99,4 @@ export class MediaUploadHelper {
110
99
  type: Injectable,
111
100
  args: [{ providedIn: 'root' }]
112
101
  }], null, null); })();
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdXBsb2FkLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vbWVkaWEtdXBsb2FkLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUUsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRXBELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQTJHbEQ7SUF6R0M7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxXQUFnQjtRQUM5QixNQUFNLE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx1QkFBdUIsQ0FBQyxZQUFpQixFQUFFLE9BQWE7UUFDdEQsSUFBRyxDQUFDLE9BQU8sRUFBQyxDQUFDO1lBQ1gsK0JBQStCO1lBQy9CLE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFFRCw0RUFBNEU7UUFDNUUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEYsQ0FBQztRQUVELHFFQUFxRTtRQUNyRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLE9BQWUsRUFBRSxNQUFZO1FBQzVDLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLFlBQVksWUFBWSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUNELE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLFlBQWlCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsWUFBaUIsRUFBRSxJQUFTO1FBQzNDLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLE9BQVksRUFBRSxNQUFZO1FBQzFDLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixNQUFNLFlBQVksR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLFlBQVksT0FBTyxFQUFFLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBTyxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsbUJBQW1CLENBQUMsT0FBWSxFQUFFLElBQVU7UUFDMUMsa0NBQWtDO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBRTdCLGtFQUFrRTtRQUNsRSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osK0NBQStDO1lBQy9DLE1BQU0sWUFBWSxHQUFHLEdBQUcsR0FBRyxDQUFDLFVBQVUsWUFBWSxPQUFPLEVBQUUsQ0FBQztZQUU1RCw0RUFBNEU7WUFDNUUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFFRCxxRUFBcUU7UUFDckUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztrRkEzR1UsaUJBQWlCO3VFQUFqQixpQkFBaUIsV0FBakIsaUJBQWlCLG1CQURKLE1BQU07O2lGQUNuQixpQkFBaUI7Y0FEN0IsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZ2V0Rm9ybURhdGFIZWFkZXJzLCBnZXRIZWFkZXJzIH0gZnJvbSAnLi4vLi4vdXRpbHMvcmVxLXJlcy51dGlsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FwaS1jb25zdGFudHMnO1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTWVkaWFVcGxvYWRIZWxwZXIge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVXBsb2FkcyBtZWRpYSBvYmplY3QgdG8gdGhlIHNlcnZlci5cclxuICAgKiBAcGFyYW0gbWVkaWFPYmplY3QgVGhlIG1lZGlhIG9iamVjdCB0byB1cGxvYWQuXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIuXHJcbiAgICovXHJcbiAgdXBsb2FkTWVkaWFGaWxlKG1lZGlhT2JqZWN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEZvcm1EYXRhSGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5maWxlVXBsb2FkfWAsIG1lZGlhT2JqZWN0LCBoZWFkZXJzKTtcclxuICAgIH1cclxuICAgIHJldHVybiBvZihudWxsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwbG9hZHMgbXVsdGlwbGUgbWVkaWEgb2JqZWN0cyB0byB0aGUgc2VydmVyLlxyXG4gICAqIEBwYXJhbSBtZWRpYU9iamVjdHMgQW4gYXJyYXkgb2YgbWVkaWEgb2JqZWN0cyB0byB1cGxvYWQuXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIuXHJcbiAgICovXHJcbiAgdXBsb2FkTXVsdGlwbGVNZWRpYUZpbGUobWVkaWFPYmplY3RzOiBhbnksIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgaWYoIWhlYWRlcnMpe1xyXG4gICAgICAvLyBHZXQgdGhlIGhlYWRlcnMgZm9yIEZvcm1EYXRhXHJcbiAgICAgIGhlYWRlcnMgPSBnZXRGb3JtRGF0YUhlYWRlcnMoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gSWYgaGVhZGVycyBhcmUgYXZhaWxhYmxlLCBtYWtlIGEgUE9TVCByZXF1ZXN0IHRvIHVwbG9hZCB0aGUgbWVkaWEgb2JqZWN0c1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5tdWx0aXBsZUZpbGVVcGxvYWR9YCwgbWVkaWFPYmplY3RzLCBoZWFkZXJzKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gSWYgaGVhZGVycyBhcmUgbm90IGF2YWlsYWJsZSwgcmV0dXJuIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBudWxsXHJcbiAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBmaWxlIGZyb20gdGhlIHNlcnZlciBieSBpdHMgbWVkaWEgSUQuXHJcbiAgICogQHBhcmFtIG1lZGlhSWQgVGhlIElEIG9mIHRoZSBtZWRpYSBmaWxlIHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZmlsZSBhcyBhIEJsb2IuXHJcbiAgICovXHJcbiAgZ2V0RmlsZUJ5TWVkaWFJZChtZWRpYUlkOiBudW1iZXIsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0QmxvYihgJHtBUEkuZ2V0TWVkaWFGaWxlfT9tZWRpYUlkPSR7bWVkaWFJZH1gLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9mKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb3dubG9hZHMgYWxsIGZpbGVzIGZyb20gdGhlIGdpdmVuIFVSTC5cclxuICAgKiBAcGFyYW0gZW5kUG9pbnROYW1lIFRoZSBVUkwgdG8gZG93bmxvYWQgZmlsZXMgZnJvbS5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRvd25sb2FkZWQgZmlsZXMgYXMgYSBCbG9iLlxyXG4gICAqL1xyXG4gIGRvd25sb2FkQWxsRmlsZXMoZW5kUG9pbnROYW1lOiBhbnkpOiBPYnNlcnZhYmxlPEJsb2I+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0QmxvYihlbmRQb2ludE5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG93bmxvYWRzIFBERiBmaWxlcyBmcm9tIHRoZSBnaXZlbiBVUkwuXHJcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSBUaGUgVVJMIHRvIGRvd25sb2FkIFBERiBmaWxlcyBmcm9tLlxyXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHNlbmQgYWxvbmcgd2l0aCB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRvd25sb2FkZWQgUERGIGZpbGVzIGFzIGEgQmxvYi5cclxuICAgKi9cclxuICBkb3dubG9hZFBkZkZpbGVzKGVuZFBvaW50TmFtZTogYW55LCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPEJsb2I+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3RCbG9iKGVuZFBvaW50TmFtZSwgZGF0YSwgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhbiBpbWFnZSBmcm9tIHRoZSBzZXJ2ZXIgYnkgaXRzIG1lZGlhIElELlxyXG4gICAqIEBwYXJhbSBtZWRpYUlkIFRoZSBJRCBvZiB0aGUgbWVkaWEgZmlsZSB0byByZXRyaWV2ZS5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGltYWdlIGFzIGEgQmxvYi5cclxuICAgKi9cclxuICBnZXRJbWFnZUJ5TWVkaWFJZChtZWRpYUlkOiBhbnksIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIGNvbnN0IGVuZFBvaW50TmFtZSA9IGAke0FQSS5nZXRJbWFnZX0/bWVkaWFJZD0ke21lZGlhSWR9YDtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQ8QmxvYj4oZW5kUG9pbnROYW1lLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9mKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIGEgZmlsZSBmcm9tIHRoZSBzZXJ2ZXIgYnkgaXRzIG1lZGlhIElELlxyXG4gICAqIEBwYXJhbSBtZWRpYUlkIFRoZSBJRCBvZiB0aGUgbWVkaWEgZmlsZSB0byByZW1vdmUuXHJcbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIHNlbmQgd2l0aCB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRlbGV0ZWQgZmlsZSBhcyBhIEJsb2IuXHJcbiAgICovXHJcbiAgcmVtb3ZlRmlsZUJ5TWVkaWFJZChtZWRpYUlkOiBhbnksIGJvZHk/OiBhbnkpOiBPYnNlcnZhYmxlPEJsb2J8bnVsbD4ge1xyXG4gICAgLy8gR2V0IHRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuXHJcbiAgICAvLyBJZiBoZWFkZXJzIGFyZSBhdmFpbGFibGUsIG1ha2UgYSBHRVQgcmVxdWVzdCB0byBkZWxldGUgdGhlIGZpbGVcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgZW5kcG9pbnQgVVJMIHdpdGggdGhlIG1lZGlhIElEXHJcbiAgICAgIGNvbnN0IGVuZFBvaW50TmFtZSA9IGAke0FQSS5kZWxldGVGaWxlfT9NZWRpYUlkPSR7bWVkaWFJZH1gO1xyXG4gICAgICBcclxuICAgICAgLy8gTWFrZSB0aGUgR0VUIHJlcXVlc3QgdG8gZGVsZXRlIHRoZSBmaWxlIGFuZCByZXR1cm4gdGhlIHJlc3BvbnNlIGFzIGEgQmxvYlxyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoZW5kUG9pbnROYW1lLCBib2R5LCBoZWFkZXJzKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gSWYgaGVhZGVycyBhcmUgbm90IGF2YWlsYWJsZSwgcmV0dXJuIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBudWxsXHJcbiAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgfVxyXG59Il19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdXBsb2FkLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vbWVkaWEtdXBsb2FkLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUdwRCxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0ErRmxEO0lBN0ZDLE1BQU07SUFDTix5Q0FBeUM7SUFDekMsb0RBQW9EO0lBQ3BELHFFQUFxRTtJQUNyRSxNQUFNO0lBQ04sdURBQXVEO0lBQ3ZELDBDQUEwQztJQUMxQyxtQkFBbUI7SUFDbkIsOEVBQThFO0lBQzlFLE1BQU07SUFDTixxQkFBcUI7SUFDckIsSUFBSTtJQUVKOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxPQUFnQyxFQUFFLE9BQWE7UUFDOUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsK0JBQStCO1lBQy9CLE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFFRCw0RUFBNEU7UUFDNUUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsTUFBTTtJQUNOLHVEQUF1RDtJQUN2RCwwREFBMEQ7SUFDMUQsMkRBQTJEO0lBQzNELE1BQU07SUFDTixzRUFBc0U7SUFDdEUsa0NBQWtDO0lBQ2xDLG1CQUFtQjtJQUNuQixpR0FBaUc7SUFDakcsTUFBTTtJQUNOLGlCQUFpQjtJQUNqQixJQUFJO0lBRUosTUFBTTtJQUNOLDZDQUE2QztJQUM3Qyx5REFBeUQ7SUFDekQsdUVBQXVFO0lBQ3ZFLE1BQU07SUFDTiwwREFBMEQ7SUFDMUQsa0RBQWtEO0lBQ2xELElBQUk7SUFFSixNQUFNO0lBQ04sNkNBQTZDO0lBQzdDLDZEQUE2RDtJQUM3RCwwREFBMEQ7SUFDMUQsMkVBQTJFO0lBQzNFLE1BQU07SUFDTixxRUFBcUU7SUFDckUsa0NBQWtDO0lBQ2xDLG1CQUFtQjtJQUNuQixvRUFBb0U7SUFDcEUsTUFBTTtJQUNOLGlCQUFpQjtJQUNqQixJQUFJO0lBRUosTUFBTTtJQUNOLHlEQUF5RDtJQUN6RCwwREFBMEQ7SUFDMUQsNERBQTREO0lBQzVELE1BQU07SUFDTixvRUFBb0U7SUFDcEUsa0NBQWtDO0lBQ2xDLG1CQUFtQjtJQUNuQixpRUFBaUU7SUFDakUsdUVBQXVFO0lBQ3ZFLE1BQU07SUFDTixpQkFBaUI7SUFDakIsSUFBSTtJQUVKOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsT0FBZTtRQUM3QixrQ0FBa0M7UUFDbEMsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFFN0IsK0NBQStDO1FBQy9DLE1BQU0sWUFBWSxHQUFHLEdBQUcsR0FBRyxDQUFDLFVBQVUsWUFBWSxPQUFPLEVBQUUsQ0FBQztRQUU1RCw0RUFBNEU7UUFDNUUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7a0ZBL0ZVLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFESixNQUFNOztpRkFDbkIsaUJBQWlCO2NBRDdCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IGdldEZvcm1EYXRhSGVhZGVycywgZ2V0SGVhZGVycyB9IGZyb20gJy4uLy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FwaS1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDb21tb25BcGlSZXNwb25zZSwgVXBsb2FkTWVkaWFGaWxlc1BheWxvYWQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbW1vbi1hcGkuaW50ZXJmYWNlJztcclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIE1lZGlhVXBsb2FkSGVscGVyIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcblxyXG4gIC8vIC8qKlxyXG4gIC8vICAqIFVwbG9hZHMgbWVkaWEgb2JqZWN0IHRvIHRoZSBzZXJ2ZXIuXHJcbiAgLy8gICogQHBhcmFtIG1lZGlhT2JqZWN0IFRoZSBtZWRpYSBvYmplY3QgdG8gdXBsb2FkLlxyXG4gIC8vICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyLlxyXG4gIC8vICAqL1xyXG4gIC8vIHVwbG9hZE1lZGlhRmlsZShtZWRpYU9iamVjdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAvLyAgIGNvbnN0IGhlYWRlcnMgPSBnZXRGb3JtRGF0YUhlYWRlcnMoKTtcclxuICAvLyAgIGlmIChoZWFkZXJzKSB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuZmlsZVVwbG9hZH1gLCBtZWRpYU9iamVjdCwgaGVhZGVycyk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gb2YobnVsbCk7XHJcbiAgLy8gfVxyXG5cclxuICAvKipcclxuICAgKiBVcGxvYWRzIG11bHRpcGxlIG1lZGlhIG9iamVjdHMgdG8gdGhlIHNlcnZlci5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBBbiBhcnJheSBvZiBtZWRpYSBvYmplY3RzIHRvIHVwbG9hZC5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlci5cclxuICAgKi9cclxuICB1cGxvYWRNZWRpYUZpbGVzKHBheWxvYWQ6IFVwbG9hZE1lZGlhRmlsZXNQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgaWYgKCFoZWFkZXJzKSB7XHJcbiAgICAgIC8vIEdldCB0aGUgaGVhZGVycyBmb3IgRm9ybURhdGFcclxuICAgICAgaGVhZGVycyA9IGdldEZvcm1EYXRhSGVhZGVycygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIGhlYWRlcnMgYXJlIGF2YWlsYWJsZSwgbWFrZSBhIFBPU1QgcmVxdWVzdCB0byB1cGxvYWQgdGhlIG1lZGlhIG9iamVjdHNcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkubXVsdGlwbGVGaWxlVXBsb2FkfWAsIHBheWxvYWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogUmV0cmlldmVzIGEgZmlsZSBmcm9tIHRoZSBzZXJ2ZXIgYnkgaXRzIG1lZGlhIElELlxyXG4gIC8vICAqIEBwYXJhbSBtZWRpYUlkIFRoZSBJRCBvZiB0aGUgbWVkaWEgZmlsZSB0byByZXRyaWV2ZS5cclxuICAvLyAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGZpbGUgYXMgYSBCbG9iLlxyXG4gIC8vICAqL1xyXG4gIC8vIGdldEZpbGVCeU1lZGlhSWQobWVkaWFJZDogbnVtYmVyLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPEJsb2I+IHtcclxuICAvLyAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgLy8gICBpZiAoaGVhZGVycykge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldEJsb2IoYCR7QVBJLmdldE1lZGlhRmlsZX0/bWVkaWFJZD0ke21lZGlhSWR9YCwgcGFyYW1zLCBoZWFkZXJzKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBvZigpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogRG93bmxvYWRzIGFsbCBmaWxlcyBmcm9tIHRoZSBnaXZlbiBVUkwuXHJcbiAgLy8gICogQHBhcmFtIGVuZFBvaW50TmFtZSBUaGUgVVJMIHRvIGRvd25sb2FkIGZpbGVzIGZyb20uXHJcbiAgLy8gICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBkb3dubG9hZGVkIGZpbGVzIGFzIGEgQmxvYi5cclxuICAvLyAgKi9cclxuICAvLyBkb3dubG9hZEFsbEZpbGVzKGVuZFBvaW50TmFtZTogYW55KTogT2JzZXJ2YWJsZTxCbG9iPiB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldEJsb2IoZW5kUG9pbnROYW1lKTtcclxuICAvLyB9XHJcblxyXG4gIC8vIC8qKlxyXG4gIC8vICAqIERvd25sb2FkcyBQREYgZmlsZXMgZnJvbSB0aGUgZ2l2ZW4gVVJMLlxyXG4gIC8vICAqIEBwYXJhbSBlbmRQb2ludE5hbWUgVGhlIFVSTCB0byBkb3dubG9hZCBQREYgZmlsZXMgZnJvbS5cclxuICAvLyAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byBzZW5kIGFsb25nIHdpdGggdGhlIHJlcXVlc3QuXHJcbiAgLy8gICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBkb3dubG9hZGVkIFBERiBmaWxlcyBhcyBhIEJsb2IuXHJcbiAgLy8gICovXHJcbiAgLy8gZG93bmxvYWRQZGZGaWxlcyhlbmRQb2ludE5hbWU6IGFueSwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxCbG9iPiB7XHJcbiAgLy8gICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gIC8vICAgaWYgKGhlYWRlcnMpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0QmxvYihlbmRQb2ludE5hbWUsIGRhdGEsIGhlYWRlcnMpO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgcmV0dXJuIG9mKCk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyAvKipcclxuICAvLyAgKiBSZXRyaWV2ZXMgYW4gaW1hZ2UgZnJvbSB0aGUgc2VydmVyIGJ5IGl0cyBtZWRpYSBJRC5cclxuICAvLyAgKiBAcGFyYW0gbWVkaWFJZCBUaGUgSUQgb2YgdGhlIG1lZGlhIGZpbGUgdG8gcmV0cmlldmUuXHJcbiAgLy8gICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBpbWFnZSBhcyBhIEJsb2IuXHJcbiAgLy8gICovXHJcbiAgLy8gZ2V0SW1hZ2VCeU1lZGlhSWQobWVkaWFJZDogYW55LCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPEJsb2I+IHtcclxuICAvLyAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgLy8gICBpZiAoaGVhZGVycykge1xyXG4gIC8vICAgICBjb25zdCBlbmRQb2ludE5hbWUgPSBgJHtBUEkuZ2V0SW1hZ2V9P21lZGlhSWQ9JHttZWRpYUlkfWA7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0PEJsb2I+KGVuZFBvaW50TmFtZSwgcGFyYW1zLCBoZWFkZXJzKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBvZigpO1xyXG4gIC8vIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyBhIGZpbGUgZnJvbSB0aGUgc2VydmVyIGJ5IGl0cyBtZWRpYSBJRC5cclxuICAgKiBAcGFyYW0gbWVkaWFJZCBUaGUgSUQgb2YgdGhlIG1lZGlhIGZpbGUgdG8gcmVtb3ZlLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZGVsZXRlZCBmaWxlIGFzIGEgQmxvYi5cclxuICAgKi9cclxuICByZW1vdmVNZWRpYUZpbGUobWVkaWFJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgLy8gR2V0IHRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuXHJcbiAgICAvLyBDb25zdHJ1Y3QgdGhlIGVuZHBvaW50IFVSTCB3aXRoIHRoZSBtZWRpYSBJRFxyXG4gICAgY29uc3QgZW5kUG9pbnROYW1lID0gYCR7QVBJLmRlbGV0ZUZpbGV9P01lZGlhSWQ9JHttZWRpYUlkfWA7XHJcblxyXG4gICAgLy8gTWFrZSB0aGUgR0VUIHJlcXVlc3QgdG8gZGVsZXRlIHRoZSBmaWxlIGFuZCByZXR1cm4gdGhlIHJlc3BvbnNlIGFzIGEgQmxvYlxyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGVuZFBvaW50TmFtZSwgdW5kZWZpbmVkLCBoZWFkZXJzKTtcclxuICB9XHJcbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWFwaS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9jb21tb24tYXBpLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvblR5cGUgfSBmcm9tIFwiLi4vZW51bXMvY29tbW9uLmVudW1cIjtcblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlSZXNwb25zZSB7XG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICBpc1N1Y2Nlc3M6IGJvb2xlYW47XG4gIHJlc3VsdDogYW55O1xuICBlcnJvcnM6IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRJbmZvIHtcbiAgaXNTeXN0ZW1SZWNvcmQ6IGJvb2xlYW4gfCBudWxsO1xuICBibHVlcHJpbnRJZDogc3RyaW5nIHwgbnVsbDtcbiAgYmx1ZXByaW50U3RhdHVzSWQ6IHN0cmluZyB8IG51bGw7XG4gIHJlY29yZElkOiBzdHJpbmc7XG4gIHByaW1hcnlLZXk6IHN0cmluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkFwaVJlc3BvbnNlIHtcbiAgUmVxdWVzdElkOiBzdHJpbmdcbiAgSXNTdWNjZXNzOiBib29sZWFuXG4gIFJlc3VsdDogc3RyaW5nIHwgYW55W11cbiAgU3RhdHVzQ29kZTogc3RyaW5nXG4gIFJlY29yZEFmZmVjdHRlZDogbnVtYmVyXG4gIFRvdGFsUmVjb3JkczogbnVtYmVyXG4gIFRvdGFsRXhlY3V0aW9uVGltZTogbnVtYmVyXG4gIExvZzogYW55W11cbiAgRXJyb3JzOiBhbnlbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFNjcmVlbkNvbmZpZyB7IFxuICBsYXlvdXRJZD86IHN0cmluZzsgXG4gIHZlcnNpb24/OiBzdHJpbmcgXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc1JlcXVlc3RQYXlsb2FkIHtcbiAgU2NyZWVuSWQ6IHN0cmluZyxcbiAgRGF0YTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcGxhdGVQYXJzZVBheWxvYWQge1xuICBEYXRhU291cmNlTW9kZTogbnVtYmVyLFxuICBWYWx1ZTogc3RyaW5nLFxuICBUZW1wbGF0ZXZhcmlhYmxlczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dFN0YXR1c1BheWxvYWQge1xuICByZWNvcmRJZDogc3RyaW5nLCBcbiAgYXBwT2JqZWN0SWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVN0YXR1c1BheWxvYWQgZXh0ZW5kcyBOZXh0U3RhdHVzUGF5bG9hZCB7XG4gIG5leHRQb3NzaWJsZVN0YXR1c0lkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckFwcE9iamVjdHNQYXlsb2FkIHtcbiAgQ29ubmVjdGlvbklkOiBzdHJpbmcsXG4gIFRhYmxlczogc3RyaW5nW10sXG4gIFZpZXdzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb25lRHNxUGF5bG9hZCB7XG4gIERTUUlkOiBzdHJpbmcsXG4gIFF1ZXJ5TmFtZTogc3RyaW5nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldERhdGFKc29uQnlUeXBlUGF5bG9hZCB7XG4gIEpzb25UeXBlIDogSnNvblR5cGUsXG4gIFJlcXRva2Vucz86IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN5bmNBcHBGaWVsZHNQYXlsb2FkIHtcbiAgQ29ubmVjdGlvbklkOiBzdHJpbmc7XG4gIEFwcE9iamVjdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmcmVzaEdsb2JhbFNlYXJjaERhdGFQYXlsb2FkIHtcbiAgUXVlcnlPYmplY3RJRDogc3RyaW5nO1xufVxuICAiXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWFwaS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9jb21tb24tYXBpLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvblR5cGUgfSBmcm9tIFwiLi4vZW51bXMvY29tbW9uLmVudW1cIjtcblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlSZXNwb25zZSB7XG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICBpc1N1Y2Nlc3M6IGJvb2xlYW47XG4gIHJlc3VsdDogYW55O1xuICBlcnJvcnM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZEluZm8ge1xuICBpc1N5c3RlbVJlY29yZDogYm9vbGVhbiB8IG51bGw7XG4gIGJsdWVwcmludElkOiBzdHJpbmcgfCBudWxsO1xuICBibHVlcHJpbnRTdGF0dXNJZDogc3RyaW5nIHwgbnVsbDtcbiAgcmVjb3JkSWQ6IHN0cmluZztcbiAgcHJpbWFyeUtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkFwaVJlc3BvbnNlIHtcbiAgUmVxdWVzdElkOiBzdHJpbmdcbiAgSXNTdWNjZXNzOiBib29sZWFuXG4gIFJlc3VsdDogYW55XG4gIFN0YXR1c0NvZGU6IHN0cmluZ1xuICBSZWNvcmRBZmZlY3R0ZWQ6IG51bWJlclxuICBUb3RhbFJlY29yZHM6IG51bWJlclxuICBUb3RhbEV4ZWN1dGlvblRpbWU6IG51bWJlclxuICBMb2c6IGFueVtdXG4gIEVycm9yczogYW55W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRTY3JlZW5Db25maWcge1xuICBsYXlvdXRJZD86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NSZXF1ZXN0UGF5bG9hZCB7XG4gIFNjcmVlbklkOiBzdHJpbmcsXG4gIERhdGE6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlUGFyc2VQYXlsb2FkIHtcbiAgRGF0YVNvdXJjZU1vZGU6IG51bWJlcixcbiAgVmFsdWU6IHN0cmluZyxcbiAgVGVtcGxhdGV2YXJpYWJsZXM6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRTdGF0dXNQYXlsb2FkIHtcbiAgcmVjb3JkSWQ6IHN0cmluZyxcbiAgYXBwT2JqZWN0SWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVTdGF0dXNQYXlsb2FkIGV4dGVuZHMgTmV4dFN0YXR1c1BheWxvYWQge1xuICBuZXh0UG9zc2libGVTdGF0dXNJZDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJBcHBPYmplY3RzUGF5bG9hZCB7XG4gIENvbm5lY3Rpb25JZDogc3RyaW5nLFxuICBUYWJsZXM6IHN0cmluZ1tdLFxuICBWaWV3czogc3RyaW5nW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG9uZURzcVBheWxvYWQge1xuICBEU1FJZDogc3RyaW5nLFxuICBRdWVyeU5hbWU6IHN0cmluZyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXREYXRhSnNvbkJ5VHlwZVBheWxvYWQge1xuICBKc29uVHlwZTogSnNvblR5cGUsXG4gIFJlcXRva2Vucz86IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN5bmNBcHBGaWVsZHNQYXlsb2FkIHtcbiAgQ29ubmVjdGlvbklkOiBzdHJpbmc7XG4gIEFwcE9iamVjdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmcmVzaEdsb2JhbFNlYXJjaERhdGFQYXlsb2FkIHtcbiAgUXVlcnlPYmplY3RJRDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZE1lZGlhRmlsZVBheWxvYWQge1xuICBCYXNlNjRTdHJpbmc6IHN0cmluZztcbiAgRmlsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRNZWRpYUZpbGVzUGF5bG9hZCB7XG4gIFVwbG9hZEZpbGVzOiBVcGxvYWRNZWRpYUZpbGVQYXlsb2FkW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXBvcnRQYXlsb2FkIHtcbiAgRGF0YVJlcG9ydElkOiBzdHJpbmcsXG4gIFJlcXRva2VuczogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyZm9ybWFuY2VBbmFseXRpY3NQYXlsb2FkIHtcbiAgdHlwZTogc3RyaW5nLFxuICB2YWx1ZTogc3RyaW5nLFxuICBmcm9tRGF0ZTogc3RyaW5nLFxuICB0b0RhdGU6IHN0cmluZyxcbiAgbGltaXQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3JlZW5QZXJmb3JtYW5jZVBheWxvYWQge1xuICB2YWx1ZTogc3RyaW5nLFxuICBsb2FkVGltZTogbnVtYmVyLFxuICB0YWdzOiB7XG4gICAgZHNxSWRzOiBzdHJpbmdbXSxcbiAgICBhcHBPYmplY3RJZHM6IHN0cmluZ1tdXG4gIH1cbn0iXX0=
@@ -58,12 +58,6 @@ export declare class TabGetService {
58
58
  * @returns Response from the API
59
59
  */
60
60
  getSearchData(searchQuery: string, limit: number, params?: any): any;
61
- /**
62
- * Insert Screen Performance Statistics
63
- * @param data - Data to insert
64
- * @returns Response from the API
65
- */
66
- insertScreenPerformanceStatistics(data: any): any;
67
61
  /**
68
62
  * Executes an HTTP request with the specified method, URL, headers, and body.
69
63
  *
@@ -80,18 +74,6 @@ export declare class TabGetService {
80
74
  * @returns The result of the generated HTTP request
81
75
  */
82
76
  generateHttpRequest(QueryName: string): any;
83
- /**
84
- * Retrieves the detailed analytics of a screen's performance.
85
- * @param data - Data to be sent to the API
86
- * @returns Response from the API
87
- */
88
- getDetailOfPerformanceAnalytics(data: any): any;
89
- /**
90
- * Get summary of performance analytics
91
- * @param data - Data to be sent to the API
92
- * @returns Response from the API
93
- */
94
- getSummaryOfPerformanceAnalytics(data: any): any;
95
77
  static ɵfac: i0.ɵɵFactoryDeclaration<TabGetService, never>;
96
78
  static ɵprov: i0.ɵɵInjectableDeclaration<TabGetService>;
97
79
  }
@@ -1,20 +1,18 @@
1
+ import { Observable } from "rxjs";
2
+ import { CommonApiResponse } from "../interfaces/common-api.interface";
1
3
  import * as i0 from "@angular/core";
2
4
  export declare class TabReleaseService {
3
5
  private readonly apiService;
4
6
  /**
5
7
  * Retrieves the difference between the metadata JSONs of two releases.
6
- * @param data Object containing Release IDs
7
- * @param headers Optional headers for the request
8
8
  * @returns Observable of the API response
9
9
  */
10
- getMetaDataJsonDiff(data?: any, headers?: any): any;
10
+ getMetaDataJsonDiff(): Observable<CommonApiResponse>;
11
11
  /**
12
12
  * Retrieves the difference between the data JSONs of two releases.
13
- * @param data Object containing Release IDs
14
- * @param headers Optional headers for the request
15
13
  * @returns Observable of the API response
16
14
  */
17
- getDataJsonDiff(data?: any, headers?: any): any;
15
+ getDataJsonDiff(): any;
18
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TabReleaseService, never>;
19
17
  static ɵprov: i0.ɵɵInjectableDeclaration<TabReleaseService>;
20
18
  }
@@ -16,9 +16,9 @@ export declare enum ReleaseContentType {
16
16
  Data = 2,
17
17
  Script = 3
18
18
  }
19
- export interface BuildFormComponentType {
20
- CommonFilter: 'CommonFilter';
21
- BulkUpdate: 'BulkUpdate';
19
+ export declare enum BuildFormComponentType {
20
+ CommonFilter = "CommonFilter",
21
+ BulkUpdate = "BulkUpdate"
22
22
  }
23
23
  export declare enum JsonType {
24
24
  AppObjectAccess = 1,
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { CloneDsqPayload, CommonApiResponse, GetDataJsonByTypePayload, RefreshGlobalSearchDataPayload, RegisterAppObjectsPayload, SyncAppFieldsPayload } from '../../interfaces/common-api.interface';
2
+ import { CloneDsqPayload, CommonApiResponse, GetDataJsonByTypePayload, PerformanceAnalyticsPayload, RefreshGlobalSearchDataPayload, RegisterAppObjectsPayload, ReportPayload, ScreenPerformancePayload, SyncAppFieldsPayload } from '../../interfaces/common-api.interface';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AppHelper {
5
5
  private readonly apiService;
@@ -48,24 +48,6 @@ export declare class AppHelper {
48
48
  * @returns The result of the synchronization operation
49
49
  */
50
50
  syncAppFields(payload: SyncAppFieldsPayload): Observable<CommonApiResponse>;
51
- /**
52
- * Exports a report based on the given parameters.
53
- * @param params Optional parameters for exporting the report
54
- * @returns The result of the export operation
55
- */
56
- exportReport(params?: any): Observable<any> | null;
57
- /**
58
- * Downloads a report file based on the given parameters.
59
- * @param params Optional parameters for downloading the report file
60
- * @returns The result of the download operation
61
- */
62
- downloadReportFile(params?: any): Observable<any> | null;
63
- /**
64
- * Sends a report based on the given parameters.
65
- * @param params Optional parameters for sending the report
66
- * @returns The result of the send operation
67
- */
68
- sendReport(params?: any): Observable<any> | null;
69
51
  /**
70
52
  * Sets the tab components for the given tenant
71
53
  * @param connectionId The ID of the connection
@@ -90,6 +72,42 @@ export declare class AppHelper {
90
72
  * @returns An observable of the API response
91
73
  */
92
74
  refreshGlobalSearchData(data: RefreshGlobalSearchDataPayload): Observable<CommonApiResponse>;
75
+ /**
76
+ * Exports a report based on the given parameters.
77
+ * @param payload Parameters for exporting the report
78
+ * @returns The result of the export operation
79
+ */
80
+ exportReport(payload: ReportPayload): Observable<CommonApiResponse>;
81
+ /**
82
+ * Downloads a report file based on the given parameters.
83
+ * @param payload Parameters for downloading the report file
84
+ * @returns The result of the download operation
85
+ */
86
+ downloadReport(payload: ReportPayload): Observable<CommonApiResponse>;
87
+ /**
88
+ * Sends a report based on the given parameters.
89
+ * @param payload Parameters for sending the report
90
+ * @returns The result of the send operation
91
+ */
92
+ sendReport(payload: ReportPayload): Observable<CommonApiResponse>;
93
+ /**
94
+ * Retrieves the detailed analytics of a screen's performance.
95
+ * @param data - Data to be sent to the API
96
+ * @returns Response from the API
97
+ */
98
+ getDetailOfPerformanceAnalytics(data: PerformanceAnalyticsPayload): Observable<CommonApiResponse>;
99
+ /**
100
+ * Get summary of performance analytics
101
+ * @param data - Data to be sent to the API
102
+ * @returns Response from the API
103
+ */
104
+ getSummaryOfPerformanceAnalytics(data: PerformanceAnalyticsPayload): Observable<CommonApiResponse>;
105
+ /**
106
+ * Insert Screen Performance Statistics
107
+ * @param data - Data to insert
108
+ * @returns Response from the API
109
+ */
110
+ insertScreenPerformanceStatistics(data: ScreenPerformancePayload): Observable<CommonApiResponse>;
93
111
  static ɵfac: i0.ɵɵFactoryDeclaration<AppHelper, never>;
94
112
  static ɵprov: i0.ɵɵInjectableDeclaration<AppHelper>;
95
113
  }
@@ -1,51 +1,20 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { CommonApiResponse, UploadMediaFilesPayload } from '../../interfaces/common-api.interface';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class MediaUploadHelper {
4
5
  private readonly apiService;
5
- /**
6
- * Uploads media object to the server.
7
- * @param mediaObject The media object to upload.
8
- * @returns An Observable that emits the response from the server.
9
- */
10
- uploadMediaFile(mediaObject: any): Observable<any>;
11
6
  /**
12
7
  * Uploads multiple media objects to the server.
13
- * @param mediaObjects An array of media objects to upload.
8
+ * @param payload An array of media objects to upload.
14
9
  * @returns An Observable that emits the response from the server.
15
10
  */
16
- uploadMultipleMediaFile(mediaObjects: any, headers?: any): Observable<any>;
17
- /**
18
- * Retrieves a file from the server by its media ID.
19
- * @param mediaId The ID of the media file to retrieve.
20
- * @returns An Observable that emits the file as a Blob.
21
- */
22
- getFileByMediaId(mediaId: number, params?: any): Observable<Blob>;
23
- /**
24
- * Downloads all files from the given URL.
25
- * @param endPointName The URL to download files from.
26
- * @returns An Observable that emits the downloaded files as a Blob.
27
- */
28
- downloadAllFiles(endPointName: any): Observable<Blob>;
29
- /**
30
- * Downloads PDF files from the given URL.
31
- * @param endPointName The URL to download PDF files from.
32
- * @param data The data to send along with the request.
33
- * @returns An Observable that emits the downloaded PDF files as a Blob.
34
- */
35
- downloadPdfFiles(endPointName: any, data: any): Observable<Blob>;
36
- /**
37
- * Retrieves an image from the server by its media ID.
38
- * @param mediaId The ID of the media file to retrieve.
39
- * @returns An Observable that emits the image as a Blob.
40
- */
41
- getImageByMediaId(mediaId: any, params?: any): Observable<Blob>;
11
+ uploadMediaFiles(payload: UploadMediaFilesPayload, headers?: any): Observable<CommonApiResponse>;
42
12
  /**
43
13
  * Removes a file from the server by its media ID.
44
14
  * @param mediaId The ID of the media file to remove.
45
- * @param params Optional parameters to send with the request.
46
15
  * @returns An Observable that emits the deleted file as a Blob.
47
16
  */
48
- removeFileByMediaId(mediaId: any, body?: any): Observable<Blob | null>;
17
+ removeMediaFile(mediaId: string): Observable<CommonApiResponse>;
49
18
  static ɵfac: i0.ɵɵFactoryDeclaration<MediaUploadHelper, never>;
50
19
  static ɵprov: i0.ɵɵInjectableDeclaration<MediaUploadHelper>;
51
20
  }
@@ -15,7 +15,7 @@ export interface RecordInfo {
15
15
  export interface CommonApiResponse {
16
16
  RequestId: string;
17
17
  IsSuccess: boolean;
18
- Result: string | any[];
18
+ Result: any;
19
19
  StatusCode: string;
20
20
  RecordAffectted: number;
21
21
  TotalRecords: number;
@@ -38,7 +38,7 @@ export interface TemplateParsePayload {
38
38
  }
39
39
  export interface NextStatusPayload {
40
40
  recordId: string;
41
- appObjectId: string;
41
+ appObjectId?: string;
42
42
  }
43
43
  export interface UpdateStatusPayload extends NextStatusPayload {
44
44
  nextPossibleStatusId: string;
@@ -63,3 +63,29 @@ export interface SyncAppFieldsPayload {
63
63
  export interface RefreshGlobalSearchDataPayload {
64
64
  QueryObjectID: string;
65
65
  }
66
+ export interface UploadMediaFilePayload {
67
+ Base64String: string;
68
+ FileName: string;
69
+ }
70
+ export interface UploadMediaFilesPayload {
71
+ UploadFiles: UploadMediaFilePayload[];
72
+ }
73
+ export interface ReportPayload {
74
+ DataReportId: string;
75
+ Reqtokens: any;
76
+ }
77
+ export interface PerformanceAnalyticsPayload {
78
+ type: string;
79
+ value: string;
80
+ fromDate: string;
81
+ toDate: string;
82
+ limit?: number;
83
+ }
84
+ export interface ScreenPerformancePayload {
85
+ value: string;
86
+ loadTime: number;
87
+ tags: {
88
+ dsqIds: string[];
89
+ appObjectIds: string[];
90
+ };
91
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techextensor/tab-core-utility",
3
- "version": "2.2.141",
3
+ "version": "2.2.142",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",