@hmcts/ccd-case-ui-toolkit 6.13.10-show-condition-code-fix → 6.13.11-activity-tracker

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 (198) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +12262 -9090
  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 +11 -1
  6. package/esm2015/lib/components/banners/index.js +2 -1
  7. package/esm2015/lib/components/banners/notification-banner/index.js +2 -1
  8. package/esm2015/lib/components/body/index.js +2 -1
  9. package/esm2015/lib/components/footer/index.js +2 -1
  10. package/esm2015/lib/components/form/index.js +2 -1
  11. package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.service.js +19 -1
  12. package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +5 -5
  13. package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +2 -2
  14. package/esm2015/lib/shared/components/activity/activity.module.js +13 -13
  15. package/esm2015/lib/shared/components/activity/case-activity.component.js +174 -0
  16. package/esm2015/lib/shared/components/activity/index.js +2 -2
  17. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +6 -1
  18. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +7 -1
  19. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +7 -1
  20. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +29 -16
  21. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +38 -18
  22. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +7 -5
  23. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +2 -2
  24. package/esm2015/lib/shared/components/palette/index.js +3 -6
  25. package/esm2015/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.js +126 -0
  26. package/esm2015/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.js +220 -0
  27. package/esm2015/lib/shared/components/palette/linked-cases/components/index.js +8 -0
  28. package/esm2015/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.js +572 -0
  29. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.js +219 -0
  30. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +285 -0
  31. package/esm2015/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.js +79 -0
  32. package/esm2015/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.js +214 -0
  33. package/esm2015/lib/shared/components/palette/linked-cases/domain/index.js +3 -0
  34. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.js +2 -0
  35. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases.model.js +21 -0
  36. package/esm2015/lib/shared/components/palette/linked-cases/enums/index.js +2 -0
  37. package/esm2015/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.js +35 -0
  38. package/esm2015/lib/shared/components/palette/linked-cases/index.js +6 -0
  39. package/esm2015/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.js +183 -0
  40. package/esm2015/lib/shared/components/palette/linked-cases/services/index.js +2 -0
  41. package/esm2015/lib/shared/components/palette/linked-cases/services/linked-cases.service.js +134 -0
  42. package/esm2015/lib/shared/components/palette/linked-cases/utils/validators.utils.js +27 -0
  43. package/esm2015/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.js +272 -0
  44. package/esm2015/lib/shared/components/palette/palette.module.js +51 -7
  45. package/esm2015/lib/shared/components/palette/palette.service.js +19 -7
  46. package/esm2015/lib/shared/components/search-result/search-result.component.js +36 -19
  47. package/esm2015/lib/shared/components/search-result/search-result.module.js +2 -2
  48. package/esm2015/lib/shared/domain/activity/activity.model.js +1 -1
  49. package/esm2015/lib/shared/domain/activity/case-activity-info.model.js +3 -0
  50. package/esm2015/lib/shared/domain/activity/case-activity.model.js +3 -0
  51. package/esm2015/lib/shared/domain/activity/index.js +4 -1
  52. package/esm2015/lib/shared/domain/activity/user.model.js +3 -0
  53. package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +12 -0
  54. package/esm2015/lib/shared/domain/search/index.js +2 -1
  55. package/esm2015/lib/shared/domain/search/sorting/index.js +4 -0
  56. package/esm2015/lib/shared/domain/user/index.js +3 -0
  57. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +2 -2
  58. package/esm2015/lib/shared/pipes/index.js +3 -1
  59. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.js +28 -0
  60. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/index.js +2 -0
  61. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +28 -0
  62. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +2 -0
  63. package/esm2015/lib/shared/pipes/pipes.module.js +12 -4
  64. package/esm2015/lib/shared/services/activity/activity-socket.service.js +91 -0
  65. package/esm2015/lib/shared/services/activity/activity.polling.service.js +25 -10
  66. package/esm2015/lib/shared/services/activity/activity.service.js +47 -21
  67. package/esm2015/lib/shared/services/activity/index.js +2 -1
  68. package/esm2015/lib/shared/services/activity/utils/index.js +117 -0
  69. package/esm2015/lib/shared/services/common-data-service/common-data-service.js +1 -1
  70. package/esm2015/lib/shared/services/fields/fields.utils.js +7 -1
  71. package/esm2015/lib/shared/services/form/form-value.service.js +33 -2
  72. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +9947 -7143
  73. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  74. package/lib/app.config.d.ts +10 -0
  75. package/lib/app.config.d.ts.map +1 -1
  76. package/lib/components/banners/index.d.ts +1 -0
  77. package/lib/components/banners/index.d.ts.map +1 -1
  78. package/lib/components/banners/notification-banner/index.d.ts +1 -0
  79. package/lib/components/banners/notification-banner/index.d.ts.map +1 -1
  80. package/lib/components/body/index.d.ts +1 -0
  81. package/lib/components/body/index.d.ts.map +1 -1
  82. package/lib/components/footer/index.d.ts +1 -0
  83. package/lib/components/footer/index.d.ts.map +1 -1
  84. package/lib/components/form/index.d.ts +1 -0
  85. package/lib/components/form/index.d.ts.map +1 -1
  86. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +13 -0
  87. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  88. package/lib/shared/components/activity/activity.module.d.ts +4 -4
  89. package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
  90. package/lib/shared/components/activity/case-activity.component.d.ts +32 -0
  91. package/lib/shared/components/activity/case-activity.component.d.ts.map +1 -0
  92. package/lib/shared/components/activity/index.d.ts +1 -1
  93. package/lib/shared/components/activity/index.d.ts.map +1 -1
  94. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  95. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -0
  96. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  97. package/lib/shared/components/case-editor/services/cases.service.d.ts +2 -0
  98. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  99. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +5 -4
  100. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  101. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +7 -4
  102. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  103. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  104. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +1 -1
  105. package/lib/shared/components/palette/index.d.ts +2 -5
  106. package/lib/shared/components/palette/index.d.ts.map +1 -1
  107. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +23 -0
  108. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -0
  109. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +18 -0
  110. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -0
  111. package/lib/shared/components/palette/linked-cases/components/index.d.ts +8 -0
  112. package/lib/shared/components/palette/linked-cases/components/index.d.ts.map +1 -0
  113. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +49 -0
  114. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -0
  115. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +38 -0
  116. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -0
  117. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +47 -0
  118. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -0
  119. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +18 -0
  120. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -0
  121. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +38 -0
  122. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -0
  123. package/lib/shared/components/palette/linked-cases/domain/index.d.ts +3 -0
  124. package/lib/shared/components/palette/linked-cases/domain/index.d.ts.map +1 -0
  125. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts +12 -0
  126. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts.map +1 -0
  127. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts +68 -0
  128. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts.map +1 -0
  129. package/lib/shared/components/palette/linked-cases/enums/index.d.ts +2 -0
  130. package/lib/shared/components/palette/linked-cases/enums/index.d.ts.map +1 -0
  131. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts +31 -0
  132. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts.map +1 -0
  133. package/lib/shared/components/palette/linked-cases/index.d.ts +6 -0
  134. package/lib/shared/components/palette/linked-cases/index.d.ts.map +1 -0
  135. package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts +38 -0
  136. package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts.map +1 -0
  137. package/lib/shared/components/palette/linked-cases/services/index.d.ts +2 -0
  138. package/lib/shared/components/palette/linked-cases/services/index.d.ts.map +1 -0
  139. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +44 -0
  140. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -0
  141. package/lib/shared/components/palette/linked-cases/utils/validators.utils.d.ts +10 -0
  142. package/lib/shared/components/palette/linked-cases/utils/validators.utils.d.ts.map +1 -0
  143. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +43 -0
  144. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -0
  145. package/lib/shared/components/palette/palette.module.d.ts +67 -58
  146. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  147. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  148. package/lib/shared/components/search-result/search-result.component.d.ts +9 -6
  149. package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
  150. package/lib/shared/domain/activity/activity.model.d.ts +1 -0
  151. package/lib/shared/domain/activity/activity.model.d.ts.map +1 -1
  152. package/lib/shared/domain/activity/case-activity-info.model.d.ts +9 -0
  153. package/lib/shared/domain/activity/case-activity-info.model.d.ts.map +1 -0
  154. package/lib/shared/domain/activity/case-activity.model.d.ts +5 -0
  155. package/lib/shared/domain/activity/case-activity.model.d.ts.map +1 -0
  156. package/lib/shared/domain/activity/index.d.ts +3 -0
  157. package/lib/shared/domain/activity/index.d.ts.map +1 -1
  158. package/lib/shared/domain/activity/user.model.d.ts +6 -0
  159. package/lib/shared/domain/activity/user.model.d.ts.map +1 -0
  160. package/lib/shared/domain/definition/display-context-enum.model.d.ts +10 -0
  161. package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -0
  162. package/lib/shared/domain/search/index.d.ts +1 -0
  163. package/lib/shared/domain/search/index.d.ts.map +1 -1
  164. package/lib/shared/domain/search/sorting/index.d.ts +4 -0
  165. package/lib/shared/domain/search/sorting/index.d.ts.map +1 -0
  166. package/lib/shared/domain/user/index.d.ts +3 -0
  167. package/lib/shared/domain/user/index.d.ts.map +1 -0
  168. package/lib/shared/pipes/index.d.ts +2 -0
  169. package/lib/shared/pipes/index.d.ts.map +1 -1
  170. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts +12 -0
  171. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts.map +1 -0
  172. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts +2 -0
  173. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts.map +1 -0
  174. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +12 -0
  175. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -0
  176. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +2 -0
  177. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +1 -0
  178. package/lib/shared/pipes/pipes.module.d.ts +4 -2
  179. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  180. package/lib/shared/services/activity/activity-socket.service.d.ts +33 -0
  181. package/lib/shared/services/activity/activity-socket.service.d.ts.map +1 -0
  182. package/lib/shared/services/activity/activity.polling.service.d.ts +6 -5
  183. package/lib/shared/services/activity/activity.polling.service.d.ts.map +1 -1
  184. package/lib/shared/services/activity/activity.service.d.ts +14 -5
  185. package/lib/shared/services/activity/activity.service.d.ts.map +1 -1
  186. package/lib/shared/services/activity/index.d.ts +1 -0
  187. package/lib/shared/services/activity/index.d.ts.map +1 -1
  188. package/lib/shared/services/activity/utils/index.d.ts +40 -0
  189. package/lib/shared/services/activity/utils/index.d.ts.map +1 -0
  190. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -1
  191. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  192. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  193. package/lib/shared/services/form/form-value.service.d.ts +14 -0
  194. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  195. package/package.json +1 -1
  196. package/esm2015/lib/shared/components/activity/activity.component.js +0 -150
  197. package/lib/shared/components/activity/activity.component.d.ts +0 -32
  198. package/lib/shared/components/activity/activity.component.d.ts.map +0 -1
@@ -80,7 +80,7 @@ export class ReadFieldsFilterPipe {
80
80
  }
