@hmcts/ccd-case-ui-toolkit 5.0.31-angular11-upgrade → 5.0.33-angular11-upgrade

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 (148) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +3365 -643
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +15 -11
  7. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +28 -1
  8. package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +10 -2
  9. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +9 -2
  10. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +15 -10
  11. package/esm2015/lib/shared/components/palette/base-field/abstract-form-field.component.js +4 -2
  12. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +8 -18
  13. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +71 -41
  14. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
  15. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +2 -3
  16. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +13 -9
  17. package/esm2015/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.js +125 -0
  18. package/esm2015/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.js +198 -0
  19. package/esm2015/lib/shared/components/palette/case-link/components/index.js +10 -0
  20. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +493 -0
  21. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.js +221 -0
  22. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.js +286 -0
  23. package/esm2015/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.js +76 -0
  24. package/esm2015/lib/shared/components/palette/case-link/components/read-linked-cases.component.js +178 -0
  25. package/esm2015/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.js +216 -0
  26. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +260 -0
  27. package/esm2015/lib/shared/components/palette/case-link/domain/index.js +3 -0
  28. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases-state.model.js +2 -0
  29. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases.model.js +19 -0
  30. package/esm2015/lib/shared/components/palette/case-link/enums/index.js +2 -0
  31. package/esm2015/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.js +33 -0
  32. package/esm2015/lib/shared/components/palette/case-link/index.js +4 -1
  33. package/esm2015/lib/shared/components/palette/case-link/read-case-link-field.component.js +28 -8
  34. package/esm2015/lib/shared/components/palette/case-link/services/index.js +2 -0
  35. package/esm2015/lib/shared/components/palette/case-link/services/jurisdiction.service.js +22 -0
  36. package/esm2015/lib/shared/components/palette/case-link/services/linked-cases.service.js +136 -0
  37. package/esm2015/lib/shared/components/palette/case-link/utils/validators.utils.js +27 -0
  38. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +79 -65
  39. package/esm2015/lib/shared/components/palette/index.js +6 -2
  40. package/esm2015/lib/shared/components/palette/palette.module.js +70 -18
  41. package/esm2015/lib/shared/components/palette/palette.service.js +10 -4
  42. package/esm2015/lib/shared/components/search-result/search-result.component.js +1 -1
  43. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  44. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +5 -1
  45. package/esm2015/lib/shared/pipes/index.js +2 -1
  46. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +23 -0
  47. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +2 -0
  48. package/esm2015/lib/shared/pipes/pipes.module.js +9 -5
  49. package/esm2015/lib/shared/services/common-data-service/common-data-service.js +22 -0
  50. package/esm2015/lib/shared/services/fields/fields.purger.js +128 -112
  51. package/esm2015/lib/shared/services/fields/fields.utils.js +11 -2
  52. package/esm2015/lib/shared/services/form/form-value.service.js +9 -7
  53. package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +1 -1
  54. package/esm2015/lib/shared/services/search/search.service.js +8 -1
  55. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +2842 -418
  56. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  57. package/lib/app.config.d.ts +4 -0
  58. package/lib/app.config.d.ts.map +1 -1
  59. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -0
  60. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  61. package/lib/shared/components/case-editor/services/cases.service.d.ts +7 -0
  62. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  63. package/lib/shared/components/case-editor/services/page-validation.service.d.ts +1 -0
  64. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  65. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  66. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +2 -2
  67. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  68. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  69. package/lib/shared/components/palette/base-field/field-write.component.d.ts +2 -2
  70. package/lib/shared/components/palette/base-field/field-write.component.d.ts.map +1 -1
  71. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +11 -5
  72. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  73. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +2 -0
  74. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
  75. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +0 -1
  76. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  77. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  78. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts +19 -0
  79. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts.map +1 -0
  80. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts +18 -0
  81. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts.map +1 -0
  82. package/lib/shared/components/palette/case-link/components/index.d.ts +10 -0
  83. package/lib/shared/components/palette/case-link/components/index.d.ts.map +1 -0
  84. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts +41 -0
  85. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts.map +1 -0
  86. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts +42 -0
  87. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -0
  88. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts +45 -0
  89. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -0
  90. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts +12 -0
  91. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -0
  92. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts +37 -0
  93. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts.map +1 -0
  94. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts +38 -0
  95. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts.map +1 -0
  96. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts +45 -0
  97. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +1 -0
  98. package/lib/shared/components/palette/case-link/domain/index.d.ts +3 -0
  99. package/lib/shared/components/palette/case-link/domain/index.d.ts.map +1 -0
  100. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts +12 -0
  101. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts.map +1 -0
  102. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts +65 -0
  103. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts.map +1 -0
  104. package/lib/shared/components/palette/case-link/enums/index.d.ts +2 -0
  105. package/lib/shared/components/palette/case-link/enums/index.d.ts.map +1 -0
  106. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts +29 -0
  107. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts.map +1 -0
  108. package/lib/shared/components/palette/case-link/index.d.ts +3 -0
  109. package/lib/shared/components/palette/case-link/index.d.ts.map +1 -1
  110. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts +3 -0
  111. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts.map +1 -1
  112. package/lib/shared/components/palette/case-link/services/index.d.ts +2 -0
  113. package/lib/shared/components/palette/case-link/services/index.d.ts.map +1 -0
  114. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts +12 -0
  115. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts.map +1 -0
  116. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts +51 -0
  117. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts.map +1 -0
  118. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts +10 -0
  119. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts.map +1 -0
  120. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +14 -3
  121. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
  122. package/lib/shared/components/palette/index.d.ts +5 -1
  123. package/lib/shared/components/palette/index.d.ts.map +1 -1
  124. package/lib/shared/components/palette/palette.module.d.ts +54 -45
  125. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  126. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  127. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  128. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  129. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  130. package/lib/shared/pipes/index.d.ts +1 -0
  131. package/lib/shared/pipes/index.d.ts.map +1 -1
  132. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +11 -0
  133. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -0
  134. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +2 -0
  135. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +1 -0
  136. package/lib/shared/pipes/pipes.module.d.ts +3 -2
  137. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  138. package/lib/shared/services/common-data-service/common-data-service.d.ts +29 -0
  139. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -0
  140. package/lib/shared/services/fields/fields.purger.d.ts +19 -12
  141. package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
  142. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  143. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  144. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  145. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  146. package/lib/shared/services/search/search.service.d.ts +4 -0
  147. package/lib/shared/services/search/search.service.d.ts.map +1 -1
  148. package/package.json +1 -1
