@techextensor/tab-core-utility 2.2.200 → 2.2.202

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/esm2022/index.mjs +1 -3
  2. package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +3 -3
  3. package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +8 -18
  4. package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +5 -11
  5. package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +1 -3
  6. package/esm2022/lib/tab-core-utility/app/crud/tab-release.service.mjs +3 -3
  7. package/esm2022/lib/tab-core-utility/app/crud/tab-workflow.service.mjs +3 -22
  8. package/esm2022/lib/tab-core-utility/app/interfaces/notification.interface.mjs +3 -1
  9. package/esm2022/lib/tab-core-utility/app/interfaces/release.interface.mjs +1 -1
  10. package/esm2022/lib/tab-core-utility/core/service/notification/notification-inbox.service.mjs +57 -17
  11. package/esm2022/lib/tab-core-utility/core/service/notification/notification-websocket.service.mjs +18 -7
  12. package/index.d.ts +0 -2
  13. package/lib/tab-core-utility/app/constants/api-constants.d.ts +2 -2
  14. package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +0 -2
  15. package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +0 -1
  16. package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +0 -1
  17. package/lib/tab-core-utility/app/crud/tab-workflow.service.d.ts +1 -16
  18. package/lib/tab-core-utility/app/interfaces/notification.interface.d.ts +17 -14
  19. package/lib/tab-core-utility/app/interfaces/release.interface.d.ts +49 -18
  20. package/lib/tab-core-utility/core/service/notification/notification-inbox.service.d.ts +11 -4
  21. package/lib/tab-core-utility/core/service/notification/notification-websocket.service.d.ts +1 -0
  22. package/package.json +1 -1
  23. package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +0 -67
  24. package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +0 -44
  25. package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +0 -35
  26. package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +0 -34
@@ -8,10 +8,10 @@ export class TabReleaseService {
8
8
  this.apiService = inject(ApiService);
9
9
  }
10
10
  getMetaDataDiff(req) {
11
- return this.apiService.getFromService(APIServices.crudService, API.releaseDiffMetadata, getParams(req), getHeaders());
11
+ return this.apiService.getFromService(APIServices.metadataService, API.releaseDiffMetadata, getParams(req), getHeaders());
12
12
  }
13
13
  getDataDiff(req) {
14
- return this.apiService.getFromService(APIServices.crudService, API.releaseDiffData, getParams(req), getHeaders());
14
+ return this.apiService.getFromService(APIServices.metadataService, API.releaseDiffData, getParams(req), getHeaders());
15
15
  }
16
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabReleaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
17
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabReleaseService, providedIn: 'root' }); }
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
20
20
  type: Injectable,
21
21
  args: [{ providedIn: 'root' }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJlbGVhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1yZWxlYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFLOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBU2xEO0lBUEMsZUFBZSxDQUFDLEdBQWlCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDeEgsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFpQjtRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNwSCxDQUFDOytHQVRVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBREosTUFBTTs7NEZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMsIGdldFBhcmFtcyB9IGZyb20gJy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IEFQSSwgQVBJU2VydmljZXMgfSBmcm9tICcuLi9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb21tb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRGlmZlJlcXVlc3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlbGVhc2UuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJSZWxlYXNlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG5cclxuICBnZXRNZXRhRGF0YURpZmYocmVxPzogRGlmZlJlcXVlc3QpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldEZyb21TZXJ2aWNlKEFQSVNlcnZpY2VzLmNydWRTZXJ2aWNlLCBBUEkucmVsZWFzZURpZmZNZXRhZGF0YSwgZ2V0UGFyYW1zKHJlcSksIGdldEhlYWRlcnMoKSk7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhRGlmZihyZXE/OiBEaWZmUmVxdWVzdCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0RnJvbVNlcnZpY2UoQVBJU2VydmljZXMuY3J1ZFNlcnZpY2UsIEFQSS5yZWxlYXNlRGlmZkRhdGEsIGdldFBhcmFtcyhyZXEpLCBnZXRIZWFkZXJzKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJlbGVhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1yZWxlYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFLOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBU2xEO0lBUEMsZUFBZSxDQUFDLEdBQWlCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDNUgsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFpQjtRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN4SCxDQUFDOytHQVRVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBREosTUFBTTs7NEZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMsIGdldFBhcmFtcyB9IGZyb20gJy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IEFQSSwgQVBJU2VydmljZXMgfSBmcm9tICcuLi9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb21tb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRGlmZlJlcXVlc3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlbGVhc2UuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJSZWxlYXNlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG5cclxuICBnZXRNZXRhRGF0YURpZmYocmVxPzogRGlmZlJlcXVlc3QpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldEZyb21TZXJ2aWNlKEFQSVNlcnZpY2VzLm1ldGFkYXRhU2VydmljZSwgQVBJLnJlbGVhc2VEaWZmTWV0YWRhdGEsIGdldFBhcmFtcyhyZXEpLCBnZXRIZWFkZXJzKCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YURpZmYocmVxPzogRGlmZlJlcXVlc3QpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldEZyb21TZXJ2aWNlKEFQSVNlcnZpY2VzLm1ldGFkYXRhU2VydmljZSwgQVBJLnJlbGVhc2VEaWZmRGF0YSwgZ2V0UGFyYW1zKHJlcSksIGdldEhlYWRlcnMoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -2,34 +2,15 @@
2
2
  import { Injectable, inject } from "@angular/core";
3
3
  import { ApiService } from "../../core/http-client/api.service";
4
4
  import { getHeaders } from "../utils/req-res.util";
5
- import { API } from "../constants/api-constants";
6
- import { API_URL, Workflow_URL } from "../../core/http-client/api-url.token";
5
+ import { API, APIServices } from "../constants/api-constants";
7
6
  import * as i0 from "@angular/core";
8
7
  export class TabWorkflowService {
9
8
  constructor() {
10
9
  this.apiService = inject(ApiService);
11
- this.api_url = inject(API_URL);
12
- this.workflow_url = inject(Workflow_URL);
13
10
  }
14
- /**
15
- * Executes a TAB workflow.
16
- * @param endPoint The endpoint for the workflow.
17
- * @param data The data to send with the request.
18
- * @returns An observable of the workflow execution result.
19
- */
20
11
  executeTABWorkflow(payload, headers) {
21
12
  headers = getHeaders(headers);
22
- return this.apiService.postByUrl(`${this.api_url}${API.ExecuteWorkflow}`, payload, { headers });
23
- }
24
- /**
25
- * Executes an ELSA workflow.
26
- * @param endPoint The endpoint for the workflow.
27
- * @param data The data to send with the request.
28
- * @returns An observable of the workflow execution result.
29
- */
30
- executeELSAWorkflow(endPoint, data) {
31
- const headers = getHeaders();
32
- return this.apiService.postByUrl(`${this.workflow_url}${endPoint}`, data, { headers });
13
+ return this.apiService.postToService(APIServices.workflowService, `${API.workflowsExecute}/${payload.WorkFlowID}`, { reqtokens: payload.Reqtokens }, headers);
33
14
  }
34
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabWorkflowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
16
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabWorkflowService, providedIn: 'root' }); }
@@ -38,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
38
19
  type: Injectable,
39
20
  args: [{ providedIn: 'root' }]