81
81
  else if (field.show_condition) {
82
82
  let cond;
83
- if (fieldId && field.show_condition.indexOf(`${fieldId}.`) > -1 && !formGroupAvaliable && !!Object.keys(formValue).length) {
83
+ if (fieldId && field.show_condition.indexOf(fieldId) > -1 && !formGroupAvaliable && !!Object.keys(formValue).length) {
84
84
  const search = fieldId + '.';
85
85
  const searchRegExp = new RegExp(search, 'g');
86
86
  const replaceWith = '';
@@ -151,4 +151,4 @@ ReadFieldsFilterPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "ccdReadFieldsFilter", t
151
151
  name: 'ccdReadFieldsFilter'
152
152
  }]
153
153
  }], null, null); })();
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLXJlYWQtZmllbGRzLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9jb21wbGV4L2NjZC1yZWFkLWZpZWxkcy1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLG9CQUFvQjtJQWdCL0I7O09BRUc7SUFDSyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsTUFBZTtRQUM3RCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoRSxPQUFPLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztRQUM1RixDQUFD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b0I7dUZBQXBCLG9CQUFvQjtjQUhoQyxJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLHFCQUFxQjthQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY2NkUmVhZEZpZWxkc0ZpbHRlcidcbn0pXG5leHBvcnQgY2xhc3MgUmVhZEZpZWxkc0ZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFTVBUWV9WQUxVRVMgPSBbXG4gICAgdW5kZWZpbmVkLFxuICAgIG51bGwsXG4gICAgJycsXG4gICAge31cbiAgXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTFdBWVNfTlVMTF9GSUVMRFMgPSBbJ0Nhc2VQYXltZW50SGlzdG9yeVZpZXdlcicsICdXYXlzVG9QYXknLCAnRmxhZ0xhdW5jaGVyJywgJ0NvbXBvbmVudExhdW5jaGVyJ107XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTkVTVEVEX1RZUEVTID0ge1xuICAgIENvbXBsZXg6IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wbGV4LFxuICAgIENvbGxlY3Rpb246IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb2xsZWN0aW9uXG4gIH07XG5cbiAgLyoqXG4gICAqIENvbXBsZXggdHlwZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCBvbiBzaW1wbGUgZmllbGQgZGVzY2VuZGFudCB3aXRoIGEgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBpc1ZhbGlkQ29tcGxleChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZXM/OiBvYmplY3QpOiBib29sZWFuIHtcbiAgICB2YWx1ZXMgPSB2YWx1ZXMgfHwge307XG4gICAgY29uc3QgdHlwZSA9IGZpZWxkLmZpZWxkX3R5cGU7XG4gICAgY29uc3QgdmFsdWUgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5nZXRWYWx1ZShmaWVsZCwgdmFsdWVzKTtcblxuICAgIGNvbnN0IGhhc0NoaWxkcmVuV2l0aFZhbHVlID0gdHlwZS5jb21wbGV4X2ZpZWxkcy5maW5kKGYgPT4ge1xuICAgICAgY29uc3Qgd2lsbEtlZXAgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5rZWVwRmllbGQoZiwgdmFsdWUsIHRydWUpO1xuICAgICAgcmV0dXJuIHdpbGxLZWVwICYmIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmV2YWx1YXRlQ29uZGl0aW9uYWxTaG93KGYsIHZhbHVlKS5oaWRkZW4gIT09IHRydWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gISFoYXNDaGlsZHJlbldpdGhWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb2xsZWN0aW9uKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlcz86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIC8vIGlmIGZpZWxkIGlzIGNvbGxlY3Rpb24gYW5kIGl0IGhhcyBjb21wbGV4L2NvbGxlY3Rpb24gY2hpbGQgZmllbGQ7IHBhcmVudCBmaWVsZCBkb2VzbnQgaGF2ZSB2YWx1ZSBkZWZpbmVkXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGZpZWxkLnZhbHVlKSAmJiB2YWx1ZXMgJiYgdmFsdWVzLmhhc093blByb3BlcnR5KGZpZWxkLmlkKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGlzTm90RW1wdHkgPSBBcnJheS5pc0FycmF5KGZpZWxkLnZhbHVlKSAmJiBmaWVsZC52YWx1ZS5sZW5ndGggPiAwO1xuICAgIGlmIChpc05vdEVtcHR5ICYmIGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4Jykge1xuICAgICAgcmV0dXJuICEhZmllbGQudmFsdWUuZmluZChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgY29tcGxleEZpZWxkID0gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgICAgIGlkOiBmaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5pZCxcbiAgICAgICAgICBmaWVsZF90eXBlOiBmaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSxcbiAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc1ZhbGlkQ29tcGxleChjb21wbGV4RmllbGQpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBpc05vdEVtcHR5O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLkVNUFRZX1ZBTFVFUy5pbmRleE9mKHZhbHVlKSAhPT0gLTFcbiAgICAgIHx8IHZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzQ29tcG91bmQoZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ORVNURURfVFlQRVNbZmllbGQuZmllbGRfdHlwZS50eXBlXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb21wb3VuZChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZT86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0NvbXBvdW5kKGZpZWxkKVxuICAgICAgICAgICAgJiYgUmVhZEZpZWxkc0ZpbHRlclBpcGUuTkVTVEVEX1RZUEVTW2ZpZWxkLmZpZWxkX3R5cGUudHlwZV0oZmllbGQsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGtlZXBGaWVsZChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZT86IG9iamVjdCwgaWdub3JlTGFiZWxzID0gZmFsc2UpOiBib29sZWFuIHtcbiAgICAvLyBXZSBzaG91bGRuJ3QgZGl0Y2ggbGFiZWxzLlxuICAgIGlmICghaWdub3JlTGFiZWxzICYmIGZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0xhYmVsJyAmJiAoZmllbGQubGFiZWwgfHwgJycpLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBXZSBhbHNvIHNob3VsZG4ndCBkaXRjaCBmaWVsZHMgdGhhdCB3aWxsIGFsd2F5cyBjb21lIGJhY2sgd2l0aCBhIG51bGwgdmFsdWUuXG4gICAgaWYgKHRoaXMuQUxXQVlTX05VTExfRklFTERTLmluZGV4T2YoZmllbGQuZmllbGRfdHlwZS50eXBlKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhbHVlID0gdmFsdWUgfHwge307XG5cbiAgICBpZiAoUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNDb21wb3VuZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc1ZhbGlkQ29tcG91bmQoZmllbGQsIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gIVJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzRW1wdHkoZmllbGQudmFsdWUpXG4gICAgICAgICAgICAgIHx8ICFSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KHZhbHVlW2ZpZWxkLmlkXSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRWYWx1ZShmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZXM6IGFueSwgaW5kZXg/OiBudW1iZXIpOiBhbnkge1xuICAgIGxldCB2YWx1ZTogYW55O1xuICAgIGlmIChpbmRleCA+PSAwICkge1xuICAgICAgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdLnZhbHVlW2ZpZWxkLmlkXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSB2YWx1ZXNbZmllbGQuaWRdO1xuICAgIH1cbiAgICByZXR1cm4gUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eShmaWVsZC52YWx1ZSkgPyB2YWx1ZSA6IGZpZWxkLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZXZhbHVhdGVDb25kaXRpb25hbFNob3coZmllbGQ6IENhc2VGaWVsZCwgZm9ybVZhbHVlOiBhbnksIHBhdGg/OiBzdHJpbmcsXG4gICAgZm9ybUdyb3VwQXZhbGlhYmxlPzogYm9vbGVhbiwgZmllbGRJZD86IHN0cmluZyk6IENhc2VGaWVsZCB7XG4gICAgaWYgKGZpZWxkLmRpc3BsYXlfY29udGV4dCA9PT0gJ0hJRERFTicpIHtcbiAgICAgIGZpZWxkLmhpZGRlbiA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChmaWVsZC5zaG93X2NvbmRpdGlvbikge1xuICAgICAgbGV0IGNvbmQ6IFNob3dDb25kaXRpb247XG4gICAgICBpZiAoZmllbGRJZCAmJiBmaWVsZC5zaG93X2NvbmRpdGlvbi5pbmRleE9mKGAke2ZpZWxkSWR9LmApID4gLTEgJiYgIWZvcm1Hcm91cEF2YWxpYWJsZSAmJiAhIU9iamVjdC5rZXlzKGZvcm1WYWx1ZSkubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaCA9IGZpZWxkSWQgKyAnLic7XG4gICAgICAgIGNvbnN0IHNlYXJjaFJlZ0V4cCA9IG5ldyBSZWdFeHAoc2VhcmNoLCAnZycpO1xuICAgICAgICBjb25zdCByZXBsYWNlV2l0aCA9ICcnO1xuICAgICAgICBjb25kID0gU2hvd0NvbmRpdGlvbi5nZXRJbnN0YW5jZShmaWVsZC5zaG93X2NvbmRpdGlvbi5yZXBsYWNlKHNlYXJjaFJlZ0V4cCwgcmVwbGFjZVdpdGgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmQgPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKGZpZWxkLnNob3dfY29uZGl0aW9uKTtcbiAgICAgIH1cbiAgICAgIGZpZWxkLmhpZGRlbiA9ICFjb25kLm1hdGNoKGZvcm1WYWx1ZSwgcGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpZWxkLmhpZGRlbiA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVyIG91dCBmaWVsZHMgaGF2aW5nIG5vIGRhdGEgdG8gZGlzcGxheSBhbmQgaGFybW9uaXNlIGZpZWxkIHZhbHVlcyBjb21pbmcgcGFyZW50J3MgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIGNvbXBsZXhGaWVsZDogQ2FzZUZpZWxkLCBrZWVwRW1wdHk/OiBib29sZWFuLCBpbmRleD86IG51bWJlcixcbiAgICBzZXR1cEhpZGRlbiA9IGZhbHNlLCBmb3JtR3JvdXA/OiBGb3JtR3JvdXAgfCBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBzdHJpbmcpOiBDYXNlRmllbGRbXSB7XG4gICAgaWYgKCFjb21wbGV4RmllbGQgfHwgIWNvbXBsZXhGaWVsZC5maWVsZF90eXBlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgZmllbGRzID0gY29tcGxleEZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMgfHwgW107XG4gICAgY29uc3QgdmFsdWVzID0gY29tcGxleEZpZWxkLnZhbHVlIHx8IHt9O1xuICAgIGxldCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3Q6IGFueSA9IHZhbHVlcztcbiAgICBsZXQgZm9ybUdyb3VwQXZhaWxhYmxlID0gZmFsc2U7XG4gICAgaWYgKGZvcm1Hcm91cCkge1xuICAgICAgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0ID0gZm9ybUdyb3VwLnZhbHVlO1xuICAgICAgZm9ybUdyb3VwQXZhaWxhYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzXG4gICAgICAubWFwKGYgPT4ge1xuICAgICAgICBjb25zdCBjbG9uZSA9IEZpZWxkc1V0aWxzLmNsb25lT2JqZWN0KGYpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmdldFZhbHVlKGYsIHZhbHVlcywgaW5kZXgpO1xuICAgICAgICBpZiAoIVJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgY2xvbmUudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2xvbmU7XG4gICAgICB9KVxuICAgICAgLm1hcChmID0+IHtcbiAgICAgICAgaWYgKCFmLmRpc3BsYXlfY29udGV4dCkge1xuICAgICAgICAgIGYuZGlzcGxheV9jb250ZXh0ID0gY29tcGxleEZpZWxkLmRpc3BsYXlfY29udGV4dDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2V0dXBIaWRkZW4pIHtcbiAgICAgICAgICBSZWFkRmllbGRzRmlsdGVyUGlwZS5ldmFsdWF0ZUNvbmRpdGlvbmFsU2hvdyhmLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QsIHBhdGgsIGZvcm1Hcm91cEF2YWlsYWJsZSwgY29tcGxleEZpZWxkLmlkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZjtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKGYgPT4ga2VlcEVtcHR5IHx8IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmtlZXBGaWVsZChmKSk7XG4gIH1cbn1cbiJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLXJlYWQtZmllbGRzLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9jb21wbGV4L2NjZC1yZWFkLWZpZWxkcy1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLG9CQUFvQjtJQWdCL0I7O09BRUc7SUFDSyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsTUFBZTtRQUM3RCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoRSxPQUFPLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztRQUM1RixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDO0lBQ2hDLENBQUM7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxNQUFlO1FBQ2hFLDJHQUEyRztRQUMzRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzVFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDeEUsSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMvQixNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLFNBQVMsRUFBRSxFQUFFO29CQUMxRCxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO29CQUM3QyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUI7b0JBQ2xELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDakIsS0FBSyxFQUFFLElBQUk7aUJBQ1osQ0FBQyxDQUFDO2dCQUNILE9BQU8sb0JBQW9CLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFVO1FBQy9CLE9BQU8sb0JBQW9CLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7ZUFDekQsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZ0I7UUFDeEMsT0FBTyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFnQixFQUFFLEtBQWM7UUFDN0QsT0FBTyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO2VBQ2xDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFnQixFQUFFLEtBQWMsRUFBRSxZQUFZLEdBQUcsS0FBSztRQUM3RSw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEYsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELCtFQUErRTtRQUMvRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNqRSxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsS0FBSyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFFcEIsSUFBSSxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNEO1FBRUQsT0FBTyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2VBQ3BDLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFnQixFQUFFLE1BQVcsRUFBRSxLQUFjO1FBQ25FLElBQUksS0FBVSxDQUFDO1FBQ2YsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFHO1lBQ2YsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sb0JBQW9CLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBZ0IsRUFBRSxTQUFjLEVBQUUsSUFBYSxFQUNwRixrQkFBNEIsRUFBRSxPQUFnQjtRQUM5QyxJQUFJLEtBQUssQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFO1lBQ3RDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO2FBQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFO1lBQy9CLElBQUksSUFBbUIsQ0FBQztZQUN4QixJQUFJLE9BQU8sSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQkFDbkgsTUFBTSxNQUFNLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQztnQkFDN0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO2FBQzNGO2lCQUFNO2dCQUNMLElBQUksR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUN4RDtZQUNELEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0wsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7U0FDdEI7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FDZCxZQUF1QixFQUFFLFNBQW1CLEVBQUUsS0FBYyxFQUM1RCxXQUFXLEdBQUcsS0FBSyxFQUFFLFNBQXVDLEVBQUUsSUFBYTtRQUMzRSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUM3QyxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQzVELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hDLElBQUksMkJBQTJCLEdBQVEsTUFBTSxDQUFDO1FBQzlDLElBQUksa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksU0FBUyxFQUFFO1lBQ2IsMkJBQTJCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUM5QyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7U0FDM0I7UUFFRCxPQUFPLE1BQU07YUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDUCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hDLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2FBQ3JCO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDUCxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsQ0FBQyxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDO2FBQ2xEO1lBQ0QsSUFBSSxXQUFXLEVBQUU7Z0JBQ2Ysb0JBQW9CLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLDJCQUEyQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDekg7WUFDRCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQzthQUNELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDOztBQXpKdUIsaUNBQVksR0FBRztJQUNyQyxTQUFTO0lBQ1QsSUFBSTtJQUNKLEVBQUU7SUFDRixFQUFFO0NBQ0gsQ0FBQztBQUVzQix1Q0FBa0IsR0FBRyxDQUFDLDBCQUEwQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUVwRyxpQ0FBWSxHQUFHO0lBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxjQUFjO0lBQzVDLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxpQkFBaUI7Q0FDbkQsQ0FBQzt3RkFkUyxvQkFBb0I7a0ZBQXBCLG9CQUFvQjt1RkFBcEIsb0JBQW9CO2NBSGhDLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUscUJBQXFCO2FBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvZG9tYWluL2NvbmRpdGlvbmFsLXNob3cubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjY2RSZWFkRmllbGRzRmlsdGVyJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkRmllbGRzRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVNUFRZX1ZBTFVFUyA9IFtcbiAgICB1bmRlZmluZWQsXG4gICAgbnVsbCxcbiAgICAnJyxcbiAgICB7fVxuICBdO1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEFMV0FZU19OVUxMX0ZJRUxEUyA9IFsnQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyJywgJ1dheXNUb1BheScsICdGbGFnTGF1bmNoZXInLCAnQ29tcG9uZW50TGF1bmNoZXInXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBORVNURURfVFlQRVMgPSB7XG4gICAgQ29tcGxleDogUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNWYWxpZENvbXBsZXgsXG4gICAgQ29sbGVjdGlvbjogUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNWYWxpZENvbGxlY3Rpb25cbiAgfTtcblxuICAvKipcbiAgICogQ29tcGxleCB0eXBlIHNob3VsZCBoYXZlIGF0IGxlYXN0IG9uIHNpbXBsZSBmaWVsZCBkZXNjZW5kYW50IHdpdGggYSB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb21wbGV4KGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlcz86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHZhbHVlcyA9IHZhbHVlcyB8fCB7fTtcbiAgICBjb25zdCB0eXBlID0gZmllbGQuZmllbGRfdHlwZTtcbiAgICBjb25zdCB2YWx1ZSA9IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmdldFZhbHVlKGZpZWxkLCB2YWx1ZXMpO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW5XaXRoVmFsdWUgPSB0eXBlLmNvbXBsZXhfZmllbGRzLmZpbmQoZiA9PiB7XG4gICAgICBjb25zdCB3aWxsS2VlcCA9IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmtlZXBGaWVsZChmLCB2YWx1ZSwgdHJ1ZSk7XG4gICAgICByZXR1cm4gd2lsbEtlZXAgJiYgUmVhZEZpZWxkc0ZpbHRlclBpcGUuZXZhbHVhdGVDb25kaXRpb25hbFNob3coZiwgdmFsdWUpLmhpZGRlbiAhPT0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiAhIWhhc0NoaWxkcmVuV2l0aFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZENvbGxlY3Rpb24oZmllbGQ6IENhc2VGaWVsZCwgdmFsdWVzPzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgLy8gaWYgZmllbGQgaXMgY29sbGVjdGlvbiBhbmQgaXQgaGFzIGNvbXBsZXgvY29sbGVjdGlvbiBjaGlsZCBmaWVsZDsgcGFyZW50IGZpZWxkIGRvZXNudCBoYXZlIHZhbHVlIGRlZmluZWRcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZmllbGQudmFsdWUpICYmIHZhbHVlcyAmJiB2YWx1ZXMuaGFzT3duUHJvcGVydHkoZmllbGQuaWQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgaXNOb3RFbXB0eSA9IEFycmF5LmlzQXJyYXkoZmllbGQudmFsdWUpICYmIGZpZWxkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgaWYgKGlzTm90RW1wdHkgJiYgZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICByZXR1cm4gISFmaWVsZC52YWx1ZS5maW5kKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBjb21wbGV4RmllbGQgPSBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VGaWVsZCgpLCB7XG4gICAgICAgICAgaWQ6IGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkLFxuICAgICAgICAgIGZpZWxkX3R5cGU6IGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLFxuICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wbGV4KGNvbXBsZXhGaWVsZCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGlzTm90RW1wdHk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpc0VtcHR5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gUmVhZEZpZWxkc0ZpbHRlclBpcGUuRU1QVFlfVkFMVUVTLmluZGV4T2YodmFsdWUpICE9PSAtMVxuICAgICAgfHwgdmFsdWUubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNDb21wb3VuZChmaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLk5FU1RFRF9UWVBFU1tmaWVsZC5maWVsZF90eXBlLnR5cGVdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZENvbXBvdW5kKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlPzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzQ29tcG91bmQoZmllbGQpXG4gICAgICAgICAgICAmJiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ORVNURURfVFlQRVNbZmllbGQuZmllbGRfdHlwZS50eXBlXShmaWVsZCwgdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMga2VlcEZpZWxkKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlPzogb2JqZWN0LCBpZ25vcmVMYWJlbHMgPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgIC8vIFdlIHNob3VsZG4ndCBkaXRjaCBsYWJlbHMuXG4gICAgaWYgKCFpZ25vcmVMYWJlbHMgJiYgZmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnTGFiZWwnICYmIChmaWVsZC5sYWJlbCB8fCAnJykubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIFdlIGFsc28gc2hvdWxkbid0IGRpdGNoIGZpZWxkcyB0aGF0IHdpbGwgYWx3YXlzIGNvbWUgYmFjayB3aXRoIGEgbnVsbCB2YWx1ZS5cbiAgICBpZiAodGhpcy5BTFdBWVNfTlVMTF9GSUVMRFMuaW5kZXhPZihmaWVsZC5maWVsZF90eXBlLnR5cGUpICE9PSAtMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFsdWUgPSB2YWx1ZSB8fCB7fTtcblxuICAgIGlmIChSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0NvbXBvdW5kKGZpZWxkKSkge1xuICAgICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wb3VuZChmaWVsZCwgdmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiAhUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eShmaWVsZC52YWx1ZSlcbiAgICAgICAgICAgICAgfHwgIVJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzRW1wdHkodmFsdWVbZmllbGQuaWRdKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFZhbHVlKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlczogYW55LCBpbmRleD86IG51bWJlcik6IGFueSB7XG4gICAgbGV0IHZhbHVlOiBhbnk7XG4gICAgaWYgKGluZGV4ID49IDAgKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlc1tpbmRleF0udmFsdWVbZmllbGQuaWRdO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlc1tmaWVsZC5pZF07XG4gICAgfVxuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KGZpZWxkLnZhbHVlKSA/IHZhbHVlIDogZmllbGQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBldmFsdWF0ZUNvbmRpdGlvbmFsU2hvdyhmaWVsZDogQ2FzZUZpZWxkLCBmb3JtVmFsdWU6IGFueSwgcGF0aD86IHN0cmluZyxcbiAgICBmb3JtR3JvdXBBdmFsaWFibGU/OiBib29sZWFuLCBmaWVsZElkPzogc3RyaW5nKTogQ2FzZUZpZWxkIHtcbiAgICBpZiAoZmllbGQuZGlzcGxheV9jb250ZXh0ID09PSAnSElEREVOJykge1xuICAgICAgZmllbGQuaGlkZGVuID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkLnNob3dfY29uZGl0aW9uKSB7XG4gICAgICBsZXQgY29uZDogU2hvd0NvbmRpdGlvbjtcbiAgICAgIGlmIChmaWVsZElkICYmIGZpZWxkLnNob3dfY29uZGl0aW9uLmluZGV4T2YoZmllbGRJZCkgPiAtMSAmJiAhZm9ybUdyb3VwQXZhbGlhYmxlICYmICEhT2JqZWN0LmtleXMoZm9ybVZhbHVlKS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoID0gZmllbGRJZCArICcuJztcbiAgICAgICAgY29uc3Qgc2VhcmNoUmVnRXhwID0gbmV3IFJlZ0V4cChzZWFyY2gsICdnJyk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VXaXRoID0gJyc7XG4gICAgICAgIGNvbmQgPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKGZpZWxkLnNob3dfY29uZGl0aW9uLnJlcGxhY2Uoc2VhcmNoUmVnRXhwLCByZXBsYWNlV2l0aCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZCA9IFNob3dDb25kaXRpb24uZ2V0SW5zdGFuY2UoZmllbGQuc2hvd19jb25kaXRpb24pO1xuICAgICAgfVxuICAgICAgZmllbGQuaGlkZGVuID0gIWNvbmQubWF0Y2goZm9ybVZhbHVlLCBwYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmllbGQuaGlkZGVuID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgb3V0IGZpZWxkcyBoYXZpbmcgbm8gZGF0YSB0byBkaXNwbGF5IGFuZCBoYXJtb25pc2UgZmllbGQgdmFsdWVzIGNvbWluZyBwYXJlbnQncyB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgY29tcGxleEZpZWxkOiBDYXNlRmllbGQsIGtlZXBFbXB0eT86IGJvb2xlYW4sIGluZGV4PzogbnVtYmVyLFxuICAgIHNldHVwSGlkZGVuID0gZmFsc2UsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCB8IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IHN0cmluZyk6IENhc2VGaWVsZFtdIHtcbiAgICBpZiAoIWNvbXBsZXhGaWVsZCB8fCAhY29tcGxleEZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZHMgPSBjb21wbGV4RmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcyB8fCBbXTtcbiAgICBjb25zdCB2YWx1ZXMgPSBjb21wbGV4RmllbGQudmFsdWUgfHwge307XG4gICAgbGV0IGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdDogYW55ID0gdmFsdWVzO1xuICAgIGxldCBmb3JtR3JvdXBBdmFpbGFibGUgPSBmYWxzZTtcbiAgICBpZiAoZm9ybUdyb3VwKSB7XG4gICAgICBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QgPSBmb3JtR3JvdXAudmFsdWU7XG4gICAgICBmb3JtR3JvdXBBdmFpbGFibGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmaWVsZHNcbiAgICAgIC5tYXAoZiA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lID0gRmllbGRzVXRpbHMuY2xvbmVPYmplY3QoZik7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gUmVhZEZpZWxkc0ZpbHRlclBpcGUuZ2V0VmFsdWUoZiwgdmFsdWVzLCBpbmRleCk7XG4gICAgICAgIGlmICghUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICBjbG9uZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH0pXG4gICAgICAubWFwKGYgPT4ge1xuICAgICAgICBpZiAoIWYuZGlzcGxheV9jb250ZXh0KSB7XG4gICAgICAgICAgZi5kaXNwbGF5X2NvbnRleHQgPSBjb21wbGV4RmllbGQuZGlzcGxheV9jb250ZXh0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXR1cEhpZGRlbikge1xuICAgICAgICAgIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmV2YWx1YXRlQ29uZGl0aW9uYWxTaG93KGYsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCwgcGF0aCwgZm9ybUdyb3VwQXZhaWxhYmxlLCBjb21wbGV4RmllbGQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoZiA9PiBrZWVwRW1wdHkgfHwgUmVhZEZpZWxkc0ZpbHRlclBpcGUua2VlcEZpZWxkKGYpKTtcbiAgfVxufVxuIl19
@@ -1,6 +1,8 @@
1
1
  export * from './case-reference';
