@hmcts/ccd-case-ui-toolkit 7.0.5 → 7.0.6-case-flags-v2-1-release

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 (362) hide show
  1. package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +58 -28
  2. package/esm2020/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +2 -2
  3. package/esm2020/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +2 -2
  4. package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +5 -11
  5. package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.mjs +7 -0
  6. package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +165 -124
  7. package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +17 -22
  8. package/esm2020/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +2 -3
  9. package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +2 -2
  10. package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +5 -15
  11. package/esm2020/lib/shared/components/case-editor/services/case-flag-state.service.mjs +19 -0
  12. package/esm2020/lib/shared/components/case-editor/services/cases.service.mjs +6 -1
  13. package/esm2020/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +6 -25
  14. package/esm2020/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +4 -17
  15. package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +40 -15
  16. package/esm2020/lib/shared/components/case-viewer/case-viewer.module.mjs +8 -5
  17. package/esm2020/lib/shared/components/palette/address/write-address-field.component.mjs +19 -20
  18. package/esm2020/lib/shared/components/palette/base-field/field-read.component.mjs +1 -1
  19. package/esm2020/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +70 -31
  20. package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +249 -46
  21. package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +140 -71
  22. package/esm2020/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +165 -0
  23. package/esm2020/lib/shared/components/palette/case-flag/components/index.mjs +4 -1
  24. package/esm2020/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +73 -78
  25. package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.mjs +6 -0
  26. package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +133 -99
  27. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +22 -9
  28. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +213 -112
  29. package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +267 -0
  30. package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +439 -104
  31. package/esm2020/lib/shared/components/palette/case-flag/domain/case-flag-state.model.mjs +1 -1
  32. package/esm2020/lib/shared/components/palette/case-flag/domain/case-flag.model.mjs +1 -1
  33. package/esm2020/lib/shared/components/palette/case-flag/domain/language.model.mjs +1 -1
  34. package/esm2020/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.mjs +2 -1
  35. package/esm2020/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.mjs +3 -1
  36. package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.mjs +12 -0
  37. package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.mjs +15 -0
  38. package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.mjs +13 -0
  39. package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.mjs +3 -2
  40. package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.mjs +11 -3
  41. package/esm2020/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.mjs +6 -0
  42. package/esm2020/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.mjs +6 -0
  43. package/esm2020/lib/shared/components/palette/case-flag/enums/index.mjs +9 -2
  44. package/esm2020/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.mjs +3 -2
  45. package/esm2020/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.mjs +4 -1
  46. package/esm2020/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.mjs +6 -0
  47. package/esm2020/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.mjs +6 -0
  48. package/esm2020/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.mjs +5 -1
  49. package/esm2020/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.mjs +7 -2
  50. package/esm2020/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.mjs +10 -7
  51. package/esm2020/lib/shared/components/palette/case-flag/index.mjs +2 -1
  52. package/esm2020/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +41 -0
  53. package/esm2020/lib/shared/components/palette/case-flag/pipes/index.mjs +5 -0
  54. package/esm2020/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +41 -0
  55. package/esm2020/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +109 -0
  56. package/esm2020/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +77 -0
  57. package/esm2020/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +156 -57
  58. package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +385 -172
  59. package/esm2020/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +8 -10
  60. package/esm2020/lib/shared/components/palette/collection/write-collection-field.component.mjs +49 -54
  61. package/esm2020/lib/shared/components/palette/complex/read-complex-field.component.mjs +12 -14
  62. package/esm2020/lib/shared/components/palette/complex/sort-order.mjs +7 -0
  63. package/esm2020/lib/shared/components/palette/complex/write-complex-field.component.mjs +5 -6
  64. package/esm2020/lib/shared/components/palette/date/write-date-field.component.mjs +8 -10
  65. package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker-utils.mjs +3 -3
  66. package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +8 -10
  67. package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +36 -25
  68. package/esm2020/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +8 -10
  69. package/esm2020/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +8 -10
  70. package/esm2020/lib/shared/components/palette/email/write-email-field.component.mjs +8 -10
  71. package/esm2020/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +8 -10
  72. package/esm2020/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +8 -10
  73. package/esm2020/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +9 -7
  74. package/esm2020/lib/shared/components/palette/index.mjs +3 -1
  75. package/esm2020/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +25 -12
  76. package/esm2020/lib/shared/components/palette/markdown/index.mjs +2 -1
  77. package/esm2020/lib/shared/components/palette/markdown/markdown-component.module.mjs +40 -0
  78. package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +9 -7
  79. package/esm2020/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +8 -10
  80. package/esm2020/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +8 -10
  81. package/esm2020/lib/shared/components/palette/number/write-number-field.component.mjs +8 -10
  82. package/esm2020/lib/shared/components/palette/palette.module.mjs +148 -49
  83. package/esm2020/lib/shared/components/palette/palette.service.mjs +4 -2
  84. package/esm2020/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +8 -10
  85. package/esm2020/lib/shared/components/palette/query-management/__mocks__/index.mjs +210 -0
  86. package/esm2020/lib/shared/components/palette/query-management/components/index.mjs +13 -0
  87. package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +42 -0
  88. package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +144 -0
  89. package/esm2020/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +64 -0
  90. package/esm2020/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +60 -0
  91. package/esm2020/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +281 -0
  92. package/esm2020/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +327 -0
  93. package/esm2020/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +22 -0
  94. package/esm2020/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +164 -0
  95. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +74 -0
  96. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +107 -0
  97. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +201 -0
  98. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +101 -0
  99. package/esm2020/lib/shared/components/palette/query-management/enums/index.mjs +6 -0
  100. package/esm2020/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.mjs +5 -0
  101. package/esm2020/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +6 -0
  102. package/esm2020/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.mjs +10 -0
  103. package/esm2020/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.mjs +6 -0
  104. package/esm2020/lib/shared/components/palette/query-management/index.mjs +7 -0
  105. package/esm2020/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +2 -0
  106. package/esm2020/lib/shared/components/palette/query-management/models/index.mjs +8 -0
  107. package/esm2020/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.mjs +2 -0
  108. package/esm2020/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.mjs +2 -0
  109. package/esm2020/lib/shared/components/palette/query-management/models/query-create-context.enum.mjs +9 -0
  110. package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.mjs +2 -0
  111. package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +21 -0
  112. package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +38 -0
  113. package/esm2020/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +121 -0
  114. package/esm2020/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +22 -0
  115. package/esm2020/lib/shared/components/palette/text/write-text-field.component.mjs +8 -10
  116. package/esm2020/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +8 -10
  117. package/esm2020/lib/shared/components/palette/utils/field-label.pipe.mjs +14 -7
  118. package/esm2020/lib/shared/components/palette/utils/first-error.pipe.mjs +16 -9
  119. package/esm2020/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +10 -5
  120. package/esm2020/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +12 -13
  121. package/esm2020/lib/shared/domain/case-flag/flag-type.model.mjs +16 -2
  122. package/esm2020/lib/shared/domain/case-view/case-view-event-ids.enum.mjs +6 -0
  123. package/esm2020/lib/shared/domain/case-view/case-view-trigger.model.mjs +1 -2
  124. package/esm2020/lib/shared/domain/case-view/service-org-response.model.mjs +2 -0
  125. package/esm2020/lib/shared/domain/definition/display-context-enum.model.mjs +3 -1
  126. package/esm2020/lib/shared/domain/http/http-error.model.mjs +2 -8
  127. package/esm2020/lib/shared/fixture/shared.test.fixture.mjs +2 -1
  128. package/esm2020/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +4 -3
  129. package/esm2020/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +16 -0
  130. package/esm2020/lib/shared/pipes/generic/index.mjs +2 -0
  131. package/esm2020/lib/shared/pipes/index.mjs +3 -2
  132. package/esm2020/lib/shared/pipes/pipes.module.mjs +9 -5
  133. package/esm2020/lib/shared/services/case-flag/case-flag-refdata.service.mjs +9 -3
  134. package/esm2020/lib/shared/services/common-data-service/common-data-service.mjs +7 -1
  135. package/esm2020/lib/shared/services/fields/fields.purger.mjs +16 -6
  136. package/esm2020/lib/shared/services/fields/fields.utils.mjs +22 -4
  137. package/esm2020/lib/shared/services/form/form-value.service.mjs +23 -17
  138. package/esm2020/lib/shared/services/jurisdiction/jurisdiction.service.mjs +2 -1
  139. package/esm2020/lib/shared/services/request/request.options.builder.mjs +7 -1
  140. package/esm2020/lib/shared/services/utils/retry/retry.service.mjs +1 -2
  141. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +8851 -4312
  142. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  143. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +9850 -5730
  144. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  145. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +5 -2
  146. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  147. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  148. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts +6 -0
  149. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts.map +1 -0
  150. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -1
  151. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  152. package/lib/shared/components/case-editor/case-editor.module.d.ts +17 -20
  153. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  154. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
  155. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
  156. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +11 -0
  157. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -0
  158. package/lib/shared/components/case-editor/services/cases.service.d.ts +1 -0
  159. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  160. package/lib/shared/components/case-editor/services/event-completion-state-machine.service.d.ts.map +1 -1
  161. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  162. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +6 -2
  163. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  164. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +4 -4
  165. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  166. package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
  167. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +6 -2
  168. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  169. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +25 -8
  170. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts.map +1 -1
  171. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +2 -1
  172. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts.map +1 -1
  173. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +28 -0
  174. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -0
  175. package/lib/shared/components/palette/case-flag/components/index.d.ts +3 -0
  176. package/lib/shared/components/palette/case-flag/components/index.d.ts.map +1 -1
  177. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +4 -8
  178. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  179. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts +5 -0
  180. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +1 -0
  181. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +10 -8
  182. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  183. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +2 -1
  184. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  185. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +16 -9
  186. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  187. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +27 -0
  188. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +1 -0
  189. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +26 -11
  190. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  191. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts +1 -10
  192. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts.map +1 -1
  193. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +12 -1
  194. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
  195. package/lib/shared/components/palette/case-flag/domain/language.model.d.ts +1 -0
  196. package/lib/shared/components/palette/case-flag/domain/language.model.d.ts.map +1 -1
  197. package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts +1 -0
  198. package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts.map +1 -1
  199. package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts +3 -1
  200. package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts.map +1 -1
  201. package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts +11 -0
  202. package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts.map +1 -0
  203. package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts +14 -0
  204. package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts.map +1 -0
  205. package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts +12 -0
  206. package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts.map +1 -0
  207. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts +2 -1
  208. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts.map +1 -1
  209. package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts +11 -3
  210. package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts.map +1 -1
  211. package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts +5 -0
  212. package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts.map +1 -0
  213. package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts +5 -0
  214. package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts.map +1 -0
  215. package/lib/shared/components/palette/case-flag/enums/index.d.ts +8 -1
  216. package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
  217. package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts +2 -1
  218. package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts.map +1 -1
  219. package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts +3 -0
  220. package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts.map +1 -1
  221. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts +5 -0
  222. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts.map +1 -0
  223. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts +5 -0
  224. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts.map +1 -0
  225. package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts +5 -1
  226. package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts.map +1 -1
  227. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts +7 -2
  228. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts.map +1 -1
  229. package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts +7 -4
  230. package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts.map +1 -1
  231. package/lib/shared/components/palette/case-flag/index.d.ts +1 -0
  232. package/lib/shared/components/palette/case-flag/index.d.ts.map +1 -1
  233. package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts +19 -0
  234. package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts.map +1 -0
  235. package/lib/shared/components/palette/case-flag/pipes/index.d.ts +5 -0
  236. package/lib/shared/components/palette/case-flag/pipes/index.d.ts.map +1 -0
  237. package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts +18 -0
  238. package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts.map +1 -0
  239. package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts +25 -0
  240. package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts.map +1 -0
  241. package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts +21 -0
  242. package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts.map +1 -0
  243. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +12 -8
  244. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  245. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +52 -27
  246. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  247. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +3 -2
  248. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  249. package/lib/shared/components/palette/complex/read-complex-field.component.d.ts.map +1 -1
  250. package/lib/shared/components/palette/complex/sort-order.d.ts +6 -0
  251. package/lib/shared/components/palette/complex/sort-order.d.ts.map +1 -0
  252. package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
  253. package/lib/shared/components/palette/index.d.ts +2 -0
  254. package/lib/shared/components/palette/index.d.ts.map +1 -1
  255. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +6 -3
  256. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  257. package/lib/shared/components/palette/markdown/index.d.ts +1 -0
  258. package/lib/shared/components/palette/markdown/index.d.ts.map +1 -1
  259. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +13 -0
  260. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +1 -0
  261. package/lib/shared/components/palette/palette.module.d.ts +140 -118
  262. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  263. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  264. package/lib/shared/components/palette/query-management/__mocks__/index.d.ts +11 -0
  265. package/lib/shared/components/palette/query-management/__mocks__/index.d.ts.map +1 -0
  266. package/lib/shared/components/palette/query-management/components/index.d.ts +13 -0
  267. package/lib/shared/components/palette/query-management/components/index.d.ts.map +1 -0
  268. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +8 -0
  269. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts.map +1 -0
  270. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +22 -0
  271. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +1 -0
  272. package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +11 -0
  273. package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts.map +1 -0
  274. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +10 -0
  275. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +1 -0
  276. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +30 -0
  277. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -0
  278. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +16 -0
  279. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -0
  280. package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +9 -0
  281. package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts.map +1 -0
  282. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +18 -0
  283. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts.map +1 -0
  284. package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +20 -0
  285. package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts.map +1 -0
  286. package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +20 -0
  287. package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts.map +1 -0
  288. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +11 -0
  289. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +1 -0
  290. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +21 -0
  291. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +1 -0
  292. package/lib/shared/components/palette/query-management/enums/index.d.ts +6 -0
  293. package/lib/shared/components/palette/query-management/enums/index.d.ts.map +1 -0
  294. package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts +4 -0
  295. package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts.map +1 -0
  296. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +5 -0
  297. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +1 -0
  298. package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts +9 -0
  299. package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts.map +1 -0
  300. package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts +5 -0
  301. package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts.map +1 -0
  302. package/lib/shared/components/palette/query-management/index.d.ts +7 -0
  303. package/lib/shared/components/palette/query-management/index.d.ts.map +1 -0
  304. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +27 -0
  305. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -0
  306. package/lib/shared/components/palette/query-management/models/index.d.ts +8 -0
  307. package/lib/shared/components/palette/query-management/models/index.d.ts.map +1 -0
  308. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +5 -0
  309. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +1 -0
  310. package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts +6 -0
  311. package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts.map +1 -0
  312. package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts +8 -0
  313. package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts.map +1 -0
  314. package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts +7 -0
  315. package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts.map +1 -0
  316. package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts +10 -0
  317. package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts.map +1 -0
  318. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +22 -0
  319. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -0
  320. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +18 -0
  321. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -0
  322. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +12 -0
  323. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -0
  324. package/lib/shared/components/palette/utils/field-label.pipe.d.ts +3 -0
  325. package/lib/shared/components/palette/utils/field-label.pipe.d.ts.map +1 -1
  326. package/lib/shared/components/palette/utils/first-error.pipe.d.ts +8 -5
  327. package/lib/shared/components/palette/utils/first-error.pipe.d.ts.map +1 -1
  328. package/lib/shared/components/palette/yes-no/read-yes-no-field.component.d.ts.map +1 -1
  329. package/lib/shared/domain/case-flag/flag-type.model.d.ts +6 -1
  330. package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
  331. package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts +5 -0
  332. package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts.map +1 -0
  333. package/lib/shared/domain/case-view/case-view-trigger.model.d.ts +0 -1
  334. package/lib/shared/domain/case-view/case-view-trigger.model.d.ts.map +1 -1
  335. package/lib/shared/domain/case-view/service-org-response.model.d.ts +14 -0
  336. package/lib/shared/domain/case-view/service-org-response.model.d.ts.map +1 -0
  337. package/lib/shared/domain/definition/display-context-enum.model.d.ts +3 -1
  338. package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -1
  339. package/lib/shared/domain/http/http-error.model.d.ts +0 -1
  340. package/lib/shared/domain/http/http-error.model.d.ts.map +1 -1
  341. package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
  342. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  343. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +8 -0
  344. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +1 -0
  345. package/lib/shared/pipes/generic/index.d.ts +2 -0
  346. package/lib/shared/pipes/generic/index.d.ts.map +1 -0
  347. package/lib/shared/pipes/index.d.ts +2 -1
  348. package/lib/shared/pipes/index.d.ts.map +1 -1
  349. package/lib/shared/pipes/pipes.module.d.ts +3 -2
  350. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  351. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +3 -2
  352. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
  353. package/lib/shared/services/common-data-service/common-data-service.d.ts +2 -0
  354. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -1
  355. package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
  356. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  357. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  358. package/lib/shared/services/form/form-value.service.d.ts +1 -1
  359. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  360. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  361. package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
  362. package/package.json +1 -1