40
21
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXdvcmtmbG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItd29ya2Zsb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFHN0UsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUIsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0F1QnREO0lBckJDOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsT0FBa0MsRUFBRSxPQUFhO1FBQ2xFLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsbUJBQW1CLENBQUMsUUFBZ0IsRUFBRSxJQUFZO1FBQ2hELE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQzsrR0F6QlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETCxNQUFNOzs0RkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBnZXRIZWFkZXJzIH0gZnJvbSBcIi4uL3V0aWxzL3JlcS1yZXMudXRpbFwiO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tIFwiLi4vY29uc3RhbnRzL2FwaS1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgZXhlY3V0ZVRBQldvcmtmbG93UGF5bG9hZCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgQVBJX1VSTCwgV29ya2Zsb3dfVVJMIH0gZnJvbSBcIi4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLXVybC50b2tlblwiO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFRhYldvcmtmbG93U2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpX3VybCA9IGluamVjdChBUElfVVJMKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93X3VybCA9IGluamVjdChXb3JrZmxvd19VUkwpO1xyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhIFRBQiB3b3JrZmxvdy5cclxuICAgKiBAcGFyYW0gZW5kUG9pbnQgVGhlIGVuZHBvaW50IGZvciB0aGUgd29ya2Zsb3cuXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gc2VuZCB3aXRoIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHdvcmtmbG93IGV4ZWN1dGlvbiByZXN1bHQuXHJcbiAgICovXHJcbiAgZXhlY3V0ZVRBQldvcmtmbG93KHBheWxvYWQ6IGV4ZWN1dGVUQUJXb3JrZmxvd1BheWxvYWQsIGhlYWRlcnM/OiBhbnkpIHtcclxuICAgIGhlYWRlcnMgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0QnlVcmwoYCR7dGhpcy5hcGlfdXJsfSR7QVBJLkV4ZWN1dGVXb3JrZmxvd31gLCBwYXlsb2FkLCB7aGVhZGVyc30pOyAgIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYW4gRUxTQSB3b3JrZmxvdy5cclxuICAgKiBAcGFyYW0gZW5kUG9pbnQgVGhlIGVuZHBvaW50IGZvciB0aGUgd29ya2Zsb3cuXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gc2VuZCB3aXRoIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHdvcmtmbG93IGV4ZWN1dGlvbiByZXN1bHQuXHJcbiAgICovXHJcbiAgZXhlY3V0ZUVMU0FXb3JrZmxvdyhlbmRQb2ludDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3RCeVVybChgJHt0aGlzLndvcmtmbG93X3VybH0ke2VuZFBvaW50fWAsIGRhdGEsIHtoZWFkZXJzfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXdvcmtmbG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItd29ya2Zsb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUk5RCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FXbEQ7SUFUQyxrQkFBa0IsQ0FBQyxPQUFrQyxFQUFFLE9BQWE7UUFDbEUsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUNsQyxXQUFXLENBQUMsZUFBZSxFQUMzQixHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQy9DLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFDaEMsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDOytHQVhVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBREwsTUFBTTs7NEZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gXCIuLi91dGlscy9yZXEtcmVzLnV0aWxcIjtcclxuaW1wb3J0IHsgQVBJLCBBUElTZXJ2aWNlcyB9IGZyb20gXCIuLi9jb25zdGFudHMvYXBpLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBleGVjdXRlVEFCV29ya2Zsb3dQYXlsb2FkIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvY29tbW9uLmludGVyZmFjZVwiO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFRhYldvcmtmbG93U2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG5cclxuICBleGVjdXRlVEFCV29ya2Zsb3cocGF5bG9hZDogZXhlY3V0ZVRBQldvcmtmbG93UGF5bG9hZCwgaGVhZGVycz86IGFueSkge1xyXG4gICAgaGVhZGVycyA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3RUb1NlcnZpY2UoXHJcbiAgICAgIEFQSVNlcnZpY2VzLndvcmtmbG93U2VydmljZSxcclxuICAgICAgYCR7QVBJLndvcmtmbG93c0V4ZWN1dGV9LyR7cGF5bG9hZC5Xb3JrRmxvd0lEfWAsXHJcbiAgICAgIHsgcmVxdG9rZW5zOiBwYXlsb2FkLlJlcXRva2VucyB9LFxyXG4gICAgICBoZWFkZXJzXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -46,5 +46,7 @@ export const NOTIFICATION_WS_CONFIG = {
46
46
  DEFAULT_PAGE_SIZE: 20,
47
47
  RECONNECT_DELAYS_MS: [2000, 5000, 10000],
48
48
  RECONNECT_MAX_DELAY_MS: 10000,
49
+ LOAD_TIMEOUT_MS: 10000,
50
+ CONNECT_TIMEOUT_MS: 1500,
49
51
  };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBaUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLFlBQVksRUFBRSxjQUFjO0lBQzVCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFlBQVksRUFBRSxjQUFjO0lBQzVCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE1BQU0sRUFBRSxRQUFRO0NBQ1IsQ0FBQztBQUlYLGlEQUFpRDtBQUVqRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLDZCQUE2QjtJQUM3QixJQUFJLEVBQUUsTUFBTTtJQUNaLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcEMsc0JBQXNCLEVBQUUsd0JBQXdCO0lBQ2hELDBCQUEwQixFQUFFLDRCQUE0QjtJQUN4RCxrQkFBa0IsRUFBRSxvQkFBb0I7SUFDeEMsdUJBQXVCLEVBQUUseUJBQXlCO0lBRWxELDRCQUE0QjtJQUM1QixzQkFBc0IsRUFBRSx3QkFBd0I7SUFDaEQsSUFBSSxFQUFFLE1BQU07SUFDWixhQUFhLEVBQUUsZUFBZTtJQUM5QiwwQkFBMEIsRUFBRSw0QkFBNEI7SUFDeEQseUJBQXlCLEVBQUUsMkJBQTJCO0lBQ3RELCtCQUErQixFQUFFLGlDQUFpQztJQUNsRSxtQ0FBbUMsRUFBRSxxQ0FBcUM7SUFDMUUsMkJBQTJCLEVBQUUsNkJBQTZCO0lBQzFELGdDQUFnQyxFQUFFLGtDQUFrQztJQUNwRSx3QkFBd0IsRUFBRSwwQkFBMEI7SUFDcEQsb0JBQW9CLEVBQUUsc0JBQXNCO0lBQzVDLHlCQUF5QixFQUFFLDJCQUEyQjtJQUN0RCxZQUFZLEVBQUUsY0FBYztJQUM1QixLQUFLLEVBQUUsT0FBTztDQUNOLENBQUM7QUFJWCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLG1CQUFtQixFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7SUFDeEMsc0JBQXNCLEVBQUUsS0FBSztDQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIE5vdGlmaWNhdGlvbiB0eXBlcyAmIFdlYlNvY2tldCBwcm90b2NvbCBjb25zdGFudHMuXHJcbiAqIERyaXZlbiBieSB0aGUgVEFGIE5vdGlmaWNhdGlvbiBTZXJ2aWNlIEFQSSBkb2MuXHJcbiAqL1xyXG5cclxuLy8gPT09PT09PT09PT09PSBFTlVNUyAvIFVOSU9OUyA9PT09PT09PT09PT09XHJcblxyXG4vKipcclxuICogTm90aWZpY2F0aW9uIHN0YXR1cyBsaWZlY3ljbGUgKHBlciBCRSBjb25maXJtYXRpb24pOlxyXG4gKlxyXG4gKiAgIFBlbmRpbmcgICAg4oCUIHJlY29yZCBqdXN0IGNyZWF0ZWQgKG5vdCB5ZXQgdmlzaWJsZSBpbiBpbmJveClcclxuICogICBEZWxpdmVyZWQgIOKAlCBzdWNjZXNzZnVsbHkgc2VudCBvdmVyIFdlYlNvY2tldCAodmlzaWJsZSwgc2hvd24gYXMgdW5yZWFkKVxyXG4gKiAgIFJlYWQgICAgICAg4oCUIGFmdGVyIG1hcmtfbm90aWZpY2F0aW9uX3JlYWQgLyBtYXJrX2FsbF9ub3RpZmljYXRpb25fcmVhZFxyXG4gKiAgIERvbmUgICAgICAg4oCUIGFmdGVyIGNsZWFyX25vdGlmaWNhdGlvbiAvIGNsZWFyX2FsbF9ub3RpZmljYXRpb25zIChzb2Z0IGRlbGV0ZSwgZmlsdGVyZWQgb3V0KVxyXG4gKiAgIEZhaWxlZCAgICAg4oCUIFdlYlNvY2tldCBzZW5kIGZhaWxlZCAoZmlsdGVyZWQgb3V0KVxyXG4gKlxyXG4gKiBJbmJveCBgZ2V0X25vdGlmaWNhdGlvbnNfcmVzcG9uc2VgIG9ubHkgcmV0dXJucyBgRGVsaXZlcmVkYCArIGBSZWFkYC5cclxuICogYGlzUmVhZGAgaXMgZGVyaXZlZCBhcyBgc3RhdHVzID09PSAnUmVhZCdgLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uU3RhdHVzID1cclxuICB8ICdQZW5kaW5nJ1xyXG4gIHwgJ0RlbGl2ZXJlZCdcclxuICB8ICdSZWFkJ1xyXG4gIHwgJ0RvbmUnXHJcbiAgfCAnRmFpbGVkJztcclxuXHJcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblByaW9yaXR5ID0gJ0xvdycgfCAnTm9ybWFsJyB8ICdIaWdoJyB8ICdVcmdlbnQnO1xyXG5cclxuZXhwb3J0IHR5cGUgV3NDb25uZWN0aW9uU3RhdGUgPVxyXG4gIHwgJ0Rpc2Nvbm5lY3RlZCdcclxuICB8ICdDb25uZWN0aW5nJ1xyXG4gIHwgJ0Nvbm5lY3RlZCdcclxuICB8ICdSZWNvbm5lY3RpbmcnXHJcbiAgfCAnRmFpbGVkJ1xyXG4gIHwgJ0Nsb3NlZCc7XHJcblxyXG5leHBvcnQgY29uc3QgV1NfQ09OTkVDVElPTl9TVEFURSA9IHtcclxuICBESVNDT05ORUNURUQ6ICdEaXNjb25uZWN0ZWQnLFxyXG4gIENPTk5FQ1RJTkc6ICdDb25uZWN0aW5nJyxcclxuICBDT05ORUNURUQ6ICdDb25uZWN0ZWQnLFxyXG4gIFJFQ09OTkVDVElORzogJ1JlY29ubmVjdGluZycsXHJcbiAgRkFJTEVEOiAnRmFpbGVkJyxcclxuICBDTE9TRUQ6ICdDbG9zZWQnLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uQWN0aW9uVHlwZSA9ICdOYXZpZ2F0ZScgfCAnRGlzbWlzcyc7XHJcblxyXG4vLyA9PT09PT09PT09PT09IFBST1RPQ09MIENPTlNUQU5UUyA9PT09PT09PT09PT09XHJcblxyXG4vKipcclxuICogV2ViU29ja2V0IG1lc3NhZ2UgdHlwZXMgKHBlciBCRSBkb2MpLlxyXG4gKiBPdXRib3VuZDogY2xpZW50IOKGkiBzZXJ2ZXIuXHJcbiAqIEluYm91bmQ6IHNlcnZlciDihpIgY2xpZW50IChyZXNwb25zZXMgKyBwdXNoIGV2ZW50cykuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgV1NfTUVTU0FHRV9UWVBFID0ge1xyXG4gIC8vIE91dGJvdW5kIChjbGllbnQg4oaSIHNlcnZlcilcclxuICBQSU5HOiAncGluZycsXHJcbiAgSEVBUlRCRUFUOiAnaGVhcnRiZWF0JyxcclxuICBHRVRfTk9USUZJQ0FUSU9OUzogJ2dldF9ub3RpZmljYXRpb25zJyxcclxuICBHRVRfVU5SRUFEX0NPVU5UOiAnZ2V0X3VucmVhZF9jb3VudCcsXHJcbiAgTUFSS19OT1RJRklDQVRJT05fUkVBRDogJ21hcmtfbm90aWZpY2F0aW9uX3JlYWQnLFxyXG4gIE1BUktfQUxMX05PVElGSUNBVElPTl9SRUFEOiAnbWFya19hbGxfbm90aWZpY2F0aW9uX3JlYWQnLFxyXG4gIENMRUFSX05PVElGSUNBVElPTjogJ2NsZWFyX25vdGlmaWNhdGlvbicsXHJcbiAgQ0xFQVJfQUxMX05PVElGSUNBVElPTlM6ICdjbGVhcl9hbGxfbm90aWZpY2F0aW9ucycsXHJcblxyXG4gIC8vIEluYm91bmQgKHNlcnZlciDihpIgY2xpZW50KVxyXG4gIENPTk5FQ1RJT05fRVNUQUJMSVNIRUQ6ICdjb25uZWN0aW9uX2VzdGFibGlzaGVkJyxcclxuICBQT05HOiAncG9uZycsXHJcbiAgSEVBUlRCRUFUX0FDSzogJ2hlYXJ0YmVhdF9hY2snLFxyXG4gIEdFVF9OT1RJRklDQVRJT05TX1JFU1BPTlNFOiAnZ2V0X25vdGlmaWNhdGlvbnNfcmVzcG9uc2UnLFxyXG4gIEdFVF9VTlJFQURfQ09VTlRfUkVTUE9OU0U6ICdnZXRfdW5yZWFkX2NvdW50X3Jlc3BvbnNlJyxcclxuICBNQVJLX05PVElGSUNBVElPTl9SRUFEX1JFU1BPTlNFOiAnbWFya19ub3RpZmljYXRpb25fcmVhZF9yZXNwb25zZScsXHJcbiAgTUFSS19BTExfTk9USUZJQ0FUSU9OX1JFQURfUkVTUE9OU0U6ICdtYXJrX2FsbF9ub3RpZmljYXRpb25fcmVhZF9yZXNwb25zZScsXHJcbiAgQ0xFQVJfTk9USUZJQ0FUSU9OX1JFU1BPTlNFOiAnY2xlYXJfbm90aWZpY2F0aW9uX3Jlc3BvbnNlJyxcclxuICBDTEVBUl9BTExfTk9USUZJQ0FUSU9OU19SRVNQT05TRTogJ2NsZWFyX2FsbF9ub3RpZmljYXRpb25zX3Jlc3BvbnNlJyxcclxuICBOT1RJRklDQVRJT05fTUFSS0VEX1JFQUQ6ICdub3RpZmljYXRpb25fbWFya2VkX3JlYWQnLFxyXG4gIE5PVElGSUNBVElPTl9DTEVBUkVEOiAnbm90aWZpY2F0aW9uX2NsZWFyZWQnLFxyXG4gIEFMTF9OT1RJRklDQVRJT05TX0NMRUFSRUQ6ICdhbGxfbm90aWZpY2F0aW9uc19jbGVhcmVkJyxcclxuICBOT1RJRklDQVRJT046ICdub3RpZmljYXRpb24nLFxyXG4gIEVSUk9SOiAnZXJyb3InLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgV3NNZXNzYWdlVHlwZSA9IHR5cGVvZiBXU19NRVNTQUdFX1RZUEVba2V5b2YgdHlwZW9mIFdTX01FU1NBR0VfVFlQRV07XHJcblxyXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX1dTX0NPTkZJRyA9IHtcclxuICBERUZBVUxUX1BBR0VfU0laRTogMjAsXHJcbiAgUkVDT05ORUNUX0RFTEFZU19NUzogWzIwMDAsIDUwMDAsIDEwMDAwXSxcclxuICBSRUNPTk5FQ1RfTUFYX0RFTEFZX01TOiAxMDAwMCxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vID09PT09PT09PT09PT0gQkUgUkVTUE9OU0UgU0hBUEVTID09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBPbmUgaXRlbSBpbiBgZ2V0X25vdGlmaWNhdGlvbnNfcmVzcG9uc2Uubm90aWZpY2F0aW9uc1tdYCBwZXIgQkUgZG9jLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25JdGVtIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHN0YXR1czogTm90aWZpY2F0aW9uU3RhdHVzO1xyXG4gIGRhdGE6IHN0cmluZzsgLy8gSlNPTiBzdHJpbmcg4oCUIHBhcnNlZCBpbiBzZXJ2aWNlXHJcbiAgcHJpb3JpdHk6IE5vdGlmaWNhdGlvblByaW9yaXR5O1xyXG4gIHdvcmtzcGFjZUtleTogc3RyaW5nO1xyXG4gIHByb3ZpZGVyOiBzdHJpbmc7XHJcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XHJcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XHJcbiAgZXhwaXJlc0F0OiBzdHJpbmcgfCBudWxsO1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIExpdmUtcHVzaCBwYXlsb2FkIOKAlCBmaWVsZHMgZmxhdCBhdCB0b3AgbGV2ZWwgKE5PVCBpbnNpZGUgYGRhdGFgKS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uUHVzaFBheWxvYWQge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBib2R5OiBzdHJpbmc7XHJcbiAgY2F0ZWdvcnk6IHN0cmluZztcclxuICBwcmlvcml0eTogTm90aWZpY2F0aW9uUHJpb3JpdHk7XHJcbiAgd29ya3NwYWNlS2V5OiBzdHJpbmc7XHJcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBY3Rpb24gb2JqZWN0IGluc2lkZSB0aGUgYGRhdGFgIEpTT04gb2YgYW4gaW5ib3ggbm90aWZpY2F0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25BY3Rpb24ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgdHlwZTogTm90aWZpY2F0aW9uQWN0aW9uVHlwZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFBhcnNlZCBjb250ZW50cyBvZiBhbiBpbmJveCBub3RpZmljYXRpb24ncyBgZGF0YWAgSlNPTiBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZE5vdGlmaWNhdGlvblBheWxvYWQge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGJvZHk/OiBzdHJpbmc7XHJcbiAgY2F0ZWdvcnk/OiBzdHJpbmc7XHJcbiAgcHJpb3JpdHk/OiBOb3RpZmljYXRpb25Qcmlvcml0eTtcclxuICBhY3Rpb25zPzogTm90aWZpY2F0aW9uQWN0aW9uW107XHJcbiAgLy8gVG9sZXJhbnQg4oCUIHNlcnZlciBtYXkgYWRkIGZpZWxkcyBvdmVyIHRpbWVcclxuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09IFVJLUZBQ0lORyBTSEFQRSA9PT09PT09PT09PT09XHJcblxyXG4vKipcclxuICogQ2Fub25pY2FsIFVJIHNoYXBlIGFmdGVyIG5vcm1hbGl6YXRpb24uXHJcbiAqIEJvdGggaW5ib3ggaXRlbXMgYW5kIGxpdmUgcHVzaGVzIGFyZSBub3JtYWxpemVkIGludG8gdGhpcy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlOb3RpZmljYXRpb24ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XHJcbiAgc3RhdHVzOiBOb3RpZmljYXRpb25TdGF0dXM7XHJcbiAgcHJpb3JpdHk6IE5vdGlmaWNhdGlvblByaW9yaXR5O1xyXG4gIHBhcnNlZFBheWxvYWQ6IFBhcnNlZE5vdGlmaWNhdGlvblBheWxvYWQ7XHJcbiAgaXNSZWFkOiBib29sZWFuO1xyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09IENPTk5FQ1QgUEFSQU1TID09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBBdXRoIGlkZW50aWZpZXJzIHJlcXVpcmVkIHRvIG9wZW4gdGhlIFdlYlNvY2tldCBhbmQgYWRkcmVzcyBtZXNzYWdlcy5cclxuICogVGhlIGFwcCBzdXBwbGllcyB0aGVzZSBhdCBjb25uZWN0IHRpbWUg4oCUIHRoZSBjb3JlIHNlcnZpY2UgZG9lcyBub3QgcmVhZCBzdG9yYWdlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25Db25uZWN0UGFyYW1zIHtcclxuICAvKiogRW5kIHVzZXIg4oCUIHJlcXVpcmVkIGZvciB0aGUgVVJMLiAqL1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIC8qKiBBcHBsaWNhdGlvbiDigJQgdXNlZCBpbiBVUkwgKyB3b3Jrc3BhY2VLZXkuICovXHJcbiAgYXBwSWQ6IHN0cmluZztcclxuICAvKiogVGVuYW50IOKAlCB1c2VkIGluIFVSTCArIHdvcmtzcGFjZUtleS4gKi9cclxuICB0ZW5hbnRJZDogc3RyaW5nO1xyXG4gIC8qKiBFbnZpcm9ubWVudCDigJQgdXNlZCBpbiB3b3Jrc3BhY2VLZXkgb25seS4gKi9cclxuICBlbnZpcm9ubWVudElkOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb21wb3NlZCBvbmNlIGF0IHRoZSBhcHAgYm91bmRhcnksIHBhc3NlZCBkb3duIHRvIHRoZSBpbmJveCBzZXJ2aWNlLlxyXG4gKiBVc2VkIGFzIHRoZSBVUkwgcXVlcnkgZm9yIHRoZSBXZWJTb2NrZXQgYW5kIGluIGV2ZXJ5IG91dGJvdW5kIG1lc3NhZ2UgYm9keS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uSW5ib3hDb25uZWN0UGFyYW1zIHtcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBhcHBJZDogc3RyaW5nO1xyXG4gIHRlbmFudElkOiBzdHJpbmc7XHJcbiAgLyoqIGB0ZW5hbnRJZC5hcHBJZC5lbnZpcm9ubWVudElkYCDigJQgcHJlLWNvbXBvc2VkIGJ5IHRoZSBTREsgZmFjYWRlLiAqL1xyXG4gIHdvcmtzcGFjZUtleTogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogVVJMLW9ubHkgcGFyYW1zIGZvciB0aGUgbG93LWxldmVsIHRyYW5zcG9ydC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uV2ViU29ja2V0Q29ubmVjdFBhcmFtcyB7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgYXBwSWQ6IHN0cmluZztcclxuICB0ZW5hbnRJZDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBaUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLFlBQVksRUFBRSxjQUFjO0lBQzVCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFlBQVksRUFBRSxjQUFjO0lBQzVCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE1BQU0sRUFBRSxRQUFRO0NBQ1IsQ0FBQztBQUlYLGlEQUFpRDtBQUVqRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLDZCQUE2QjtJQUM3QixJQUFJLEVBQUUsTUFBTTtJQUNaLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcEMsc0JBQXNCLEVBQUUsd0JBQXdCO0lBQ2hELDBCQUEwQixFQUFFLDRCQUE0QjtJQUN4RCxrQkFBa0IsRUFBRSxvQkFBb0I7SUFDeEMsdUJBQXVCLEVBQUUseUJBQXlCO0lBRWxELDRCQUE0QjtJQUM1QixzQkFBc0IsRUFBRSx3QkFBd0I7SUFDaEQsSUFBSSxFQUFFLE1BQU07SUFDWixhQUFhLEVBQUUsZUFBZTtJQUM5QiwwQkFBMEIsRUFBRSw0QkFBNEI7SUFDeEQseUJBQXlCLEVBQUUsMkJBQTJCO0lBQ3RELCtCQUErQixFQUFFLGlDQUFpQztJQUNsRSxtQ0FBbUMsRUFBRSxxQ0FBcUM7SUFDMUUsMkJBQTJCLEVBQUUsNkJBQTZCO0lBQzFELGdDQUFnQyxFQUFFLGtDQUFrQztJQUNwRSx3QkFBd0IsRUFBRSwwQkFBMEI7SUFDcEQsb0JBQW9CLEVBQUUsc0JBQXNCO0lBQzVDLHlCQUF5QixFQUFFLDJCQUEyQjtJQUN0RCxZQUFZLEVBQUUsY0FBYztJQUM1QixLQUFLLEVBQUUsT0FBTztDQUNOLENBQUM7QUFJWCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLG1CQUFtQixFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7SUFDeEMsc0JBQXNCLEVBQUUsS0FBSztJQUM3QixlQUFlLEVBQUUsS0FBSztJQUN0QixrQkFBa0IsRUFBRSxJQUFJO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogTm90aWZpY2F0aW9uIHR5cGVzICYgV2ViU29ja2V0IHByb3RvY29sIGNvbnN0YW50cy5cclxuICogRHJpdmVuIGJ5IHRoZSBUQUYgTm90aWZpY2F0aW9uIFNlcnZpY2UgQVBJIGRvYy5cclxuICovXHJcblxyXG4vLyA9PT09PT09PT09PT09IEVOVU1TIC8gVU5JT05TID09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBOb3RpZmljYXRpb24gc3RhdHVzIGxpZmVjeWNsZSAocGVyIEJFIGNvbmZpcm1hdGlvbik6XHJcbiAqXHJcbiAqICAgUGVuZGluZyAgICDigJQgcmVjb3JkIGp1c3QgY3JlYXRlZCAobm90IHlldCB2aXNpYmxlIGluIGluYm94KVxyXG4gKiAgIERlbGl2ZXJlZCAg4oCUIHN1Y2Nlc3NmdWxseSBzZW50IG92ZXIgV2ViU29ja2V0ICh2aXNpYmxlLCBzaG93biBhcyB1bnJlYWQpXHJcbiAqICAgUmVhZCAgICAgICDigJQgYWZ0ZXIgbWFya19ub3RpZmljYXRpb25fcmVhZCAvIG1hcmtfYWxsX25vdGlmaWNhdGlvbl9yZWFkXHJcbiAqICAgRG9uZSAgICAgICDigJQgYWZ0ZXIgY2xlYXJfbm90aWZpY2F0aW9uIC8gY2xlYXJfYWxsX25vdGlmaWNhdGlvbnMgKHNvZnQgZGVsZXRlLCBmaWx0ZXJlZCBvdXQpXHJcbiAqICAgRmFpbGVkICAgICDigJQgV2ViU29ja2V0IHNlbmQgZmFpbGVkIChmaWx0ZXJlZCBvdXQpXHJcbiAqXHJcbiAqIEluYm94IGBnZXRfbm90aWZpY2F0aW9uc19yZXNwb25zZWAgb25seSByZXR1cm5zIGBEZWxpdmVyZWRgICsgYFJlYWRgLlxyXG4gKiBgaXNSZWFkYCBpcyBkZXJpdmVkIGFzIGBzdGF0dXMgPT09ICdSZWFkJ2AuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25TdGF0dXMgPVxyXG4gIHwgJ1BlbmRpbmcnXHJcbiAgfCAnRGVsaXZlcmVkJ1xyXG4gIHwgJ1JlYWQnXHJcbiAgfCAnRG9uZSdcclxuICB8ICdGYWlsZWQnO1xyXG5cclxuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uUHJpb3JpdHkgPSAnTG93JyB8ICdOb3JtYWwnIHwgJ0hpZ2gnIHwgJ1VyZ2VudCc7XHJcblxyXG5leHBvcnQgdHlwZSBXc0Nvbm5lY3Rpb25TdGF0ZSA9XHJcbiAgfCAnRGlzY29ubmVjdGVkJ1xyXG4gIHwgJ0Nvbm5lY3RpbmcnXHJcbiAgfCAnQ29ubmVjdGVkJ1xyXG4gIHwgJ1JlY29ubmVjdGluZydcclxuICB8ICdGYWlsZWQnXHJcbiAgfCAnQ2xvc2VkJztcclxuXHJcbmV4cG9ydCBjb25zdCBXU19DT05ORUNUSU9OX1NUQVRFID0ge1xyXG4gIERJU0NPTk5FQ1RFRDogJ0Rpc2Nvbm5lY3RlZCcsXHJcbiAgQ09OTkVDVElORzogJ0Nvbm5lY3RpbmcnLFxyXG4gIENPTk5FQ1RFRDogJ0Nvbm5lY3RlZCcsXHJcbiAgUkVDT05ORUNUSU5HOiAnUmVjb25uZWN0aW5nJyxcclxuICBGQUlMRUQ6ICdGYWlsZWQnLFxyXG4gIENMT1NFRDogJ0Nsb3NlZCcsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25BY3Rpb25UeXBlID0gJ05hdmlnYXRlJyB8ICdEaXNtaXNzJztcclxuXHJcbi8vID09PT09PT09PT09PT0gUFJPVE9DT0wgQ09OU1RBTlRTID09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBXZWJTb2NrZXQgbWVzc2FnZSB0eXBlcyAocGVyIEJFIGRvYykuXHJcbiAqIE91dGJvdW5kOiBjbGllbnQg4oaSIHNlcnZlci5cclxuICogSW5ib3VuZDogc2VydmVyIOKGkiBjbGllbnQgKHJlc3BvbnNlcyArIHB1c2ggZXZlbnRzKS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBXU19NRVNTQUdFX1RZUEUgPSB7XHJcbiAgLy8gT3V0Ym91bmQgKGNsaWVudCDihpIgc2VydmVyKVxyXG4gIFBJTkc6ICdwaW5nJyxcclxuICBIRUFSVEJFQVQ6ICdoZWFydGJlYXQnLFxyXG4gIEdFVF9OT1RJRklDQVRJT05TOiAnZ2V0X25vdGlmaWNhdGlvbnMnLFxyXG4gIEdFVF9VTlJFQURfQ09VTlQ6ICdnZXRfdW5yZWFkX2NvdW50JyxcclxuICBNQVJLX05PVElGSUNBVElPTl9SRUFEOiAnbWFya19ub3RpZmljYXRpb25fcmVhZCcsXHJcbiAgTUFSS19BTExfTk9USUZJQ0FUSU9OX1JFQUQ6ICdtYXJrX2FsbF9ub3RpZmljYXRpb25fcmVhZCcsXHJcbiAgQ0xFQVJfTk9USUZJQ0FUSU9OOiAnY2xlYXJfbm90aWZpY2F0aW9uJyxcclxuICBDTEVBUl9BTExfTk9USUZJQ0FUSU9OUzogJ2NsZWFyX2FsbF9ub3RpZmljYXRpb25zJyxcclxuXHJcbiAgLy8gSW5ib3VuZCAoc2VydmVyIOKGkiBjbGllbnQpXHJcbiAgQ09OTkVDVElPTl9FU1RBQkxJU0hFRDogJ2Nvbm5lY3Rpb25fZXN0YWJsaXNoZWQnLFxyXG4gIFBPTkc6ICdwb25nJyxcclxuICBIRUFSVEJFQVRfQUNLOiAnaGVhcnRiZWF0X2FjaycsXHJcbiAgR0VUX05PVElGSUNBVElPTlNfUkVTUE9OU0U6ICdnZXRfbm90aWZpY2F0aW9uc19yZXNwb25zZScsXHJcbiAgR0VUX1VOUkVBRF9DT1VOVF9SRVNQT05TRTogJ2dldF91bnJlYWRfY291bnRfcmVzcG9uc2UnLFxyXG4gIE1BUktfTk9USUZJQ0FUSU9OX1JFQURfUkVTUE9OU0U6ICdtYXJrX25vdGlmaWNhdGlvbl9yZWFkX3Jlc3BvbnNlJyxcclxuICBNQVJLX0FMTF9OT1RJRklDQVRJT05fUkVBRF9SRVNQT05TRTogJ21hcmtfYWxsX25vdGlmaWNhdGlvbl9yZWFkX3Jlc3BvbnNlJyxcclxuICBDTEVBUl9OT1RJRklDQVRJT05fUkVTUE9OU0U6ICdjbGVhcl9ub3RpZmljYXRpb25fcmVzcG9uc2UnLFxyXG4gIENMRUFSX0FMTF9OT1RJRklDQVRJT05TX1JFU1BPTlNFOiAnY2xlYXJfYWxsX25vdGlmaWNhdGlvbnNfcmVzcG9uc2UnLFxyXG4gIE5PVElGSUNBVElPTl9NQVJLRURfUkVBRDogJ25vdGlmaWNhdGlvbl9tYXJrZWRfcmVhZCcsXHJcbiAgTk9USUZJQ0FUSU9OX0NMRUFSRUQ6ICdub3RpZmljYXRpb25fY2xlYXJlZCcsXHJcbiAgQUxMX05PVElGSUNBVElPTlNfQ0xFQVJFRDogJ2FsbF9ub3RpZmljYXRpb25zX2NsZWFyZWQnLFxyXG4gIE5PVElGSUNBVElPTjogJ25vdGlmaWNhdGlvbicsXHJcbiAgRVJST1I6ICdlcnJvcicsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgdHlwZSBXc01lc3NhZ2VUeXBlID0gdHlwZW9mIFdTX01FU1NBR0VfVFlQRVtrZXlvZiB0eXBlb2YgV1NfTUVTU0FHRV9UWVBFXTtcclxuXHJcbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fV1NfQ09ORklHID0ge1xyXG4gIERFRkFVTFRfUEFHRV9TSVpFOiAyMCxcclxuICBSRUNPTk5FQ1RfREVMQVlTX01TOiBbMjAwMCwgNTAwMCwgMTAwMDBdLFxyXG4gIFJFQ09OTkVDVF9NQVhfREVMQVlfTVM6IDEwMDAwLFxyXG4gIExPQURfVElNRU9VVF9NUzogMTAwMDAsXHJcbiAgQ09OTkVDVF9USU1FT1VUX01TOiAxNTAwLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gPT09PT09PT09PT09PSBCRSBSRVNQT05TRSBTSEFQRVMgPT09PT09PT09PT09PVxyXG5cclxuLyoqXHJcbiAqIE9uZSBpdGVtIGluIGBnZXRfbm90aWZpY2F0aW9uc19yZXNwb25zZS5ub3RpZmljYXRpb25zW11gIHBlciBCRSBkb2MuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkl0ZW0ge1xyXG4gIElkOiBzdHJpbmc7XHJcbiAgU3RhdHVzOiBOb3RpZmljYXRpb25TdGF0dXM7XHJcbiAgRGF0YTogc3RyaW5nOyAvLyBKU09OIHN0cmluZyDigJQgcGFyc2VkIGluIHNlcnZpY2VcclxuICBQcmlvcml0eTogTm90aWZpY2F0aW9uUHJpb3JpdHk7XHJcbiAgV29ya3NwYWNlS2V5OiBzdHJpbmc7XHJcbiAgUHJvdmlkZXI6IHN0cmluZztcclxuICBDcmVhdGVkQXQ6IHN0cmluZztcclxuICBVcGRhdGVkQXQ6IHN0cmluZztcclxuICBFeHBpcmVzQXQ6IHN0cmluZyB8IG51bGw7XHJcbiAgRXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogTGl2ZS1wdXNoIHBheWxvYWQg4oCUIGZpZWxkcyBmbGF0IGF0IHRvcCBsZXZlbCAoTk9UIGluc2lkZSBgRGF0YWApLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25QdXNoUGF5bG9hZCB7XHJcbiAgbm90aWZpY2F0aW9uSWQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGJvZHk6IHN0cmluZztcclxuICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbDtcclxuICBwcmlvcml0eTogTm90aWZpY2F0aW9uUHJpb3JpdHk7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgYWN0aW9uczogTm90aWZpY2F0aW9uQWN0aW9uW10gfCBudWxsO1xyXG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogQWN0aW9uIG9iamVjdCBpbnNpZGUgdGhlIGBkYXRhYCBKU09OIG9mIGFuIGluYm94IG5vdGlmaWNhdGlvbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uQWN0aW9uIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIHR5cGU6IE5vdGlmaWNhdGlvbkFjdGlvblR5cGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQYXJzZWQgY29udGVudHMgb2YgYW4gaW5ib3ggbm90aWZpY2F0aW9uJ3MgYGRhdGFgIEpTT04gc3RyaW5nLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBQYXJzZWROb3RpZmljYXRpb25QYXlsb2FkIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBib2R5Pzogc3RyaW5nO1xyXG4gIGNhdGVnb3J5Pzogc3RyaW5nO1xyXG4gIHByaW9yaXR5PzogTm90aWZpY2F0aW9uUHJpb3JpdHk7XHJcbiAgYWN0aW9ucz86IE5vdGlmaWNhdGlvbkFjdGlvbltdO1xyXG4gIC8vIFRvbGVyYW50IOKAlCBzZXJ2ZXIgbWF5IGFkZCBmaWVsZHMgb3ZlciB0aW1lXHJcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PSBVSS1GQUNJTkcgU0hBUEUgPT09PT09PT09PT09PVxyXG5cclxuLyoqXHJcbiAqIENhbm9uaWNhbCBVSSBzaGFwZSBhZnRlciBub3JtYWxpemF0aW9uLlxyXG4gKiBCb3RoIGluYm94IGl0ZW1zIGFuZCBsaXZlIHB1c2hlcyBhcmUgbm9ybWFsaXplZCBpbnRvIHRoaXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVpTm90aWZpY2F0aW9uIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xyXG4gIHN0YXR1czogTm90aWZpY2F0aW9uU3RhdHVzO1xyXG4gIHByaW9yaXR5OiBOb3RpZmljYXRpb25Qcmlvcml0eTtcclxuICBwYXJzZWRQYXlsb2FkOiBQYXJzZWROb3RpZmljYXRpb25QYXlsb2FkO1xyXG4gIGlzUmVhZDogYm9vbGVhbjtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PSBDT05ORUNUIFBBUkFNUyA9PT09PT09PT09PT09XHJcblxyXG4vKipcclxuICogQXV0aCBpZGVudGlmaWVycyByZXF1aXJlZCB0byBvcGVuIHRoZSBXZWJTb2NrZXQgYW5kIGFkZHJlc3MgbWVzc2FnZXMuXHJcbiAqIFRoZSBhcHAgc3VwcGxpZXMgdGhlc2UgYXQgY29ubmVjdCB0aW1lIOKAlCB0aGUgY29yZSBzZXJ2aWNlIGRvZXMgbm90IHJlYWQgc3RvcmFnZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uQ29ubmVjdFBhcmFtcyB7XHJcbiAgLyoqIEVuZCB1c2VyIOKAlCByZXF1aXJlZCBmb3IgdGhlIFVSTC4gKi9cclxuICB1c2VySWQ6IHN0cmluZztcclxuICAvKiogQXBwbGljYXRpb24g4oCUIHVzZWQgaW4gVVJMICsgd29ya3NwYWNlS2V5LiAqL1xyXG4gIGFwcElkOiBzdHJpbmc7XHJcbiAgLyoqIFRlbmFudCDigJQgdXNlZCBpbiBVUkwgKyB3b3Jrc3BhY2VLZXkuICovXHJcbiAgdGVuYW50SWQ6IHN0cmluZztcclxuICAvKiogRW52aXJvbm1lbnQg4oCUIHVzZWQgaW4gd29ya3NwYWNlS2V5IG9ubHkuICovXHJcbiAgZW52aXJvbm1lbnRJZDogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogQ29tcG9zZWQgb25jZSBhdCB0aGUgYXBwIGJvdW5kYXJ5LCBwYXNzZWQgZG93biB0byB0aGUgaW5ib3ggc2VydmljZS5cclxuICogVXNlZCBhcyB0aGUgVVJMIHF1ZXJ5IGZvciB0aGUgV2ViU29ja2V0IGFuZCBpbiBldmVyeSBvdXRib3VuZCBtZXNzYWdlIGJvZHkuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkluYm94Q29ubmVjdFBhcmFtcyB7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgYXBwSWQ6IHN0cmluZztcclxuICB0ZW5hbnRJZDogc3RyaW5nO1xyXG4gIC8qKiBgdGVuYW50SWQuYXBwSWQuZW52aXJvbm1lbnRJZGAg4oCUIHByZS1jb21wb3NlZCBieSB0aGUgU0RLIGZhY2FkZS4gKi9cclxuICB3b3Jrc3BhY2VLZXk6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFVSTC1vbmx5IHBhcmFtcyBmb3IgdGhlIGxvdy1sZXZlbCB0cmFuc3BvcnQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbldlYlNvY2tldENvbm5lY3RQYXJhbXMge1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIGFwcElkOiBzdHJpbmc7XHJcbiAgdGVuYW50SWQ6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -4,4 +4,4 @@ export const ChangeType = {
4
4
  Updated: 'Updated',
5
5
  Deleted: 'Deleted',
6
6
  };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9yZWxlYXNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxpRkFBaUY7QUFFakYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLEtBQUssRUFBSSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0NBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRUeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uLmVudW0nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWZmUmVxdWVzdCB7XHJcbiAgc291cmNlRW52aXJvbm1lbnRJZD86IHN0cmluZztcclxuICB0YXJnZXRFbnZpcm9ubWVudElkPzogc3RyaW5nO1xyXG59XHJcblxyXG4vLyDilIDilIAgU3RhdHVzIC8gY2hhbmdlLXR5cGUgY29uc3RhbnRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuZXhwb3J0IGNvbnN0IENoYW5nZVR5cGUgPSB7XHJcbiAgQWRkZWQ6ICAgJ0FkZGVkJyxcclxuICBVcGRhdGVkOiAnVXBkYXRlZCcsXHJcbiAgRGVsZXRlZDogJ0RlbGV0ZWQnLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgQ2hhbmdlVHlwZVZhbHVlID0gdHlwZW9mIENoYW5nZVR5cGVba2V5b2YgdHlwZW9mIENoYW5nZVR5cGVdO1xyXG5cclxuLy8g4pSA4pSAIERpZmYgcmVzcG9uc2VzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWZmU2VjdGlvbjxUPiB7XHJcbiAgYWRkZWQ6IFRbXTtcclxuICB1cGRhdGVkOiBUW107XHJcbiAgZGVsZXRlZDogVFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFwcE9iamVjdERpZmYge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVyeURpZmYge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgcXVlcnlOYW1lOiBzdHJpbmc7XHJcbiAgYXBwT2JqZWN0Pzogc3RyaW5nO1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTY3JlZW5EaWZmIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHNjcmVlbk5hbWU6IHN0cmluZztcclxuICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tU2NyaXB0RGlmZiB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZERpZmYge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhRGlmZlJlc3BvbnNlIHtcclxuICBhcHBPYmplY3RzOiAgICBEaWZmU2VjdGlvbjxBcHBPYmplY3REaWZmPjtcclxuICBxdWVyaWVzOiAgICAgICBEaWZmU2VjdGlvbjxRdWVyeURpZmY+O1xyXG4gIHNjcmVlbnM6ICAgICAgIERpZmZTZWN0aW9uPFNjcmVlbkRpZmY+O1xyXG4gIGN1c3RvbVNjcmlwdHM6IERpZmZTZWN0aW9uPEN1c3RvbVNjcmlwdERpZmY+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFEaWZmUmVzcG9uc2Uge1xyXG4gIHRhYmxlczogUmVjb3JkPHN0cmluZywgRGlmZlNlY3Rpb248UmVjb3JkRGlmZj4+O1xyXG59XHJcblxyXG4vLyDilIDilIAgQXBwbHkgcmVsZWFzZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXBwbHlSZWxlYXNlUmVxdWVzdCB7XHJcbiAgcmVsZWFzZUlkOiBzdHJpbmc7XHJcbiAgc291cmNlRW52SWQ6IHN0cmluZztcclxuICB0YXJnZXRFbnZJZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFwcGx5UGhhc2VSZXN1bHQge1xyXG4gIHN1Y2Nlc3M6IGJvb2xlYW47XHJcbiAgYXBwbGllZENvdW50OiBudW1iZXI7XHJcbiAgZmFpbGVkQ291bnQ6IG51bWJlcjtcclxuICBza2lwcGVkQ291bnQ/OiBudW1iZXI7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxuICBlcnJvcnM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcHBseVJlbGVhc2VSZXNwb25zZSB7XHJcbiAgc3VjY2VzczogYm9vbGVhbjtcclxuICBtZXRhZGF0YVJlc3VsdDogQXBwbHlQaGFzZVJlc3VsdDtcclxuICBkYXRhUmVzdWx0OiAgICAgQXBwbHlQaGFzZVJlc3VsdDtcclxuICBzY3JpcHRzUmVzdWx0OiAgQXBwbHlQaGFzZVJlc3VsdDtcclxuICBmaW5hbGl6ZVJlc3VsdDogQXBwbHlQaGFzZVJlc3VsdDtcclxufVxyXG5cclxuLy8g4pSA4pSAIFNlbGVjdGlvbiAvIHNjcmlwdHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvblJvdyB7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgcmVsZWFzZWlkOiBzdHJpbmc7XHJcbiAgY29udGVudHR5cGU6IENvbnRlbnRUeXBlO1xyXG4gIGVudGl0eXR5cGU6IHN0cmluZztcclxuICBwcmltYXJ5a2V5dmFsdWU6IHN0cmluZztcclxuICBjaGFuZ2V0eXBlOiBDaGFuZ2VUeXBlVmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0Um93IHtcclxuICBpZD86IHN0cmluZztcclxuICByZWxlYXNlaWQ6IHN0cmluZztcclxuICBjb250ZW50OiBzdHJpbmc7XHJcbn1cclxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9yZWxlYXNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxpRkFBaUY7QUFFakYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLEtBQUssRUFBSSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0NBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRUeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uLmVudW0nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWZmUmVxdWVzdCB7XHJcbiAgc291cmNlRW52aXJvbm1lbnRJZD86IHN0cmluZztcclxuICB0YXJnZXRFbnZpcm9ubWVudElkPzogc3RyaW5nO1xyXG59XHJcblxyXG4vLyDilIDilIAgU3RhdHVzIC8gY2hhbmdlLXR5cGUgY29uc3RhbnRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuZXhwb3J0IGNvbnN0IENoYW5nZVR5cGUgPSB7XHJcbiAgQWRkZWQ6ICAgJ0FkZGVkJyxcclxuICBVcGRhdGVkOiAnVXBkYXRlZCcsXHJcbiAgRGVsZXRlZDogJ0RlbGV0ZWQnLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgQ2hhbmdlVHlwZVZhbHVlID0gdHlwZW9mIENoYW5nZVR5cGVba2V5b2YgdHlwZW9mIENoYW5nZVR5cGVdO1xyXG5cclxuLy8g4pSA4pSAIEVudmlyb25tZW50IHNuYXBzaG90IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudFNuYXBzaG90IHtcclxuICBpZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzZXF1ZW5jZTogbnVtYmVyO1xyXG4gIHJlbGVhc2VWZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xyXG4gIGNvbm5lY3Rpb25JZD86IHN0cmluZztcclxufVxyXG5cclxuLy8g4pSA4pSAIERpZmYgc2VjdGlvbiBzaGFwZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlmZlNlY3Rpb248VD4ge1xyXG4gIGFkZGVkOiBUW107XHJcbiAgdXBkYXRlZDogVFtdO1xyXG4gIGRlbGV0ZWQ6IFRbXTtcclxufVxyXG5cclxuLy8g4pSA4pSAIExlYWYgaXRlbXMgaW5zaWRlIEFwcE9iamVjdCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmllbGREaWZmIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHJlZmVyZW5jZU5hbWU6IHN0cmluZztcclxuICBvbGRWYWx1ZT86IGFueTtcclxuICBuZXdWYWx1ZT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVyeURpZmYge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgcmVmZXJlbmNlTmFtZTogc3RyaW5nO1xyXG4gIG9sZFZhbHVlPzogYW55O1xyXG4gIG5ld1ZhbHVlPzogYW55O1xyXG59XHJcblxyXG4vLyDilIDilIAgVG9wLWxldmVsIGtpbmRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcHBPYmplY3REaWZmIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHJlZmVyZW5jZU5hbWU6IHN0cmluZztcclxuICBwcm9wZXJ0aWVzPzogeyBvbGRWYWx1ZTogYW55OyBuZXdWYWx1ZTogYW55IH07XHJcbiAgZmllbGRzPzogRGlmZlNlY3Rpb248RmllbGREaWZmPiB8IG51bGw7XHJcbiAgcXVlcmllcz86IERpZmZTZWN0aW9uPFF1ZXJ5RGlmZj4gfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNjcmVlbkRpZmYge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgcmVmZXJlbmNlTmFtZTogc3RyaW5nO1xyXG4gIHByb3BlcnRpZXM/OiB7IG9sZFZhbHVlOiBhbnk7IG5ld1ZhbHVlOiBhbnkgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21TY3JpcHREaWZmIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHJlZmVyZW5jZU5hbWU6IHN0cmluZztcclxuICBwcm9wZXJ0aWVzPzogeyBvbGRWYWx1ZTogYW55OyBuZXdWYWx1ZTogYW55IH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkRGlmZiB7XHJcbiAgaWQ6IHN0cmluZztcclxuICByZWZlcmVuY2VOYW1lPzogc3RyaW5nO1xyXG4gIG9sZFZhbHVlPzogYW55O1xyXG4gIG5ld1ZhbHVlPzogYW55O1xyXG59XHJcblxyXG4vLyDilIDilIAgRGlmZiByZXNwb25zZSBlbnZlbG9wZXMgKHdoYXQgYFRhYlNkay5yZWxlYXNlLipgIHJlc29sdmVzIHRvKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFEaWZmUmVzcG9uc2Uge1xyXG4gIHNvdXJjZUVudmlyb25tZW50OiBFbnZpcm9ubWVudFNuYXBzaG90O1xyXG4gIHRhcmdldEVudmlyb25tZW50OiBFbnZpcm9ubWVudFNuYXBzaG90O1xyXG4gIG1ldGFkYXRhRGlmZjoge1xyXG4gICAgYXBwT2JqZWN0czogICAgRGlmZlNlY3Rpb248QXBwT2JqZWN0RGlmZj47XHJcbiAgICBzY3JlZW5zOiAgICAgICBEaWZmU2VjdGlvbjxTY3JlZW5EaWZmPjtcclxuICAgIGN1c3RvbVNjcmlwdHM6IERpZmZTZWN0aW9uPEN1c3RvbVNjcmlwdERpZmY+O1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YURpZmZSZXNwb25zZSB7XHJcbiAgc291cmNlRW52aXJvbm1lbnQ6IEVudmlyb25tZW50U25hcHNob3Q7XHJcbiAgdGFyZ2V0RW52aXJvbm1lbnQ6IEVudmlyb25tZW50U25hcHNob3Q7XHJcbiAgZGF0YURpZmY6IHtcclxuICAgIHRhYmxlczogUmVjb3JkPHN0cmluZywgRGlmZlNlY3Rpb248UmVjb3JkRGlmZj4+O1xyXG4gIH07XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBBcHBseSByZWxlYXNlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcHBseVJlbGVhc2VSZXF1ZXN0IHtcclxuICByZWxlYXNlSWQ6IHN0cmluZztcclxuICBzb3VyY2VFbnZJZDogc3RyaW5nO1xyXG4gIHRhcmdldEVudklkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXBwbHlQaGFzZVJlc3VsdCB7XHJcbiAgc3VjY2VzczogYm9vbGVhbjtcclxuICBhcHBsaWVkQ291bnQ6IG51bWJlcjtcclxuICBmYWlsZWRDb3VudDogbnVtYmVyO1xyXG4gIHNraXBwZWRDb3VudD86IG51bWJlcjtcclxuICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gIGVycm9ycz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFwcGx5UmVsZWFzZVJlc3BvbnNlIHtcclxuICBzdWNjZXNzOiBib29sZWFuO1xyXG4gIG1ldGFkYXRhUmVzdWx0OiBBcHBseVBoYXNlUmVzdWx0O1xyXG4gIGRhdGFSZXN1bHQ6ICAgICBBcHBseVBoYXNlUmVzdWx0O1xyXG4gIHNjcmlwdHNSZXN1bHQ6ICBBcHBseVBoYXNlUmVzdWx0O1xyXG4gIGZpbmFsaXplUmVzdWx0OiBBcHBseVBoYXNlUmVzdWx0O1xyXG59XHJcblxyXG4vLyDilIDilIAgU2VsZWN0aW9uIC8gc2NyaXB0cyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0aW9uUm93IHtcclxuICBpZD86IHN0cmluZztcclxuICByZWxlYXNlaWQ6IHN0cmluZztcclxuICBjb250ZW50dHlwZTogQ29udGVudFR5cGU7XHJcbiAgZW50aXR5dHlwZTogc3RyaW5nO1xyXG4gIHByaW1hcnlrZXl2YWx1ZTogc3RyaW5nO1xyXG4gIGNoYW5nZXR5cGU6IENoYW5nZVR5cGVWYWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTY3JpcHRSb3cge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIHJlbGVhc2VpZDogc3RyaW5nO1xyXG4gIGNvbnRlbnQ6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -31,6 +31,7 @@ export class NotificationInboxService {
31
31
  this.clearEvent$ = new Subject();
32
32
  this.loading$ = new BehaviorSubject(false);
33
33
  this.totalPages$ = new BehaviorSubject(1);
34
+ this.loadMoreTimer = null;
34
35
  // Route inbound messages → streams
35
36
  this.ws.messages$.subscribe((message) => this.handleMessage(message));
36
37
  }