2
2
  export * from './case-title';
3
3
  export * from './complex';
4
+ export * from './link-cases-reason-code';
5
+ export * from './link-cases-from-reason-code';
4
6
  export * from './pipes.module';
5
7
  export * from './search-result/sorting/sort-search-result.pipe';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXNlLXJlZmVyZW5jZSc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtdGl0bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wbGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXJlc3VsdC9zb3J0aW5nL3NvcnQtc2VhcmNoLXJlc3VsdC5waXBlJztcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpREFBaUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FzZS1yZWZlcmVuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLXRpdGxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcGxleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmstY2FzZXMtcmVhc29uLWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5rLWNhc2VzLWZyb20tcmVhc29uLWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtcmVzdWx0L3NvcnRpbmcvc29ydC1zZWFyY2gtcmVzdWx0LnBpcGUnO1xuIl19
@@ -0,0 +1,28 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { LinkedCasesService } from '../../components/palette/linked-cases/services';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../components/palette/linked-cases/services";
5
+ export class LinkCasesFromReasonValuePipe {
6
+ constructor(linkedCasesService) {
7
+ this.linkedCasesService = linkedCasesService;
8
+ }
9
+ transform(linkFromReason) {
10
+ var _a, _b, _c;
11
+ if (linkFromReason === null || linkFromReason === void 0 ? void 0 : linkFromReason.otherDescription) {
12
+ const reasonCodeMapping = (_a = this.linkedCasesService.linkCaseReasons) === null || _a === void 0 ? void 0 : _a.find(reason => reason.key === linkFromReason.reasonCode);
13
+ return (reasonCodeMapping === null || reasonCodeMapping === void 0 ? void 0 : reasonCodeMapping.value_en) === 'Other'
14
+ ? `${reasonCodeMapping === null || reasonCodeMapping === void 0 ? void 0 : reasonCodeMapping.value_en} - ${linkFromReason.otherDescription}`
15
+ : reasonCodeMapping === null || reasonCodeMapping === void 0 ? void 0 : reasonCodeMapping.value_en;
16
+ }
17
+ return (_c = (_b = this.linkedCasesService.linkCaseReasons) === null || _b === void 0 ? void 0 : _b.find(reason => reason.key === linkFromReason.reasonCode)) === null || _c === void 0 ? void 0 : _c.value_en;
18
+ }
19
+ }
20
+ LinkCasesFromReasonValuePipe.ɵfac = function LinkCasesFromReasonValuePipe_Factory(t) { return new (t || LinkCasesFromReasonValuePipe)(i0.ɵɵdirectiveInject(i1.LinkedCasesService)); };
21
+ LinkCasesFromReasonValuePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "ccdLinkCasesFromReasonValue", type: LinkCasesFromReasonValuePipe, pure: true });
22
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkCasesFromReasonValuePipe, [{
23
+ type: Pipe,
24
+ args: [{
25
+ name: 'ccdLinkCasesFromReasonValue'
26
+ }]
27
+ }], function () { return [{ type: i1.LinkedCasesService }]; }, null); })();
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLWxpbmstY2FzZXMtZnJvbS1yZWFzb24tY29kZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9saW5rLWNhc2VzLWZyb20tcmVhc29uLWNvZGUvY2NkLWxpbmstY2FzZXMtZnJvbS1yZWFzb24tY29kZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFLcEYsTUFBTSxPQUFPLDRCQUE0QjtJQUV2QyxZQUE2QixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFaEUsU0FBUyxDQUFDLGNBQThCOztRQUM3QyxJQUFJLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxnQkFBZ0IsRUFBRTtZQUNwQyxNQUFNLGlCQUFpQixTQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLDBDQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVILE9BQU8sQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxRQUFRLE1BQUssT0FBTztnQkFDNUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLGFBQWpCLGlCQUFpQix1QkFBakIsaUJBQWlCLENBQUUsUUFBUSxNQUFNLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDdkUsQ0FBQyxDQUFDLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLFFBQVEsQ0FBQztTQUNqQztRQUNELG1CQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLDBDQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssY0FBYyxDQUFDLFVBQVUsMkNBQUcsUUFBUSxDQUFDO0lBQ3JILENBQUM7O3dHQVpVLDRCQUE0QjtrR0FBNUIsNEJBQTRCO3VGQUE1Qiw0QkFBNEI7Y0FIeEMsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSw2QkFBNkI7YUFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaW5rRnJvbVJlYXNvbiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvZG9tYWluJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvc2VydmljZXMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjY2RMaW5rQ2FzZXNGcm9tUmVhc29uVmFsdWUnXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDYXNlc0Zyb21SZWFzb25WYWx1ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm0obGlua0Zyb21SZWFzb246IExpbmtGcm9tUmVhc29uKTogc3RyaW5nIHtcbiAgICBpZiAobGlua0Zyb21SZWFzb24/Lm90aGVyRGVzY3JpcHRpb24pIHtcbiAgICAgIGNvbnN0IHJlYXNvbkNvZGVNYXBwaW5nID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua0Nhc2VSZWFzb25zPy5maW5kKHJlYXNvbiA9PiByZWFzb24ua2V5ID09PSBsaW5rRnJvbVJlYXNvbi5yZWFzb25Db2RlKTtcbiAgICAgIHJldHVybiByZWFzb25Db2RlTWFwcGluZz8udmFsdWVfZW4gPT09ICdPdGhlcidcbiAgICAgICAgPyBgJHtyZWFzb25Db2RlTWFwcGluZz8udmFsdWVfZW59IC0gJHtsaW5rRnJvbVJlYXNvbi5vdGhlckRlc2NyaXB0aW9ufWBcbiAgICAgICAgOiByZWFzb25Db2RlTWFwcGluZz8udmFsdWVfZW47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnM/LmZpbmQocmVhc29uID0+IHJlYXNvbi5rZXkgPT09IGxpbmtGcm9tUmVhc29uLnJlYXNvbkNvZGUpPy52YWx1ZV9lbjtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './ccd-link-cases-from-reason-code.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3BpcGVzL2xpbmstY2FzZXMtZnJvbS1yZWFzb24tY29kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jY2QtbGluay1jYXNlcy1mcm9tLXJlYXNvbi1jb2RlLnBpcGUnO1xuIl19
@@ -0,0 +1,28 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { LinkedCasesService } from '../../components/palette/linked-cases/services';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../components/palette/linked-cases/services";
5
+ export class LinkCasesReasonValuePipe {
6
+ constructor(linkedCasesService) {
7
+ this.linkedCasesService = linkedCasesService;
8
+ }
9
+ transform(linkReason) {
10
+ var _a, _b, _c;
11
+ if (linkReason === null || linkReason === void 0 ? void 0 : linkReason.OtherDescription) {
12
+ const reasonCodeMapping = (_a = this.linkedCasesService.linkCaseReasons) === null || _a === void 0 ? void 0 : _a.find(reason => reason.key === linkReason.Reason);
13
+ return (reasonCodeMapping === null || reasonCodeMapping === void 0 ? void 0 : reasonCodeMapping.value_en) === 'Other'
14
+ ? `${reasonCodeMapping === null || reasonCodeMapping === void 0 ? void 0 : reasonCodeMapping.value_en} - ${linkReason.OtherDescription}`
15
+ : reasonCodeMapping === null || reasonCodeMapping === void 0 ? void 0 : reasonCodeMapping.value_en;
16
+ }
17
+ return (_c = (_b = this.linkedCasesService.linkCaseReasons) === null || _b === void 0 ? void 0 : _b.find(reason => reason.key === linkReason.Reason)) === null || _c === void 0 ? void 0 : _c.value_en;
18
+ }
19
+ }
20
+ LinkCasesReasonValuePipe.ɵfac = function LinkCasesReasonValuePipe_Factory(t) { return new (t || LinkCasesReasonValuePipe)(i0.ɵɵdirectiveInject(i1.LinkedCasesService)); };
21
+ LinkCasesReasonValuePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "ccdLinkCasesReasonValue", type: LinkCasesReasonValuePipe, pure: true });
22
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkCasesReasonValuePipe, [{
23
+ type: Pipe,
24
+ args: [{
25
+ name: 'ccdLinkCasesReasonValue'
26
+ }]
27
+ }], function () { return [{ type: i1.LinkedCasesService }]; }, null); })();
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLWxpbmstY2FzZXMtcmVhc29uLWNvZGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvcGlwZXMvbGluay1jYXNlcy1yZWFzb24tY29kZS9jY2QtbGluay1jYXNlcy1yZWFzb24tY29kZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFLcEYsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxZQUE2QixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFaEUsU0FBUyxDQUFDLFVBQXNCOztRQUN2QyxJQUFJLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxnQkFBZ0IsRUFBRTtZQUNqQyxNQUFNLGlCQUFpQixTQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLDBDQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BILE9BQU8sQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxRQUFRLE1BQUssT0FBTztnQkFDN0MsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLGFBQWpCLGlCQUFpQix1QkFBakIsaUJBQWlCLENBQUUsUUFBUSxNQUFNLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkUsQ0FBQyxDQUFDLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLFFBQVEsQ0FBQztTQUMvQjtRQUNDLG1CQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLDBDQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDLE1BQU0sMkNBQUcsUUFBUSxDQUFDO0lBQzdHLENBQUM7O2dHQVpVLHdCQUF3QjswRkFBeEIsd0JBQXdCO3VGQUF4Qix3QkFBd0I7Y0FIcEMsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSx5QkFBeUI7YUFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaW5rUmVhc29uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL3NlcnZpY2VzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY2NkTGlua0Nhc2VzUmVhc29uVmFsdWUnXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDYXNlc1JlYXNvblZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UpIHt9XG5cbiAgcHVibGljIHRyYW5zZm9ybShsaW5rUmVhc29uOiBMaW5rUmVhc29uKTogc3RyaW5nIHtcblx0XHRpZiAobGlua1JlYXNvbj8uT3RoZXJEZXNjcmlwdGlvbikge1xuXHRcdFx0Y29uc3QgcmVhc29uQ29kZU1hcHBpbmcgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnM/LmZpbmQocmVhc29uID0+IHJlYXNvbi5rZXkgPT09IGxpbmtSZWFzb24uUmVhc29uKTtcblx0XHRcdHJldHVybiByZWFzb25Db2RlTWFwcGluZz8udmFsdWVfZW4gPT09ICdPdGhlcidcblx0XHRcdFx0PyBgJHtyZWFzb25Db2RlTWFwcGluZz8udmFsdWVfZW59IC0gJHtsaW5rUmVhc29uLk90aGVyRGVzY3JpcHRpb259YFxuXHRcdFx0XHQ6IHJlYXNvbkNvZGVNYXBwaW5nPy52YWx1ZV9lbjtcblx0XHR9XG4gICAgcmV0dXJuIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucz8uZmluZChyZWFzb24gPT4gcmVhc29uLmtleSA9PT0gbGlua1JlYXNvbi5SZWFzb24pPy52YWx1ZV9lbjtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './ccd-link-cases-reason-code.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3BpcGVzL2xpbmstY2FzZXMtcmVhc29uLWNvZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2NkLWxpbmstY2FzZXMtcmVhc29uLWNvZGUucGlwZSc7XG4iXX0=
@@ -3,6 +3,8 @@ import { NgModule } from '@angular/core';
3
3
  import { CaseReferencePipe } from './case-reference';