@@ -1,10 +1,8 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
- import { CaseFlagFieldState, CaseFlagWizardStepTitle, SelectFlagErrorMessage } from '../../enums';
3
+ import { FieldsUtils } from '../../../../../services/fields';
4
+ import { CaseFlagDisplayContextParameter, CaseFlagFieldState, CaseFlagStatus, CaseFlagWizardStepTitle, SelectFlagErrorMessage } from '../../enums';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "rpx-xui-translation";
8
6
  function ManageCaseFlagsComponent_div_7_Template(rf, ctx) { if (rf & 1) {
9
7
  i0.ɵɵelementStart(0, "div", 9)(1, "span", 10);
10
8
  i0.ɵɵtext(2);
@@ -23,6 +21,7 @@ function ManageCaseFlagsComponent_div_7_Template(rf, ctx) { if (rf & 1) {
23
21
  function ManageCaseFlagsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
24
22
  i0.ɵɵelementStart(0, "div", 11);
25
23
  i0.ɵɵelement(1, "input", 12)(2, "label", 13);
24
+ i0.ɵɵpipe(3, "manageCaseFlagsLabelDisplay");
26
25
  i0.ɵɵelementEnd();
27
26
  } if (rf & 2) {
28
27
  const flagDisplay_r3 = ctx.$implicit;
@@ -33,7 +32,7 @@ function ManageCaseFlagsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
33
32
  i0.ɵɵproperty("name", ctx_r1.selectedControlName)("value", flagDisplay_r3)("formControlName", ctx_r1.selectedControlName);
34
33
  i0.ɵɵadvance(1);
35
34
  i0.ɵɵpropertyInterpolate1("for", "flag-selection-", i_r4, "");
36
- i0.ɵɵproperty("innerHtml", flagDisplay_r3.label, i0.ɵɵsanitizeHtml);
35
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(3, 6, flagDisplay_r3), i0.ɵɵsanitizeHtml);
37
36
  } }
38
37
  function ManageCaseFlagsComponent_div_10_Template(rf, ctx) { if (rf & 1) {
39
38
  const _r6 = i0.ɵɵgetCurrentView();
@@ -54,23 +53,24 @@ export class ManageCaseFlagsComponent {
54
53
  this.manageCaseFlagSelectedErrorMessage = null;
55
54
  this.noFlagsError = false;
56
55
  this.selectedControlName = 'selectedManageCaseLocation';
56
+ this.excludedFlagStatuses = [CaseFlagStatus.INACTIVE, CaseFlagStatus.NOT_APPROVED];
57
57
  }
58
58
  ngOnInit() {
59
- this.manageCaseFlagTitle = CaseFlagWizardStepTitle.MANAGE_CASE_FLAGS;
60
- // Map flags instances to objects for display
59
+ this.manageCaseFlagTitle = this.setManageCaseFlagTitle(this.displayContextParameter);
60
+ // Map flags instances to objects for display, filtering out any where the original status is either "Inactive" or
61
+ // "Not approved"
62
+ /* istanbul ignore else */
61
63
  if (this.flagsData) {
62
64
  this.flagsDisplayData = this.flagsData.reduce((displayData, flagsInstance) => {
65
+ /* istanbul ignore else */
63
66
  if (flagsInstance.flags.details && flagsInstance.flags.details.length > 0) {
64
67
  displayData = [
65
68
  ...displayData,
66
- ...flagsInstance.flags.details.map(detail => this.mapFlagDetailForDisplay(detail, flagsInstance))
69
+ ...flagsInstance.flags.details.map((detail) => this.mapFlagDetailForDisplay(detail, flagsInstance))
67
70
  ];
68
71
  }
69
72
  return displayData;
70
- }, []);
71
- this.flagsDisplayData.forEach(flagDisplayData => {
72
- flagDisplayData.label = this.processLabel(flagDisplayData);
73
- });
73
+ }, []).filter((flagForDisplay) => !this.excludedFlagStatuses.includes(flagForDisplay.originalStatus));
74
74
  }
75
75
  // Add a FormControl for the selected case flag if there is at least one flags instance remaining after mapping
76
76
  if (this.flagsDisplayData && this.flagsDisplayData.length > 0) {
@@ -83,70 +83,49 @@ export class ManageCaseFlagsComponent {
83
83
  }
84
84
  }
85
85
  mapFlagDetailForDisplay(flagDetail, flagsInstance) {
86
+ // Reset the flag status with the original persisted status. This is needed because ngOnInit() needs to filter
87
+ // out any "Inactive" or "Not approved" flags based on their status *before* modification. If the user changes a
88
+ // flag's status then decides to return to the start of the flag update journey, the flag's status would no
89
+ // longer reflect its actual *persisted* status
90
+ // Also reset comments and description fields (both English and Welsh) with the original persisted data, to avoid
91
+ // the UI caching any changes that the user might not want persisted, if they start over and don't intend to add
92
+ // translations subsequently
93
+ let originalStatus;
94
+ let formattedValue = flagsInstance.caseField?.formatted_value;
95
+ // Use the pathToFlagsFormGroup property from the selected flag location to drill down to the correct part of the
96
+ // CaseField formatted_value from which to get the original persisted data
97
+ const pathToValue = flagsInstance.pathToFlagsFormGroup;
98
+ // Root-level Flags CaseFields don't have a dot-delimited path - just the CaseField ID itself - so don't drill down
99
+ if (pathToValue.indexOf('.') > -1) {
100
+ pathToValue.slice(pathToValue.indexOf('.') + 1).split('.').forEach((part) => {
101
+ if (formattedValue && FieldsUtils.isNonEmptyObject(formattedValue)) {
102
+ formattedValue = formattedValue[part];
103
+ }
104
+ });
105
+ }
106
+ if (formattedValue && FieldsUtils.isNonEmptyObject(formattedValue)) {
107
+ const originalFlagDetail = formattedValue.details?.find((detail) => detail.id === flagDetail.id);
108
+ if (originalFlagDetail) {
109
+ originalStatus = originalFlagDetail.value?.status;
110
+ flagDetail.flagComment = originalFlagDetail.value?.flagComment;
111
+ flagDetail.flagComment_cy = originalFlagDetail.value?.flagComment_cy;
112
+ flagDetail.otherDescription = originalFlagDetail.value?.otherDescription;
113
+ flagDetail.otherDescription_cy = originalFlagDetail.value?.otherDescription_cy;
114
+ }
115
+ }
86
116
  return {
87
117
  flagDetailDisplay: {
88
- partyName: flagsInstance.flags.partyName,
118
+ partyName: flagsInstance.flags?.partyName,
89
119
  flagDetail,
90
- flagsCaseFieldId: flagsInstance.caseField.id
120
+ flagsCaseFieldId: flagsInstance.caseField?.id,
121
+ visibility: flagsInstance.flags?.visibility
91
122
  },
92
123
  pathToFlagsFormGroup: flagsInstance.pathToFlagsFormGroup,
93
124
  caseField: flagsInstance.caseField,
94
- roleOnCase: flagsInstance.flags.roleOnCase
125
+ roleOnCase: flagsInstance.flags?.roleOnCase,
126
+ originalStatus
95
127
  };
96
128
  }
97
- processLabel(flagDisplay) {
98
- const flagDetail = flagDisplay.flagDetailDisplay.flagDetail;
99
- const partyName = this.getPartyName(flagDisplay);
100
- const flagName = this.getFlagName(flagDetail);
101
- const flagDescription = this.getFlagDescription(flagDetail);
102
- const roleOnCase = this.getRoleOnCase(flagDisplay);
103
- const flagComment = this.getFlagComments(flagDetail);
104
- return flagName === flagDescription
105
- ? `${partyName}${roleOnCase} - <span class="flag-name-and-description">${flagDescription}</span>${flagComment}`
106
- : `${partyName}${roleOnCase} - <span class="flag-name-and-description">${flagName}, ${flagDescription}</span>${flagComment}`;
107
- }
108
- getPartyName(flagDisplay) {
109
- if (flagDisplay.pathToFlagsFormGroup && flagDisplay.pathToFlagsFormGroup === ManageCaseFlagsComponent.CASE_LEVEL_CASE_FLAGS_FIELD_ID) {
110
- return 'Case level';
111
- }
112
- if (flagDisplay.flagDetailDisplay.partyName) {
113
- return `${flagDisplay.flagDetailDisplay.partyName}`;
114
- }
115
- return '';
116
- }
117
- getFlagName(flagDetail) {
118
- if (flagDetail && flagDetail.path && flagDetail.path.length > 1) {
119
- return flagDetail.path[1].value;
120
- }
121
- if (flagDetail.subTypeKey && flagDetail.subTypeValue) {
122
- return flagDetail.subTypeValue;
123
- }
124
- return flagDetail.name;
125
- }
126
- getFlagDescription(flagDetail) {
127
- if (flagDetail && flagDetail.name) {
128
- if (flagDetail.name === 'Other' && flagDetail.otherDescription) {
129
- return flagDetail.otherDescription;
130
- }
131
- if (flagDetail.subTypeKey && flagDetail.subTypeValue) {
132
- return flagDetail.subTypeValue;
133
- }
134
- return flagDetail.name;
135
- }
136
- return '';
137
- }
138
- getRoleOnCase(flagDisplay) {
139
- if (flagDisplay && flagDisplay.roleOnCase) {
140
- return ` (${flagDisplay.roleOnCase})`;
141
- }
142
- return '';
143
- }
144
- getFlagComments(flagDetail) {
145
- if (flagDetail.flagComment) {
146
- return ` (${flagDetail.flagComment})`;
147
- }
148
- return '';
149
- }
150
129
  onNext() {
151
130
  // Validate flag selection
152
131
  this.validateSelection();
@@ -158,15 +137,29 @@ export class ManageCaseFlagsComponent {
158
137
  ? this.formGroup.get(this.selectedControlName).value
159
138
  : null
160
139
  });
140
+ window.scrollTo(0, 0);
141
+ }
142
+ setManageCaseFlagTitle(displayContextParameter) {
143
+ switch (displayContextParameter) {
144
+ case CaseFlagDisplayContextParameter.UPDATE:
145
+ case CaseFlagDisplayContextParameter.UPDATE_2_POINT_1:
146
+ return CaseFlagWizardStepTitle.MANAGE_CASE_FLAGS;
147
+ case CaseFlagDisplayContextParameter.UPDATE_EXTERNAL:
148
+ return CaseFlagWizardStepTitle.MANAGE_SUPPORT;
149
+ default:
150
+ return CaseFlagWizardStepTitle.NONE;
151
+ }
161
152
  }
162
153
  validateSelection() {
163
154
  this.manageCaseFlagSelectedErrorMessage = null;
164
155
  this.errorMessages = [];
165
156
  if (!this.formGroup.get(this.selectedControlName).value) {
166
- this.manageCaseFlagSelectedErrorMessage = SelectFlagErrorMessage.FLAG_NOT_SELECTED;
157
+ const errorMessage = this.displayContextParameter === CaseFlagDisplayContextParameter.UPDATE_EXTERNAL ?
158
+ SelectFlagErrorMessage.MANAGE_SUPPORT_FLAG_NOT_SELECTED : SelectFlagErrorMessage.MANAGE_CASE_FLAGS_FLAG_NOT_SELECTED;
159
+ this.manageCaseFlagSelectedErrorMessage = errorMessage;
167
160
  this.errorMessages.push({
168
161
  title: '',
169
- description: SelectFlagErrorMessage.FLAG_NOT_SELECTED,
162
+ description: errorMessage,
170
163
  fieldId: 'conditional-radios-list'
171
164
  });
172
165
  }
@@ -183,19 +176,19 @@ export class ManageCaseFlagsComponent {
183
176
  });
184
177
  }