@@ -68,13 +69,23 @@ export class NotificationInboxService {
68
69
  this.unreadCount$.next(0);
69
70
  this.totalPages$.next(1);
70
71
  this.loading$.next(false);
72
+ if (this.loadMoreTimer) {
73
+ clearTimeout(this.loadMoreTimer);
74
+ this.loadMoreTimer = null;
75
+ }
71
76
  }
72
77
  // ----------- actions -----------
73
78
  /**
74
79
  * Fetch a page of notifications. Server replies via GET_NOTIFICATIONS_RESPONSE.
80
+ *
81
+ * Skips entirely when the socket isn't connected — otherwise we'd set
82
+ * `loading$` true, send into a no-op, and the UI would spin forever.
83
+ *
84
+ * Adds a safety timeout so the spinner clears even if the BE accepts the
85
+ * connection but never replies (broken hub, dropped frame, etc.).
75
86
  */
76
87
  loadMore(pageNumber, pageSize = NOTIFICATION_WS_CONFIG.DEFAULT_PAGE_SIZE) {
77
- if (!this.workspaceKey)
88
+ if (!this.workspaceKey || !this.ws.isConnected())
78
89
  return;
79
90
  this.loading$.next(true);
80
91
  this.ws.send({
@@ -83,6 +94,14 @@ export class NotificationInboxService {
83
94
  pageNumber,
84
95
  pageSize,
85
96
  });
97
+ if (this.loadMoreTimer)
98
+ clearTimeout(this.loadMoreTimer);
99
+ this.loadMoreTimer = setTimeout(() => {
100
+ this.loadMoreTimer = null;
101
+ if (this.loading$.value) {
102
+ this.loading$.next(false);
103
+ }
104
+ }, NOTIFICATION_WS_CONFIG.LOAD_TIMEOUT_MS);
86
105
  }
87
106
  /**
88
107
  * Request unread count. Result arrives on `unreadCount$`.
@@ -161,6 +180,10 @@ export class NotificationInboxService {
161
180
  this.totalPages$.next(message.totalPages ?? 1);
162
181
  }
163
182
  this.loading$.next(false);
183
+ if (this.loadMoreTimer) {
184
+ clearTimeout(this.loadMoreTimer);
185
+ this.loadMoreTimer = null;
186
+ }
164
187
  break;
165
188
  case WS_MESSAGE_TYPE.GET_UNREAD_COUNT_RESPONSE:
166
189
  if (message.success) {
@@ -210,51 +233,68 @@ export class NotificationInboxService {
210
233
  this.requestUnreadCount();
211
234
  }
212
235
  break;
213
- // CONNECTION_ESTABLISHED, PONG, HEARTBEAT_ACK, ERROR are handled at the
214
- // transport layer (or are no-ops). HEARTBEAT is intercepted by transport
215
- // and never forwarded.
236
+ case WS_MESSAGE_TYPE.CONNECTION_ESTABLISHED:
237
+ // Server confirms the connection is live. Fire the post-connect
238
+ // unread-count fetch here — works whether the resolver-time await
239
+ // saw the connection open or timed out early.
240
+ if (this.workspaceKey) {
241
+ this.requestUnreadCount();
242
+ }
243
+ break;
244
+ // PONG, HEARTBEAT_ACK, ERROR are handled at the transport layer
245
+ // (or are no-ops). HEARTBEAT is intercepted by transport and never forwarded.
216
246
  }
217
247
  }
218
248
  /**
219
- * Parse an inbox notification's `data` JSON into a UI-shaped object.
249
+ * Parse an inbox notification's `Data` JSON into a UI-shaped object.
220
250
  *
221
- * Read state is surfaced via `status === 'Read'` (confirmed by BE).
251
+ * Read state is surfaced via `Status === 'Read'` (confirmed by BE).
222
252
  * Inbox response only contains `Delivered` (unread) + `Read` items;
223
253
  * `Pending` / `Done` / `Failed` are filtered out server-side.
224
254
  */
225
255
  parseInboxNotification(item) {
226
256
  let parsedPayload = {};
227
257
  try {
228
- parsedPayload = JSON.parse(item.data);
258
+ const raw = JSON.parse(item.Data);
259
+ parsedPayload = {
260
+ title: raw.Title,
261
+ body: raw.Body,
262
+ category: raw.Category,
263
+ priority: raw.Priority,
264
+ actions: Array.isArray(raw.Actions)
265
+ ? raw.Actions.map((a) => ({ label: a.Label, url: a.Url, type: a.Type }))
266
+ : undefined,
267
+ };
229
268
  }
230
269
  catch {
231
270
  parsedPayload = {};
232
271
  }
233
272
  return {
234
- id: item.id,
235
- createdAt: item.createdAt,
236
- status: item.status,
237
- priority: item.priority,
273
+ id: item.Id,
274
+ createdAt: item.CreatedAt,
275
+ status: item.Status,
276
+ priority: item.Priority,
238
277
  parsedPayload,
239
- isRead: item.status === 'Read',
278
+ isRead: item.Status === 'Read',
240
279
  };
241
280
  }
242
281
  /**
243
282
  * Wrap a server-pushed live notification into the same UI shape as inbox items.
244
- * The push event has fields flat at the top level (NOT inside `data`) synthesize
245
- * `parsedPayload` from those fields so the component sees a uniform shape.
283
+ * Push fields are camelCase (anonymous object) with `notificationId` as the id field.
284
+ * `actions` arrive already parsed not a JSON string like inbox `Data`.
246
285
  */
247
286
  transformPushNotification(push) {
248
287
  return {
249
- id: push.id,
288
+ id: push.notificationId,
250
289
  createdAt: push.createdAt,
251
290
  status: 'Delivered',
252
291
  priority: push.priority,
253
292
  parsedPayload: {
254
293
  title: push.title,
255
294
  body: push.body,
256
- category: push.category,
295
+ category: push.category ?? undefined,
257
296
  priority: push.priority,
297
+ actions: Array.isArray(push.actions) ? push.actions : undefined,
258
298
  },
259
299
  isRead: false,
260
300
  };
@@ -266,4 +306,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
266
306
  type: Injectable,
267
307
  args: [{ providedIn: 'root' }]
268
308
  }], ctorParameters: () => [] });
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWluYm94LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9jb3JlL3NlcnZpY2Uvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi1pbmJveC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFDTCxzQkFBc0IsRUFNdEIsZUFBZSxHQUNoQixNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUVoRjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBZW5DO1FBZGlCLE9BQUUsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUUzRCxnRkFBZ0Y7UUFDeEUsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBRTNDLGtDQUFrQztRQUVqQix5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBcUMsQ0FBQztRQUN4RSxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlDLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQ2hELGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7UUFDN0MsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9DLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFHNUQsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxD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bUhBQXhCLHdCQUF3QixjQURYLE1BQU07OzRGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIE5PVElGSUNBVElPTl9XU19DT05GSUcsXHJcbiAgTm90aWZpY2F0aW9uSW5ib3hDb25uZWN0UGFyYW1zLFxyXG4gIE5vdGlmaWNhdGlvbkl0ZW0sXHJcbiAgTm90aWZpY2F0aW9uUHVzaFBheWxvYWQsXHJcbiAgUGFyc2VkTm90aWZpY2F0aW9uUGF5bG9hZCxcclxuICBVaU5vdGlmaWNhdGlvbixcclxuICBXU19NRVNTQUdFX1RZUEUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vYXBwL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbldlYlNvY2tldFNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbi13ZWJzb2NrZXQuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogUHVibGljIG5vdGlmaWNhdGlvbiBpbmJveCBzZXJ2aWNlLlxyXG4gKlxyXG4gKiBQdXJlIOKAlCBubyBzdG9yYWdlIC8gYXV0aCBjb3VwbGluZy4gVGhlIGNhbGxlciAoU0RLIGZhY2FkZSkgc3VwcGxpZXMgYWxsIGF1dGhcclxuICogaWRlbnRpZmllcnMgdmlhIGBjb25uZWN0KHBhcmFtcylgLCBhbmQgdGhleSdyZSBoZWxkIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlXHJcbiAqIGNvbm5lY3Rpb24gKGNsZWFyZWQgb24gZGlzY29ubmVjdCkuXHJcbiAqXHJcbiAqIFN1YnNjcmliZXMgdG8gdGhlIFdlYlNvY2tldCB0cmFuc3BvcnQsIHJvdXRlcyBpbmNvbWluZyBtZXNzYWdlcyBieSB0eXBlIGludG9cclxuICogZGVkaWNhdGVkIHN0cmVhbXMsIGFuZCBleHBvc2VzIGhpZ2gtbGV2ZWwgYWN0aW9ucyBmb3IgdGhlIFVJLlxyXG4gKlxyXG4gKiBDb21wb25lbnRzL2V4dGVuc2lvbnMgY29uc3VtZSB0aGlzIHZpYSB0aGUgU0RLIGZhY2FkZSAoYFRhYlNkay5ub3RpZmljYXRpb24uKmApLFxyXG4gKiBub3QgZGlyZWN0bHkuXHJcbiAqXHJcbiAqIE5hbWVkIGBOb3RpZmljYXRpb25JbmJveFNlcnZpY2VgIHRvIGF2b2lkIGNvbGxpc2lvbiB3aXRoIHRoZSBleGlzdGluZyB0b2FzdHJcclxuICogYE5vdGlmaWNhdGlvblNlcnZpY2VgIGluIGBjb3JlL3NlcnZpY2Uvbm90aWZpY2F0aW9uLnNlcnZpY2UudHNgLlxyXG4gKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkluYm94U2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB3cyA9IGluamVjdChOb3RpZmljYXRpb25XZWJTb2NrZXRTZXJ2aWNlKTtcclxuXHJcbiAgLy8gSGVsZCBiZXR3ZWVuIGNvbm5lY3QoKSBhbmQgZGlzY29ubmVjdCgpIOKAlCBldmVyeSBvdXRib3VuZCBtZXNzYWdlIGluY2x1ZGVzIGl0LlxyXG4gIHByaXZhdGUgd29ya3NwYWNlS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0gc3RyZWFtcyAtLS0tLS0tLS0tLVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGxhdGVzdE5vdGlmaWNhdGlvbnMkID0gbmV3IFN1YmplY3Q8VWlOb3RpZmljYXRpb24gfCBVaU5vdGlmaWNhdGlvbltdPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgdW5yZWFkQ291bnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFya0FzUmVhZEV2ZW50JCA9IG5ldyBTdWJqZWN0PHN0cmluZyB8IG51bGw+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjbGVhckV2ZW50JCA9IG5ldyBTdWJqZWN0PHN0cmluZ1tdIHwgbnVsbD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB0b3RhbFBhZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyBSb3V0ZSBpbmJvdW5kIG1lc3NhZ2VzIOKGkiBzdHJlYW1zXHJcbiAgICB0aGlzLndzLm1lc3NhZ2VzJC5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHRoaXMuaGFuZGxlTWVzc2FnZShtZXNzYWdlKSk7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0tLS0tLS0tLSBsaWZlY3ljbGUgLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29ubmVjdCB0byB0aGUgbm90aWZpY2F0aW9uIFdlYlNvY2tldC4gQXdhaXRhYmxlLCBpZGVtcG90ZW50LlxyXG4gICAqXHJcbiAgICogSWYgYSBjb25uZWN0aW9uIGlzIGFscmVhZHkgYWN0aXZlIGZvciBhICpkaWZmZXJlbnQqIHdvcmtzcGFjZSAodGVuYW50L2FwcC9lbnZcclxuICAgKiBzd2l0Y2ggd2l0aG91dCBzaWduT3V0KSwgd2UgdGVhciBpdCBkb3duIGZpcnN0IHNvIHRoZSBuZXcgY29ubmVjdGlvbiB1c2VzXHJcbiAgICogdGhlIGNvcnJlY3QgVVJMIGFuZCB3b3Jrc3BhY2VLZXkuIFRoZSB1bmRlcmx5aW5nIGB3cy5jb25uZWN0YCBpcyBpZGVtcG90ZW50XHJcbiAgICogYnkgY29ubmVjdGlvbiBzdGF0ZSwgc28gaXQgd291bGQgb3RoZXJ3aXNlIGtlZXAgdGhlIHN0YWxlIFVSTC5cclxuICAgKlxyXG4gICAqIE9uY2UgY29ubmVjdGVkLCBhbiB1bnJlYWQtY291bnQgZmV0Y2ggaXMgZmlyZWQgYXV0b21hdGljYWxseSBzbyB0aGUgYmFkZ2UgcG9wdWxhdGVzLlxyXG4gICAqL1xyXG4gIGFzeW5jIGNvbm5lY3QocGFyYW1zOiBOb3RpZmljYXRpb25JbmJveENvbm5lY3RQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLndvcmtzcGFjZUtleSAmJiB0aGlzLndvcmtzcGFjZUtleSAhPT0gcGFyYW1zLndvcmtzcGFjZUtleSkge1xyXG4gICAgICBhd2FpdCB0aGlzLmRpc2Nvbm5lY3QoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLndvcmtzcGFjZUtleSA9IHBhcmFtcy53b3Jrc3BhY2VLZXk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy53cy5jb25uZWN0KHtcclxuICAgICAgdXNlcklkOiBwYXJhbXMudXNlcklkLFxyXG4gICAgICBhcHBJZDogcGFyYW1zLmFwcElkLFxyXG4gICAgICB0ZW5hbnRJZDogcGFyYW1zLnRlbmFudElkLFxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMud3MuaXNDb25uZWN0ZWQoKSkge1xyXG4gICAgICB0aGlzLnJlcXVlc3RVbnJlYWRDb3VudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGVhciBkb3duIHRoZSBjb25uZWN0aW9uLiBSZXNldHMgYWxsIHN0cmVhbSBzdGF0ZSBzbyB0aGUgVUkgY2xlYXJzLlxyXG4gICAqL1xyXG4gIGFzeW5jIGRpc2Nvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLndzLmRpc2Nvbm5lY3QoKTtcclxuICAgIHRoaXMud29ya3NwYWNlS2V5ID0gbnVsbDtcclxuICAgIHRoaXMudW5yZWFkQ291bnQkLm5leHQoMCk7XHJcbiAgICB0aGlzLnRvdGFsUGFnZXMkLm5leHQoMSk7XHJcbiAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0gYWN0aW9ucyAtLS0tLS0tLS0tLVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaCBhIHBhZ2Ugb2Ygbm90aWZpY2F0aW9ucy4gU2VydmVyIHJlcGxpZXMgdmlhIEdFVF9OT1RJRklDQVRJT05TX1JFU1BPTlNFLlxyXG4gICAqL1xyXG4gIGxvYWRNb3JlKHBhZ2VOdW1iZXI6IG51bWJlciwgcGFnZVNpemU6IG51bWJlciA9IE5PVElGSUNBVElPTl9XU19DT05GSUcuREVGQVVMVF9QQUdFX1NJWkUpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy53b3Jrc3BhY2VLZXkpIHJldHVybjtcclxuICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMud3Muc2VuZCh7XHJcbiAgICAgIHR5cGU6IFdTX01FU1NBR0VfVFlQRS5HRVRfTk9USUZJQ0FUSU9OUyxcclxuICAgICAgd29ya3NwYWNlS2V5OiB0aGlzLndvcmtzcGFjZUtleSxcclxuICAgICAgcGFnZU51bWJlcixcclxuICAgICAgcGFnZVNpemUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlcXVlc3QgdW5yZWFkIGNvdW50LiBSZXN1bHQgYXJyaXZlcyBvbiBgdW5yZWFkQ291bnQkYC5cclxuICAgKi9cclxuICByZXF1ZXN0VW5yZWFkQ291bnQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMud29ya3NwYWNlS2V5KSByZXR1cm47XHJcbiAgICB0aGlzLndzLnNlbmQoe1xyXG4gICAgICB0eXBlOiBXU19NRVNTQUdFX1RZUEUuR0VUX1VOUkVBRF9DT1VOVCxcclxuICAgICAgd29ya3NwYWNlS2V5OiB0aGlzLndvcmtzcGFjZUtleSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbWFya0FzUmVhZChub3RpZmljYXRpb25JZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMud29ya3NwYWNlS2V5KSByZXR1cm47XHJcbiAgICB0aGlzLndzLnNlbmQoe1xyXG4gICAgICB0eXBlOiBXU19NRVNTQUdFX1RZUEUuTUFSS19OT1RJRklDQVRJT05fUkVBRCxcclxuICAgICAgd29ya3NwYWNlS2V5OiB0aGlzLndvcmtzcGFjZUtleSxcclxuICAgICAgbm90aWZpY2F0aW9uSWQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG1hcmtBbGxBc1JlYWQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMud29ya3NwYWNlS2V5KSByZXR1cm47XHJcbiAgICB0aGlzLndzLnNlbmQoe1xyXG4gICAgICB0eXBlOiBXU19NRVNTQUdFX1RZUEUuTUFSS19BTExfTk9USUZJQ0FUSU9OX1JFQUQsXHJcbiAgICAgIHdvcmtzcGFjZUtleTogdGhpcy53b3Jrc3BhY2VLZXksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsZWFyT25lKG5vdGlmaWNhdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy53b3Jrc3BhY2VLZXkpIHJldHVybjtcclxuICAgIHRoaXMud3Muc2VuZCh7XHJcbiAgICAgIHR5cGU6IFdTX01FU1NBR0VfVFlQRS5DTEVBUl9OT1RJRklDQVRJT04sXHJcbiAgICAgIHdvcmtzcGFjZUtleTogdGhpcy53b3Jrc3BhY2VLZXksXHJcbiAgICAgIG5vdGlmaWNhdGlvbklkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckFsbCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy53b3Jrc3BhY2VLZXkpIHJldHVybjtcclxuICAgIHRoaXMud3Muc2VuZCh7XHJcbiAgICAgIHR5cGU6IFdTX01FU1NBR0VfVFlQRS5DTEVBUl9BTExfTk9USUZJQ0FUSU9OUyxcclxuICAgICAgd29ya3NwYWNlS2V5OiB0aGlzLndvcmtzcGFjZUtleSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0gc3RyZWFtcyAocmVhZC1vbmx5IHZpZXdzKSAtLS0tLS0tLS0tLVxyXG5cclxuICBnZXRMYXRlc3ROb3RpZmljYXRpb25zKCk6IE9ic2VydmFibGU8VWlOb3RpZmljYXRpb24gfCBVaU5vdGlmaWNhdGlvbltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXRlc3ROb3RpZmljYXRpb25zJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldFVucmVhZENvdW50KCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy51bnJlYWRDb3VudCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRNYXJrQXNSZWFkRXZlbnRzKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWFya0FzUmVhZEV2ZW50JC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldENsZWFyRXZlbnRzKCk6IE9ic2VydmFibGU8c3RyaW5nW10gfCBudWxsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5jbGVhckV2ZW50JC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldExvYWRpbmdTdGF0ZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiB0aGlzLmxvYWRpbmckLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG90YWxQYWdlcygpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMudG90YWxQYWdlcyQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0tLS0tLS0tLSBpbnRlcm5hbCAtLS0tLS0tLS0tLVxyXG5cclxuICBwcml2YXRlIGhhbmRsZU1lc3NhZ2UobWVzc2FnZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIW1lc3NhZ2U/LnR5cGUpIHJldHVybjtcclxuXHJcbiAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xyXG4gICAgICBjYXNlIFdTX01FU1NBR0VfVFlQRS5HRVRfTk9USUZJQ0FUSU9OU19SRVNQT05TRTpcclxuICAgICAgICBpZiAobWVzc2FnZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtczogTm90aWZpY2F0aW9uSXRlbVtdID0gbWVzc2FnZS5ub3RpZmljYXRpb25zID8/IFtdO1xyXG4gICAgICAgICAgY29uc3QgdWkgPSBpdGVtcy5tYXAoKG4pID0+IHRoaXMucGFyc2VJbmJveE5vdGlmaWNhdGlvbihuKSk7XHJcbiAgICAgICAgICB0aGlzLmxhdGVzdE5vdGlmaWNhdGlvbnMkLm5leHQodWkpO1xyXG4gICAgICAgICAgdGhpcy50b3RhbFBhZ2VzJC5uZXh0KG1lc3NhZ2UudG90YWxQYWdlcyA/PyAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLkdFVF9VTlJFQURfQ09VTlRfUkVTUE9OU0U6XHJcbiAgICAgICAgaWYgKG1lc3NhZ2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgdGhpcy51bnJlYWRDb3VudCQubmV4dChtZXNzYWdlLmNvdW50ID8/IDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLk5PVElGSUNBVElPTjoge1xyXG4gICAgICAgIGNvbnN0IHVpID0gdGhpcy50cmFuc2Zvcm1QdXNoTm90aWZpY2F0aW9uKG1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMubGF0ZXN0Tm90aWZpY2F0aW9ucyQubmV4dCh1aSk7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgY2FzZSBXU19NRVNTQUdFX1RZUEUuTUFSS19OT1RJRklDQVRJT05fUkVBRF9SRVNQT05TRTpcclxuICAgICAgICBpZiAobWVzc2FnZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcmtBc1JlYWRFdmVudCQubmV4dChtZXNzYWdlLm5vdGlmaWNhdGlvbklkID8/IG51bGwpO1xyXG4gICAgICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFdTX01FU1NBR0VfVFlQRS5OT1RJRklDQVRJT05fTUFSS0VEX1JFQUQ6XHJcbiAgICAgICAgLy8gQnJvYWRjYXN0IGZyb20gYW5vdGhlciBzZXNzaW9uIG9mIHNhbWUgdXNlci4gbm90aWZpY2F0aW9uSWQgb3B0aW9uYWxcclxuICAgICAgICAvLyAoYWJzZW50IOKHkiBcImFsbCByZWFkXCIpLlxyXG4gICAgICAgIHRoaXMubWFya0FzUmVhZEV2ZW50JC5uZXh0KG1lc3NhZ2Uubm90aWZpY2F0aW9uSWQgPz8gbnVsbCk7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLk1BUktfQUxMX05PVElGSUNBVElPTl9SRUFEX1JFU1BPTlNFOlxyXG4gICAgICAgIGlmIChtZXNzYWdlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMubWFya0FzUmVhZEV2ZW50JC5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFdTX01FU1NBR0VfVFlQRS5DTEVBUl9OT1RJRklDQVRJT05fUkVTUE9OU0U6XHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLk5PVElGSUNBVElPTl9DTEVBUkVEOlxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG1lc3NhZ2Uubm90aWZpY2F0aW9uSWRzKSAmJiBtZXNzYWdlLm5vdGlmaWNhdGlvbklkcy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuY2xlYXJFdmVudCQubmV4dChtZXNzYWdlLm5vdGlmaWNhdGlvbklkcyk7XHJcbiAgICAgICAgICB0aGlzLnJlcXVlc3RVbnJlYWRDb3VudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLkNMRUFSX0FMTF9OT1RJRklDQVRJT05TX1JFU1BPTlNFOlxyXG4gICAgICAgIGlmIChtZXNzYWdlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMuY2xlYXJFdmVudCQubmV4dChudWxsKTtcclxuICAgICAgICAgIHRoaXMucmVxdWVzdFVucmVhZENvdW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBXU19NRVNTQUdFX1RZUEUuQUxMX05PVElGSUNBVElPTlNfQ0xFQVJFRDpcclxuICAgICAgICBpZiAobWVzc2FnZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyRXZlbnQkLm5leHQobnVsbCk7XHJcbiAgICAgICAgICB0aGlzLnJlcXVlc3RVbnJlYWRDb3VudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIENPTk5FQ1RJT05fRVNUQUJMSVNIRUQsIFBPTkcsIEhFQVJUQkVBVF9BQ0ssIEVSUk9SIGFyZSBoYW5kbGVkIGF0IHRoZVxyXG4gICAgICAvLyB0cmFuc3BvcnQgbGF5ZXIgKG9yIGFyZSBuby1vcHMpLiBIRUFSVEJFQVQgaXMgaW50ZXJjZXB0ZWQgYnkgdHJhbnNwb3J0XHJcbiAgICAgIC8vIGFuZCBuZXZlciBmb3J3YXJkZWQuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQYXJzZSBhbiBpbmJveCBub3RpZmljYXRpb24ncyBgZGF0YWAgSlNPTiBpbnRvIGEgVUktc2hhcGVkIG9iamVjdC5cclxuICAgKlxyXG4gICAqIFJlYWQgc3RhdGUgaXMgc3VyZmFjZWQgdmlhIGBzdGF0dXMgPT09ICdSZWFkJ2AgKGNvbmZpcm1lZCBieSBCRSkuXHJcbiAgICogSW5ib3ggcmVzcG9uc2Ugb25seSBjb250YWlucyBgRGVsaXZlcmVkYCAodW5yZWFkKSArIGBSZWFkYCBpdGVtcztcclxuICAgKiBgUGVuZGluZ2AgLyBgRG9uZWAgLyBgRmFpbGVkYCBhcmUgZmlsdGVyZWQgb3V0IHNlcnZlci1zaWRlLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcGFyc2VJbmJveE5vdGlmaWNhdGlvbihpdGVtOiBOb3RpZmljYXRpb25JdGVtKTogVWlOb3RpZmljYXRpb24ge1xyXG4gICAgbGV0IHBhcnNlZFBheWxvYWQ6IFBhcnNlZE5vdGlmaWNhdGlvblBheWxvYWQgPSB7fTtcclxuICAgIHRyeSB7XHJcbiAgICAgIHBhcnNlZFBheWxvYWQgPSBKU09OLnBhcnNlKGl0ZW0uZGF0YSkgYXMgUGFyc2VkTm90aWZpY2F0aW9uUGF5bG9hZDtcclxuICAgIH0gY2F0Y2gge1xyXG4gICAgICBwYXJzZWRQYXlsb2FkID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaWQ6IGl0ZW0uaWQsXHJcbiAgICAgIGNyZWF0ZWRBdDogaXRlbS5jcmVhdGVkQXQsXHJcbiAgICAgIHN0YXR1czogaXRlbS5zdGF0dXMsXHJcbiAgICAgIHByaW9yaXR5OiBpdGVtLnByaW9yaXR5LFxyXG4gICAgICBwYXJzZWRQYXlsb2FkLFxyXG4gICAgICBpc1JlYWQ6IGl0ZW0uc3RhdHVzID09PSAnUmVhZCcsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV3JhcCBhIHNlcnZlci1wdXNoZWQgbGl2ZSBub3RpZmljYXRpb24gaW50byB0aGUgc2FtZSBVSSBzaGFwZSBhcyBpbmJveCBpdGVtcy5cclxuICAgKiBUaGUgcHVzaCBldmVudCBoYXMgZmllbGRzIGZsYXQgYXQgdGhlIHRvcCBsZXZlbCAoTk9UIGluc2lkZSBgZGF0YWApIOKAlCBzeW50aGVzaXplXHJcbiAgICogYHBhcnNlZFBheWxvYWRgIGZyb20gdGhvc2UgZmllbGRzIHNvIHRoZSBjb21wb25lbnQgc2VlcyBhIHVuaWZvcm0gc2hhcGUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1QdXNoTm90aWZpY2F0aW9uKHB1c2g6IE5vdGlmaWNhdGlvblB1c2hQYXlsb2FkKTogVWlOb3RpZmljYXRpb24ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaWQ6IHB1c2guaWQsXHJcbiAgICAgIGNyZWF0ZWRBdDogcHVzaC5jcmVhdGVkQXQsXHJcbiAgICAgIHN0YXR1czogJ0RlbGl2ZXJlZCcsXHJcbiAgICAgIHByaW9yaXR5OiBwdXNoLnByaW9yaXR5LFxyXG4gICAgICBwYXJzZWRQYXlsb2FkOiB7XHJcbiAgICAgICAgdGl0bGU6IHB1c2gudGl0bGUsXHJcbiAgICAgICAgYm9keTogcHVzaC5ib2R5LFxyXG4gICAgICAgIGNhdGVnb3J5OiBwdXNoLmNhdGVnb3J5LFxyXG4gICAgICAgIHByaW9yaXR5OiBwdXNoLnByaW9yaXR5LFxyXG4gICAgICB9LFxyXG4gICAgICBpc1JlYWQ6IGZhbHNlLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWluYm94LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9jb3JlL3NlcnZpY2Uvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi1pbmJveC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFDTCxzQkFBc0IsRUFNdEIsZUFBZSxHQUNoQixNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUVoRjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQztRQWZpQixPQUFFLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFFM0QsZ0ZBQWdGO1FBQ3hFLGlCQUFZLEdBQWtCLElBQUksQ0FBQztRQUUzQyxrQ0FBa0M7UUFFakIseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQXFDLENBQUM7UUFDeEUsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBQzdDLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMvQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RELGtCQUFhLEdBQXlDLElBQUksQ0FBQztRQUdqRSxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLEVB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LGNBQWM7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE1BQU0sRUFBRSxXQUFXO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixhQUFhLEVBQUU7Z0JBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUztnQkFDcEMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDaEU7WUFDRCxNQUFNLEVBQUUsS0FBSztTQUNkLENBQUM7SUFDSixDQUFDOytHQXhUVSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQURYLE1BQU07OzRGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIE5PVElGSUNBVElPTl9XU19DT05GSUcsXHJcbiAgTm90aWZpY2F0aW9uSW5ib3hDb25uZWN0UGFyYW1zLFxyXG4gIE5vdGlmaWNhdGlvbkl0ZW0sXHJcbiAgTm90aWZpY2F0aW9uUHVzaFBheWxvYWQsXHJcbiAgUGFyc2VkTm90aWZpY2F0aW9uUGF5bG9hZCxcclxuICBVaU5vdGlmaWNhdGlvbixcclxuICBXU19NRVNTQUdFX1RZUEUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vYXBwL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbldlYlNvY2tldFNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbi13ZWJzb2NrZXQuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogUHVibGljIG5vdGlmaWNhdGlvbiBpbmJveCBzZXJ2aWNlLlxyXG4gKlxyXG4gKiBQdXJlIOKAlCBubyBzdG9yYWdlIC8gYXV0aCBjb3VwbGluZy4gVGhlIGNhbGxlciAoU0RLIGZhY2FkZSkgc3VwcGxpZXMgYWxsIGF1dGhcclxuICogaWRlbnRpZmllcnMgdmlhIGBjb25uZWN0KHBhcmFtcylgLCBhbmQgdGhleSdyZSBoZWxkIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlXHJcbiAqIGNvbm5lY3Rpb24gKGNsZWFyZWQgb24gZGlzY29ubmVjdCkuXHJcbiAqXHJcbiAqIFN1YnNjcmliZXMgdG8gdGhlIFdlYlNvY2tldCB0cmFuc3BvcnQsIHJvdXRlcyBpbmNvbWluZyBtZXNzYWdlcyBieSB0eXBlIGludG9cclxuICogZGVkaWNhdGVkIHN0cmVhbXMsIGFuZCBleHBvc2VzIGhpZ2gtbGV2ZWwgYWN0aW9ucyBmb3IgdGhlIFVJLlxyXG4gKlxyXG4gKiBDb21wb25lbnRzL2V4dGVuc2lvbnMgY29uc3VtZSB0aGlzIHZpYSB0aGUgU0RLIGZhY2FkZSAoYFRhYlNkay5ub3RpZmljYXRpb24uKmApLFxyXG4gKiBub3QgZGlyZWN0bHkuXHJcbiAqXHJcbiAqIE5hbWVkIGBOb3RpZmljYXRpb25JbmJveFNlcnZpY2VgIHRvIGF2b2lkIGNvbGxpc2lvbiB3aXRoIHRoZSBleGlzdGluZyB0b2FzdHJcclxuICogYE5vdGlmaWNhdGlvblNlcnZpY2VgIGluIGBjb3JlL3NlcnZpY2Uvbm90aWZpY2F0aW9uLnNlcnZpY2UudHNgLlxyXG4gKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkluYm94U2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB3cyA9IGluamVjdChOb3RpZmljYXRpb25XZWJTb2NrZXRTZXJ2aWNlKTtcclxuXHJcbiAgLy8gSGVsZCBiZXR3ZWVuIGNvbm5lY3QoKSBhbmQgZGlzY29ubmVjdCgpIOKAlCBldmVyeSBvdXRib3VuZCBtZXNzYWdlIGluY2x1ZGVzIGl0LlxyXG4gIHByaXZhdGUgd29ya3NwYWNlS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0gc3RyZWFtcyAtLS0tLS0tLS0tLVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGxhdGVzdE5vdGlmaWNhdGlvbnMkID0gbmV3IFN1YmplY3Q8VWlOb3RpZmljYXRpb24gfCBVaU5vdGlmaWNhdGlvbltdPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgdW5yZWFkQ291bnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFya0FzUmVhZEV2ZW50JCA9IG5ldyBTdWJqZWN0PHN0cmluZyB8IG51bGw+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjbGVhckV2ZW50JCA9IG5ldyBTdWJqZWN0PHN0cmluZ1tdIHwgbnVsbD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB0b3RhbFBhZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcclxuICBwcml2YXRlIGxvYWRNb3JlVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgLy8gUm91dGUgaW5ib3VuZCBtZXNzYWdlcyDihpIgc3RyZWFtc1xyXG4gICAgdGhpcy53cy5tZXNzYWdlcyQuc3Vic2NyaWJlKChtZXNzYWdlKSA9PiB0aGlzLmhhbmRsZU1lc3NhZ2UobWVzc2FnZSkpO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0gbGlmZWN5Y2xlIC0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbm5lY3QgdG8gdGhlIG5vdGlmaWNhdGlvbiBXZWJTb2NrZXQuIEF3YWl0YWJsZSwgaWRlbXBvdGVudC5cclxuICAgKlxyXG4gICAqIElmIGEgY29ubmVjdGlvbiBpcyBhbHJlYWR5IGFjdGl2ZSBmb3IgYSAqZGlmZmVyZW50KiB3b3Jrc3BhY2UgKHRlbmFudC9hcHAvZW52XHJcbiAgICogc3dpdGNoIHdpdGhvdXQgc2lnbk91dCksIHdlIHRlYXIgaXQgZG93biBmaXJzdCBzbyB0aGUgbmV3IGNvbm5lY3Rpb24gdXNlc1xyXG4gICAqIHRoZSBjb3JyZWN0IFVSTCBhbmQgd29ya3NwYWNlS2V5LiBUaGUgdW5kZXJseWluZyBgd3MuY29ubmVjdGAgaXMgaWRlbXBvdGVudFxyXG4gICAqIGJ5IGNvbm5lY3Rpb24gc3RhdGUsIHNvIGl0IHdvdWxkIG90aGVyd2lzZSBrZWVwIHRoZSBzdGFsZSBVUkwuXHJcbiAgICpcclxuICAgKiBPbmNlIGNvbm5lY3RlZCwgYW4gdW5yZWFkLWNvdW50IGZldGNoIGlzIGZpcmVkIGF1dG9tYXRpY2FsbHkgc28gdGhlIGJhZGdlIHBvcHVsYXRlcy5cclxuICAgKi9cclxuICBhc3luYyBjb25uZWN0KHBhcmFtczogTm90aWZpY2F0aW9uSW5ib3hDb25uZWN0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy53b3Jrc3BhY2VLZXkgJiYgdGhpcy53b3Jrc3BhY2VLZXkgIT09IHBhcmFtcy53b3Jrc3BhY2VLZXkpIHtcclxuICAgICAgYXdhaXQgdGhpcy5kaXNjb25uZWN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy53b3Jrc3BhY2VLZXkgPSBwYXJhbXMud29ya3NwYWNlS2V5O1xyXG5cclxuICAgIGF3YWl0IHRoaXMud3MuY29ubmVjdCh7XHJcbiAgICAgIHVzZXJJZDogcGFyYW1zLnVzZXJJZCxcclxuICAgICAgYXBwSWQ6IHBhcmFtcy5hcHBJZCxcclxuICAgICAgdGVuYW50SWQ6IHBhcmFtcy50ZW5hbnRJZCxcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLndzLmlzQ29ubmVjdGVkKCkpIHtcclxuICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRlYXIgZG93biB0aGUgY29ubmVjdGlvbi4gUmVzZXRzIGFsbCBzdHJlYW0gc3RhdGUgc28gdGhlIFVJIGNsZWFycy5cclxuICAgKi9cclxuICBhc3luYyBkaXNjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy53cy5kaXNjb25uZWN0KCk7XHJcbiAgICB0aGlzLndvcmtzcGFjZUtleSA9IG51bGw7XHJcbiAgICB0aGlzLnVucmVhZENvdW50JC5uZXh0KDApO1xyXG4gICAgdGhpcy50b3RhbFBhZ2VzJC5uZXh0KDEpO1xyXG4gICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgIGlmICh0aGlzLmxvYWRNb3JlVGltZXIpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubG9hZE1vcmVUaW1lcik7XHJcbiAgICAgIHRoaXMubG9hZE1vcmVUaW1lciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAtLS0tLS0tLS0tLSBhY3Rpb25zIC0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoIGEgcGFnZSBvZiBub3RpZmljYXRpb25zLiBTZXJ2ZXIgcmVwbGllcyB2aWEgR0VUX05PVElGSUNBVElPTlNfUkVTUE9OU0UuXHJcbiAgICpcclxuICAgKiBTa2lwcyBlbnRpcmVseSB3aGVuIHRoZSBzb2NrZXQgaXNuJ3QgY29ubmVjdGVkIOKAlCBvdGhlcndpc2Ugd2UnZCBzZXRcclxuICAgKiBgbG9hZGluZyRgIHRydWUsIHNlbmQgaW50byBhIG5vLW9wLCBhbmQgdGhlIFVJIHdvdWxkIHNwaW4gZm9yZXZlci5cclxuICAgKlxyXG4gICAqIEFkZHMgYSBzYWZldHkgdGltZW91dCBzbyB0aGUgc3Bpbm5lciBjbGVhcnMgZXZlbiBpZiB0aGUgQkUgYWNjZXB0cyB0aGVcclxuICAgKiBjb25uZWN0aW9uIGJ1dCBuZXZlciByZXBsaWVzIChicm9rZW4gaHViLCBkcm9wcGVkIGZyYW1lLCBldGMuKS5cclxuICAgKi9cclxuICBsb2FkTW9yZShwYWdlTnVtYmVyOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIgPSBOT1RJRklDQVRJT05fV1NfQ09ORklHLkRFRkFVTFRfUEFHRV9TSVpFKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMud29ya3NwYWNlS2V5IHx8ICF0aGlzLndzLmlzQ29ubmVjdGVkKCkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLndzLnNlbmQoe1xyXG4gICAgICB0eXBlOiBXU19NRVNTQUdFX1RZUEUuR0VUX05PVElGSUNBVElPTlMsXHJcbiAgICAgIHdvcmtzcGFjZUtleTogdGhpcy53b3Jrc3BhY2VLZXksXHJcbiAgICAgIHBhZ2VOdW1iZXIsXHJcbiAgICAgIHBhZ2VTaXplLFxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMubG9hZE1vcmVUaW1lcikgY2xlYXJUaW1lb3V0KHRoaXMubG9hZE1vcmVUaW1lcik7XHJcbiAgICB0aGlzLmxvYWRNb3JlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5sb2FkTW9yZVRpbWVyID0gbnVsbDtcclxuICAgICAgaWYgKHRoaXMubG9hZGluZyQudmFsdWUpIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9LCBOT1RJRklDQVRJT05fV1NfQ09ORklHLkxPQURfVElNRU9VVF9NUyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXF1ZXN0IHVucmVhZCBjb3VudC4gUmVzdWx0IGFycml2ZXMgb24gYHVucmVhZENvdW50JGAuXHJcbiAgICovXHJcbiAgcmVxdWVzdFVucmVhZENvdW50KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLndvcmtzcGFjZUtleSkgcmV0dXJuO1xyXG4gICAgdGhpcy53cy5zZW5kKHtcclxuICAgICAgdHlwZTogV1NfTUVTU0FHRV9UWVBFLkdFVF9VTlJFQURfQ09VTlQsXHJcbiAgICAgIHdvcmtzcGFjZUtleTogdGhpcy53b3Jrc3BhY2VLZXksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG1hcmtBc1JlYWQobm90aWZpY2F0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLndvcmtzcGFjZUtleSkgcmV0dXJuO1xyXG4gICAgdGhpcy53cy5zZW5kKHtcclxuICAgICAgdHlwZTogV1NfTUVTU0FHRV9UWVBFLk1BUktfTk9USUZJQ0FUSU9OX1JFQUQsXHJcbiAgICAgIHdvcmtzcGFjZUtleTogdGhpcy53b3Jrc3BhY2VLZXksXHJcbiAgICAgIG5vdGlmaWNhdGlvbklkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBtYXJrQWxsQXNSZWFkKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLndvcmtzcGFjZUtleSkgcmV0dXJuO1xyXG4gICAgdGhpcy53cy5zZW5kKHtcclxuICAgICAgdHlwZTogV1NfTUVTU0FHRV9UWVBFLk1BUktfQUxMX05PVElGSUNBVElPTl9SRUFELFxyXG4gICAgICB3b3Jrc3BhY2VLZXk6IHRoaXMud29ya3NwYWNlS2V5LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhck9uZShub3RpZmljYXRpb25JZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMud29ya3NwYWNlS2V5KSByZXR1cm47XHJcbiAgICB0aGlzLndzLnNlbmQoe1xyXG4gICAgICB0eXBlOiBXU19NRVNTQUdFX1RZUEUuQ0xFQVJfTk9USUZJQ0FUSU9OLFxyXG4gICAgICB3b3Jrc3BhY2VLZXk6IHRoaXMud29ya3NwYWNlS2V5LFxyXG4gICAgICBub3RpZmljYXRpb25JZCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJBbGwoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMud29ya3NwYWNlS2V5KSByZXR1cm47XHJcbiAgICB0aGlzLndzLnNlbmQoe1xyXG4gICAgICB0eXBlOiBXU19NRVNTQUdFX1RZUEUuQ0xFQVJfQUxMX05PVElGSUNBVElPTlMsXHJcbiAgICAgIHdvcmtzcGFjZUtleTogdGhpcy53b3Jrc3BhY2VLZXksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIC0tLS0tLS0tLS0tIHN0cmVhbXMgKHJlYWQtb25seSB2aWV3cykgLS0tLS0tLS0tLS1cclxuXHJcbiAgZ2V0TGF0ZXN0Tm90aWZpY2F0aW9ucygpOiBPYnNlcnZhYmxlPFVpTm90aWZpY2F0aW9uIHwgVWlOb3RpZmljYXRpb25bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGF0ZXN0Tm90aWZpY2F0aW9ucyQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRVbnJlYWRDb3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMudW5yZWFkQ291bnQkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWFya0FzUmVhZEV2ZW50cygpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcclxuICAgIHJldHVybiB0aGlzLm1hcmtBc1JlYWRFdmVudCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDbGVhckV2ZW50cygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgbnVsbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2xlYXJFdmVudCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2FkaW5nU3RhdGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldFRvdGFsUGFnZXMoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLnRvdGFsUGFnZXMkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0gaW50ZXJuYWwgLS0tLS0tLS0tLS1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVNZXNzYWdlKG1lc3NhZ2U6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCFtZXNzYWdlPy50eXBlKSByZXR1cm47XHJcblxyXG4gICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcclxuICAgICAgY2FzZSBXU19NRVNTQUdFX1RZUEUuR0VUX05PVElGSUNBVElPTlNfUkVTUE9OU0U6XHJcbiAgICAgICAgaWYgKG1lc3NhZ2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXM6IE5vdGlmaWNhdGlvbkl0ZW1bXSA9IG1lc3NhZ2Uubm90aWZpY2F0aW9ucyA/PyBbXTtcclxuICAgICAgICAgIGNvbnN0IHVpID0gaXRlbXMubWFwKChuKSA9PiB0aGlzLnBhcnNlSW5ib3hOb3RpZmljYXRpb24obikpO1xyXG4gICAgICAgICAgdGhpcy5sYXRlc3ROb3RpZmljYXRpb25zJC5uZXh0KHVpKTtcclxuICAgICAgICAgIHRoaXMudG90YWxQYWdlcyQubmV4dChtZXNzYWdlLnRvdGFsUGFnZXMgPz8gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgaWYgKHRoaXMubG9hZE1vcmVUaW1lcikge1xyXG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubG9hZE1vcmVUaW1lcik7XHJcbiAgICAgICAgICB0aGlzLmxvYWRNb3JlVGltZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLkdFVF9VTlJFQURfQ09VTlRfUkVTUE9OU0U6XHJcbiAgICAgICAgaWYgKG1lc3NhZ2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgdGhpcy51bnJlYWRDb3VudCQubmV4dChtZXNzYWdlLmNvdW50ID8/IDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLk5PVElGSUNBVElPTjoge1xyXG4gICAgICAgIGNvbnN0IHVpID0gdGhpcy50cmFuc2Zvcm1QdXNoTm90aWZpY2F0aW9uKG1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMubGF0ZXN0Tm90aWZpY2F0aW9ucyQubmV4dCh1aSk7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgY2FzZSBXU19NRVNTQUdFX1RZUEUuTUFSS19OT1RJRklDQVRJT05fUkVBRF9SRVNQT05TRTpcclxuICAgICAgICBpZiAobWVzc2FnZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcmtBc1JlYWRFdmVudCQubmV4dChtZXNzYWdlLm5vdGlmaWNhdGlvbklkID8/IG51bGwpO1xyXG4gICAgICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFdTX01FU1NBR0VfVFlQRS5OT1RJRklDQVRJT05fTUFSS0VEX1JFQUQ6XHJcbiAgICAgICAgLy8gQnJvYWRjYXN0IGZyb20gYW5vdGhlciBzZXNzaW9uIG9mIHNhbWUgdXNlci4gbm90aWZpY2F0aW9uSWQgb3B0aW9uYWxcclxuICAgICAgICAvLyAoYWJzZW50IOKHkiBcImFsbCByZWFkXCIpLlxyXG4gICAgICAgIHRoaXMubWFya0FzUmVhZEV2ZW50JC5uZXh0KG1lc3NhZ2Uubm90aWZpY2F0aW9uSWQgPz8gbnVsbCk7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLk1BUktfQUxMX05PVElGSUNBVElPTl9SRUFEX1JFU1BPTlNFOlxyXG4gICAgICAgIGlmIChtZXNzYWdlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMubWFya0FzUmVhZEV2ZW50JC5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFdTX01FU1NBR0VfVFlQRS5DTEVBUl9OT1RJRklDQVRJT05fUkVTUE9OU0U6XHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLk5PVElGSUNBVElPTl9DTEVBUkVEOlxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG1lc3NhZ2Uubm90aWZpY2F0aW9uSWRzKSAmJiBtZXNzYWdlLm5vdGlmaWNhdGlvbklkcy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuY2xlYXJFdmVudCQubmV4dChtZXNzYWdlLm5vdGlmaWNhdGlvbklkcyk7XHJcbiAgICAgICAgICB0aGlzLnJlcXVlc3RVbnJlYWRDb3VudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLkNMRUFSX0FMTF9OT1RJRklDQVRJT05TX1JFU1BPTlNFOlxyXG4gICAgICAgIGlmIChtZXNzYWdlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMuY2xlYXJFdmVudCQubmV4dChudWxsKTtcclxuICAgICAgICAgIHRoaXMucmVxdWVzdFVucmVhZENvdW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBXU19NRVNTQUdFX1RZUEUuQUxMX05PVElGSUNBVElPTlNfQ0xFQVJFRDpcclxuICAgICAgICBpZiAobWVzc2FnZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyRXZlbnQkLm5leHQobnVsbCk7XHJcbiAgICAgICAgICB0aGlzLnJlcXVlc3RVbnJlYWRDb3VudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgV1NfTUVTU0FHRV9UWVBFLkNPTk5FQ1RJT05fRVNUQUJMSVNIRUQ6XHJcbiAgICAgICAgLy8gU2VydmVyIGNvbmZpcm1zIHRoZSBjb25uZWN0aW9uIGlzIGxpdmUuIEZpcmUgdGhlIHBvc3QtY29ubmVjdFxyXG4gICAgICAgIC8vIHVucmVhZC1jb3VudCBmZXRjaCBoZXJlIOKAlCB3b3JrcyB3aGV0aGVyIHRoZSByZXNvbHZlci10aW1lIGF3YWl0XHJcbiAgICAgICAgLy8gc2F3IHRoZSBjb25uZWN0aW9uIG9wZW4gb3IgdGltZWQgb3V0IGVhcmx5LlxyXG4gICAgICAgIGlmICh0aGlzLndvcmtzcGFjZUtleSkge1xyXG4gICAgICAgICAgdGhpcy5yZXF1ZXN0VW5yZWFkQ291bnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAvLyBQT05HLCBIRUFSVEJFQVRfQUNLLCBFUlJPUiBhcmUgaGFuZGxlZCBhdCB0aGUgdHJhbnNwb3J0IGxheWVyXHJcbiAgICAgIC8vIChvciBhcmUgbm8tb3BzKS4gSEVBUlRCRUFUIGlzIGludGVyY2VwdGVkIGJ5IHRyYW5zcG9ydCBhbmQgbmV2ZXIgZm9yd2FyZGVkLlxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUGFyc2UgYW4gaW5ib3ggbm90aWZpY2F0aW9uJ3MgYERhdGFgIEpTT04gaW50byBhIFVJLXNoYXBlZCBvYmplY3QuXHJcbiAgICpcclxuICAgKiBSZWFkIHN0YXRlIGlzIHN1cmZhY2VkIHZpYSBgU3RhdHVzID09PSAnUmVhZCdgIChjb25maXJtZWQgYnkgQkUpLlxyXG4gICAqIEluYm94IHJlc3BvbnNlIG9ubHkgY29udGFpbnMgYERlbGl2ZXJlZGAgKHVucmVhZCkgKyBgUmVhZGAgaXRlbXM7XHJcbiAgICogYFBlbmRpbmdgIC8gYERvbmVgIC8gYEZhaWxlZGAgYXJlIGZpbHRlcmVkIG91dCBzZXJ2ZXItc2lkZS5cclxuICAgKi9cclxuICBwcml2YXRlIHBhcnNlSW5ib3hOb3RpZmljYXRpb24oaXRlbTogTm90aWZpY2F0aW9uSXRlbSk6IFVpTm90aWZpY2F0aW9uIHtcclxuICAgIGxldCBwYXJzZWRQYXlsb2FkOiBQYXJzZWROb3RpZmljYXRpb25QYXlsb2FkID0ge307XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByYXcgPSBKU09OLnBhcnNlKGl0ZW0uRGF0YSkgYXMgYW55O1xyXG4gICAgICBwYXJzZWRQYXlsb2FkID0ge1xyXG4gICAgICAgIHRpdGxlOiByYXcuVGl0bGUsXHJcbiAgICAgICAgYm9keTogcmF3LkJvZHksXHJcbiAgICAgICAgY2F0ZWdvcnk6IHJhdy5DYXRlZ29yeSxcclxuICAgICAgICBwcmlvcml0eTogcmF3LlByaW9yaXR5LFxyXG4gICAgICAgIGFjdGlvbnM6IEFycmF5LmlzQXJyYXkocmF3LkFjdGlvbnMpXHJcbiAgICAgICAgICA/IHJhdy5BY3Rpb25zLm1hcCgoYTogYW55KSA9PiAoeyBsYWJlbDogYS5MYWJlbCwgdXJsOiBhLlVybCwgdHlwZTogYS5UeXBlIH0pKVxyXG4gICAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICAgIH07XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcGFyc2VkUGF5bG9hZCA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiBpdGVtLklkLFxyXG4gICAgICBjcmVhdGVkQXQ6IGl0ZW0uQ3JlYXRlZEF0LFxyXG4gICAgICBzdGF0dXM6IGl0ZW0uU3RhdHVzLFxyXG4gICAgICBwcmlvcml0eTogaXRlbS5Qcmlvcml0eSxcclxuICAgICAgcGFyc2VkUGF5bG9hZCxcclxuICAgICAgaXNSZWFkOiBpdGVtLlN0YXR1cyA9PT0gJ1JlYWQnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdyYXAgYSBzZXJ2ZXItcHVzaGVkIGxpdmUgbm90aWZpY2F0aW9uIGludG8gdGhlIHNhbWUgVUkgc2hhcGUgYXMgaW5ib3ggaXRlbXMuXHJcbiAgICogUHVzaCBmaWVsZHMgYXJlIGNhbWVsQ2FzZSAoYW5vbnltb3VzIG9iamVjdCkgd2l0aCBgbm90aWZpY2F0aW9uSWRgIGFzIHRoZSBpZCBmaWVsZC5cclxuICAgKiBgYWN0aW9uc2AgYXJyaXZlIGFscmVhZHkgcGFyc2VkIOKAlCBub3QgYSBKU09OIHN0cmluZyBsaWtlIGluYm94IGBEYXRhYC5cclxuICAgKi9cclxuICBwcml2YXRlIHRyYW5zZm9ybVB1c2hOb3RpZmljYXRpb24ocHVzaDogTm90aWZpY2F0aW9uUHVzaFBheWxvYWQpOiBVaU5vdGlmaWNhdGlvbiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZDogcHVzaC5ub3RpZmljYXRpb25JZCxcclxuICAgICAgY3JlYXRlZEF0OiBwdXNoLmNyZWF0ZWRBdCxcclxuICAgICAgc3RhdHVzOiAnRGVsaXZlcmVkJyxcclxuICAgICAgcHJpb3JpdHk6IHB1c2gucHJpb3JpdHksXHJcbiAgICAgIHBhcnNlZFBheWxvYWQ6IHtcclxuICAgICAgICB0aXRsZTogcHVzaC50aXRsZSxcclxuICAgICAgICBib2R5OiBwdXNoLmJvZHksXHJcbiAgICAgICAgY2F0ZWdvcnk6IHB1c2guY2F0ZWdvcnkgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgIHByaW9yaXR5OiBwdXNoLnByaW9yaXR5LFxyXG4gICAgICAgIGFjdGlvbnM6IEFycmF5LmlzQXJyYXkocHVzaC5hY3Rpb25zKSA/IHB1c2guYWN0aW9ucyA6IHVuZGVmaW5lZCxcclxuICAgICAgfSxcclxuICAgICAgaXNSZWFkOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -51,8 +51,9 @@ export class NotificationWebSocketService {
51
51
  if (this.connectionState() === WS_CONNECTION_STATE.CONNECTED) {
52
52
  return;
53
53
  }
54
+ // If a connect is already in flight, wait for it (capped) — don't start a second one.
54
55
  if (this.connectingPromise) {
55
- return this.connectingPromise;
56
+ return this.raceWithTimeout(this.connectingPromise);
56
57
  }
57
58
  if (this.socket) {
58
59
  try {
@@ -64,12 +65,22 @@ export class NotificationWebSocketService {
64
65
  this.socketSub = null;
65
66
  }
66
67
  this.connectingPromise = this.doConnect(params);
67
- try {
68
- await this.connectingPromise;
69
- }
70
- finally {
68
+ // Null connectingPromise once the underlying handshake actually settles
69
+ // (open / close / error). We do NOT null it on the timeout — the WS keeps
70
+ // trying in the background, and a concurrent connect() should join the
71
+ // same in-flight attempt instead of starting a new one.
72
+ this.connectingPromise.finally(() => {
71
73
  this.connectingPromise = null;
72
- }
74
+ });
75
+ // Block the caller for at most CONNECT_TIMEOUT_MS so the route resolver
76
+ // doesn't hang for ~21s on a TCP timeout when the BE is unreachable.
77
+ return this.raceWithTimeout(this.connectingPromise);
78
+ }
79
+ raceWithTimeout(p) {
80
+ return Promise.race([
81
+ p,
82
+ new Promise(resolve => setTimeout(resolve, NOTIFICATION_WS_CONFIG.CONNECT_TIMEOUT_MS)),
83
+ ]);
73
84
  }
74
85
  async doConnect(params) {
75
86
  const baseUrl = Common.notificationWebSocketUrl;
@@ -206,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
206
217
  type: Injectable,
207
218
  args: [{ providedIn: 'root' }]
208
219
  }] });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXdlYnNvY2tldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9zZXJ2aWNlL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24td2Vic29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHNCQUFzQixFQUV0QixtQkFBbUIsRUFDbkIsZUFBZSxHQUVoQixNQUFNLGdEQUFnRCxDQUFDOztBQUV4RDs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQUR6QztRQUVVLFdBQU0sR0FBaUMsSUFBSSxDQUFDO1FBQzVDLGNBQVMsR0FBd0IsSUFBSSxDQUFDO1FBRTlDLHdFQUF3RTtRQUNoRSxzQkFBaUIsR0FBeUIsSUFBSSxDQUFDO1FBRXZELHdGQUF3RjtRQUNoRiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFFdkMsaUZBQWlGO1FBQ2pGLDhDQUE4QztRQUN0QyxlQUFVLEdBQThDLElBQUksQ0FBQztRQUVyRSwyREFBMkQ7UUFDbkQscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLG1CQUFjLEdBQXlDLElBQUksQ0FBQztRQUVwRSwyRUFBMkU7UUFDbEUsb0JBQWUsR0FBRyxNQUFNLENBQW9CLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZGLG1GQUFtRjtRQUMxRSxjQUFTLEdBQUcsSUFBSSxP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QUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztJQUNsRSxDQUFDOytHQXpNVSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB3ZWJTb2NrZXQsIFdlYlNvY2tldFN1YmplY3QgfSBmcm9tICdyeGpzL3dlYlNvY2tldCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4uLy4uLy4uL2FwcC9jb25zdGFudHMvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBOT1RJRklDQVRJT05fV1NfQ09ORklHLFxyXG4gIE5vdGlmaWNhdGlvbldlYlNvY2tldENvbm5lY3RQYXJhbXMsXHJcbiAgV1NfQ09OTkVDVElPTl9TVEFURSxcclxuICBXU19NRVNTQUdFX1RZUEUsXHJcbiAgV3NDb25uZWN0aW9uU3RhdGUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vYXBwL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uLmludGVyZmFjZSc7XHJcblxyXG4vKipcclxuICogTG93LWxldmVsIE5vdGlmaWNhdGlvbiBXZWJTb2NrZXQgdHJhbnNwb3J0LlxyXG4gKlxyXG4gKiBQdXJlIOKAlCBubyBzdG9yYWdlIC8gYXV0aCBjb3VwbGluZy4gVGhlIGNhbGxlciAoU0RLIGZhY2FkZSBvciBhcHAgbGF5ZXIpXHJcbiAqIHN1cHBsaWVzIGFsbCBhdXRoIGlkZW50aWZpZXJzIHZpYSBgY29ubmVjdChwYXJhbXMpYC5cclxuICpcclxuICogTWlycm9ycyB0aGUgU2lnbmFsUiBpbmZyYXN0cnVjdHVyZSBwYXR0ZXJuOlxyXG4gKiAgLSBjb25uZWN0KCkgaXMgaWRlbXBvdGVudCwgZGVkdXBlcyBjb25jdXJyZW50IGNhbGxzLCB0ZWFycyBkb3duIHN0YWxlIHNvY2tldHNcclxuICogIC0gZGlzY29ubmVjdCgpIGZsaXBzIGFuIGV4cGxpY2l0LWRpc2Nvbm5lY3RlZCBmbGFnIHNvIHJldHJpZXMgZG9uJ3QgcmV2aXZlXHJcbiAqICAtIHN0YXRlIGV4cG9zZWQgYXMgQW5ndWxhciBzaWduYWxcclxuICogIC0gaW5ib3VuZCBtZXNzYWdlcyBmb3J3YXJkZWQgb24gYG1lc3NhZ2VzJGAgZm9yIGhpZ2hlci1sZXZlbCBzZXJ2aWNlIHRvIHJvdXRlXHJcbiAqXHJcbiAqIEludGVybmFsIHVzZSDigJQgY29uc3VtZXJzIHNob3VsZCB1c2UgYE5vdGlmaWNhdGlvbkluYm94U2VydmljZWAgaW5zdGVhZC5cclxuICovXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25XZWJTb2NrZXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHNvY2tldDogV2ViU29ja2V0U3ViamVjdDxhbnk+IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzb2NrZXRTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvLyBJbi1mbGlnaHQgY29ubmVjdCBwcm9taXNlIOKAlCB1c2VkIHRvIGRlZHVwZSBjb25jdXJyZW50IGNvbm5lY3QoKSBjYWxsc1xyXG4gIHByaXZhdGUgY29ubmVjdGluZ1Byb21pc2U6IFByb21pc2U8dm9pZD4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gU2V0IHRydWUgb24gZXhwbGljaXQgZGlzY29ubmVjdCgpIHNvIHNjaGVkdWxlZCByZXRyaWVzIGRvbid0IHJlc3VycmVjdCB0aGUgY29ubmVjdGlvblxyXG4gIHByaXZhdGUgZXhwbGljaXRseURpc2Nvbm5lY3RlZCA9IGZhbHNlO1xyXG5cclxuICAvLyBMYXN0IGNvbm5lY3QgcGFyYW1zIOKAlCBrZXB0IHNvIHJlY29ubmVjdCBjYW4gcmVidWlsZCB0aGUgVVJMIHdpdGhvdXQgdGhlIGNhbGxlclxyXG4gIC8vIHJlLXN1cHBseWluZyB0aGVtLiBDbGVhcmVkIG9uIGRpc2Nvbm5lY3QoKS5cclxuICBwcml2YXRlIGxhc3RQYXJhbXM6IE5vdGlmaWNhdGlvbldlYlNvY2tldENvbm5lY3RQYXJhbXMgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gUmVjb25uZWN0IGF0dGVtcHQgY291bnRlciAocmVzZXRzIG9uIHN1Y2Nlc3NmdWwgY29ubmVjdClcclxuICBwcml2YXRlIHJlY29ubmVjdEF0dGVtcHQgPSAwO1xyXG4gIHByaXZhdGUgcmVjb25uZWN0VGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vIENvbm5lY3Rpb24gc3RhdGUgYXMgQW5ndWxhciBzaWduYWwg4oCUIGZvciBVSSBpbmRpY2F0b3JzIC8gcm91dGUgcmVzb2x2ZXJzXHJcbiAgcmVhZG9ubHkgY29ubmVjdGlvblN0YXRlID0gc2lnbmFsPFdzQ29ubmVjdGlvblN0YXRlPihXU19DT05ORUNUSU9OX1NUQVRFLkRJU0NPTk5FQ1RFRCk7XHJcblxyXG4gIC8vIEluYm91bmQgbWVzc2FnZSBzdHJlYW0g4oCUIE5vdGlmaWNhdGlvbkluYm94U2VydmljZSBzdWJzY3JpYmVzIGFuZCByb3V0ZXMgcGVyIHR5cGVcclxuICByZWFkb25seSBtZXNzYWdlcyQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gIC8vIC0tLS0tLS0tLS0tIHB1YmxpYyBBUEkgLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqXHJcbiAgICogRXN0YWJsaXNoIHRoZSBXZWJTb2NrZXQgY29ubmVjdGlvbi5cclxuICAgKlxyXG4gICAqIElkZW1wb3RlbnQg4oCUIGlmIGFscmVhZHkgT1BFTiwgcmVzb2x2ZXMgaW1tZWRpYXRlbHkuXHJcbiAgICogSW4tZmxpZ2h0IGNhbGxzIGFyZSBkZS1kdXBsaWNhdGVkLlxyXG4gICAqIEFueSBzdGFsZSAobm9uLU9QRU4pIHNvY2tldCBpcyB0b3JuIGRvd24gYmVmb3JlIHJlYnVpbGQuXHJcbiAgICovXHJcbiAgYXN5bmMgY29ubmVjdChwYXJhbXM6IE5vdGlmaWNhdGlvbldlYlNvY2tldENvbm5lY3RQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZXhwbGljaXRseURpc2Nvbm5lY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5sYXN0UGFyYW1zID0gcGFyYW1zO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25TdGF0ZSgpID09PSBXU19DT05ORUNUSU9OX1NUQVRFLkNPTk5FQ1RFRCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29ubmVjdGluZ1Byb21pc2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGluZ1Byb21pc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc29ja2V0KSB7XHJcbiAgICAgIHRyeSB7IHRoaXMuc29ja2V0LmNvbXBsZXRlKCk7IH0gY2F0Y2ggeyAvKiBpZ25vcmUgKi8gfVxyXG4gICAgICB0aGlzLnNvY2tldCA9IG51bGw7XHJcbiAgICAgIHRoaXMuc29ja2V0U3ViPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLnNvY2tldFN1YiA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb25uZWN0aW5nUHJvbWlzZSA9IHRoaXMuZG9Db25uZWN0KHBhcmFtcyk7XHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLmNvbm5lY3RpbmdQcm9taXNlO1xyXG4gICAgfSBmaW5hbGx5IHtcclxuICAgICAgdGhpcy5jb25uZWN0aW5nUHJvbWlzZSA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGRvQ29ubmVjdChwYXJhbXM6IE5vdGlmaWNhdGlvbldlYlNvY2tldENvbm5lY3RQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGJhc2VVcmwgPSBDb21tb24ubm90aWZpY2F0aW9uV2ViU29ja2V0VXJsO1xyXG4gICAgaWYgKCFiYXNlVXJsKSB7XHJcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXRlLnNldChXU19DT05ORUNUSU9OX1NUQVRFLkRJU0NPTk5FQ1RFRCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXBhcmFtcy51c2VySWQpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdbTm90aWZpY2F0aW9uV1NdIE5vIHVzZXJJZCBwcm92aWRlZCDigJQgc2tpcHBpbmcgY29ubmVjdCcpO1xyXG4gICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZS5zZXQoV1NfQ09OTkVDVElPTl9TVEFURS5GQUlMRUQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQkUgZG9jOiB3czovL2hvc3Qvd3M/dXNlcklkPS4uLiZhcHBJZD0uLi4mdGVuYW50SWQ9Li4uXHJcbiAgICBjb25zdCB1cmwgPSBgJHtiYXNlVXJsfT91c2VySWQ9JHtlbmNvZGVVUklDb21wb25lbnQocGFyYW1zLnVzZXJJZCl9YCArXHJcbiAgICAgIChwYXJhbXMuYXBwSWQgPyBgJmFwcElkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtcy5hcHBJZCl9YCA6ICcnKSArXHJcbiAgICAgIChwYXJhbXMudGVuYW50SWQgPyBgJnRlbmFudElkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtcy50ZW5hbnRJZCl9YCA6ICcnKTtcclxuXHJcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZS5zZXQoV1NfQ09OTkVDVElPTl9TVEFURS5DT05ORUNUSU5HKTtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcclxuICAgICAgdGhpcy5zb2NrZXQgPSB3ZWJTb2NrZXQ8YW55Pih7XHJcbiAgICAgICAgdXJsLFxyXG4gICAgICAgIG9wZW5PYnNlcnZlcjoge1xyXG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZS5zZXQoV1NfQ09OTkVDVElPTl9TVEFURS5DT05ORUNURUQpO1xyXG4gICAgICAgICAgICB0aGlzLnJlY29ubmVjdEF0dGVtcHQgPSAwO1xyXG4gICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2xvc2VPYnNlcnZlcjoge1xyXG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdGUoKSAhPT0gV1NfQ09OTkVDVElPTl9TVEFURS5DTE9TRUQpIHtcclxuICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZS5zZXQoV1NfQ09OTkVDVElPTl9TVEFURS5ESVNDT05ORUNURUQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVSZWNvbm5lY3QoKTtcclxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc29ja2V0U3ViID0gdGhpcy5zb2NrZXQuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAobXNnKSA9PiB0aGlzLmhhbmRsZUluY29taW5nKG1zZyksXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tOb3RpZmljYXRpb25XU10gU29ja2V0IGVycm9yOicsIGVycik7XHJcbiAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZS5zZXQoV1NfQ09OTkVDVElPTl9TVEFURS5GQUlMRUQpO1xyXG4gICAgICAgICAgdGhpcy5zY2hlZHVsZVJlY29ubmVjdCgpO1xyXG4gICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kIGEgbWVzc2FnZSBvdmVyIHRoZSBzb2NrZXQuIFNpbGVudGx5IG5vLW9wcyBpZiBub3QgY29ubmVjdGVkLlxyXG4gICAqL1xyXG4gIHNlbmQobWVzc2FnZTogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNvY2tldCB8fCB0aGlzLmNvbm5lY3Rpb25TdGF0ZSgpICE9PSBXU19DT05ORUNUSU9OX1NUQVRFLkNPTk5FQ1RFRCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnNvY2tldC5uZXh0KG1lc3NhZ2UpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignW05vdGlmaWNhdGlvbldTXSBGYWlsZWQgdG8gc2VuZCBtZXNzYWdlOicsIGVycm9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRlYXIgZG93biB0aGUgc29ja2V0LlxyXG4gICAqXHJcbiAgICogU2V0cyBleHBsaWNpdGx5RGlzY29ubmVjdGVkIHNvIGFueSBwZW5kaW5nIHJldHJ5IHRpbWVycyBiZWNvbWUgbm8tb3BzLFxyXG4gICAqIHRoZW4gY2xvc2VzIHRoZSBzb2NrZXQgYW5kIGNsZWFycyBzdGF0ZS5cclxuICAgKi9cclxuICBhc3luYyBkaXNjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5leHBsaWNpdGx5RGlzY29ubmVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuY29ubmVjdGluZ1Byb21pc2UgPSBudWxsO1xyXG4gICAgdGhpcy5sYXN0UGFyYW1zID0gbnVsbDtcclxuXHJcbiAgICBpZiAodGhpcy5yZWNvbm5lY3RUaW1lcikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWNvbm5lY3RUaW1lcik7XHJcbiAgICAgIHRoaXMucmVjb25uZWN0VGltZXIgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNvY2tldCkge1xyXG4gICAgICB0cnkgeyB0aGlzLnNvY2tldC5jb21wbGV0ZSgpOyB9IGNhdGNoIHsgLyogaWdub3JlICovIH1cclxuICAgICAgdGhpcy5zb2NrZXQgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc29ja2V0U3ViPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zb2NrZXRTdWIgPSBudWxsO1xyXG5cclxuICAgIHRoaXMucmVjb25uZWN0QXR0ZW1wdCA9IDA7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZS5zZXQoV1NfQ09OTkVDVElPTl9TVEFURS5DTE9TRUQpO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0gaW50ZXJuYWwgLS0tLS0tLS0tLS1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVJbmNvbWluZyhtZXNzYWdlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghbWVzc2FnZSB8fCB0eXBlb2YgbWVzc2FnZSAhPT0gJ29iamVjdCcpIHJldHVybjtcclxuXHJcbiAgICAvLyBIZWFydGJlYXQ6IHNlcnZlciBwaW5ncyBldmVyeSB+MzBzOyB3ZSBNVVNUIHJlcGx5IG9yIEJFIHdpbGwgY2xvc2UgdGhlIHNvY2tldC5cclxuICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IFdTX01FU1NBR0VfVFlQRS5IRUFSVEJFQVQpIHtcclxuICAgICAgdGhpcy5zZW5kKHsgdHlwZTogV1NfTUVTU0FHRV9UWVBFLkhFQVJUQkVBVCB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IFdTX01FU1NBR0VfVFlQRS5DT05ORUNUSU9OX0VTVEFCTElTSEVEKSB7XHJcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXRlLnNldChXU19DT05ORUNUSU9OX1NUQVRFLkNPTk5FQ1RFRCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gV1NfTUVTU0FHRV9UWVBFLkVSUk9SKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignW05vdGlmaWNhdGlvbldTXSBTZXJ2ZXIgZXJyb3I6JywgbWVzc2FnZS5lcnJvcik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dChtZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2NoZWR1bGVSZWNvbm5lY3QoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5leHBsaWNpdGx5RGlzY29ubmVjdGVkKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5yZWNvbm5lY3RUaW1lcikgcmV0dXJuO1xyXG4gICAgaWYgKCF0aGlzLmxhc3RQYXJhbXMpIHJldHVybjsgLy8gY2FuJ3QgcmVjb25uZWN0IHdpdGhvdXQgcGFyYW1zXHJcblxyXG4gICAgY29uc3QgZGVsYXlzID0gTk9USUZJQ0FUSU9OX1dTX0NPTkZJRy5SRUNPTk5FQ1RfREVMQVlTX01TO1xyXG4gICAgY29uc3QgZGVsYXkgPSBkZWxheXNbTWF0aC5taW4odGhpcy5yZWNvbm5lY3RBdHRlbXB0LCBkZWxheXMubGVuZ3RoIC0gMSldO1xyXG4gICAgdGhpcy5yZWNvbm5lY3RBdHRlbXB0Kys7XHJcblxyXG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdGUuc2V0KFdTX0NPTk5FQ1RJT05fU1RBVEUuUkVDT05ORUNUSU5HKTtcclxuXHJcbiAgICB0aGlzLnJlY29ubmVjdFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVjb25uZWN0VGltZXIgPSBudWxsO1xyXG4gICAgICBpZiAoIXRoaXMuZXhwbGljaXRseURpc2Nvbm5lY3RlZCAmJiB0aGlzLmxhc3RQYXJhbXMpIHtcclxuICAgICAgICB0aGlzLmNvbm5lY3QodGhpcy5sYXN0UGFyYW1zKTtcclxuICAgICAgfVxyXG4gICAgfSwgZGVsYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU25hcHNob3Qgb2YgY3VycmVudCBjb25uZWN0aW9uIHN0YXRlIOKAlCBmb3IgZGVidWdnaW5nLlxyXG4gICAqL1xyXG4gIGlzQ29ubmVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvblN0YXRlKCkgPT09IFdTX0NPTk5FQ1RJT05fU1RBVEUuQ09OTkVDVEVEO1xyXG4gIH1cclxufVxyXG4iXX0=
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXdlYnNvY2tldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9zZXJ2aWNlL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24td2Vic29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHNCQUFzQixFQUV0QixtQkFBbUIsRUFDbkIsZUFBZSxHQUVoQixNQUFNLGdEQUFnRCxDQUFDOztBQUV4RDs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQUR6QztRQUVVLFdBQU0sR0FBaUMsSUFBSSxDQUFDO1FBQzVDLGNBQVMsR0FBd0IsSUFBSSxDQUFDO1FBRTlDLHdFQUF3RTtRQUNoRSxzQkFBaUIsR0FBeUIsSUFBSSxDQUFDO1FBRXZELHdGQUF3RjtRQUNoRiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFFdkMsaUZBQWlGO1FBQ2pGLDhDQUE4QztRQUN0QyxlQUFVLEdBQThDLElBQUksQ0FBQztRQUVyRSwyREFBMkQ7UUFDbkQscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLG1CQUFjLEdBQXlDLElBQUksQ0FBQztRQUVwRSwyRUFBMkU7UUFDbEUsb0JBQWUsR0FBRyxNQUFNLENBQW9CLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZGLG1GQUFtRjtRQUMxRSxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztLQW9NekM7SUFsTUMscUNBQXFDO0lBRXJDOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBMEM7UUFDdEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3RCxPQUFPO1FBQ1QsQ0FBQztRQUVELHNGQUFzRjtRQUN0RixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDO2dCQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFBQyxDQUFDO1lBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsd0VBQXdFO1FBQ3hFLDBFQUEwRTtRQUMxRSx1RUFBdUU7UUFDdkUsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCx3RUFBd0U7UUFDeEUscUVBQXFFO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sZUFBZSxDQUFDLENBQWdCO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQztZQUNsQixDQUFDO1lBQ0QsSUFBSSxPQUFPLENBQU8sT0FBTyxDQUFDLEVBQUUsQ0FDMUIsVUFBVSxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUMvRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTBDO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzRCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JELE9BQU87UUFDVCxDQUFDO1FBRUQseURBQXlEO1FBQ3pELE1BQU0sR0FBRyxHQUFHLEdBQUcsT0FBTyxXQUFXLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpELE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBTTtnQkFDM0IsR0FBRztnQkFDSCxZQUFZLEVBQUU7b0JBQ1osSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDeEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQzt3QkFDMUIsT0FBTyxFQUFFLENBQUM7b0JBQ1osQ0FBQztpQkFDRjtnQkFDRCxhQUFhLEVBQUU7b0JBQ2IsSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDVCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQzs0QkFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQzdELENBQUM7d0JBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7d0JBQ3pCLE9BQU8sRUFBRSxDQUFDO29CQUNaLENBQUM7aUJBQ0Y7YUFDRixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO2dCQUNyQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO2dCQUN2QyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDYixPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDckQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDO2dCQUNaLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksQ0FBQyxPQUE0QjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDN0UsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMENBQTBDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQztnQkFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQUMsQ0FBQztZQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELG1DQUFtQztJQUUzQixjQUFjLENBQUMsT0FBWTtRQUNqQyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVE7WUFBRSxPQUFPO1FBRXBELGlGQUFpRjtRQUNqRixJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDL0MsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsc0JBQXNCO1lBQUUsT0FBTztRQUN4QyxJQUFJLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLENBQUMsaUNBQWlDO1FBRS9ELE1BQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDO1FBQzFELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztJQUNsRSxDQUFDOytHQXpOVSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB3ZWJTb2NrZXQsIFdlYlNvY2tldFN1YmplY3QgfSBmcm9tICdyeGpzL3dlYlNvY2tldCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4uLy4uLy4uL2FwcC9jb25zdGFudHMvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBOT1RJRklDQVRJT05fV1NfQ09ORklHLFxyXG4gIE5vdGlmaWNhdGlvbldlYlNvY2tldENvbm5lY3RQYXJhbXMsXHJcbiAgV1NfQ09OTkVDVElPTl9TVEFURSxcclxuICBXU19NRVNTQUdFX1RZUEUsXHJcbiAgV3NDb25uZWN0aW9uU3RhdGUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vYXBwL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uLmludGVyZmFjZSc7XHJcblxyXG4vKipcclxuICogTG93LWxldmVsIE5vdGlmaWNhdGlvbiBXZWJTb2NrZXQgdHJhbnNwb3J0LlxyXG4gKlxyXG4gKiBQdXJlIOKAlCBubyBzdG9yYWdlIC8gYXV0aCBjb3VwbGluZy4gVGhlIGNhbGxlciAoU0RLIGZhY2FkZSBvciBhcHAgbGF5ZXIpXHJcbiAqIHN1cHBsaWVzIGFsbCBhdXRoIGlkZW50aWZpZXJzIHZpYSBgY29ubmVjdChwYXJhbXMpYC5cclxuICpcclxuICogTWlycm9ycyB0aGUgU2lnbmFsUiBpbmZyYXN0cnVjdHVyZSBwYXR0ZXJuOlxyXG4gKiAgLSBjb25uZWN0KCkgaXMgaWRlbXBvdGVudCwgZGVkdXBlcyBjb25jdXJyZW50IGNhbGxzLCB0ZWFycyBkb3duIHN0YWxlIHNvY2tldHNcclxuICogIC0gZGlzY29ubmVjdCgpIGZsaXBzIGFuIGV4cGxpY2l0LWRpc2Nvbm5lY3RlZCBmbGFnIHNvIHJldHJpZXMgZG9uJ3QgcmV2aXZlXHJcbiAqICAtIHN0YXRlIGV4cG9zZWQgYXMgQW5ndWxhciBzaWduYWxcclxuICogIC0gaW5ib3VuZCBtZXNzYWdlcyBmb3J3YXJkZWQgb24gYG1lc3NhZ2VzJGAgZm9yIGhpZ2hlci1sZXZlbCBzZXJ2aWNlIHRvIHJvdXRlXHJcbiAqXHJcbiAqIEludGVybmFsIHVzZSDigJQgY29uc3VtZXJzIHNob3VsZCB1c2UgYE5vdGlmaWNhdGlvbkluYm94U2VydmljZWAgaW5zdGVhZC5cclxuICovXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25XZWJTb2NrZXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHNvY2tldDogV2ViU29ja2V0U3ViamVjdDxhbnk+IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzb2NrZXRTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvLyBJbi1mbGlnaHQgY29ubmVjdCBwcm9taXNlIOKAlCB1c2VkIHRvIGRlZHVwZSBjb25jdXJyZW50IGNvbm5lY3QoKSBjYWxsc1xyXG4gIHByaXZhdGUgY29ubmVjdGluZ1Byb21pc2U6IFByb21pc2U8dm9pZD4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gU2V0IHRydWUgb24gZXhwbGljaXQgZGlzY29ubmVjdCgpIHNvIHNjaGVkdWxlZCByZXRyaWVzIGRvbid0IHJlc3VycmVjdCB0aGUgY29ubmVjdGlvblxyXG4gIHByaXZhdGUgZXhwbGljaXRseURpc2Nvbm5lY3RlZCA9IGZhbHNlO1xyXG5cclxuICAvLyBMYXN0IGNvbm5lY3QgcGFyYW1zIOKAlCBrZXB0IHNvIHJlY29ubmVjdCBjYW4gcmVidWlsZCB0aGUgVVJMIHdpdGhvdXQgdGhlIGNhbGxlclxyXG4gIC8vIHJlLXN1cHBseWluZyB0aGVtLiBDbGVhcmVkIG9uIGRpc2Nvbm5lY3QoKS5cclxuICBwcml2YXRlIGxhc3RQYXJhbXM6IE5vdGlmaWNhdGlvbldlYlNvY2tldENvbm5lY3RQYXJhbXMgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gUmVjb25uZWN0IGF0dGVtcHQgY291bnRlciAocmVzZXRzIG9uIHN1Y2Nlc3NmdWwgY29ubmVjdClcclxuICBwcml2YXRlIHJlY29ubmVjdEF0dGVtcHQgPSAwO1xyXG4gIHByaXZhdGUgcmVjb25uZWN0VGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vIENvbm5lY3Rpb24gc3RhdGUgYXMgQW5ndWxhciBzaWduYWwg4oCUIGZvciBVSSBpbmRpY2F0b3JzIC8gcm91dGUgcmVzb2x2ZXJzXHJcbiAgcmVhZG9ubHkgY29ubmVjdGlvblN0YXRlID0gc2lnbmFsPFdzQ29ubmVjdGlvblN0YXRlPihXU19DT05ORUNUSU9OX1NUQVRFLkRJU0NPTk5FQ1RFRCk7XHJcblxyXG4gIC8vIEluYm91bmQgbWVzc2FnZSBzdHJlYW0g4oCUIE5vdGlmaWNhdGlvbkluYm94U2VydmljZSBzdWJzY3JpYmVzIGFuZCByb3V0ZXMgcGVyIHR5cGVcclxuICByZWFkb25seSBtZXNzYWdlcyQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gIC8vIC0tLS0tLS0tLS0tIHB1YmxpYyBBUEkgLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqXHJcbiAgICogRXN0YWJsaXNoIHRoZSBXZWJTb2NrZXQgY29ubmVjdGlvbi5cclxuICAgKlxyXG4gICAqIElkZW1wb3RlbnQg4oCUIGlmIGFscmVhZHkgT1BFTiwgcmVzb2x2ZXMgaW1tZWRpYXRlbHkuXHJcbiAgICogSW4tZmxpZ2h0IGNhbGxzIGFyZSBkZS1kdXBsaWNhdGVkLlxyXG4gICAqIEFueSBzdGFsZSAobm9uLU9QRU4pIHNvY2tldCBpcyB0b3JuIGRvd24gYmVmb3JlIHJlYnVpbGQuXHJcbiAgICovXHJcbiAgYXN5bmMgY29ubmVjdChwYXJhbXM6IE5vdGlmaWNhdGlvbldlYlNvY2tldENvbm5lY3RQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZXhwbGljaXRseURpc2Nvbm5lY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5sYXN0UGFyYW1zID0gcGFyYW1zO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25TdGF0ZSgpID09PSBXU19DT05ORUNUSU9OX1NUQVRFLkNPTk5FQ1RFRCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgYSBjb25uZWN0IGlzIGFscmVhZHkgaW4gZmxpZ2h0LCB3YWl0IGZvciBpdCAoY2FwcGVkKSDigJQgZG9uJ3Qgc3RhcnQgYSBzZWNvbmQgb25lLlxyXG4gICAgaWYgKHRoaXMuY29ubmVjdGluZ1Byb21pc2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFjZVdpdGhUaW1lb3V0KHRoaXMuY29ubmVjdGluZ1Byb21pc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNvY2tldCkge1xyXG4gICAgICB0cnkgeyB0aGlzLnNvY2tldC5jb21wbGV0ZSgpOyB9IGNhdGNoIHsgLyogaWdub3JlICovIH1cclxuICAgICAgdGhpcy5zb2NrZXQgPSBudWxsO1xyXG4gICAgICB0aGlzLnNvY2tldFN1Yj8udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5zb2NrZXRTdWIgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29ubmVjdGluZ1Byb21pc2UgPSB0aGlzLmRvQ29ubmVjdChwYXJhbXMpO1xyXG4gICAgLy8gTnVsbCBjb25uZWN0aW5nUHJvbWlzZSBvbmNlIHRoZSB1bmRlcmx5aW5nIGhhbmRzaGFrZSBhY3R1YWxseSBzZXR0bGVzXHJcbiAgICAvLyAob3BlbiAvIGNsb3NlIC8gZXJyb3IpLiBXZSBkbyBOT1QgbnVsbCBpdCBvbiB0aGUgdGltZW91dCDigJQgdGhlIFdTIGtlZXBzXHJcbiAgICAvLyB0cnlpbmcgaW4gdGhlIGJhY2tncm91bmQsIGFuZCBhIGNvbmN1cnJlbnQgY29ubmVjdCgpIHNob3VsZCBqb2luIHRoZVxyXG4gICAgLy8gc2FtZSBpbi1mbGlnaHQgYXR0ZW1wdCBpbnN0ZWFkIG9mIHN0YXJ0aW5nIGEgbmV3IG9uZS5cclxuICAgIHRoaXMuY29ubmVjdGluZ1Byb21pc2UuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY29ubmVjdGluZ1Byb21pc2UgPSBudWxsO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gQmxvY2sgdGhlIGNhbGxlciBmb3IgYXQgbW9zdCBDT05ORUNUX1RJTUVPVVRfTVMgc28gdGhlIHJvdXRlIHJlc29sdmVyXHJcbiAgICAvLyBkb2Vzbid0IGhhbmcgZm9yIH4yMXMgb24gYSBUQ1AgdGltZW91dCB3aGVuIHRoZSBCRSBpcyB1bnJlYWNoYWJsZS5cclxuICAgIHJldHVybiB0aGlzLnJhY2VXaXRoVGltZW91dCh0aGlzLmNvbm5lY3RpbmdQcm9taXNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmFjZVdpdGhUaW1lb3V0KHA6IFByb21pc2U8dm9pZD4pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJhY2UoW1xyXG4gICAgICBwLFxyXG4gICAgICBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+XHJcbiAgICAgICAgc2V0VGltZW91dChyZXNvbHZlLCBOT1RJRklDQVRJT05fV1NfQ09ORklHLkNPTk5FQ1RfVElNRU9VVF9NUylcclxuICAgICAgKSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBkb0Nvbm5lY3QocGFyYW1zOiBOb3RpZmljYXRpb25XZWJTb2NrZXRDb25uZWN0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBiYXNlVXJsID0gQ29tbW9uLm5vdGlmaWNhdGlvbldlYlNvY2tldFVybDtcclxuICAgIGlmICghYmFzZVVybCkge1xyXG4gICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZS5zZXQoV1NfQ09OTkVDVElPTl9TVEFURS5ESVNDT05ORUNURUQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFwYXJhbXMudXNlcklkKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignW05vdGlmaWNhdGlvbldTXSBObyB1c2VySWQgcHJvdmlkZWQg4oCUIHNraXBwaW5nIGNvbm5lY3QnKTtcclxuICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGUuc2V0KFdTX0NPTk5FQ1RJT05fU1RBVEUuRkFJTEVEKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJFIGRvYzogd3M6Ly9ob3N0L3dzP3VzZXJJZD0uLi4mYXBwSWQ9Li4uJnRlbmFudElkPS4uLlxyXG4gICAgY29uc3QgdXJsID0gYCR7YmFzZVVybH0/dXNlcklkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtcy51c2VySWQpfWAgK1xyXG4gICAgICAocGFyYW1zLmFwcElkID8gYCZhcHBJZD0ke2VuY29kZVVSSUNvbXBvbmVudChwYXJhbXMuYXBwSWQpfWAgOiAnJykgK1xyXG4gICAgICAocGFyYW1zLnRlbmFudElkID8gYCZ0ZW5hbnRJZD0ke2VuY29kZVVSSUNvbXBvbmVudChwYXJhbXMudGVuYW50SWQpfWAgOiAnJyk7XHJcblxyXG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdGUuc2V0KFdTX0NPTk5FQ1RJT05fU1RBVEUuQ09OTkVDVElORyk7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHRoaXMuc29ja2V0ID0gd2ViU29ja2V0PGFueT4oe1xyXG4gICAgICAgIHVybCxcclxuICAgICAgICBvcGVuT2JzZXJ2ZXI6IHtcclxuICAgICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGUuc2V0KFdTX0NPTk5FQ1RJT05fU1RBVEUuQ09OTkVDVEVEKTtcclxuICAgICAgICAgICAgdGhpcy5yZWNvbm5lY3RBdHRlbXB0ID0gMDtcclxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNsb3NlT2JzZXJ2ZXI6IHtcclxuICAgICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29ubmVjdGlvblN0YXRlKCkgIT09IFdTX0NPTk5FQ1RJT05fU1RBVEUuQ0xPU0VEKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGUuc2V0KFdTX0NPTk5FQ1RJT05fU1RBVEUuRElTQ09OTkVDVEVEKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlUmVjb25uZWN0KCk7XHJcbiAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnNvY2tldFN1YiA9IHRoaXMuc29ja2V0LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKG1zZykgPT4gdGhpcy5oYW5kbGVJbmNvbWluZyhtc2cpLFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdbTm90aWZpY2F0aW9uV1NdIFNvY2tldCBlcnJvcjonLCBlcnIpO1xyXG4gICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGUuc2V0KFdTX0NPTk5FQ1RJT05fU1RBVEUuRkFJTEVEKTtcclxuICAgICAgICAgIHRoaXMuc2NoZWR1bGVSZWNvbm5lY3QoKTtcclxuICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZCBhIG1lc3NhZ2Ugb3ZlciB0aGUgc29ja2V0LiBTaWxlbnRseSBuby1vcHMgaWYgbm90IGNvbm5lY3RlZC5cclxuICAgKi9cclxuICBzZW5kKG1lc3NhZ2U6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zb2NrZXQgfHwgdGhpcy5jb25uZWN0aW9uU3RhdGUoKSAhPT0gV1NfQ09OTkVDVElPTl9TVEFURS5DT05ORUNURUQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5zb2NrZXQubmV4dChtZXNzYWdlKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tOb3RpZmljYXRpb25XU10gRmFpbGVkIHRvIHNlbmQgbWVzc2FnZTonLCBlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUZWFyIGRvd24gdGhlIHNvY2tldC5cclxuICAgKlxyXG4gICAqIFNldHMgZXhwbGljaXRseURpc2Nvbm5lY3RlZCBzbyBhbnkgcGVuZGluZyByZXRyeSB0aW1lcnMgYmVjb21lIG5vLW9wcyxcclxuICAgKiB0aGVuIGNsb3NlcyB0aGUgc29ja2V0IGFuZCBjbGVhcnMgc3RhdGUuXHJcbiAgICovXHJcbiAgYXN5bmMgZGlzY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZXhwbGljaXRseURpc2Nvbm5lY3RlZCA9IHRydWU7XHJcbiAgICB0aGlzLmNvbm5lY3RpbmdQcm9taXNlID0gbnVsbDtcclxuICAgIHRoaXMubGFzdFBhcmFtcyA9IG51bGw7XHJcblxyXG4gICAgaWYgKHRoaXMucmVjb25uZWN0VGltZXIpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVjb25uZWN0VGltZXIpO1xyXG4gICAgICB0aGlzLnJlY29ubmVjdFRpbWVyID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zb2NrZXQpIHtcclxuICAgICAgdHJ5IHsgdGhpcy5zb2NrZXQuY29tcGxldGUoKTsgfSBjYXRjaCB7IC8qIGlnbm9yZSAqLyB9XHJcbiAgICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNvY2tldFN1Yj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc29ja2V0U3ViID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLnJlY29ubmVjdEF0dGVtcHQgPSAwO1xyXG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdGUuc2V0KFdTX0NPTk5FQ1RJT05fU1RBVEUuQ0xPU0VEKTtcclxuICB9XHJcblxyXG4gIC8vIC0tLS0tLS0tLS0tIGludGVybmFsIC0tLS0tLS0tLS0tXHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSW5jb21pbmcobWVzc2FnZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIW1lc3NhZ2UgfHwgdHlwZW9mIG1lc3NhZ2UgIT09ICdvYmplY3QnKSByZXR1cm47XHJcblxyXG4gICAgLy8gSGVhcnRiZWF0OiBzZXJ2ZXIgcGluZ3MgZXZlcnkgfjMwczsgd2UgTVVTVCByZXBseSBvciBCRSB3aWxsIGNsb3NlIHRoZSBzb2NrZXQuXHJcbiAgICBpZiAobWVzc2FnZS50eXBlID09PSBXU19NRVNTQUdFX1RZUEUuSEVBUlRCRUFUKSB7XHJcbiAgICAgIHRoaXMuc2VuZCh7IHR5cGU6IFdTX01FU1NBR0VfVFlQRS5IRUFSVEJFQVQgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWVzc2FnZS50eXBlID09PSBXU19NRVNTQUdFX1RZUEUuQ09OTkVDVElPTl9FU1RBQkxJU0hFRCkge1xyXG4gICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZS5zZXQoV1NfQ09OTkVDVElPTl9TVEFURS5DT05ORUNURUQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IFdTX01FU1NBR0VfVFlQRS5FUlJPUikge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1tOb3RpZmljYXRpb25XU10gU2VydmVyIGVycm9yOicsIG1lc3NhZ2UuZXJyb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubWVzc2FnZXMkLm5leHQobWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNjaGVkdWxlUmVjb25uZWN0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZXhwbGljaXRseURpc2Nvbm5lY3RlZCkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMucmVjb25uZWN0VGltZXIpIHJldHVybjtcclxuICAgIGlmICghdGhpcy5sYXN0UGFyYW1zKSByZXR1cm47IC8vIGNhbid0IHJlY29ubmVjdCB3aXRob3V0IHBhcmFtc1xyXG5cclxuICAgIGNvbnN0IGRlbGF5cyA9IE5PVElGSUNBVElPTl9XU19DT05GSUcuUkVDT05ORUNUX0RFTEFZU19NUztcclxuICAgIGNvbnN0IGRlbGF5ID0gZGVsYXlzW01hdGgubWluKHRoaXMucmVjb25uZWN0QXR0ZW1wdCwgZGVsYXlzLmxlbmd0aCAtIDEpXTtcclxuICAgIHRoaXMucmVjb25uZWN0QXR0ZW1wdCsrO1xyXG5cclxuICAgIHRoaXMuY29ubmVjdGlvblN0YXRlLnNldChXU19DT05ORUNUSU9OX1NUQVRFLlJFQ09OTkVDVElORyk7XHJcblxyXG4gICAgdGhpcy5yZWNvbm5lY3RUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlY29ubmVjdFRpbWVyID0gbnVsbDtcclxuICAgICAgaWYgKCF0aGlzLmV4cGxpY2l0bHlEaXNjb25uZWN0ZWQgJiYgdGhpcy5sYXN0UGFyYW1zKSB7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0KHRoaXMubGFzdFBhcmFtcyk7XHJcbiAgICAgIH1cclxuICAgIH0sIGRlbGF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNuYXBzaG90IG9mIGN1cnJlbnQgY29ubmVjdGlvbiBzdGF0ZSDigJQgZm9yIGRlYnVnZ2luZy5cclxuICAgKi9cclxuICBpc0Nvbm5lY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25TdGF0ZSgpID09PSBXU19DT05ORUNUSU9OX1NUQVRFLkNPTk5FQ1RFRDtcclxuICB9XHJcbn1cclxuIl19
package/index.d.ts CHANGED
@@ -18,8 +18,6 @@ export * from './lib/tab-core-utility/app/enums/permission.enum';
18
18
  export * from './lib/tab-core-utility/app/enums/query.enum';