4
4
  import { CcdCaseTitlePipe } from './case-title';
5
5
  import { CcdCollectionTableCaseFieldsFilterPipe, CcdCYAPageLabelFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, ReadFieldsFilterPipe } from './complex';
6
+ import { LinkCasesFromReasonValuePipe } from './link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe';
7
+ import { LinkCasesReasonValuePipe } from './link-cases-reason-code/ccd-link-cases-reason-code.pipe';
6
8
  import { SortSearchResultPipe } from './search-result/sorting/sort-search-result.pipe';
7
9
  import * as i0 from "@angular/core";
8
10
  const pipeDeclarations = [
@@ -13,7 +15,9 @@ const pipeDeclarations = [
13
15
  CcdCYAPageLabelFilterPipe,
14
16
  ReadFieldsFilterPipe,
15
17
  CcdTabFieldsPipe,
16
- CcdPageFieldsPipe
18
+ CcdPageFieldsPipe,
19
+ LinkCasesReasonValuePipe,
20
+ LinkCasesFromReasonValuePipe
17
21
  ];
18
22
  export class PipesModule {
19
23
  }
@@ -29,14 +33,18 @@ PipesModule.ɵinj = i0.ɵɵdefineInjector({ imports: [[
29
33
  CcdCYAPageLabelFilterPipe,
30
34
  ReadFieldsFilterPipe,
31
35
  CcdTabFieldsPipe,
32
- CcdPageFieldsPipe], imports: [CommonModule], exports: [CaseReferencePipe,
36
+ CcdPageFieldsPipe,
37
+ LinkCasesReasonValuePipe,
38
+ LinkCasesFromReasonValuePipe], imports: [CommonModule], exports: [CaseReferencePipe,
33
39
  SortSearchResultPipe,
34
40
  CcdCaseTitlePipe,
35
41
  CcdCollectionTableCaseFieldsFilterPipe,
36
42
  CcdCYAPageLabelFilterPipe,
37
43
  ReadFieldsFilterPipe,
38
44
  CcdTabFieldsPipe,
39
- CcdPageFieldsPipe] }); })();
45
+ CcdPageFieldsPipe,
46
+ LinkCasesReasonValuePipe,
47
+ LinkCasesFromReasonValuePipe] }); })();
40
48
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PipesModule, [{
41
49
  type: NgModule,
42
50
  args: [{
@@ -51,4 +59,4 @@ PipesModule.ɵinj = i0.ɵɵdefineInjector({ imports: [[
51
59
  ]
52
60
  }]
53
61
  }], null, null); })();
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9waXBlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6SixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFFdkYsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixzQ0FBc0M7SUFDdEMseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0NBQ2xCLENBQUM7QUFhRixNQUFNLE9BQU8sV0FBVzs7c0VBQVgsV0FBVzsrQ0FBWCxXQUFXO21EQVZiO1lBQ1AsWUFBWTtTQUNiO3dGQVFVLFdBQVcsbUJBckJ0QixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixzQ0FBc0M7UUFDdEMseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsaUJBQWlCLGFBS2YsWUFBWSxhQVpkLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLHNDQUFzQztRQUN0Qyx5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixpQkFBaUI7dUZBY04sV0FBVztjQVh2QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLEdBQUcsZ0JBQWdCO2lCQUNwQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsR0FBRyxnQkFBZ0I7aUJBQ3BCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhc2VSZWZlcmVuY2VQaXBlIH0gZnJvbSAnLi9jYXNlLXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBDY2RDYXNlVGl0bGVQaXBlIH0gZnJvbSAnLi9jYXNlLXRpdGxlJztcbmltcG9ydCB7IENjZENvbGxlY3Rpb25UYWJsZUNhc2VGaWVsZHNGaWx0ZXJQaXBlLCBDY2RDWUFQYWdlTGFiZWxGaWx0ZXJQaXBlLCBDY2RQYWdlRmllbGRzUGlwZSwgQ2NkVGFiRmllbGRzUGlwZSwgUmVhZEZpZWxkc0ZpbHRlclBpcGUgfSBmcm9tICcuL2NvbXBsZXgnO1xuaW1wb3J0IHsgU29ydFNlYXJjaFJlc3VsdFBpcGUgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHQvc29ydGluZy9zb3J0LXNlYXJjaC1yZXN1bHQucGlwZSc7XG5cbmNvbnN0IHBpcGVEZWNsYXJhdGlvbnMgPSBbXG4gIENhc2VSZWZlcmVuY2VQaXBlLFxuICBTb3J0U2VhcmNoUmVzdWx0UGlwZSxcbiAgQ2NkQ2FzZVRpdGxlUGlwZSxcbiAgQ2NkQ29sbGVjdGlvblRhYmxlQ2FzZUZpZWxkc0ZpbHRlclBpcGUsXG4gIENjZENZQVBhZ2VMYWJlbEZpbHRlclBpcGUsXG4gIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLFxuICBDY2RUYWJGaWVsZHNQaXBlLFxuICBDY2RQYWdlRmllbGRzUGlwZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgLi4ucGlwZURlY2xhcmF0aW9uc1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLi4ucGlwZURlY2xhcmF0aW9uc1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBpcGVzTW9kdWxlIHt9XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9waXBlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6SixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFFdkYsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixzQ0FBc0M7SUFDdEMseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4Qiw0QkFBNEI7Q0FDN0IsQ0FBQztBQWFGLE1BQU0sT0FBTyxXQUFXOztzRUFBWCxXQUFXOytDQUFYLFdBQVc7bURBVmI7WUFDUCxZQUFZO1NBQ2I7d0ZBUVUsV0FBVyxtQkF2QnRCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLHNDQUFzQztRQUN0Qyx5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLDRCQUE0QixhQUsxQixZQUFZLGFBZGQsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsc0NBQXNDO1FBQ3RDLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsNEJBQTRCO3VGQWNqQixXQUFXO2NBWHZCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osR0FBRyxnQkFBZ0I7aUJBQ3BCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxHQUFHLGdCQUFnQjtpQkFDcEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuL2Nhc2UtcmVmZXJlbmNlJztcbmltcG9ydCB7IENjZENhc2VUaXRsZVBpcGUgfSBmcm9tICcuL2Nhc2UtdGl0bGUnO1xuaW1wb3J0IHsgQ2NkQ29sbGVjdGlvblRhYmxlQ2FzZUZpZWxkc0ZpbHRlclBpcGUsIENjZENZQVBhZ2VMYWJlbEZpbHRlclBpcGUsIENjZFBhZ2VGaWVsZHNQaXBlLCBDY2RUYWJGaWVsZHNQaXBlLCBSZWFkRmllbGRzRmlsdGVyUGlwZSB9IGZyb20gJy4vY29tcGxleCc7XG5pbXBvcnQgeyBMaW5rQ2FzZXNGcm9tUmVhc29uVmFsdWVQaXBlIH0gZnJvbSAnLi9saW5rLWNhc2VzLWZyb20tcmVhc29uLWNvZGUvY2NkLWxpbmstY2FzZXMtZnJvbS1yZWFzb24tY29kZS5waXBlJztcbmltcG9ydCB7IExpbmtDYXNlc1JlYXNvblZhbHVlUGlwZSB9IGZyb20gJy4vbGluay1jYXNlcy1yZWFzb24tY29kZS9jY2QtbGluay1jYXNlcy1yZWFzb24tY29kZS5waXBlJztcbmltcG9ydCB7IFNvcnRTZWFyY2hSZXN1bHRQaXBlIH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0L3NvcnRpbmcvc29ydC1zZWFyY2gtcmVzdWx0LnBpcGUnO1xuXG5jb25zdCBwaXBlRGVjbGFyYXRpb25zID0gW1xuICBDYXNlUmVmZXJlbmNlUGlwZSxcbiAgU29ydFNlYXJjaFJlc3VsdFBpcGUsXG4gIENjZENhc2VUaXRsZVBpcGUsXG4gIENjZENvbGxlY3Rpb25UYWJsZUNhc2VGaWVsZHNGaWx0ZXJQaXBlLFxuICBDY2RDWUFQYWdlTGFiZWxGaWx0ZXJQaXBlLFxuICBSZWFkRmllbGRzRmlsdGVyUGlwZSxcbiAgQ2NkVGFiRmllbGRzUGlwZSxcbiAgQ2NkUGFnZUZpZWxkc1BpcGUsXG4gIExpbmtDYXNlc1JlYXNvblZhbHVlUGlwZSxcbiAgTGlua0Nhc2VzRnJvbVJlYXNvblZhbHVlUGlwZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgLi4ucGlwZURlY2xhcmF0aW9uc1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLi4ucGlwZURlY2xhcmF0aW9uc1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBpcGVzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,91 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
+ import { distinctUntilChanged, filter } from 'rxjs/operators';
4
+ import { SessionStorageService } from '../session/session-storage.service';
5
+ import { ActivityService } from './activity.service';
6
+ import { Utils, MODES } from './utils/index';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../session/session-storage.service";
9
+ import * as i2 from "./activity.service";
10
+ export class ActivitySocketService {
11
+ constructor(sessionStorageService, activityService) {
12
+ this.sessionStorageService = sessionStorageService;
13
+ this.activityService = activityService;
14
+ this.connected = new BehaviorSubject(false);
15
+ if (this.activityService.modeSubject) {
16
+ this.activityService.modeSubject
17
+ .pipe(filter(mode => !!mode))
18
+ .pipe(distinctUntilChanged())
19
+ .subscribe(mode => {
20
+ this.destroy();
21
+ if (ActivitySocketService.SOCKET_MODES.indexOf(mode) > -1) {
22
+ this.init();
23
+ }
24
+ });
25
+ }
26
+ }
27
+ get user() {
28
+ return this.pUser || this.setupUser();
29
+ }
30
+ get isEnabled() {
31
+ return this.activityService.isEnabled && !!this.socket;
32
+ }
33
+ watchCases(caseIds) {
34
+ this.socket.emit('watch', { caseIds });
35
+ }
36
+ viewCase(caseId) {
37
+ this.socket.emit('view', { caseId });
38
+ }
39
+ editCase(caseId) {
40
+ this.socket.emit('edit', { caseId });
41
+ }
42
+ init() {
43
+ this.socket = Utils.getSocket(this.user, this.activityService.mode === MODES.socket);
44
+ this.connect = this.getObservableOnSocketEvent('connect');
45
+ this.connect_error = this.getObservableOnSocketEvent('connect_error');
46
+ this.disconnect = this.getObservableOnSocketEvent('disconnect');
47
+ this.activity = this.getObservableOnSocketEvent('activity');
48
+ this.disconnect.subscribe(() => {
49
+ this.connected.next(false);
50
+ });
51
+ this.connect_error.subscribe(() => {
52
+ this.connected.next(false);
53
+ });
54
+ this.connect.subscribe(() => {
55
+ this.connected.next(true);
56
+ });
57
+ this.socket.connect();
58
+ }
59
+ destroy() {
60
+ if (this.socket) {
61
+ this.socket.close();
62
+ this.socket = undefined;
63
+ }
64
+ }
65
+ getObservableOnSocketEvent(event) {
66
+ return new Observable(observer => {
67
+ this.socket.on(event, (payload) => {
68
+ observer.next(payload);
69
+ });
70
+ });
71
+ }
72
+ setupUser() {
73
+ const userInfoStr = this.sessionStorageService.getItem('userDetails');
74
+ const user = userInfoStr ? JSON.parse(userInfoStr) : null;
75
+ if (user) {
76
+ delete user.token;
77
+ }
78
+ this.pUser = user;
79
+ return this.pUser;
80
+ }
81
+ }
82
+ ActivitySocketService.SOCKET_MODES = [MODES.socket, MODES.socketLongPoll];
83
+ ActivitySocketService.ɵfac = function ActivitySocketService_Factory(t) { return new (t || ActivitySocketService)(i0.ɵɵinject(i1.SessionStorageService), i0.ɵɵinject(i2.ActivityService)); };
84
+ ActivitySocketService.ɵprov = i0.ɵɵdefineInjectable({ token: ActivitySocketService, factory: ActivitySocketService.ɵfac, providedIn: 'root' });
85
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActivitySocketService, [{
86
+ type: Injectable,
87
+ args: [{
88
+ providedIn: 'root'
89
+ }]
90
+ }], function () { return [{ type: i1.SessionStorageService }, { type: i2.ActivityService }]; }, null); })();
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktc29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2FjdGl2aXR5L2FjdGl2aXR5LXNvY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUs3QyxNQUFNLE9BQU8scUJBQXFCO0lBbUJoQyxZQUNtQixxQkFBNEMsRUFDNUMsZUFBZ0M7UUFEaEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFkNUMsY0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWdCL0UsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVc7aUJBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzVCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2lCQUM1QixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxPQUFPLEVBQUUs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QVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzFELElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O0FBMUZhLGtDQUFZLEdBQVksQ0FBRSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUUsQ0FBQzswRkFEbEUscUJBQXFCOzZEQUFyQixxQkFBcUIsV0FBckIscUJBQXFCLG1CQUZwQixNQUFNO3VGQUVQLHFCQUFxQjtjQUhqQyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IENhc2VBY3Rpdml0eUluZm8gfSBmcm9tICcuLi8uLi9kb21haW4vYWN0aXZpdHknO1xuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi8uLi9kb21haW4vdXNlcic7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2aXR5U2VydmljZSB9IGZyb20gJy4vYWN0aXZpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBVdGlscywgTU9ERVMgfSBmcm9tICcuL3V0aWxzL2luZGV4JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlTb2NrZXRTZXJ2aWNlIHtcbiAgcHVibGljIHN0YXRpYyBTT0NLRVRfTU9ERVM6IE1PREVTW10gPSBbIE1PREVTLnNvY2tldCwgTU9ERVMuc29ja2V0TG9uZ1BvbGwgXTtcblxuICBwdWJsaWMgYWN0aXZpdHk6IE9ic2VydmFibGU8Q2FzZUFjdGl2aXR5SW5mb1tdPjtcbiAgcHVibGljIGNvbm5lY3Q6IE9ic2VydmFibGU8YW55PjtcbiAgcHVibGljIGNvbm5lY3RfZXJyb3I6IE9ic2VydmFibGU8YW55PjtcbiAgcHVibGljIGRpc2Nvbm5lY3Q6IE9ic2VydmFibGU8YW55PjtcbiAgcHVibGljIGNvbm5lY3RlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIHNvY2tldDogU29ja2V0O1xuICBwcml2YXRlIHBVc2VyOiBVc2VySW5mbztcbiAgcHVibGljIGdldCB1c2VyKCk6IFVzZXJJbmZvIHtcbiAgICByZXR1cm4gdGhpcy5wVXNlciB8fCB0aGlzLnNldHVwVXNlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmlzRW5hYmxlZCAmJiAhIXRoaXMuc29ja2V0O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlXG4gICkge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5U2VydmljZS5tb2RlU3ViamVjdCkge1xuICAgICAgdGhpcy5hY3Rpdml0eVNlcnZpY2UubW9kZVN1YmplY3RcbiAgICAgICAgLnBpcGUoZmlsdGVyKG1vZGUgPT4gISFtb2RlKSlcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZShtb2RlID0+IHtcbiAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgICBpZiAoQWN0aXZpdHlTb2NrZXRTZXJ2aWNlLlNPQ0tFVF9NT0RFUy5pbmRleE9mKG1vZGUpID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHdhdGNoQ2FzZXMoY2FzZUlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnNvY2tldC5lbWl0KCd3YXRjaCcsIHsgY2FzZUlkcyB9KTtcbiAgfVxuXG4gIHB1YmxpYyB2aWV3Q2FzZShjYXNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc29ja2V0LmVtaXQoJ3ZpZXcnLCB7IGNhc2VJZCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlZGl0Q2FzZShjYXNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc29ja2V0LmVtaXQoJ2VkaXQnLCB7IGNhc2VJZCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNvY2tldCA9IFV0aWxzLmdldFNvY2tldCh0aGlzLnVzZXIsIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLm1vZGUgPT09IE1PREVTLnNvY2tldCk7XG4gICAgdGhpcy5jb25uZWN0ID0gdGhpcy5nZXRPYnNlcnZhYmxlT25Tb2NrZXRFdmVudDxhbnk+KCdjb25uZWN0Jyk7XG4gICAgdGhpcy5jb25uZWN0X2Vycm9yID0gdGhpcy5nZXRPYnNlcnZhYmxlT25Tb2NrZXRFdmVudDxhbnk+KCdjb25uZWN0X2Vycm9yJyk7XG4gICAgdGhpcy5kaXNjb25uZWN0ID0gdGhpcy5nZXRPYnNlcnZhYmxlT25Tb2NrZXRFdmVudDxhbnk+KCdkaXNjb25uZWN0Jyk7XG4gICAgdGhpcy5hY3Rpdml0eSA9IHRoaXMuZ2V0T2JzZXJ2YWJsZU9uU29ja2V0RXZlbnQ8Q2FzZUFjdGl2aXR5SW5mb1tdPignYWN0aXZpdHknKTtcblxuICAgIHRoaXMuZGlzY29ubmVjdC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0ZWQubmV4dChmYWxzZSk7XG4gICAgfSk7XG4gICAgdGhpcy5jb25uZWN0X2Vycm9yLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3RlZC5uZXh0KGZhbHNlKTtcbiAgICB9KTtcbiAgICB0aGlzLmNvbm5lY3Quc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGVkLm5leHQodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNvY2tldC5jb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc29ja2V0KSB7XG4gICAgICB0aGlzLnNvY2tldC5jbG9zZSgpO1xuICAgICAgdGhpcy5zb2NrZXQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRPYnNlcnZhYmxlT25Tb2NrZXRFdmVudDxUPihldmVudDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFQ+KG9ic2VydmVyID0+IHtcbiAgICAgIHRoaXMuc29ja2V0Lm9uKGV2ZW50LCAocGF5bG9hZDogVCkgPT4ge1xuICAgICAgICBvYnNlcnZlci5uZXh0KHBheWxvYWQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwVXNlcigpOiBVc2VySW5mbyB7XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGNvbnN0IHVzZXIgPSB1c2VySW5mb1N0ciA/IEpTT04ucGFyc2UodXNlckluZm9TdHIpIDogbnVsbDtcbiAgICBpZiAodXNlcikge1xuICAgICAgZGVsZXRlIHVzZXIudG9rZW47XG4gICAgfVxuICAgIHRoaXMucFVzZXIgPSB1c2VyO1xuICAgIHJldHVybiB0aGlzLnBVc2VyO1xuICB9XG59XG4iXX0=
@@ -1,8 +1,10 @@
1
1
  import { Injectable, NgZone } from '@angular/core';