185
178
  }
186
- ManageCaseFlagsComponent.CASE_LEVEL_CASE_FLAGS_FIELD_ID = 'caseFlags';
187
179
  ManageCaseFlagsComponent.ɵfac = function ManageCaseFlagsComponent_Factory(t) { return new (t || ManageCaseFlagsComponent)(); };
188
- ManageCaseFlagsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 11, vars: 10, consts: [[1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "manage-case-flag-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["id", "manage-case-flag-heading", 1, "govuk-fieldset__heading"], ["id", "manage-case-flag-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "manage-case-flag-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHtml"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
189
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "fieldset", 2)(3, "legend", 3)(4, "h1", 4);
180
+ ManageCaseFlagsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 11, vars: 10, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "manage-case-flag-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "manage-case-flag-heading", 1, "govuk-fieldset__heading"], ["id", "manage-case-flag-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "manage-case-flag-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHtml"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
181
+ i0.ɵɵelementContainerStart(0, 0);
182
+ i0.ɵɵelementStart(1, "div", 1)(2, "fieldset", 2)(3, "legend", 3)(4, "h1", 4);
190
183
  i0.ɵɵtext(5);
191
184
  i0.ɵɵpipe(6, "rpxTranslate");
192
185
  i0.ɵɵelementEnd()();
193
186
  i0.ɵɵtemplate(7, ManageCaseFlagsComponent_div_7_Template, 6, 6, "div", 5);
194
187
  i0.ɵɵelementStart(8, "div", 6);
195
- i0.ɵɵtemplate(9, ManageCaseFlagsComponent_div_9_Template, 3, 6, "div", 7);
188
+ i0.ɵɵtemplate(9, ManageCaseFlagsComponent_div_9_Template, 4, 8, "div", 7);
196
189
  i0.ɵɵelementEnd()()();
190
+ i0.ɵɵelementContainerEnd();
197
191
  i0.ɵɵtemplate(10, ManageCaseFlagsComponent_div_10_Template, 4, 3, "div", 8);
198
- i0.ɵɵelementEnd();
199
192
  } if (rf & 2) {
200
193
  i0.ɵɵproperty("formGroup", ctx.formGroup);
201
194
  i0.ɵɵadvance(1);
@@ -208,17 +201,19 @@ ManageCaseFlagsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ma
208
201
  i0.ɵɵproperty("ngForOf", ctx.flagsDisplayData);
209
202
  i0.ɵɵadvance(1);
210
203
  i0.ɵɵproperty("ngIf", !ctx.noFlagsError);
211
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.DefaultValueAccessor, i2.RadioControlValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i3.RpxTranslatePipe], styles: [".flag-name-and-description{font-weight:700}\n"], encapsulation: 2 });
204
+ } }, styles: [".flag-name-and-description{font-weight:700}\n"], encapsulation: 2 });
212
205
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ManageCaseFlagsComponent, [{
213
206
  type: Component,
214
- args: [{ selector: 'ccd-manage-case-flags', encapsulation: ViewEncapsulation.None, template: "<div class=\"form-group\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"manage-case-flag-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 id=\"manage-case-flag-heading\" class=\"govuk-fieldset__heading\">\n {{manageCaseFlagTitle | rpxTranslate}}\n </h1>\n </legend>\n <div id=\"manage-case-flag-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"manageCaseFlagSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{manageCaseFlagSelectedErrorMessage | rpxTranslate}}\n </div>\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let flagDisplay of flagsDisplayData; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-selection-{{i}}\" [name]=\"selectedControlName\"\n type=\"radio\" [value]=\"flagDisplay\" [formControlName]=\"selectedControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-selection-{{i}}\" [innerHtml]=\"flagDisplay.label\"></label>\n </div>\n </div>\n </fieldset>\n </div>\n <div class=\"govuk-button-group\" *ngIf=\"!noFlagsError\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n </div>\n</div>\n", styles: [".flag-name-and-description{font-weight:700}\n"] }]
207
+ args: [{ selector: 'ccd-manage-case-flags', encapsulation: ViewEncapsulation.None, template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"manage-case-flag-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"manage-case-flag-heading\" class=\"govuk-fieldset__heading\">\n {{manageCaseFlagTitle | rpxTranslate}}\n </h1>\n </legend>\n <div id=\"manage-case-flag-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"manageCaseFlagSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{manageCaseFlagSelectedErrorMessage | rpxTranslate}}\n </div>\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let flagDisplay of flagsDisplayData; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-selection-{{i}}\" [name]=\"selectedControlName\"\n type=\"radio\" [value]=\"flagDisplay\" [formControlName]=\"selectedControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-selection-{{i}}\" [innerHtml]=\"flagDisplay | manageCaseFlagsLabelDisplay\"></label>\n </div>\n </div>\n </fieldset>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\" *ngIf=\"!noFlagsError\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n", styles: [".flag-name-and-description{font-weight:700}\n"] }]
215
208
  }], null, { formGroup: [{
216
209
  type: Input
217
210
  }], flagsData: [{
218
211
  type: Input
219
212
  }], caseTitle: [{
220
213
  type: Input
214
+ }], displayContextParameter: [{
215
+ type: Input
221
216
  }], caseFlagStateEmitter: [{
222
217
  type: Output
223
218
  }] }); })();
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDSTVGLDhCQUM2QyxlQUFBO0lBQ1AsWUFBMkI7O0lBQUEsaUJBQU87SUFBQyxZQUN6RTs7SUFBQSxpQkFBTTs7O0lBRGdDLGVBQTJCO0lBQTNCLG9EQUEyQjtJQUFRLGVBQ3pFO0lBRHlFLGdHQUN6RTs7O0lBRUUsK0JBQXlGO0lBQ3ZGLDRCQUM4RSxnQkFBQTtJQUVoRixpQkFBTTs7Ozs7SUFIK0IsZUFBeUI7SUFBekIsNERBQXlCO0lBQUMsaURBQTRCLHlCQUFBLCtDQUFBO0lBRTFDLGVBQTBCO0lBQTFCLDZEQUEwQjtJQUFDLG1FQUErQjs7OztJQUtq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QUEwRDtRQUExRCxrRkFBMEQ7UUFJaEYsZUFDRjtRQURFLDhFQUNGO1FBR0MsZUFBd0M7UUFBeEMsNkRBQXdDO1FBSWUsZUFBcUI7UUFBckIsOENBQXFCO1FBUWxELGVBQW1CO1FBQW5CLHdDQUFtQjs7dUZEVHpDLHdCQUF3QjtjQU5wQyxTQUFTOzJCQUNFLHVCQUF1QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSTtnQkFNckIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1csb0JBQW9CO2tCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCwgRmxhZ3MsIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSwgU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLW1hbmFnZS1jYXNlLWZsYWdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hbmFnZS1jYXNlLWZsYWdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNYW5hZ2VDYXNlRmxhZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfTEVWRUxfQ0FTRV9GTEFHU19GSUVMRF9JRCA9ICdjYXNlRmxhZ3MnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZsYWdzRGF0YTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZVRpdGxlOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdUaXRsZTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZTogU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnc0Rpc3BsYXlEYXRhOiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoW107XG4gIHB1YmxpYyBmbGFnczogRmxhZ3M7XG4gIHB1YmxpYyBub0ZsYWdzRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkQ29udHJvbE5hbWUgPSAnc2VsZWN0ZWRNYW5hZ2VDYXNlTG9jYXRpb24nO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZUNhc2VGbGFnVGl0bGUgPSBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfQ0FTRV9GTEFHUztcblxuICAgIC8vIE1hcCBmbGFncyBpbnN0YW5jZXMgdG8gb2JqZWN0cyBmb3IgZGlzcGxheVxuICAgIGlmICh0aGlzLmZsYWdzRGF0YSkge1xuICAgICAgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhID0gdGhpcy5mbGFnc0RhdGEucmVkdWNlKChkaXNwbGF5RGF0YSwgZmxhZ3NJbnN0YW5jZSkgPT4ge1xuICAgICAgICBpZiAoZmxhZ3NJbnN0YW5jZS5mbGFncy5kZXRhaWxzICYmIGZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZGlzcGxheURhdGEgPSBbXG4gICAgICAgICAgICAuLi5kaXNwbGF5RGF0YSxcbiAgICAgICAgICAgIC4uLmZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5tYXAoZGV0YWlsID0+XG4gICAgICAgICAgICAgIHRoaXMubWFwRmxhZ0RldGFpbEZvckRpc3BsYXkoZGV0YWlsLCBmbGFnc0luc3RhbmNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRpc3BsYXlEYXRhO1xuICAgICAgfSwgW10pO1xuXG4gICAgICB0aGlzLmZsYWdzRGlzcGxheURhdGEuZm9yRWFjaChmbGFnRGlzcGxheURhdGEgPT4ge1xuICAgICAgICBmbGFnRGlzcGxheURhdGEubGFiZWwgPSB0aGlzLnByb2Nlc3NMYWJlbChmbGFnRGlzcGxheURhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGEgRm9ybUNvbnRyb2wgZm9yIHRoZSBzZWxlY3RlZCBjYXNlIGZsYWcgaWYgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGZsYWdzIGluc3RhbmNlIHJlbWFpbmluZyBhZnRlciBtYXBwaW5nXG4gICAgaWYgKHRoaXMuZmxhZ3NEaXNwbGF5RGF0YSAmJiB0aGlzLmZsYWdzRGlzcGxheURhdGEubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGZsYWdzIGRpc3BsYXkgZGF0YSBtZWFucyB0aGVyZSBhcmUgbm8gZmxhZ3MgdG8gc2VsZWN0IGZyb20uIFRoZSB1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggYSBmbGFnIHVwZGF0ZS5cbiAgICAgIC8vIChXaWxsIG5lZWQgdG8gYmUgZXh0ZW5kZWQgdG8gY2hlY2sgZm9yIGNhc2UtbGV2ZWwgZmxhZ3MgaW4gZnV0dXJlKVxuICAgICAgdGhpcy5vbk5vRmxhZ3NFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtYXBGbGFnRGV0YWlsRm9yRGlzcGxheShmbGFnRGV0YWlsOiBGbGFnRGV0YWlsLCBmbGFnc0luc3RhbmNlOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoKTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZsYWdEZXRhaWxEaXNwbGF5OiB7XG4gICAgICAgIHBhcnR5TmFtZTogZmxhZ3NJbnN0YW5jZS5mbGFncy5wYXJ0eU5hbWUsXG4gICAgICAgIGZsYWdEZXRhaWwsXG4gICAgICAgIGZsYWdzQ2FzZUZpZWxkSWQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkLmlkXG4gICAgICB9LFxuICAgICAgcGF0aFRvRmxhZ3NGb3JtR3JvdXA6IGZsYWdzSW5zdGFuY2UucGF0aFRvRmxhZ3NGb3JtR3JvdXAsXG4gICAgICBjYXNlRmllbGQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkLFxuICAgICAgcm9sZU9uQ2FzZTogZmxhZ3NJbnN0YW5jZS5mbGFncy5yb2xlT25DYXNlXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzTGFiZWwoZmxhZ0Rpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZsYWdEZXRhaWwgPSBmbGFnRGlzcGxheS5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsO1xuICAgIGNvbnN0IHBhcnR5TmFtZSA9IHRoaXMuZ2V0UGFydHlOYW1lKGZsYWdEaXNwbGF5KTtcbiAgICBjb25zdCBmbGFnTmFtZSA9IHRoaXMuZ2V0RmxhZ05hbWUoZmxhZ0RldGFpbCk7XG4gICAgY29uc3QgZmxhZ0Rlc2NyaXB0aW9uID0gdGhpcy5nZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbCk7XG4gICAgY29uc3Qgcm9sZU9uQ2FzZSA9IHRoaXMuZ2V0Um9sZU9uQ2FzZShmbGFnRGlzcGxheSk7XG4gICAgY29uc3QgZmxhZ0NvbW1lbnQgPSB0aGlzLmdldEZsYWdDb21tZW50cyhmbGFnRGV0YWlsKTtcblxuICAgIHJldHVybiBmbGFnTmFtZSA9PT0gZmxhZ0Rlc2NyaXB0aW9uXG4gICAgICA/IGAke3BhcnR5TmFtZX0ke3JvbGVPbkNhc2V9IC0gPHNwYW4gY2xhc3M9XCJmbGFnLW5hbWUtYW5kLWRlc2NyaXB0aW9uXCI+JHtmbGFnRGVzY3JpcHRpb259PC9zcGFuPiR7ZmxhZ0NvbW1lbnR9YFxuICAgICAgOiBgJHtwYXJ0eU5hbWV9JHtyb2xlT25DYXNlfSAtIDxzcGFuIGNsYXNzPVwiZmxhZy1uYW1lLWFuZC1kZXNjcmlwdGlvblwiPiR7ZmxhZ05hbWV9LCAke2ZsYWdEZXNjcmlwdGlvbn08L3NwYW4+JHtmbGFnQ29tbWVudH1gO1xuICB9XG5cbiAgcHVibGljIGdldFBhcnR5TmFtZShmbGFnRGlzcGxheTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEaXNwbGF5LnBhdGhUb0ZsYWdzRm9ybUdyb3VwICYmIGZsYWdEaXNwbGF5LnBhdGhUb0ZsYWdzRm9ybUdyb3VwID09PSBNYW5hZ2VDYXNlRmxhZ3NDb21wb25lbnQuQ0FTRV9MRVZFTF9DQVNFX0ZMQUdTX0ZJRUxEX0lEKSB7XG4gICAgICByZXR1cm4gJ0Nhc2UgbGV2ZWwnO1xuICAgIH1cbiAgICBpZiAoZmxhZ0Rpc3BsYXkuZmxhZ0RldGFpbERpc3BsYXkucGFydHlOYW1lKSB7XG4gICAgICByZXR1cm4gYCR7ZmxhZ0Rpc3BsYXkuZmxhZ0RldGFpbERpc3BsYXkucGFydHlOYW1lfWA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRGbGFnTmFtZShmbGFnRGV0YWlsOiBGbGFnRGV0YWlsKTogc3RyaW5nIHtcbiAgICBpZiAoZmxhZ0RldGFpbCAmJiBmbGFnRGV0YWlsLnBhdGggJiYgZmxhZ0RldGFpbC5wYXRoLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBmbGFnRGV0YWlsLnBhdGhbMV0udmFsdWU7XG4gICAgfVxuICAgIGlmIChmbGFnRGV0YWlsLnN1YlR5cGVLZXkgJiYgZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWUpIHtcbiAgICAgIHJldHVybiBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZsYWdEZXRhaWwubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEZXRhaWwgJiYgZmxhZ0RldGFpbC5uYW1lKSB7XG4gICAgICBpZiAoZmxhZ0RldGFpbC5uYW1lID09PSAnT3RoZXInICYmIGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbikge1xuICAgICAgICByZXR1cm4gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uO1xuICAgICAgfVxuICAgICAgaWYgKGZsYWdEZXRhaWwuc3ViVHlwZUtleSAmJiBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZSkge1xuICAgICAgICByZXR1cm4gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmxhZ0RldGFpbC5uYW1lO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0Um9sZU9uQ2FzZShmbGFnRGlzcGxheTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEaXNwbGF5ICYmIGZsYWdEaXNwbGF5LnJvbGVPbkNhc2UpIHtcbiAgICAgIHJldHVybiBgICgke2ZsYWdEaXNwbGF5LnJvbGVPbkNhc2V9KWA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRGbGFnQ29tbWVudHMoZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEZXRhaWwuZmxhZ0NvbW1lbnQpIHtcbiAgICAgIHJldHVybiBgICgke2ZsYWdEZXRhaWwuZmxhZ0NvbW1lbnR9KWA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBzZWxlY3Rpb25cbiAgICB0aGlzLnZhbGlkYXRlU2VsZWN0aW9uKCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgZXJyb3IgbWVzc2FnZXMsIGFuZCBmbGFnIHNlbGVjdGlvbiB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgc2VsZWN0ZWRGbGFnOiB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZVxuICAgICAgICA/IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlIGFzIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGhcbiAgICAgICAgOiBudWxsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMubWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZSkge1xuICAgICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZS5GTEFHX05PVF9TRUxFQ1RFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZS5GTEFHX05PVF9TRUxFQ1RFRCxcbiAgICAgICAgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0J1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbk5vRmxhZ3NFcnJvcigpOiB2b2lkIHtcbiAgICAvLyBTZXQgZXJyb3IgZmxhZyBvbiBjb21wb25lbnQgdG8gcmVtb3ZlIHRoZSBcIk5leHRcIiBidXR0b24gKHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBmbGFnIGNyZWF0aW9uKVxuICAgIHRoaXMubm9GbGFnc0Vycm9yID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTk9fRkxBR1MsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCcgfSk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19NQU5BR0VfQ0FTRV9GTEFHUyxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlc1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cIm1hbmFnZS1jYXNlLWZsYWctaGVhZGluZ1wiPlxuICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbFwiPlxuICAgICAgICA8aDEgaWQ9XCJtYW5hZ2UtY2FzZS1mbGFnLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3ttYW5hZ2VDYXNlRmxhZ1RpdGxlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuICAgICAgPGRpdiBpZD1cIm1hbmFnZS1jYXNlLWZsYWctbm90LXNlbGVjdGVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cIm1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7bWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgaWQ9XCJjb25kaXRpb25hbC1yYWRpb3MtbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCIgKm5nRm9yPVwibGV0IGZsYWdEaXNwbGF5IG9mIGZsYWdzRGlzcGxheURhdGE7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLXNlbGVjdGlvbi17e2l9fVwiIFtuYW1lXT1cInNlbGVjdGVkQ29udHJvbE5hbWVcIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cImZsYWdEaXNwbGF5XCIgW2Zvcm1Db250cm9sTmFtZV09XCJzZWxlY3RlZENvbnRyb2xOYW1lXCIvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBmb3I9XCJmbGFnLXNlbGVjdGlvbi17e2l9fVwiIFtpbm5lckh0bWxdPVwiZmxhZ0Rpc3BsYXkubGFiZWxcIj48L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCIgKm5nSWY9XCIhbm9GbGFnc0Vycm9yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj57eydOZXh0JyB8IHJweFRyYW5zbGF0ZX19PC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7SUNHN0ksOEJBQzZDLGVBQUE7SUFDUCxZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFBM0Isb0RBQTJCO0lBQVEsZUFDekU7SUFEeUUsZ0dBQ3pFOzs7SUFFRSwrQkFBeUY7SUFDdkYsNEJBQzhFLGdCQUFBOztJQUVoRixpQkFBTTs7Ozs7SUFIK0IsZUFBeUI7SUFBekIsNERBQXlCO0lBQUMs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RUFFTTs7UUF6QlEseUNBQXVCO1FBQ0wsZUFBMEQ7UUFBMUQsa0ZBQTBEO1FBSWhGLGVBQ0Y7UUFERSw4RUFDRjtRQUdDLGVBQXdDO1FBQXhDLDZEQUF3QztRQUllLGVBQXFCO1FBQXJCLDhDQUFxQjtRQVVwRCxlQUFtQjtRQUFuQix3Q0FBbUI7O3VGRFZ2Qyx3QkFBd0I7Y0FOcEMsU0FBUzsyQkFDRSx1QkFBdUIsaUJBR2xCLGlCQUFpQixDQUFDLElBQUk7Z0JBR3JCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLHVCQUF1QjtrQkFBdEMsS0FBSztZQUNXLG9CQUFvQjtrQkFBcEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZmllbGRzJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdEZXRhaWwsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgsIEZsYWdzLCBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIsIENhc2VGbGFnRmllbGRTdGF0ZSwgQ2FzZUZsYWdTdGF0dXMsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbWFuYWdlLWNhc2UtZmxhZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYW5hZ2UtY2FzZS1mbGFncy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1hbmFnZUNhc2VGbGFnc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZsYWdzRGF0YTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZVRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5Q29udGV4dFBhcmFtZXRlcjogc3RyaW5nO1xuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIG1hbmFnZUNhc2VGbGFnVGl0bGU6IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIG1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2U6IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgZmxhZ3NEaXNwbGF5RGF0YTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBwdWJsaWMgZmxhZ3M6IEZsYWdzO1xuICBwdWJsaWMgbm9GbGFnc0Vycm9yID0gZmFsc2U7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZENvbnRyb2xOYW1lID0gJ3NlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uJztcbiAgcHJpdmF0ZSByZWFkb25seSBleGNsdWRlZEZsYWdTdGF0dXNlczogQ2FzZUZsYWdTdGF0dXNbXSA9IFtDYXNlRmxhZ1N0YXR1cy5JTkFDVElWRSwgQ2FzZUZsYWdTdGF0dXMuTk9UX0FQUFJPVkVEXTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1RpdGxlID0gdGhpcy5zZXRNYW5hZ2VDYXNlRmxhZ1RpdGxlKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpO1xuXG4gICAgLy8gTWFwIGZsYWdzIGluc3RhbmNlcyB0byBvYmplY3RzIGZvciBkaXNwbGF5LCBmaWx0ZXJpbmcgb3V0IGFueSB3aGVyZSB0aGUgb3JpZ2luYWwgc3RhdHVzIGlzIGVpdGhlciBcIkluYWN0aXZlXCIgb3JcbiAgICAvLyBcIk5vdCBhcHByb3ZlZFwiXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5mbGFnc0RhdGEpIHtcbiAgICAgIHRoaXMuZmxhZ3NEaXNwbGF5RGF0YSA9IHRoaXMuZmxhZ3NEYXRhLnJlZHVjZSgoZGlzcGxheURhdGEsIGZsYWdzSW5zdGFuY2UpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscyAmJiBmbGFnc0luc3RhbmNlLmZsYWdzLmRldGFpbHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGRpc3BsYXlEYXRhID0gW1xuICAgICAgICAgICAgLi4uZGlzcGxheURhdGEsXG4gICAgICAgICAgICAuLi5mbGFnc0luc3RhbmNlLmZsYWdzLmRldGFpbHMubWFwKChkZXRhaWwpID0+IHRoaXMubWFwRmxhZ0RldGFpbEZvckRpc3BsYXkoZGV0YWlsLCBmbGFnc0luc3RhbmNlKSlcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwbGF5RGF0YTtcbiAgICAgIH0sIFtdKS5maWx0ZXIoKGZsYWdGb3JEaXNwbGF5KSA9PiAhdGhpcy5leGNsdWRlZEZsYWdTdGF0dXNlcy5pbmNsdWRlcyhmbGFnRm9yRGlzcGxheS5vcmlnaW5hbFN0YXR1cyBhcyBDYXNlRmxhZ1N0YXR1cykpO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0ZWQgY2FzZSBmbGFnIGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBmbGFncyBpbnN0YW5jZSByZW1haW5pbmcgYWZ0ZXIgbWFwcGluZ1xuICAgIGlmICh0aGlzLmZsYWdzRGlzcGxheURhdGEgJiYgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBmbGFncyBkaXNwbGF5IGRhdGEgbWVhbnMgdGhlcmUgYXJlIG5vIGZsYWdzIHRvIHNlbGVjdCBmcm9tLiBUaGUgdXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGEgZmxhZyB1cGRhdGUuXG4gICAgICAvLyAoV2lsbCBuZWVkIHRvIGJlIGV4dGVuZGVkIHRvIGNoZWNrIGZvciBjYXNlLWxldmVsIGZsYWdzIGluIGZ1dHVyZSlcbiAgICAgIHRoaXMub25Ob0ZsYWdzRXJyb3IoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbWFwRmxhZ0RldGFpbEZvckRpc3BsYXkoZmxhZ0RldGFpbDogRmxhZ0RldGFpbCwgZmxhZ3NJbnN0YW5jZTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgge1xuICAgIC8vIFJlc2V0IHRoZSBmbGFnIHN0YXR1cyB3aXRoIHRoZSBvcmlnaW5hbCBwZXJzaXN0ZWQgc3RhdHVzLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIG5nT25Jbml0KCkgbmVlZHMgdG8gZmlsdGVyXG4gICAgLy8gb3V0IGFueSBcIkluYWN0aXZlXCIgb3IgXCJOb3QgYXBwcm92ZWRcIiBmbGFncyBiYXNlZCBvbiB0aGVpciBzdGF0dXMgKmJlZm9yZSogbW9kaWZpY2F0aW9uLiBJZiB0aGUgdXNlciBjaGFuZ2VzIGFcbiAgICAvLyBmbGFnJ3Mgc3RhdHVzIHRoZW4gZGVjaWRlcyB0byByZXR1cm4gdG8gdGhlIHN0YXJ0IG9mIHRoZSBmbGFnIHVwZGF0ZSBqb3VybmV5LCB0aGUgZmxhZydzIHN0YXR1cyB3b3VsZCBub1xuICAgIC8vIGxvbmdlciByZWZsZWN0IGl0cyBhY3R1YWwgKnBlcnNpc3RlZCogc3RhdHVzXG4gICAgLy8gQWxzbyByZXNldCBjb21tZW50cyBhbmQgZGVzY3JpcHRpb24gZmllbGRzIChib3RoIEVuZ2xpc2ggYW5kIFdlbHNoKSB3aXRoIHRoZSBvcmlnaW5hbCBwZXJzaXN0ZWQgZGF0YSwgdG8gYXZvaWRcbiAgICAvLyB0aGUgVUkgY2FjaGluZyBhbnkgY2hhbmdlcyB0aGF0IHRoZSB1c2VyIG1pZ2h0IG5vdCB3YW50IHBlcnNpc3RlZCwgaWYgdGhleSBzdGFydCBvdmVyIGFuZCBkb24ndCBpbnRlbmQgdG8gYWRkXG4gICAgLy8gdHJhbnNsYXRpb25zIHN1YnNlcXVlbnRseVxuICAgIGxldCBvcmlnaW5hbFN0YXR1czogc3RyaW5nO1xuICAgIGxldCBmb3JtYXR0ZWRWYWx1ZSA9IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkPy5mb3JtYXR0ZWRfdmFsdWU7XG4gICAgLy8gVXNlIHRoZSBwYXRoVG9GbGFnc0Zvcm1Hcm91cCBwcm9wZXJ0eSBmcm9tIHRoZSBzZWxlY3RlZCBmbGFnIGxvY2F0aW9uIHRvIGRyaWxsIGRvd24gdG8gdGhlIGNvcnJlY3QgcGFydCBvZiB0aGVcbiAgICAvLyBDYXNlRmllbGQgZm9ybWF0dGVkX3ZhbHVlIGZyb20gd2hpY2ggdG8gZ2V0IHRoZSBvcmlnaW5hbCBwZXJzaXN0ZWQgZGF0YVxuICAgIGNvbnN0IHBhdGhUb1ZhbHVlID0gZmxhZ3NJbnN0YW5jZS5wYXRoVG9GbGFnc0Zvcm1Hcm91cDtcbiAgICAvLyBSb290LWxldmVsIEZsYWdzIENhc2VGaWVsZHMgZG9uJ3QgaGF2ZSBhIGRvdC1kZWxpbWl0ZWQgcGF0aCAtIGp1c3QgdGhlIENhc2VGaWVsZCBJRCBpdHNlbGYgLSBzbyBkb24ndCBkcmlsbCBkb3duXG4gICAgaWYgKHBhdGhUb1ZhbHVlLmluZGV4T2YoJy4nKSA+IC0xKSB7XG4gICAgICBwYXRoVG9WYWx1ZS5zbGljZShwYXRoVG9WYWx1ZS5pbmRleE9mKCcuJykgKyAxKS5zcGxpdCgnLicpLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICAgICAgaWYgKGZvcm1hdHRlZFZhbHVlICYmIEZpZWxkc1V0aWxzLmlzTm9uRW1wdHlPYmplY3QoZm9ybWF0dGVkVmFsdWUpKSB7XG4gICAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZVtwYXJ0XTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChmb3JtYXR0ZWRWYWx1ZSAmJiBGaWVsZHNVdGlscy5pc05vbkVtcHR5T2JqZWN0KGZvcm1hdHRlZFZhbHVlKSkge1xuICAgICAgY29uc3Qgb3JpZ2luYWxGbGFnRGV0YWlsID0gZm9ybWF0dGVkVmFsdWUuZGV0YWlscz8uZmluZCgoZGV0YWlsKSA9PiBkZXRhaWwuaWQgPT09IGZsYWdEZXRhaWwuaWQpO1xuICAgICAgaWYgKG9yaWdpbmFsRmxhZ0RldGFpbCkge1xuICAgICAgICBvcmlnaW5hbFN0YXR1cyA9IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8uc3RhdHVzO1xuICAgICAgICBmbGFnRGV0YWlsLmZsYWdDb21tZW50ID0gb3JpZ2luYWxGbGFnRGV0YWlsLnZhbHVlPy5mbGFnQ29tbWVudDtcbiAgICAgICAgZmxhZ0RldGFpbC5mbGFnQ29tbWVudF9jeSA9IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8uZmxhZ0NvbW1lbnRfY3k7XG4gICAgICAgIGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbiA9IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8ub3RoZXJEZXNjcmlwdGlvbjtcbiAgICAgICAgZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uX2N5ID0gb3JpZ2luYWxGbGFnRGV0YWlsLnZhbHVlPy5vdGhlckRlc2NyaXB0aW9uX2N5O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZmxhZ0RldGFpbERpc3BsYXk6IHtcbiAgICAgICAgcGFydHlOYW1lOiBmbGFnc0luc3RhbmNlLmZsYWdzPy5wYXJ0eU5hbWUsXG4gICAgICAgIGZsYWdEZXRhaWwsXG4gICAgICAgIGZsYWdzQ2FzZUZpZWxkSWQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkPy5pZCxcbiAgICAgICAgdmlzaWJpbGl0eTogZmxhZ3NJbnN0YW5jZS5mbGFncz8udmlzaWJpbGl0eVxuICAgICAgfSxcbiAgICAgIHBhdGhUb0ZsYWdzRm9ybUdyb3VwOiBmbGFnc0luc3RhbmNlLnBhdGhUb0ZsYWdzRm9ybUdyb3VwLFxuICAgICAgY2FzZUZpZWxkOiBmbGFnc0luc3RhbmNlLmNhc2VGaWVsZCxcbiAgICAgIHJvbGVPbkNhc2U6IGZsYWdzSW5zdGFuY2UuZmxhZ3M/LnJvbGVPbkNhc2UsXG4gICAgICBvcmlnaW5hbFN0YXR1c1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZsYWcgc2VsZWN0aW9uXG4gICAgdGhpcy52YWxpZGF0ZVNlbGVjdGlvbigpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIGVycm9yIG1lc3NhZ2VzLCBhbmQgZmxhZyBzZWxlY3Rpb24gdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19NQU5BR0VfQ0FTRV9GTEFHUyxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIHNlbGVjdGVkRmxhZzogdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkudmFsdWVcbiAgICAgICAgPyB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZSBhcyBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoXG4gICAgICAgIDogbnVsbFxuICAgIH0pO1xuXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICB9XG5cbiAgcHVibGljIHNldE1hbmFnZUNhc2VGbGFnVGl0bGUoZGlzcGxheUNvbnRleHRQYXJhbWV0ZXI6IHN0cmluZyk6IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlIHtcbiAgICBzd2l0Y2ggKGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyKSB7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV8yX1BPSU5UXzE6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfQ0FTRV9GTEFHUztcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfU1VQUE9SVDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5OT05FO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTCA/XG4gICAgICAgIFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTUFOQUdFX1NVUFBPUlRfRkxBR19OT1RfU0VMRUNURUQgOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlLk1BTkFHRV9DQVNFX0ZMQUdTX0ZMQUdfTk9UX1NFTEVDVEVEO1xuICAgICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCdcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Ob0ZsYWdzRXJyb3IoKTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLm5vRmxhZ3NFcnJvciA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlLk5PX0ZMQUdTLCBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnIH0pO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTUFOQUdFX0NBU0VfRkxBR1MsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXNcbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGVycm9yTWVzc2FnZXMubGVuZ3RoID4gMH1cIj5cbiAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJtYW5hZ2UtY2FzZS1mbGFnLWhlYWRpbmdcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW1cIj5cbiAgICAgICAgPGgxIGlkPVwibWFuYWdlLWNhc2UtZmxhZy1oZWFkaW5nXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZ1wiPlxuICAgICAgICAgIHt7bWFuYWdlQ2FzZUZsYWdUaXRsZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxkaXYgaWQ9XCJtYW5hZ2UtY2FzZS1mbGFnLW5vdC1zZWxlY3RlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJtYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e21hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiIGlkPVwiY29uZGl0aW9uYWwtcmFkaW9zLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiICpuZ0Zvcj1cImxldCBmbGFnRGlzcGxheSBvZiBmbGFnc0Rpc3BsYXlEYXRhOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiZmxhZy1zZWxlY3Rpb24te3tpfX1cIiBbbmFtZV09XCJzZWxlY3RlZENvbnRyb2xOYW1lXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJmbGFnRGlzcGxheVwiIFtmb3JtQ29udHJvbE5hbWVdPVwic2VsZWN0ZWRDb250cm9sTmFtZVwiLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgZm9yPVwiZmxhZy1zZWxlY3Rpb24te3tpfX1cIiBbaW5uZXJIdG1sXT1cImZsYWdEaXNwbGF5IHwgbWFuYWdlQ2FzZUZsYWdzTGFiZWxEaXNwbGF5XCI+PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCIgKm5nSWY9XCIhbm9GbGFnc0Vycm9yXCI+XG4gIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+e3snTmV4dCcgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export var SearchLanguageInterpreterControlNames;
2
+ (function (SearchLanguageInterpreterControlNames) {
3
+ SearchLanguageInterpreterControlNames["LANGUAGE_SEARCH_TERM"] = "languageSearchTerm";
4
+ SearchLanguageInterpreterControlNames["MANUAL_LANGUAGE_ENTRY"] = "manualLanguageEntry";
5
+ })(SearchLanguageInterpreterControlNames || (SearchLanguageInterpreterControlNames = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLWNvbnRyb2wtbmFtZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItY29udHJvbC1uYW1lcy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFDQUdYO0FBSEQsV0FBWSxxQ0FBcUM7SUFDL0Msb0ZBQTJDLENBQUE7SUFDM0Msc0ZBQTZDLENBQUE7QUFDL0MsQ0FBQyxFQUhXLHFDQUFxQyxLQUFyQyxxQ0FBcUMsUUFHaEQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzIHtcbiAgTEFOR1VBR0VfU0VBUkNIX1RFUk0gPSAnbGFuZ3VhZ2VTZWFyY2hUZXJtJyxcbiAgTUFOVUFMX0xBTkdVQUdFX0VOVFJZID0gJ21hbnVhbExhbmd1YWdlRW50cnknXG59XG4iXX0=