@@ -28,6 +28,13 @@ export class SearchService {
28
28
  .get(url, options)
29
29
  .pipe(map(response => response), finalize(() => this.loadingService.unregister(loadingToken)));
30
30
  }
31
+ searchCasesByIds(caseTypeId, filter, view, sort) {
32
+ const url = this.appConfig.getCaseDataUrl() +
33
+ `/internal/searchCases?ctid=${caseTypeId}&use_case=${view}`;
34
+ const body = Object.assign(Object.assign({ sort }, filter), { size: this.appConfig.getPaginationPageSize() });
35
+ const loadingToken = this.loadingService.register();
36
+ return this.httpService.post(url, body).pipe(map((response) => response), finalize(() => this.loadingService.unregister(loadingToken)));
37
+ }
31
38
  searchCases(caseTypeId, metaCriteria, caseCriteria, view, sort) {
32
39
  const url = this.appConfig.getCaseDataUrl() + `/internal/searchCases?ctid=${caseTypeId}&use_case=${view}`;
33
40
  const options = this.requestOptionsBuilder.buildOptions(metaCriteria, caseCriteria, view);
@@ -80,4 +87,4 @@ SearchService.ɵprov = i0.ɵɵdefineInjectable({ token: SearchService, factory:
80
87
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchService, [{
81
88
  type: Injectable
82
89
  }], function () { return [{ type: i1.AbstractAppConfig }, { type: i2.HttpService }, { type: i3.RequestOptionsBuilder }, { type: i4.LoadingService }]; }, null); })();
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL3NlYXJjaC9zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3hELE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFjLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUd2RixNQUFNLE9BQU8sYUFBYTtJQVN4QixZQUE2QixTQUE0QixFQUM1QixXQUF3QixFQUN4QixxQkFBNEMsRUFDNUMsY0FBOEI7UUFIOUIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBSSxDQUFDO0lBRXpELE1BQU0sQ0FBQyxjQUFzQixFQUFFLFVBQWtCLEVBQzFDLFlBQW9CLEVBQUUsWUFBb0IsRUFBRSxJQUFpQjtRQUN6RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxHQUFHLG1CQUFtQjtjQUNuQixrQkFBa0IsY0FBYyxFQUFFO2NBQ2xDLGVBQWUsVUFBVSxFQUFFO2NBQzNCLFFBQVEsQ0FBQztR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QUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXLENBQUMsY0FBc0IsRUFBRSxVQUFrQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxjQUFjLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxVQUFVLENBQUM7SUFDNUYsQ0FBQzs7QUFoRnNCLHdDQUEwQixHQUMvQywrRkFBK0YsQ0FBQztBQUMzRSx5QkFBVyxHQUFHLFFBQVEsQ0FBQztBQUN2Qiw2QkFBZSxHQUFHLFlBQVksQ0FBQztBQUMvQiwwQkFBWSxHQUFHLE9BQU8sQ0FBQzswRUFMbkMsYUFBYTtxREFBYixhQUFhLFdBQWIsYUFBYTt1RkFBYixhQUFhO2NBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXJzJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdFZpZXcgfSBmcm9tICcuLi8uLi9kb21haW4vc2VhcmNoL3NlYXJjaC1yZXN1bHQtdmlldy5tb2RlbCc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSwgT3B0aW9uc1R5cGUgfSBmcm9tICcuLi9odHRwL2h0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJy4uL2xvYWRpbmcvbG9hZGluZy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RPcHRpb25zQnVpbGRlciwgU2VhcmNoVmlldyB9IGZyb20gJy4uL3JlcXVlc3QvcmVxdWVzdC5vcHRpb25zLmJ1aWxkZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX1NFQVJDSF9JTlBVVFMgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1zZWFyY2gtaW5wdXQtZGV0YWlscy52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZJRVdfU0VBUkNIID0gJ1NFQVJDSCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVklFV19XT1JLQkFTS0VUID0gJ1dPUktCQVNLRVQnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZJRUxEX1BSRUZJWCA9ICdjYXNlLic7XG4gIHByaXZhdGUgY3VycmVudEp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBwcml2YXRlIGN1cnJlbnRDYXNlVHlwZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdE9wdGlvbnNCdWlsZGVyOiBSZXF1ZXN0T3B0aW9uc0J1aWxkZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgc2VhcmNoKGp1cmlzZGljdGlvbklkOiBzdHJpbmcsIGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBtZXRhQ3JpdGVyaWE6IG9iamVjdCwgY2FzZUNyaXRlcmlhOiBvYmplY3QsIHZpZXc/OiBTZWFyY2hWaWV3KTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHRWaWV3PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0QXBpVXJsKCkgKyBgL2Nhc2V3b3JrZXJzLzp1aWRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBgL2p1cmlzZGljdGlvbnMvJHtqdXJpc2RpY3Rpb25JZH1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBgL2Nhc2UtdHlwZXMvJHtjYXNlVHlwZUlkfWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIGAvY2FzZXNgO1xuXG4gICAgY29uc3Qgb3B0aW9uczogT3B0aW9uc1R5cGUgID0gdGhpcy5yZXF1ZXN0T3B0aW9uc0J1aWxkZXIuYnVpbGRPcHRpb25zKG1ldGFDcml0ZXJpYSwgY2FzZUNyaXRlcmlhLCB2aWV3KTtcbiAgICBjb25zdCBsb2FkaW5nVG9rZW4gPSB0aGlzLmxvYWRpbmdTZXJ2aWNlLnJlZ2lzdGVyKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5nZXQodXJsLCBvcHRpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3Rlcihsb2FkaW5nVG9rZW4pKVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlcyhjYXNlVHlwZUlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgbWV0YUNyaXRlcmlhOiBvYmplY3QsIGNhc2VDcml0ZXJpYTogb2JqZWN0LCB2aWV3PzogU2VhcmNoVmlldywgc29ydD86IHtjb2x1bW46IHN0cmluZywgb3JkZXI6IG51bWJlcn0pOiBPYnNlcnZhYmxlPHt9PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKSArIGAvaW50ZXJuYWwvc2VhcmNoQ2FzZXM/Y3RpZD0ke2Nhc2VUeXBlSWR9JnVzZV9jYXNlPSR7dmlld31gO1xuXG4gICAgY29uc3Qgb3B0aW9uczogT3B0aW9uc1R5cGUgPSB0aGlzLnJlcXVlc3RPcHRpb25zQnVpbGRlci5idWlsZE9wdGlvbnMobWV0YUNyaXRlcmlhLCBjYXNlQ3JpdGVyaWEsIHZpZXcpO1xuICAgIGNvbnN0IGJvZHk6IHt9ID0ge1xuICAgICAgc29ydCxcbiAgICAgIHNpemU6IHRoaXMuYXBwQ29uZmlnLmdldFBhZ2luYXRpb25QYWdlU2l6ZSgpXG4gICAgfTtcbiAgICBjb25zdCBsb2FkaW5nVG9rZW4gPSB0aGlzLmxvYWRpbmdTZXJ2aWNlLnJlZ2lzdGVyKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5wb3N0KHVybCwgYm9keSwgb3B0aW9ucylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTZXJ2aWNlLnVucmVnaXN0ZXIobG9hZGluZ1Rva2VuKSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VhcmNoSW5wdXRVcmwoY2FzZVR5cGVJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vaW50ZXJuYWwvY2FzZS10eXBlcy8ke2Nhc2VUeXBlSWR9L3NlYXJjaC1pbnB1dHNgO1xuICB9XG5cbiAgcHVibGljIGdldFNlYXJjaElucHV0cyhqdXJpc2RpY3Rpb25JZDogc3RyaW5nLCBjYXNlVHlwZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0W10+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmdldFNlYXJjaElucHV0VXJsKGNhc2VUeXBlSWQpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgU2VhcmNoU2VydmljZS5WMl9NRURJQVRZUEVfU0VBUkNIX0lOUFVUUylcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgdGhpcy5jdXJyZW50SnVyaXNkaWN0aW9uID0ganVyaXNkaWN0aW9uSWQ7XG4gICAgdGhpcy5jdXJyZW50Q2FzZVR5cGUgPSBjYXNlVHlwZUlkO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuZ2V0KHVybCwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoYm9keSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VhcmNoSW5wdXRzID0gYm9keS5zZWFyY2hJbnB1dHM7XG4gICAgICAgICAgaWYgKHRoaXMuaXNEYXRhVmFsaWQoanVyaXNkaWN0aW9uSWQsIGNhc2VUeXBlSWQpKSB7XG4gICAgICAgICAgICBzZWFyY2hJbnB1dHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgaXRlbS5maWVsZC5sYWJlbCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgICAgICAgIGl0ZW0uZmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciA9IGl0ZW0uZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc3BvbnNlIGV4cGlyZWQnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNlYXJjaElucHV0cztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgaXNEYXRhVmFsaWQoanVyaXNkaWN0aW9uSWQ6IHN0cmluZywgY2FzZVR5cGVJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEp1cmlzZGljdGlvbiA9PT0ganVyaXNkaWN0aW9uSWQgJiYgdGhpcy5jdXJyZW50Q2FzZVR5cGUgPT09IGNhc2VUeXBlSWQ7XG4gIH1cbn1cbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL3NlYXJjaC9zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3hELE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFjLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUd2RixNQUFNLE9BQU8sYUFBYTtJQVN4QixZQUE2QixTQUE0QixFQUM1QixXQUF3QixFQUN4QixxQkFBNEMsRUFDNUMsY0FBOEI7UUFIOUIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBSSxDQUFDO0lBRXpELE1BQU0sQ0FBQyxjQUFzQixFQUFFLFVBQWtCLEVBQzFDLFlBQW9CLEVBQUUsWUFBb0IsRUFBRSxJQUFpQjtRQUN6RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxHQUFHLG1CQUFtQjtjQUNuQixrQkFBa0IsY0FBYyxFQUFFO2NBQ2xDLGVBQWUsVUFBVSxFQUFFO2NBQzNCLFFBQVEsQ0FBQztR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QWIsYUFBYTt1RkFBYixhQUFhO2NBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXJzJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdFZpZXcgfSBmcm9tICcuLi8uLi9kb21haW4vc2VhcmNoL3NlYXJjaC1yZXN1bHQtdmlldy5tb2RlbCc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSwgT3B0aW9uc1R5cGUgfSBmcm9tICcuLi9odHRwL2h0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJy4uL2xvYWRpbmcvbG9hZGluZy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RPcHRpb25zQnVpbGRlciwgU2VhcmNoVmlldyB9IGZyb20gJy4uL3JlcXVlc3QvcmVxdWVzdC5vcHRpb25zLmJ1aWxkZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX1NFQVJDSF9JTlBVVFMgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1zZWFyY2gtaW5wdXQtZGV0YWlscy52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZJRVdfU0VBUkNIID0gJ1NFQVJDSCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVklFV19XT1JLQkFTS0VUID0gJ1dPUktCQVNLRVQnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZJRUxEX1BSRUZJWCA9ICdjYXNlLic7XG4gIHByaXZhdGUgY3VycmVudEp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBwcml2YXRlIGN1cnJlbnRDYXNlVHlwZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdE9wdGlvbnNCdWlsZGVyOiBSZXF1ZXN0T3B0aW9uc0J1aWxkZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgc2VhcmNoKGp1cmlzZGljdGlvbklkOiBzdHJpbmcsIGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBtZXRhQ3JpdGVyaWE6IG9iamVjdCwgY2FzZUNyaXRlcmlhOiBvYmplY3QsIHZpZXc/OiBTZWFyY2hWaWV3KTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHRWaWV3PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0QXBpVXJsKCkgKyBgL2Nhc2V3b3JrZXJzLzp1aWRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBgL2p1cmlzZGljdGlvbnMvJHtqdXJpc2RpY3Rpb25JZH1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBgL2Nhc2UtdHlwZXMvJHtjYXNlVHlwZUlkfWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIGAvY2FzZXNgO1xuXG4gICAgY29uc3Qgb3B0aW9uczogT3B0aW9uc1R5cGUgID0gdGhpcy5yZXF1ZXN0T3B0aW9uc0J1aWxkZXIuYnVpbGRPcHRpb25zKG1ldGFDcml0ZXJpYSwgY2FzZUNyaXRlcmlhLCB2aWV3KTtcbiAgICBjb25zdCBsb2FkaW5nVG9rZW4gPSB0aGlzLmxvYWRpbmdTZXJ2aWNlLnJlZ2lzdGVyKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5nZXQodXJsLCBvcHRpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3Rlcihsb2FkaW5nVG9rZW4pKVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlc0J5SWRzKFxuICAgIGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICBmaWx0ZXI6IGFueSxcbiAgICB2aWV3PzogU2VhcmNoVmlldyxcbiAgICBzb3J0PzogeyBjb2x1bW46IHN0cmluZzsgb3JkZXI6IG51bWJlciB9XG4gICk6IE9ic2VydmFibGU8e30+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKSArXG4gICAgICBgL2ludGVybmFsL3NlYXJjaENhc2VzP2N0aWQ9JHtjYXNlVHlwZUlkfSZ1c2VfY2FzZT0ke3ZpZXd9YDtcblxuICAgIGNvbnN0IGJvZHk6IHt9ID0ge1xuICAgICAgc29ydCxcbiAgICAgIC4uLmZpbHRlcixcbiAgICAgIHNpemU6IHRoaXMuYXBwQ29uZmlnLmdldFBhZ2luYXRpb25QYWdlU2l6ZSgpLFxuICAgIH07XG4gICAgY29uc3QgbG9hZGluZ1Rva2VuID0gdGhpcy5sb2FkaW5nU2VydmljZS5yZWdpc3RlcigpO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCBib2R5KS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2UpLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nU2VydmljZS51bnJlZ2lzdGVyKGxvYWRpbmdUb2tlbikpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlcyhjYXNlVHlwZUlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgbWV0YUNyaXRlcmlhOiBvYmplY3QsIGNhc2VDcml0ZXJpYTogb2JqZWN0LCB2aWV3PzogU2VhcmNoVmlldywgc29ydD86IHtjb2x1bW46IHN0cmluZywgb3JkZXI6IG51bWJlcn0pOiBPYnNlcnZhYmxlPHt9PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKSArIGAvaW50ZXJuYWwvc2VhcmNoQ2FzZXM/Y3RpZD0ke2Nhc2VUeXBlSWR9JnVzZV9jYXNlPSR7dmlld31gO1xuXG4gICAgY29uc3Qgb3B0aW9uczogT3B0aW9uc1R5cGUgPSB0aGlzLnJlcXVlc3RPcHRpb25zQnVpbGRlci5idWlsZE9wdGlvbnMobWV0YUNyaXRlcmlhLCBjYXNlQ3JpdGVyaWEsIHZpZXcpO1xuICAgIGNvbnN0IGJvZHk6IHt9ID0ge1xuICAgICAgc29ydCxcbiAgICAgIHNpemU6IHRoaXMuYXBwQ29uZmlnLmdldFBhZ2luYXRpb25QYWdlU2l6ZSgpXG4gICAgfTtcbiAgICBjb25zdCBsb2FkaW5nVG9rZW4gPSB0aGlzLmxvYWRpbmdTZXJ2aWNlLnJlZ2lzdGVyKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5wb3N0KHVybCwgYm9keSwgb3B0aW9ucylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTZXJ2aWNlLnVucmVnaXN0ZXIobG9hZGluZ1Rva2VuKSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VhcmNoSW5wdXRVcmwoY2FzZVR5cGVJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vaW50ZXJuYWwvY2FzZS10eXBlcy8ke2Nhc2VUeXBlSWR9L3NlYXJjaC1pbnB1dHNgO1xuICB9XG5cbiAgcHVibGljIGdldFNlYXJjaElucHV0cyhqdXJpc2RpY3Rpb25JZDogc3RyaW5nLCBjYXNlVHlwZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0W10+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmdldFNlYXJjaElucHV0VXJsKGNhc2VUeXBlSWQpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgU2VhcmNoU2VydmljZS5WMl9NRURJQVRZUEVfU0VBUkNIX0lOUFVUUylcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgdGhpcy5jdXJyZW50SnVyaXNkaWN0aW9uID0ganVyaXNkaWN0aW9uSWQ7XG4gICAgdGhpcy5jdXJyZW50Q2FzZVR5cGUgPSBjYXNlVHlwZUlkO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuZ2V0KHVybCwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoYm9keSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VhcmNoSW5wdXRzID0gYm9keS5zZWFyY2hJbnB1dHM7XG4gICAgICAgICAgaWYgKHRoaXMuaXNEYXRhVmFsaWQoanVyaXNkaWN0aW9uSWQsIGNhc2VUeXBlSWQpKSB7XG4gICAgICAgICAgICBzZWFyY2hJbnB1dHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgaXRlbS5maWVsZC5sYWJlbCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgICAgICAgIGl0ZW0uZmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciA9IGl0ZW0uZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc3BvbnNlIGV4cGlyZWQnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNlYXJjaElucHV0cztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgaXNEYXRhVmFsaWQoanVyaXNkaWN0aW9uSWQ6IHN0cmluZywgY2FzZVR5cGVJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEp1cmlzZGljdGlvbiA9PT0ganVyaXNkaWN0aW9uSWQgJiYgdGhpcy5jdXJyZW50Q2FzZVR5cGUgPT09IGNhc2VUeXBlSWQ7XG4gIH1cbn1cbiJdfQ==