2
2
  import polling from 'rx-polling';
3
3
  import { EMPTY, Subject } from 'rxjs';
4
+ import { distinctUntilChanged, filter } from 'rxjs/operators';
4
5
  import { AbstractAppConfig } from '../../../app.config';
5
6
  import { ActivityService } from './activity.service';
7
+ import { MODES } from './utils/index';
6
8
  import * as i0 from "@angular/core";
7
9
  import * as i1 from "./activity.service";
8
10
  import * as i2 from "../../../app.config";
@@ -13,16 +15,18 @@ export class ActivityPollingService {
13
15
  this.ngZone = ngZone;
14
16
  this.config = config;
15
17
  this.pendingRequests = new Map();
16
- this.pollConfig = {
17
- interval: config.getActivityNexPollRequestMs(),
18
- attempts: config.getActivityRetry(),
19
- backgroundPolling: true
20
- };
21
- this.batchCollectionDelayMs = config.getActivityBatchCollectionDelayMs();
22
- this.maxRequestsPerBatch = config.getActivityMaxRequestPerBatch();
18
+ this.activityService.modeSubject
19
+ .pipe(filter(mode => !!mode))
20
+ .pipe(distinctUntilChanged())
21
+ .subscribe(mode => {
22
+ this.stopPolling();
23
+ if (mode === MODES.polling) {
24
+ this.init();
25
+ }
26
+ });
23
27
  }