19
19
  export * from './lib/tab-core-utility/app/helpers/common/app.helpers';
20
20
  export * from './lib/tab-core-utility/app/helpers/common/user-personalization.helper';
21
- export * from './lib/tab-core-utility/app/helpers/common/dsq.helpers';
22
- export * from './lib/tab-core-utility/app/helpers/common/req-res.helpers';
23
21
  export * from './lib/tab-core-utility/app/helpers/common/where-clause.helpers';
24
22
  export * from './lib/tab-core-utility/app/helpers/common/template.helpers';
25
23
  export * from './lib/tab-core-utility/app/helpers/common/meta-data.helpers';
@@ -1,6 +1,5 @@
1
1
  import type { APIServiceName } from '../interfaces/common.interface';
2
2
  export declare const API: {
3
- bulkInsert: string;
4
3
  select: string;
5
4
  screen: string;
6
5
  listsGet: string;
@@ -56,12 +55,13 @@ export declare const API: {
56
55
  databaseExecute: string;
57
56
  GetAllDocumnets: string;
58
57
  GetDocumentById: string;
59
- ExecuteWorkflow: string;
58
+ workflowsExecute: string;
60
59
  QueriesExecute: string;
61
60
  QueriesSelect: string;
62
61
  recordsInsert: string;
63
62
  recordsUpdate: string;
64
63
  recordsDelete: string;
64
+ recordsBulkInsert: string;
65
65
  fileManagerFileOperations: string;
66
66
  fileManagerGetImage: string;
67
67
  fileManagerUpload: string;
@@ -3,8 +3,6 @@ import { Observable } from "rxjs";
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TabCrudService {
5
5
  private readonly _metadataHelper;
6
- private readonly _requestResponseHelper;
7
- private readonly _dsqHelper;
8
6
  private readonly _apiService;
9
7
  private readonly _tabGetService;
10
8
  private readonly _tabInsertService;
@@ -4,7 +4,6 @@ import * as i0 from "@angular/core";
4
4
  export declare class TabDeleteService {
5
5
  private readonly screenHelper;
6
6
  private readonly whereClauseHelper;
7
- private readonly requestResponseHelper;
8
7
  private readonly apiService;
9
8
  private readonly signalRService;
10
9
  private readonly metadataHelper;