24
28
  get isEnabled() {
25
- return this.activityService.isEnabled;
29
+ return this.activityService.isEnabled && this.activityService.mode === MODES.polling;
26
30
  }
27
31
  subscribeToActivity(caseId, done) {
28
32
  if (!this.isEnabled) {
@@ -63,7 +67,9 @@ export class ActivityPollingService {
63
67
  }
64
68
  const requests = new Map(this.pendingRequests);
65
69
  this.pendingRequests.clear();
66
- this.performBatchRequest(requests);
70
+ if (this.isEnabled) {
71
+ this.performBatchRequest(requests);
72
+ }
67
73
  }
68
74
  pollActivities(...caseIds) {
69
75
  if (!this.isEnabled) {
@@ -103,10 +109,19 @@ export class ActivityPollingService {
103
109
  });
104
110
  return polling(this.activityService.postActivity(caseId, activityType), pollingConfig);
105
111
  }
112
+ init() {
113
+ this.pollConfig = {
114
+ interval: this.config.getActivityNexPollRequestMs(),
115
+ attempts: this.config.getActivityRetry(),
116
+ backgroundPolling: true
117
+ };
118
+ this.batchCollectionDelayMs = this.config.getActivityBatchCollectionDelayMs();
119
+ this.maxRequestsPerBatch = this.config.getActivityMaxRequestPerBatch();
120
+ }
106
121
  }
107
122
  ActivityPollingService.ɵfac = function ActivityPollingService_Factory(t) { return new (t || ActivityPollingService)(i0.ɵɵinject(i1.ActivityService), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.AbstractAppConfig)); };
108
123
  ActivityPollingService.ɵprov = i0.ɵɵdefineInjectable({ token: ActivityPollingService, factory: ActivityPollingService.ɵfac });
109
124
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActivityPollingService, [{
110
125
  type: Injectable
111
126
  }], function () { return [{ type: i1.ActivityService }, { type: i0.NgZone }, { type: i2.AbstractAppConfig }]; }, null); })();
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkucG9sbGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9hY3Rpdml0eS9hY3Rpdml0eS5wb2xsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxPQUFxQixNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBRXJELFdBQVc7QUFFWCxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDLFlBQTZCLGVBQWdDLEVBQW1CLE1BQWMsRUFBbUIsTUFBeUI7UUFBN0csb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFQekgsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBNkIsQ0FBQztRQVF0RSxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLFFBQVEsRUFBRSxNQUFNLENBQUMsMkJBQTJCLEVBQUU7WUFDOUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQyxpQkFBaUIsRUFBRSxJQUFJO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsTUFBYyxFQUFFLElBQWtDO1FBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLE9BQU8sSUFBSSxPQUFPLEVBQVksQ0FBQztTQUNoQztRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjthQUFNO1lBQ0wsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFZLENBQUM7WUFDbEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDM0M7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDakMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFVBQVUsQ0FDcEMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUN6Qiw0Q0FBNEM7b0JBQzVDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3pELHFEQUFxRDtZQUNyRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUNuQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztTQUN2QztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sY0FBYyxDQUFDLEdBQUcsT0FBaUI7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxRQUF3QztRQUNwRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25ELDhEQUE4RDtRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFFLEdBQUcsRUFBRTtZQUNsQywyRUFBMkU7WUFDM0UsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUztZQUNoRSx5RkFBeUY7WUFDL0YsQ0FBQyxVQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBRSxHQUFHLEVBQUU7Z0JBQzlDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDOUIsdURBQXVEO29CQUN2RCxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzdCLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDekUsQ0FBQyxDQUNGLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjLEVBQUUsWUFBb0I7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sYUFBYSxtQ0FDZCxJQUFJLENBQUMsVUFBVSxLQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLDBCQUEwQjtXQUMxQyxDQUFDO1FBRUYsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7OzRGQXhIVSxzQkFBc0I7OERBQXRCLHNCQUFzQixXQUF0QixzQkFBc0I7dUZBQXRCLHNCQUFzQjtjQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgcG9sbGluZywgeyBJT3B0aW9ucyB9IGZyb20gJ3J4LXBvbGxpbmcnO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vZG9tYWluL2FjdGl2aXR5L2FjdGl2aXR5Lm1vZGVsJztcbmltcG9ydCB7IEFjdGl2aXR5U2VydmljZSB9IGZyb20gJy4vYWN0aXZpdHkuc2VydmljZSc7XG5cbi8vIEBkeW5hbWljXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlQb2xsaW5nU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwZW5kaW5nUmVxdWVzdHMgPSBuZXcgTWFwPHN0cmluZywgU3ViamVjdDxBY3Rpdml0eT4+KCk7XG4gIHByaXZhdGUgY3VycmVudFRpbWVvdXRIYW5kbGU6IGFueTtcbiAgcHJpdmF0ZSBwb2xsQWN0aXZpdGllc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IHBvbGxDb25maWc6IElPcHRpb25zO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhdGNoQ29sbGVjdGlvbkRlbGF5TXM6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXhSZXF1ZXN0c1BlckJhdGNoOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhY3Rpdml0eVNlcnZpY2U6IEFjdGl2aXR5U2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEFic3RyYWN0QXBwQ29uZmlnKSB7XG4gICAgdGhpcy5wb2xsQ29uZmlnID0ge1xuICAgICAgaW50ZXJ2YWw6IGNvbmZpZy5nZXRBY3Rpdml0eU5leFBvbGxSZXF1ZXN0TXMoKSxcbiAgICAgIGF0dGVtcHRzOiBjb25maWcuZ2V0QWN0aXZpdHlSZXRyeSgpLFxuICAgICAgYmFja2dyb3VuZFBvbGxpbmc6IHRydWVcbiAgICB9O1xuICAgIHRoaXMuYmF0Y2hDb2xsZWN0aW9uRGVsYXlNcyA9IGNvbmZpZy5nZXRBY3Rpdml0eUJhdGNoQ29sbGVjdGlvbkRlbGF5TXMoKTtcbiAgICB0aGlzLm1heFJlcXVlc3RzUGVyQmF0Y2ggPSBjb25maWcuZ2V0QWN0aXZpdHlNYXhSZXF1ZXN0UGVyQmF0Y2goKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5U2VydmljZS5pc0VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlVG9BY3Rpdml0eShjYXNlSWQ6IHN0cmluZywgZG9uZTogKGFjdGl2aXR5OiBBY3Rpdml0eSkgPT4gdm9pZCk6IFN1YmplY3Q8QWN0aXZpdHk+IHtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVkKSB7XG4gICAgICByZXR1cm4gbmV3IFN1YmplY3Q8QWN0aXZpdHk+KCk7XG4gICAgfVxuXG4gICAgbGV0IHN1YmplY3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5nZXQoY2FzZUlkKTtcbiAgICBpZiAoc3ViamVjdCkge1xuICAgICAgc3ViamVjdC5zdWJzY3JpYmUoZG9uZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1YmplY3QgPSBuZXcgU3ViamVjdDxBY3Rpdml0eT4oKTtcbiAgICAgIHN1YmplY3Quc3Vic2NyaWJlKGRvbmUpO1xuICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuc2V0KGNhc2VJZCwgc3ViamVjdCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0cy5zaXplID09PSAxKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudFRpbWVvdXRIYW5kbGUgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndGltZW91dDogZmx1c2hpbmcgcmVxdWVzdHMnKVxuICAgICAgICAgICAgdGhpcy5mbHVzaFJlcXVlc3RzKCk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGhpcy5iYXRjaENvbGxlY3Rpb25EZWxheU1zKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0cy5zaXplID49IHRoaXMubWF4UmVxdWVzdHNQZXJCYXRjaCkge1xuICAgICAgLy8gY29uc29sZS5sb2coJ21heCBwZW5kaW5nIGhpdDogZmx1c2hpbmcgcmVxdWVzdHMnKTtcbiAgICAgIHRoaXMuZmx1c2hSZXF1ZXN0cygpO1xuICAgIH1cbiAgICByZXR1cm4gc3ViamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdG9wUG9sbGluZygpIHtcbiAgICBpZiAodGhpcy5wb2xsQWN0aXZpdGllc1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5wb2xsQWN0aXZpdGllc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmbHVzaFJlcXVlc3RzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lb3V0SGFuZGxlKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5jdXJyZW50VGltZW91dEhhbmRsZSk7XG4gICAgICB0aGlzLmN1cnJlbnRUaW1lb3V0SGFuZGxlID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3RzID0gbmV3IE1hcCh0aGlzLnBlbmRpbmdSZXF1ZXN0cyk7XG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuY2xlYXIoKTtcbiAgICB0aGlzLnBlcmZvcm1CYXRjaFJlcXVlc3QocmVxdWVzdHMpO1xuICB9XG5cbiAgcHVibGljIHBvbGxBY3Rpdml0aWVzKC4uLmNhc2VJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgaWYgKCF0aGlzLmlzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cblxuICAgIHJldHVybiBwb2xsaW5nKHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmdldEFjdGl2aXRpZXMoLi4uY2FzZUlkcyksIHRoaXMucG9sbENvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgcG9zdFZpZXdBY3Rpdml0eShjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QWN0aXZpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLnBvc3RBY3Rpdml0eShjYXNlSWQsIEFjdGl2aXR5U2VydmljZS5BQ1RJVklUWV9WSUVXKTtcbiAgfVxuXG4gIHB1YmxpYyBwb3N0RWRpdEFjdGl2aXR5KGNhc2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucG9zdEFjdGl2aXR5KGNhc2VJZCwgQWN0aXZpdHlTZXJ2aWNlLkFDVElWSVRZX0VESVQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBlcmZvcm1CYXRjaFJlcXVlc3QocmVxdWVzdHM6IE1hcDxzdHJpbmcsIFN1YmplY3Q8QWN0aXZpdHk+Pik6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VJZHMgPSBBcnJheS5mcm9tKHJlcXVlc3RzLmtleXMoKSkuam9pbigpO1xuICAgIC8vIGNvbnNvbGUubG9nKCdpc3N1aW5nIGJhdGNoIHJlcXVlc3QgZm9yIGNhc2VzOiAnICsgY2FzZUlkcyk7XG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoICgpID0+IHtcbiAgICAgIC8vIHJ1biBwb2xsaW5nIG91dHNpZGUgYW5ndWxhciB6b25lIHNvIGl0IGRvZXMgbm90IHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxuICAgICAgdGhpcy5wb2xsQWN0aXZpdGllc1N1YnNjcmlwdGlvbiA9IHRoaXMucG9sbEFjdGl2aXRpZXMoY2FzZUlkcykuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAvLyBwcm9jZXNzIGFjdGl2aXR5IGluc2lkZSB6b25lIHNvIGl0IHRyaWdnZXJzIGNoYW5nZSBkZXRlY3Rpb24gZm9yIGFjdGl2aXR5LmNvbXBvbmVudC50c1xuICAgICAgICAoYWN0aXZpdGllczogQWN0aXZpdHlbXSkgPT4gdGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG4gICAgICAgICAgICBhY3Rpdml0aWVzLmZvckVhY2goKGFjdGl2aXR5KSA9PiB7XG4gICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdwdXNoaW5nIGFjdGl2aXR5OiAnICsgYWN0aXZpdHkuY2FzZUlkKTtcbiAgICAgICAgICAgICAgcmVxdWVzdHMuZ2V0KGFjdGl2aXR5LmNhc2VJZCkubmV4dChhY3Rpdml0eSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdlcnJvcjogJyArIGVycik7XG4gICAgICAgICAgICBBcnJheS5mcm9tKHJlcXVlc3RzLnZhbHVlcygpKS5mb3JFYWNoKChzdWJqZWN0KSA9PiBzdWJqZWN0LmVycm9yKGVycikpO1xuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcG9zdEFjdGl2aXR5KGNhc2VJZDogc3RyaW5nLCBhY3Rpdml0eVR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8QWN0aXZpdHlbXT4ge1xuICAgIGlmICghdGhpcy5pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybiBFTVBUWTtcbiAgICB9XG5cbiAgICBjb25zdCBwb2xsaW5nQ29uZmlnID0ge1xuICAgICAgLi4udGhpcy5wb2xsQ29uZmlnLFxuICAgICAgaW50ZXJ2YWw6IDUwMDAgLy8gaW5saW5lIHdpdGggQ0NEIEJhY2tlbmRcbiAgICB9O1xuXG4gICAgcmV0dXJuIHBvbGxpbmcodGhpcy5hY3Rpdml0eVNlcnZpY2UucG9zdEFjdGl2aXR5KGNhc2VJZCwgYWN0aXZpdHlUeXBlKSwgcG9sbGluZ0NvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkucG9sbGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9hY3Rpdml0eS9hY3Rpdml0eS5wb2xsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxPQUFxQixNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRXRDLFdBQVc7QUFFWCxNQUFNLE9BQU8sc0JBQXNCO0lBYWpDLFlBQ21CLGVBQWdDLEVBQ2hDLE1BQWMsRUFDZCxNQUF5QjtRQUZ6QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBZDNCLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQTZCLENBQUM7UUFnQnRFLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVzthQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixJ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QUFFLFlBQW9CO1FBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLGFBQWEsbUNBQ2QsSUFBSSxDQUFDLFVBQVUsS0FDbEIsUUFBUSxFQUFFLElBQUksQ0FBQywwQkFBMEI7V0FDMUMsQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQUU7WUFDbkQsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7WUFDeEMsaUJBQWlCLEVBQUUsSUFBSTtTQUN4QixDQUFDO1FBQ0YsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztRQUM5RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQ3pFLENBQUM7OzRGQTFJVSxzQkFBc0I7OERBQXRCLHNCQUFzQixXQUF0QixzQkFBc0I7dUZBQXRCLHNCQUFzQjtjQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgcG9sbGluZywgeyBJT3B0aW9ucyB9IGZyb20gJ3J4LXBvbGxpbmcnO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uLy4uL2RvbWFpbi9hY3Rpdml0eS9hY3Rpdml0eS5tb2RlbCc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICcuL2FjdGl2aXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTU9ERVMgfSBmcm9tICcuL3V0aWxzL2luZGV4JztcblxuLy8gQGR5bmFtaWNcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBY3Rpdml0eVBvbGxpbmdTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBlbmRpbmdSZXF1ZXN0cyA9IG5ldyBNYXA8c3RyaW5nLCBTdWJqZWN0PEFjdGl2aXR5Pj4oKTtcbiAgcHJpdmF0ZSBjdXJyZW50VGltZW91dEhhbmRsZTogYW55O1xuICBwcml2YXRlIHBvbGxBY3Rpdml0aWVzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcG9sbENvbmZpZzogSU9wdGlvbnM7XG4gIHByaXZhdGUgYmF0Y2hDb2xsZWN0aW9uRGVsYXlNczogbnVtYmVyO1xuICBwcml2YXRlIG1heFJlcXVlc3RzUGVyQmF0Y2g6IG51bWJlcjtcblxuICBwdWJsaWMgZ2V0IGlzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVNlcnZpY2UuaXNFbmFibGVkICYmIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLm1vZGUgPT09IE1PREVTLnBvbGxpbmc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEFic3RyYWN0QXBwQ29uZmlnXG4gICkge1xuICAgIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLm1vZGVTdWJqZWN0XG4gICAgICAucGlwZShmaWx0ZXIobW9kZSA9PiAhIW1vZGUpKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUobW9kZSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcFBvbGxpbmcoKTtcbiAgICAgICAgaWYgKG1vZGUgPT09IE1PREVTLnBvbGxpbmcpIHtcbiAgICAgICAgICB0aGlzLmluaXQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlVG9BY3Rpdml0eShjYXNlSWQ6IHN0cmluZywgZG9uZTogKGFjdGl2aXR5OiBBY3Rpdml0eSkgPT4gdm9pZCk6IFN1YmplY3Q8QWN0aXZpdHk+IHtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVkKSB7XG4gICAgICByZXR1cm4gbmV3IFN1YmplY3Q8QWN0aXZpdHk+KCk7XG4gICAgfVxuXG4gICAgbGV0IHN1YmplY3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5nZXQoY2FzZUlkKTtcbiAgICBpZiAoc3ViamVjdCkge1xuICAgICAgc3ViamVjdC5zdWJzY3JpYmUoZG9uZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1YmplY3QgPSBuZXcgU3ViamVjdDxBY3Rpdml0eT4oKTtcbiAgICAgIHN1YmplY3Quc3Vic2NyaWJlKGRvbmUpO1xuICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuc2V0KGNhc2VJZCwgc3ViamVjdCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0cy5zaXplID09PSAxKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudFRpbWVvdXRIYW5kbGUgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndGltZW91dDogZmx1c2hpbmcgcmVxdWVzdHMnKVxuICAgICAgICAgICAgdGhpcy5mbHVzaFJlcXVlc3RzKCk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGhpcy5iYXRjaENvbGxlY3Rpb25EZWxheU1zKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0cy5zaXplID49IHRoaXMubWF4UmVxdWVzdHNQZXJCYXRjaCkge1xuICAgICAgLy8gY29uc29sZS5sb2coJ21heCBwZW5kaW5nIGhpdDogZmx1c2hpbmcgcmVxdWVzdHMnKTtcbiAgICAgIHRoaXMuZmx1c2hSZXF1ZXN0cygpO1xuICAgIH1cbiAgICByZXR1cm4gc3ViamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdG9wUG9sbGluZygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wb2xsQWN0aXZpdGllc1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5wb2xsQWN0aXZpdGllc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmbHVzaFJlcXVlc3RzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lb3V0SGFuZGxlKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5jdXJyZW50VGltZW91dEhhbmRsZSk7XG4gICAgICB0aGlzLmN1cnJlbnRUaW1lb3V0SGFuZGxlID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3RzID0gbmV3IE1hcCh0aGlzLnBlbmRpbmdSZXF1ZXN0cyk7XG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuY2xlYXIoKTtcbiAgICBpZiAodGhpcy5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMucGVyZm9ybUJhdGNoUmVxdWVzdChyZXF1ZXN0cyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHBvbGxBY3Rpdml0aWVzKC4uLmNhc2VJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgaWYgKCF0aGlzLmlzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cblxuICAgIHJldHVybiBwb2xsaW5nKHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmdldEFjdGl2aXRpZXMoLi4uY2FzZUlkcyksIHRoaXMucG9sbENvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgcG9zdFZpZXdBY3Rpdml0eShjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QWN0aXZpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLnBvc3RBY3Rpdml0eShjYXNlSWQsIEFjdGl2aXR5U2VydmljZS5BQ1RJVklUWV9WSUVXKTtcbiAgfVxuXG4gIHB1YmxpYyBwb3N0RWRpdEFjdGl2aXR5KGNhc2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucG9zdEFjdGl2aXR5KGNhc2VJZCwgQWN0aXZpdHlTZXJ2aWNlLkFDVElWSVRZX0VESVQpO1xuICB9XG5cbiAgcHJpdmF0ZSBwZXJmb3JtQmF0Y2hSZXF1ZXN0KHJlcXVlc3RzOiBNYXA8c3RyaW5nLCBTdWJqZWN0PEFjdGl2aXR5Pj4pOiB2b2lkIHtcbiAgICBjb25zdCBjYXNlSWRzID0gQXJyYXkuZnJvbShyZXF1ZXN0cy5rZXlzKCkpLmpvaW4oKTtcbiAgICAvLyBjb25zb2xlLmxvZygnaXNzdWluZyBiYXRjaCByZXF1ZXN0IGZvciBjYXNlczogJyArIGNhc2VJZHMpO1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCAoKSA9PiB7XG4gICAgICAvLyBydW4gcG9sbGluZyBvdXRzaWRlIGFuZ3VsYXIgem9uZSBzbyBpdCBkb2VzIG5vdCB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cbiAgICAgIHRoaXMucG9sbEFjdGl2aXRpZXNTdWJzY3JpcHRpb24gPSB0aGlzLnBvbGxBY3Rpdml0aWVzKGNhc2VJZHMpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgLy8gcHJvY2VzcyBhY3Rpdml0eSBpbnNpZGUgem9uZSBzbyBpdCB0cmlnZ2VycyBjaGFuZ2UgZGV0ZWN0aW9uIGZvciBhY3Rpdml0eS5jb21wb25lbnQudHNcbiAgICAgICAgKGFjdGl2aXRpZXM6IEFjdGl2aXR5W10pID0+IHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuICAgICAgICAgICAgYWN0aXZpdGllcy5mb3JFYWNoKChhY3Rpdml0eSkgPT4ge1xuICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygncHVzaGluZyBhY3Rpdml0eTogJyArIGFjdGl2aXR5LmNhc2VJZCk7XG4gICAgICAgICAgICAgIHJlcXVlc3RzLmdldChhY3Rpdml0eS5jYXNlSWQpLm5leHQoYWN0aXZpdHkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnZXJyb3I6ICcgKyBlcnIpO1xuICAgICAgICAgICAgQXJyYXkuZnJvbShyZXF1ZXN0cy52YWx1ZXMoKSkuZm9yRWFjaCgoc3ViamVjdCkgPT4gc3ViamVjdC5lcnJvcihlcnIpKTtcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHBvc3RBY3Rpdml0eShjYXNlSWQ6IHN0cmluZywgYWN0aXZpdHlUeXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFjdGl2aXR5W10+IHtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVkKSB7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgY29uc3QgcG9sbGluZ0NvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMucG9sbENvbmZpZyxcbiAgICAgIGludGVydmFsOiA1MDAwIC8vIGlubGluZSB3aXRoIENDRCBCYWNrZW5kXG4gICAgfTtcblxuICAgIHJldHVybiBwb2xsaW5nKHRoaXMuYWN0aXZpdHlTZXJ2aWNlLnBvc3RBY3Rpdml0eShjYXNlSWQsIGFjdGl2aXR5VHlwZSksIHBvbGxpbmdDb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9sbENvbmZpZyA9IHtcbiAgICAgIGludGVydmFsOiB0aGlzLmNvbmZpZy5nZXRBY3Rpdml0eU5leFBvbGxSZXF1ZXN0TXMoKSxcbiAgICAgIGF0dGVtcHRzOiB0aGlzLmNvbmZpZy5nZXRBY3Rpdml0eVJldHJ5KCksXG4gICAgICBiYWNrZ3JvdW5kUG9sbGluZzogdHJ1ZVxuICAgIH07XG4gICAgdGhpcy5iYXRjaENvbGxlY3Rpb25EZWxheU1zID0gdGhpcy5jb25maWcuZ2V0QWN0aXZpdHlCYXRjaENvbGxlY3Rpb25EZWxheU1zKCk7XG4gICAgdGhpcy5tYXhSZXF1ZXN0c1BlckJhdGNoID0gdGhpcy5jb25maWcuZ2V0QWN0aXZpdHlNYXhSZXF1ZXN0UGVyQmF0Y2goKTtcbiAgfVxufVxuIl19