vcomply-workflow-engine 3.5.3 → 3.5.4

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 (645) hide show
  1. package/esm2022/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +897 -0
  2. package/esm2022/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +204 -0
  3. package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +1569 -0
  4. package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +774 -0
  5. package/esm2022/lib/configurations.mjs +6 -0
  6. package/esm2022/lib/confirmation-alert/confirmation-alert.component.mjs +28 -0
  7. package/esm2022/lib/constants/link-responsibility.constants.mjs +9 -0
  8. package/esm2022/lib/constants/time.constants.mjs +3 -0
  9. package/esm2022/lib/create-documents/create-documents.component.mjs +145 -0
  10. package/esm2022/lib/formgroup/cs-checkbox/cs-checkbox.component.mjs +36 -0
  11. package/esm2022/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
  12. package/esm2022/lib/formgroup/cs-radio/cs-radio.component.mjs +34 -0
  13. package/esm2022/lib/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
  14. package/esm2022/lib/formgroup/cs-select/cs-select.component.mjs +95 -0
  15. package/esm2022/lib/formgroup/cs-switch/cs-switch.component.mjs +31 -0
  16. package/esm2022/lib/formgroup/formgroup.module.mjs +56 -0
  17. package/esm2022/lib/formgroup/pipes/pascal.pipe.mjs +19 -0
  18. package/esm2022/lib/formgroup/select/cs-option/cs-option.component.mjs +42 -0
  19. package/esm2022/lib/formgroup/select/cs-select/cs-select.component.mjs +106 -0
  20. package/esm2022/lib/formgroup/select/select.module.mjs +21 -0
  21. package/esm2022/lib/formgroup/select/select.service.mjs +48 -0
  22. package/esm2022/lib/interfaces/categoryList.mjs +2 -0
  23. package/esm2022/lib/interfaces/confirmation-alert.mjs +2 -0
  24. package/esm2022/lib/interfaces/issue-data.mjs +2 -0
  25. package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +1212 -0
  26. package/esm2022/lib/more-option/more-option.component.mjs +790 -0
  27. package/esm2022/lib/pipes/data-type.pipe.mjs +16 -0
  28. package/esm2022/lib/pipes/dom-sanitizer.pipe.mjs +24 -0
  29. package/esm2022/lib/pipes/filter.pipe.mjs +24 -0
  30. package/esm2022/lib/pipes/is-read-more.pipe.mjs +21 -0
  31. package/esm2022/lib/pipes/list-mapper.pipe.mjs +21 -0
  32. package/esm2022/lib/pipes/pipes.module.mjs +67 -0
  33. package/esm2022/lib/pipes/search.pipe.mjs +37 -0
  34. package/esm2022/lib/pipes/space-breaker.pipe.mjs +21 -0
  35. package/esm2022/lib/pipes/uncategorized-filter.pipe.mjs +21 -0
  36. package/esm2022/lib/pipes/user-filter.pipe.mjs +30 -0
  37. package/esm2022/lib/services/bulk-upload.service.mjs +44 -0
  38. package/esm2022/lib/services/common.service.mjs +41 -0
  39. package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +265 -0
  40. package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.mjs +73 -0
  41. package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow.component.mjs +83 -0
  42. package/esm2022/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.mjs +347 -0
  43. package/esm2022/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.mjs +75 -0
  44. package/esm2022/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.mjs +33 -0
  45. package/esm2022/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.mjs +124 -0
  46. package/esm2022/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.mjs +154 -0
  47. package/esm2022/lib/sharedComponents/assessment-editor/components/build/build.module.mjs +111 -0
  48. package/esm2022/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.mjs +37 -0
  49. package/esm2022/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.mjs +74 -0
  50. package/esm2022/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.mjs +18 -0
  51. package/esm2022/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.mjs +37 -0
  52. package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +15 -0
  53. package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.mjs +14 -0
  54. package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.mjs +14 -0
  55. package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.mjs +37 -0
  56. package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.mjs +14 -0
  57. package/esm2022/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.mjs +14 -0
  58. package/esm2022/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.mjs +14 -0
  59. package/esm2022/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.mjs +28 -0
  60. package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +14 -0
  61. package/esm2022/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.mjs +56 -0
  62. package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +14 -0
  63. package/esm2022/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.mjs +179 -0
  64. package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/error.mjs +2 -0
  65. package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/question.mjs +2 -0
  66. package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.mjs +2 -0
  67. package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +104 -0
  68. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.mjs +26 -0
  69. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.mjs +14 -0
  70. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.mjs +56 -0
  71. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.mjs +33 -0
  72. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +17 -0
  73. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.mjs +26 -0
  74. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.mjs +16 -0
  75. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.mjs +101 -0
  76. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.mjs +16 -0
  77. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.mjs +24 -0
  78. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.mjs +14 -0
  79. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.mjs +16 -0
  80. package/esm2022/lib/sharedComponents/assessment-editor/components/move/move.component.mjs +103 -0
  81. package/esm2022/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.mjs +23 -0
  82. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.mjs +22 -0
  83. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.mjs +27 -0
  84. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.mjs +21 -0
  85. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.mjs +17 -0
  86. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.mjs +16 -0
  87. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.mjs +21 -0
  88. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.mjs +16 -0
  89. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.mjs +28 -0
  90. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.mjs +14 -0
  91. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.mjs +49 -0
  92. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.mjs +30 -0
  93. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.mjs +21 -0
  94. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.mjs +17 -0
  95. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.mjs +31 -0
  96. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.mjs +28 -0
  97. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.mjs +28 -0
  98. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.mjs +16 -0
  99. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.mjs +16 -0
  100. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.mjs +16 -0
  101. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.mjs +14 -0
  102. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.mjs +16 -0
  103. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.mjs +78 -0
  104. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview.module.mjs +152 -0
  105. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +14 -0
  106. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +14 -0
  107. package/esm2022/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.mjs +19 -0
  108. package/esm2022/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.mjs +252 -0
  109. package/esm2022/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.mjs +35 -0
  110. package/esm2022/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.mjs +61 -0
  111. package/esm2022/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.mjs +163 -0
  112. package/esm2022/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.mjs +118 -0
  113. package/esm2022/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.mjs +23 -0
  114. package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +97 -0
  115. package/esm2022/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.mjs +493 -0
  116. package/esm2022/lib/sharedComponents/assessment-editor/create-assessment.module.mjs +154 -0
  117. package/esm2022/lib/sharedComponents/assessment-editor/services/editor.service.mjs +635 -0
  118. package/esm2022/lib/sharedComponents/assessment-editor/services/result-criteria.service.mjs +48 -0
  119. package/esm2022/lib/sharedComponents/assessment-editor/services/validator.service.mjs +546 -0
  120. package/esm2022/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.mjs +15 -0
  121. package/esm2022/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.mjs +15 -0
  122. package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +207 -0
  123. package/esm2022/lib/sharedComponents/assessment-list/service/assessment.interface.mjs +2 -0
  124. package/esm2022/lib/sharedComponents/assessment-list/service/assessment.service.mjs +31 -0
  125. package/esm2022/lib/sharedComponents/assessment-preview/assessment-preview.module.mjs +113 -0
  126. package/esm2022/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.mjs +33 -0
  127. package/esm2022/lib/sharedComponents/assessment-preview/date-time/date-time.component.mjs +53 -0
  128. package/esm2022/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.mjs +24 -0
  129. package/esm2022/lib/sharedComponents/assessment-preview/device/device.component.mjs +21 -0
  130. package/esm2022/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.mjs +22 -0
  131. package/esm2022/lib/sharedComponents/assessment-preview/page-header/page-header.component.mjs +21 -0
  132. package/esm2022/lib/sharedComponents/assessment-preview/pipes/get-section-order.pipe.mjs +24 -0
  133. package/esm2022/lib/sharedComponents/assessment-preview/preview/preview.component.mjs +62 -0
  134. package/esm2022/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.mjs +22 -0
  135. package/esm2022/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.mjs +22 -0
  136. package/esm2022/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.mjs +33 -0
  137. package/esm2022/lib/sharedComponents/assessment-preview/section-details/section-details.component.mjs +20 -0
  138. package/esm2022/lib/sharedComponents/assessment-preview/select-question/select-question.component.mjs +35 -0
  139. package/esm2022/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.mjs +21 -0
  140. package/esm2022/lib/sharedComponents/assessment-preview/welcome/welcome.component.mjs +17 -0
  141. package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +61 -0
  142. package/esm2022/lib/sharedComponents/audit-category-list/audit-category.model.mjs +2 -0
  143. package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +72 -0
  144. package/esm2022/lib/sharedComponents/bulk-view/bulk-view.component.mjs +75 -0
  145. package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +84 -0
  146. package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +166 -0
  147. package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +92 -0
  148. package/esm2022/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.mjs +315 -0
  149. package/esm2022/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.mjs +25 -0
  150. package/esm2022/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.mjs +149 -0
  151. package/esm2022/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.mjs +48 -0
  152. package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.mjs +77 -0
  153. package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.mjs +14 -0
  154. package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.mjs +197 -0
  155. package/esm2022/lib/sharedComponents/directive/autofocus.directive.mjs +22 -0
  156. package/esm2022/lib/sharedComponents/directive/conditional-focus.directive.mjs +35 -0
  157. package/esm2022/lib/sharedComponents/directive/drag-drop.directive.mjs +52 -0
  158. package/esm2022/lib/sharedComponents/directive/input-trim.directive.mjs +21 -0
  159. package/esm2022/lib/sharedComponents/directive/scroll-in-view.directive.mjs +35 -0
  160. package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +184 -0
  161. package/esm2022/lib/sharedComponents/floating-bar/floating-bar.component.mjs +122 -0
  162. package/esm2022/lib/sharedComponents/floating-bar/floating-bar.module.mjs +20 -0
  163. package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +308 -0
  164. package/esm2022/lib/sharedComponents/framework-list/framework-integration-interfaces.mjs +2 -0
  165. package/esm2022/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.mjs +38 -0
  166. package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +429 -0
  167. package/esm2022/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.mjs +43 -0
  168. package/esm2022/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.mjs +15 -0
  169. package/esm2022/lib/sharedComponents/framework-list/parent-table/parent-table.component.mjs +95 -0
  170. package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +297 -0
  171. package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +218 -0
  172. package/esm2022/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.mjs +36 -0
  173. package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +303 -0
  174. package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +152 -0
  175. package/esm2022/lib/sharedComponents/frequency/frequency-due-date/due-date.contant.mjs +21 -0
  176. package/esm2022/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.mjs +83 -0
  177. package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +199 -0
  178. package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/lifecycl.constant.mjs +12 -0
  179. package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +223 -0
  180. package/esm2022/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +170 -0
  181. package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +189 -0
  182. package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +75 -0
  183. package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +214 -0
  184. package/esm2022/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.mjs +36 -0
  185. package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +253 -0
  186. package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +213 -0
  187. package/esm2022/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +133 -0
  188. package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +200 -0
  189. package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +573 -0
  190. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +300 -0
  191. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +216 -0
  192. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.mjs +29 -0
  193. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.mjs +296 -0
  194. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.mjs +110 -0
  195. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +227 -0
  196. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +213 -0
  197. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +212 -0
  198. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.mjs +33 -0
  199. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +128 -0
  200. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.mjs +197 -0
  201. package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +259 -0
  202. package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +472 -0
  203. package/esm2022/lib/sharedComponents/link-program/link-program/program-list-model.mjs +2 -0
  204. package/esm2022/lib/sharedComponents/link-program/program-integration-interfaces.mjs +2 -0
  205. package/esm2022/lib/sharedComponents/link-program/restapi.service.mjs +149 -0
  206. package/esm2022/lib/sharedComponents/link-program/tooltip-validation.pipe.mjs +28 -0
  207. package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +221 -0
  208. package/esm2022/lib/sharedComponents/list-loader/list-loader.component.mjs +15 -0
  209. package/esm2022/lib/sharedComponents/list-loader/list-loader.module.mjs +18 -0
  210. package/esm2022/lib/sharedComponents/no-data/no-data.component.mjs +36 -0
  211. package/esm2022/lib/sharedComponents/no-data/no-data.module.mjs +18 -0
  212. package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +176 -0
  213. package/esm2022/lib/sharedComponents/pipes/array-filter.pipe.mjs +18 -0
  214. package/esm2022/lib/sharedComponents/pipes/filterPipe.mjs +30 -0
  215. package/esm2022/lib/sharedComponents/pipes/rcTreeToolTip.pipe.mjs +26 -0
  216. package/esm2022/lib/sharedComponents/pipes/short-merge.pipe.mjs +24 -0
  217. package/esm2022/lib/sharedComponents/pipes/spaceTrim.pipe.mjs +18 -0
  218. package/esm2022/lib/sharedComponents/pipes/within-data.pipe.mjs +21 -0
  219. package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +88 -0
  220. package/esm2022/lib/sharedComponents/program-listing/program-list-model.mjs +2 -0
  221. package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +739 -0
  222. package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +82 -0
  223. package/esm2022/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.mjs +14 -0
  224. package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +128 -0
  225. package/esm2022/lib/sharedComponents/responsibility-centers-list/rc-list.module.mjs +40 -0
  226. package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +125 -0
  227. package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +81 -0
  228. package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +44 -0
  229. package/esm2022/lib/sharedComponents/risk-classification/risk-classification.component.mjs +102 -0
  230. package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +30 -0
  231. package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +78 -0
  232. package/esm2022/lib/sharedComponents/table-card-loader/table-card-loader.component.mjs +15 -0
  233. package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +83 -0
  234. package/esm2022/lib/sharedComponents/v-loader/loader/loader.component.mjs +21 -0
  235. package/esm2022/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.mjs +21 -0
  236. package/esm2022/lib/sharedComponents/v-loader/v-loader.module.mjs +19 -0
  237. package/esm2022/lib/ui-kit/action-dialog/action-dialog.module.mjs +21 -0
  238. package/esm2022/lib/ui-kit/action-dialog/active/active.component.mjs +32 -0
  239. package/esm2022/lib/ui-kit/action-dialog/deactivate/deactivate.component.mjs +33 -0
  240. package/esm2022/lib/ui-kit/action-dialog/delete/delete.component.mjs +26 -0
  241. package/esm2022/lib/ui-kit/action-dialog/duplicate/duplicate.component.mjs +28 -0
  242. package/esm2022/lib/ui-kit/click-outside/click-outside.directive.mjs +29 -0
  243. package/esm2022/lib/ui-kit/click-outside/click-outside.module.mjs +22 -0
  244. package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +3 -0
  245. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +14 -0
  246. package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
  247. package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +88 -0
  248. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -0
  249. package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +58 -0
  250. package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +16 -0
  251. package/esm2022/lib/ui-kit/directive/directive.module.mjs +24 -0
  252. package/esm2022/lib/ui-kit/directive/stop-propagation.directive.mjs +20 -0
  253. package/esm2022/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.mjs +15 -0
  254. package/esm2022/lib/ui-kit/editor-loader/editor-loader.module.mjs +22 -0
  255. package/esm2022/lib/ui-kit/format-html.pipe.mjs +20 -0
  256. package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +29 -0
  257. package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +31 -0
  258. package/esm2022/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
  259. package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
  260. package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
  261. package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +100 -0
  262. package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +32 -0
  263. package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +60 -0
  264. package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
  265. package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
  266. package/esm2022/lib/ui-kit/line-loader/line-loader.component.mjs +15 -0
  267. package/esm2022/lib/ui-kit/line-loader/line-loader.module.mjs +18 -0
  268. package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +45 -0
  269. package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -0
  270. package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +116 -0
  271. package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +28 -0
  272. package/esm2022/lib/ui-kit/popover/popover-event.directive.mjs +28 -0
  273. package/esm2022/lib/ui-kit/popover/popover-longpress.directive.mjs +44 -0
  274. package/esm2022/lib/ui-kit/popover/popover.component.mjs +138 -0
  275. package/esm2022/lib/ui-kit/popover/popover.directive.mjs +97 -0
  276. package/esm2022/lib/ui-kit/popover/popover.module.mjs +23 -0
  277. package/esm2022/lib/ui-kit/popover/popover.service.mjs +15 -0
  278. package/esm2022/lib/ui-kit/popover-hover/popover-hover.component.mjs +109 -0
  279. package/esm2022/lib/ui-kit/popover-hover/popover-hover.directive.mjs +34 -0
  280. package/esm2022/lib/ui-kit/popover-hover/popover-hover.module.mjs +31 -0
  281. package/esm2022/lib/ui-kit/popover-hover/popover-hover.service.mjs +14 -0
  282. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +43 -0
  283. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
  284. package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.mjs +43 -0
  285. package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.mjs +18 -0
  286. package/esm2022/lib/ui-kit/snack-bar/snack-bar.component.mjs +51 -0
  287. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
  288. package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -0
  289. package/esm2022/lib/ui-kit/time-picker/constants/constant.mjs +5 -0
  290. package/esm2022/lib/ui-kit/time-picker/time-picker/time-picker.component.mjs +220 -0
  291. package/esm2022/lib/ui-kit/time-picker/time-picker.module.mjs +24 -0
  292. package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +156 -0
  293. package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
  294. package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +831 -0
  295. package/esm2022/lib/workflow/grc-object/grc-object.module.mjs +64 -0
  296. package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +95 -0
  297. package/esm2022/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.mjs +110 -0
  298. package/esm2022/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.mjs +118 -0
  299. package/esm2022/lib/workflow/shared/components/attributes/attributes.component.mjs +100 -0
  300. package/esm2022/lib/workflow/shared/components/attributes/date-picker/date-picker.component.mjs +116 -0
  301. package/esm2022/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +216 -0
  302. package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +119 -0
  303. package/esm2022/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +198 -0
  304. package/esm2022/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +202 -0
  305. package/esm2022/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.mjs +191 -0
  306. package/esm2022/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +86 -0
  307. package/esm2022/lib/workflow/shared/components/list-popup/list-popup.component.mjs +209 -0
  308. package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +411 -0
  309. package/esm2022/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +241 -0
  310. package/esm2022/lib/workflow/shared/components/table-card/table-card.component.mjs +32 -0
  311. package/esm2022/lib/workflow/shared/components/text-field/text-field.component.mjs +143 -0
  312. package/esm2022/lib/workflow/shared/components/text-field-icon/text-field-icon.component.mjs +56 -0
  313. package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +11 -0
  314. package/esm2022/lib/workflow/shared/constants/field-text.constant.mjs +17 -0
  315. package/esm2022/lib/workflow/shared/constants/grcObject.constant.mjs +88 -0
  316. package/esm2022/lib/workflow/shared/constants/link-responsibility.constant.mjs +19 -0
  317. package/esm2022/lib/workflow/shared/constants/message.contstant.mjs +5 -0
  318. package/esm2022/lib/workflow/shared/constants/pagination-limits.constant.mjs +6 -0
  319. package/esm2022/lib/workflow/shared/constants/svg-link.constant.mjs +4 -0
  320. package/esm2022/lib/workflow/shared/constants/validation-message.constant.mjs +8 -0
  321. package/esm2022/lib/workflow/shared/interfaces/add-grc.mjs +2 -0
  322. package/esm2022/lib/workflow/shared/services/grc.service.mjs +310 -0
  323. package/esm2022/lib/workflow/shared/workflow-pipes/get-selected-value.pipe.mjs +30 -0
  324. package/esm2022/lib/workflow/shared/workflow-pipes/is-attributes-valid.pipe.mjs +48 -0
  325. package/esm2022/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.mjs +24 -0
  326. package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +32 -0
  327. package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +668 -0
  328. package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +254 -0
  329. package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +3913 -0
  330. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +734 -0
  331. package/esm2022/lib/workflow-engine.module.mjs +467 -0
  332. package/esm2022/lib/workflow-engine.service.mjs +14 -0
  333. package/esm2022/lib/workflow-interfaces/create-policy-form.mjs +2 -0
  334. package/esm2022/lib/workflow-pagination/workflow-pagination.component.mjs +116 -0
  335. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +1875 -0
  336. package/esm2022/lib/workflow-program/constants.mjs +51 -0
  337. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.mjs +15 -0
  338. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +292 -0
  339. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.mjs +15 -0
  340. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.mjs +43 -0
  341. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.mjs +22 -0
  342. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.mjs +116 -0
  343. package/esm2022/lib/workflow-program/create-program-ui/checkbox/checkbox.component.mjs +39 -0
  344. package/esm2022/lib/workflow-program/create-program-ui/create-program-ui.module.mjs +194 -0
  345. package/esm2022/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.mjs +44 -0
  346. package/esm2022/lib/workflow-program/create-program-ui/custom-field/custom-field.component.mjs +82 -0
  347. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +267 -0
  348. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.mjs +44 -0
  349. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.mjs +15 -0
  350. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.mjs +23 -0
  351. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.mjs +23 -0
  352. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.mjs +26 -0
  353. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.mjs +68 -0
  354. package/esm2022/lib/workflow-program/create-program-ui/directives/input-trim.directive.mjs +21 -0
  355. package/esm2022/lib/workflow-program/create-program-ui/file-pill/file-pill.component.mjs +27 -0
  356. package/esm2022/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.mjs +106 -0
  357. package/esm2022/lib/workflow-program/create-program-ui/form-field/form-field.component.mjs +16 -0
  358. package/esm2022/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.mjs +30 -0
  359. package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +166 -0
  360. package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination.module.mjs +28 -0
  361. package/esm2022/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.mjs +16 -0
  362. package/esm2022/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.mjs +27 -0
  363. package/esm2022/lib/workflow-program/create-program-ui/pipes/filter.pipe.mjs +30 -0
  364. package/esm2022/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.mjs +16 -0
  365. package/esm2022/lib/workflow-program/create-program-ui/pipes/pager.pipe.mjs +21 -0
  366. package/esm2022/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.mjs +17 -0
  367. package/esm2022/lib/workflow-program/create-program-ui/pipes/search.pipe.mjs +23 -0
  368. package/esm2022/lib/workflow-program/create-program-ui/role-list/loader/loader.component.mjs +15 -0
  369. package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +240 -0
  370. package/esm2022/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.mjs +43 -0
  371. package/esm2022/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.mjs +15 -0
  372. package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +434 -0
  373. package/esm2022/lib/workflow-program/workflow-program.component.mjs +1550 -0
  374. package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +1642 -0
  375. package/esm2022/lib/workflow-services/add-risk.service.mjs +150 -0
  376. package/esm2022/lib/workflow-services/assessment.service.mjs +117 -0
  377. package/esm2022/lib/workflow-services/auth.service.mjs +229 -0
  378. package/esm2022/lib/workflow-services/frequency.service.mjs +173 -0
  379. package/esm2022/lib/workflow-services/log-issue.service.mjs +360 -0
  380. package/esm2022/lib/workflow-services/policy.service.mjs +163 -0
  381. package/esm2022/lib/workflow-services/programs.service.mjs +319 -0
  382. package/esm2022/lib/workflow-services/responsibility.service.mjs +293 -0
  383. package/esm2022/lib/workflow-services/token-decoder.service.mjs +38 -0
  384. package/esm2022/lib/workflow-services/ui-kit.service.mjs +17 -0
  385. package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +26 -0
  386. package/esm2022/public-api.mjs +8 -0
  387. package/esm2022/vcomply-workflow-engine.mjs +5 -0
  388. package/fesm2022/vcomply-workflow-engine.mjs +44351 -0
  389. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -0
  390. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +1 -1
  391. package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +1 -1
  392. package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +1 -1
  393. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -1
  394. package/lib/confirmation-alert/confirmation-alert.component.d.ts +1 -1
  395. package/lib/create-documents/create-documents.component.d.ts +1 -1
  396. package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
  397. package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
  398. package/lib/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
  399. package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
  400. package/lib/formgroup/cs-select/cs-select.component.d.ts +1 -1
  401. package/lib/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
  402. package/lib/formgroup/select/cs-option/cs-option.component.d.ts +1 -1
  403. package/lib/formgroup/select/cs-select/cs-select.component.d.ts +1 -1
  404. package/lib/log-an-issue/log-an-issue.component.d.ts +7 -3
  405. package/lib/more-option/more-option.component.d.ts +1 -1
  406. package/lib/services/common.service.d.ts +14 -0
  407. package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +1 -1
  408. package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +1 -1
  409. package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +1 -1
  410. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +1 -1
  411. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +1 -1
  412. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +1 -1
  413. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +1 -1
  414. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +1 -1
  415. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +1 -1
  416. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +1 -1
  417. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +1 -1
  418. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +1 -1
  419. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +1 -1
  420. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +1 -1
  421. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +1 -1
  422. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +1 -1
  423. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +1 -1
  424. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +1 -1
  425. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +1 -1
  426. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +1 -1
  427. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +1 -1
  428. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +1 -1
  429. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +1 -1
  430. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +1 -1
  431. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +1 -1
  432. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +1 -1
  433. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +1 -1
  434. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +7 -3
  435. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +1 -1
  436. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +1 -1
  437. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +1 -1
  438. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +1 -1
  439. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +1 -1
  440. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +1 -1
  441. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +1 -1
  442. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +1 -1
  443. package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +1 -1
  444. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +1 -1
  445. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +1 -1
  446. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +1 -1
  447. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +8 -5
  448. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +1 -1
  449. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +1 -1
  450. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +1 -1
  451. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +1 -1
  452. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +1 -1
  453. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +1 -1
  454. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +1 -1
  455. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +1 -1
  456. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +1 -1
  457. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +1 -1
  458. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +1 -1
  459. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +1 -1
  460. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +1 -1
  461. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +1 -1
  462. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +1 -1
  463. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +1 -1
  464. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +1 -1
  465. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +1 -1
  466. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +1 -1
  467. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +1 -1
  468. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +1 -1
  469. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +1 -1
  470. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +1 -1
  471. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +1 -1
  472. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +1 -1
  473. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +1 -1
  474. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +1 -1
  475. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +8 -5
  476. package/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.d.ts +1 -1
  477. package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +1 -1
  478. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +1 -1
  479. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +1 -1
  480. package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +1 -1
  481. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +1 -1
  482. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +1 -1
  483. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +1 -1
  484. package/lib/sharedComponents/assessment-preview/section-details/section-details.component.d.ts +1 -1
  485. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +1 -1
  486. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +1 -1
  487. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +1 -1
  488. package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +1 -1
  489. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +1 -1
  490. package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +1 -1
  491. package/lib/sharedComponents/category-list/category-list.component.d.ts +1 -1
  492. package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +1 -1
  493. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +1 -1
  494. package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts +1 -1
  495. package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts +1 -1
  496. package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts +6 -2
  497. package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts +1 -1
  498. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts +1 -1
  499. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts +1 -1
  500. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts +1 -1
  501. package/lib/sharedComponents/directive/autofocus.directive.d.ts +1 -1
  502. package/lib/sharedComponents/directive/conditional-focus.directive.d.ts +1 -1
  503. package/lib/sharedComponents/directive/drag-drop.directive.d.ts +1 -1
  504. package/lib/sharedComponents/directive/input-trim.directive.d.ts +1 -1
  505. package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts +1 -1
  506. package/lib/sharedComponents/document-section/document-section.component.d.ts +1 -1
  507. package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +1 -1
  508. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +1 -1
  509. package/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.d.ts +1 -1
  510. package/lib/sharedComponents/framework-list/framework-list.component.d.ts +1 -1
  511. package/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.d.ts +1 -1
  512. package/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.d.ts +1 -1
  513. package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts +1 -1
  514. package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts +1 -1
  515. package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts +1 -1
  516. package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts +1 -1
  517. package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts +1 -1
  518. package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts +1 -1
  519. package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts +1 -1
  520. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +10 -4
  521. package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts +1 -1
  522. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +1 -1
  523. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +9 -5
  524. package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +1 -1
  525. package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts +1 -1
  526. package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts +1 -1
  527. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +1 -1
  528. package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +1 -1
  529. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +1 -1
  530. package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts +1 -1
  531. package/lib/sharedComponents/frequency/frequency.service.d.ts +1 -0
  532. package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +1 -1
  533. package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +1 -1
  534. package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts +1 -1
  535. package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +1 -1
  536. package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +1 -1
  537. package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +1 -1
  538. package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +10 -5
  539. package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +1 -1
  540. package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts +1 -1
  541. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -1
  542. package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +1 -1
  543. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +1 -1
  544. package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +1 -1
  545. package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +1 -1
  546. package/lib/sharedComponents/list-loader/list-loader.component.d.ts +1 -1
  547. package/lib/sharedComponents/no-data/no-data.component.d.ts +1 -1
  548. package/lib/sharedComponents/owner-list/owner-list.component.d.ts +1 -1
  549. package/lib/sharedComponents/policy-access/policy-access.component.d.ts +1 -1
  550. package/lib/sharedComponents/program-listing/program-listing.component.d.ts +1 -1
  551. package/lib/sharedComponents/radio-list/radio-list.component.d.ts +1 -1
  552. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +1 -1
  553. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +1 -1
  554. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +1 -1
  555. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +1 -1
  556. package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +1 -1
  557. package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts +1 -1
  558. package/lib/sharedComponents/roles-list/roles-list.component.d.ts +1 -1
  559. package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +1 -1
  560. package/lib/sharedComponents/table-card-loader/table-card-loader.component.d.ts +1 -1
  561. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -1
  562. package/lib/sharedComponents/v-loader/loader/loader.component.d.ts +1 -1
  563. package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts +1 -1
  564. package/lib/ui-kit/action-dialog/active/active.component.d.ts +1 -1
  565. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +1 -1
  566. package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +1 -1
  567. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +1 -1
  568. package/lib/ui-kit/click-outside/click-outside.directive.d.ts +1 -1
  569. package/lib/ui-kit/dialog/dialog-injector.d.ts +2 -2
  570. package/lib/ui-kit/dialog/dialog.component.d.ts +6 -4
  571. package/lib/ui-kit/dialog/dialog.service.d.ts +3 -3
  572. package/lib/ui-kit/dialog/insertion.directive.d.ts +1 -1
  573. package/lib/ui-kit/directive/stop-propagation.directive.d.ts +1 -1
  574. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +1 -1
  575. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +1 -1
  576. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
  577. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
  578. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
  579. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
  580. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +1 -1
  581. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
  582. package/lib/ui-kit/line-loader/line-loader.component.d.ts +1 -1
  583. package/lib/ui-kit/no-data/no-data.component.d.ts +1 -1
  584. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +1 -1
  585. package/lib/ui-kit/popover/popover-event.directive.d.ts +1 -1
  586. package/lib/ui-kit/popover/popover-longpress.directive.d.ts +1 -1
  587. package/lib/ui-kit/popover/popover.component.d.ts +1 -1
  588. package/lib/ui-kit/popover/popover.directive.d.ts +1 -1
  589. package/lib/ui-kit/popover-hover/popover-hover.component.d.ts +1 -1
  590. package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts +1 -1
  591. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +1 -1
  592. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts +1 -1
  593. package/lib/ui-kit/snack-bar/snack-bar.component.d.ts +1 -1
  594. package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +1 -1
  595. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +1 -1
  596. package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +1 -1
  597. package/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.d.ts +1 -1
  598. package/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.d.ts +1 -1
  599. package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +1 -1
  600. package/lib/workflow/shared/components/attributes/attributes.component.d.ts +1 -1
  601. package/lib/workflow/shared/components/attributes/date-picker/date-picker.component.d.ts +1 -1
  602. package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +1 -1
  603. package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +1 -1
  604. package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +1 -1
  605. package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +1 -1
  606. package/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.d.ts +1 -1
  607. package/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.d.ts +1 -1
  608. package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +1 -1
  609. package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +1 -1
  610. package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +1 -1
  611. package/lib/workflow/shared/components/table-card/table-card.component.d.ts +1 -1
  612. package/lib/workflow/shared/components/text-field/text-field.component.d.ts +1 -1
  613. package/lib/workflow/shared/components/text-field-icon/text-field-icon.component.d.ts +1 -1
  614. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +1 -1
  615. package/lib/workflow-assessment/workflow-assessment.component.d.ts +1 -1
  616. package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -1
  617. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -1
  618. package/lib/workflow-pagination/workflow-pagination.component.d.ts +1 -1
  619. package/lib/workflow-policy/workflow-policy.component.d.ts +7 -3
  620. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +1 -1
  621. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +1 -1
  622. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +1 -1
  623. package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +1 -1
  624. package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +1 -1
  625. package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +1 -1
  626. package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts +1 -1
  627. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +1 -1
  628. package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts +1 -1
  629. package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +1 -1
  630. package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +1 -1
  631. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +1 -1
  632. package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +1 -1
  633. package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +1 -1
  634. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +1 -1
  635. package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts +1 -1
  636. package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +1 -1
  637. package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +1 -1
  638. package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +1 -1
  639. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +1 -1
  640. package/lib/workflow-program/workflow-program.component.d.ts +1 -1
  641. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
  642. package/lib/workflow-services/auth.service.d.ts +0 -1
  643. package/lib/workflow-services/log-issue.service.d.ts +1 -0
  644. package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +1 -1
  645. package/package.json +5 -12
@@ -0,0 +1,347 @@
1
+ import { DatePipe } from '@angular/common';
2
+ import { Component } from '@angular/core';
3
+ import { cloneDeep, some } from 'lodash';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../../ui-kit/dialog/dialog-config";
6
+ import * as i2 from "../../../../ui-kit/dialog/dialog-ref";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "../../../../ui-kit/tooltip/tooltip.directive";
9
+ import * as i5 from "../../../../ui-kit/popover/popover.component";
10
+ import * as i6 from "../../../../ui-kit/popover/popover.directive";
11
+ import * as i7 from "../../../../formgroup/cs-radio/cs-radio.component";
12
+ import * as i8 from "../logic-questions/logic-multiple-choice/logic-multiple-choice.component";
13
+ import * as i9 from "../logic-questions/logic-checkbox/logic-checkbox.component";
14
+ import * as i10 from "../logic-questions/logic-image-choice/logic-image-choice.component";
15
+ import * as i11 from "../logic-questions/logic-star-rating/logic-star-rating.component";
16
+ import * as i12 from "../logic-questions/logic-single-textbox/logic-single-textbox.component";
17
+ import * as i13 from "../logic-questions/logic-comment-box/logic-comment-box.component";
18
+ import * as i14 from "../logic-questions/logic-dropdown/logic-dropdown.component";
19
+ import * as i15 from "../logic-questions/logic-ranking/logic-ranking.component";
20
+ import * as i16 from "../logic-questions/logic-slider/logic-slider.component";
21
+ import * as i17 from "../logic-questions/logic-multiple-textbox/logic-multiple-textbox.component";
22
+ import * as i18 from "../logic-questions/logic-date-time/logic-date-time.component";
23
+ import * as i19 from "../pipes/question-filter.pipe";
24
+ import * as i20 from "../pipes/question-parser.pipe";
25
+ export class AddLogicComponent {
26
+ constructor(config, dialog) {
27
+ this.config = config;
28
+ this.dialog = dialog;
29
+ this.selectedValue = '';
30
+ this.selectedLogicQuestionType = '';
31
+ this.checkboxValue = [];
32
+ this.disableLogicDropdown = true;
33
+ this.operatorMap = [];
34
+ this.showError = { isVisible: false, errorMessage: '' };
35
+ this.logic = {
36
+ andOr: 'and',
37
+ questionName: '',
38
+ operator: '',
39
+ value: this.selectedValue,
40
+ questionTitle: ''
41
+ };
42
+ this.operatorVal = {
43
+ '=': 'Equals',
44
+ '!=': 'Not Equals',
45
+ '>': 'Greater than',
46
+ '<': 'Less than',
47
+ '>=': 'Greater or equals',
48
+ '<=': 'Less or equals',
49
+ answered: 'If answered',
50
+ before: 'Before',
51
+ after: 'After',
52
+ beforeEquals: 'Before or equals',
53
+ afterEquals: 'After or equals'
54
+ };
55
+ }
56
+ ngOnInit() {
57
+ this.currentQuestion = cloneDeep(this.config.data.currentQuestion);
58
+ this.getCurrentPageQuestions();
59
+ this.editorMode = this.config.data.editorMode;
60
+ this.questionIndex = this.config.data.questionIndex;
61
+ }
62
+ /**
63
+ * Fetches the questions on currently active page
64
+ */
65
+ getCurrentPageQuestions() {
66
+ this.questionsArray = cloneDeep(this.config.data.allQuestions);
67
+ this.questionsArray = this.questionsArray.filter((question) => question.page === this.currentQuestion.page);
68
+ }
69
+ /**
70
+ * Sets the index and title of current question
71
+ * @param index Current index of question
72
+ * @param questionTitle Title of question at index i
73
+ */
74
+ setIndex(selectedQuestionName) {
75
+ let index = this.questionsArray.findIndex((x) => x.name === selectedQuestionName);
76
+ this.showError.isVisible = false;
77
+ this.selectedLogicQuestion = index;
78
+ this.logic.operator = '';
79
+ this.selectedValue = '';
80
+ this.logic.questionTitle = this.questionsArray[index].title;
81
+ this.selectedLogicQuestionType = this.questionsArray[this.selectedLogicQuestion].type;
82
+ this.setValuesForLogicDropdown();
83
+ }
84
+ setOperator(evt) {
85
+ this.logic.operator = evt;
86
+ }
87
+ /**
88
+ * populates the logic dropdown based on question type
89
+ */
90
+ setValuesForLogicDropdown() {
91
+ let defaultOperatorMap = [{ key: '=', value: 'Equals' },
92
+ { key: '!=', value: 'Not Equals' },
93
+ { key: 'answered', value: 'If answered' }];
94
+ const type = this.questionsArray[this.selectedLogicQuestion].type;
95
+ if (['star-rating', 'slider'].includes(type)) {
96
+ defaultOperatorMap.push({ key: '>', value: 'Greater than' }, { key: '<', value: 'Less than' }, { key: '>=', value: 'Greater or equals' }, { key: '<=', value: 'Less or equals' });
97
+ }
98
+ else if (['file-upload', 'matrix-dropdown', 'rating-scale', 'multiple-textbox'].includes(type)) {
99
+ defaultOperatorMap = [{ key: 'answered', value: 'If answered' }];
100
+ }
101
+ else if (['date-time'].includes(type)) {
102
+ defaultOperatorMap.push({ key: 'before', value: 'Before' }, { key: 'after', value: 'After' }, { key: 'beforeEquals', value: 'Before or equals' }, { key: 'afterEquals', value: 'After or equals' });
103
+ }
104
+ this.operatorMap = [...defaultOperatorMap];
105
+ this.disableLogicDropdown = false;
106
+ }
107
+ /**
108
+ * Operation on selecting value from checkbox
109
+ * @param event Event triggered on selecting value of checkbox
110
+ * @param title Title of the checkbox option selected
111
+ */
112
+ checkboxStatus(evt) {
113
+ this.selectedValue = '';
114
+ if (evt.checked === true) {
115
+ this.checkboxValue.push(evt.choice.title);
116
+ }
117
+ else {
118
+ this.checkboxValue = this.checkboxValue.filter(value => evt.choice.title !== value);
119
+ }
120
+ this.selectedValue = this.checkboxValue;
121
+ }
122
+ multipleChoiceChecked(evt) {
123
+ this.setSelectedValue(evt.choice.title);
124
+ }
125
+ rankingStatus(choice) {
126
+ this.questionsArray[this.selectedLogicQuestion].choices = choice;
127
+ }
128
+ /**
129
+ * Operation on entering value to multiple text boxes
130
+ */
131
+ setMultiplTextStatus() {
132
+ this.selectedValue = '';
133
+ this.questionsArray[this.selectedLogicQuestion].choices.forEach((choice) => {
134
+ if (choice.value !== '') {
135
+ this.selectedValue += choice.title + ':' + choice.value;
136
+ }
137
+ if (this.selectedValue !== '') {
138
+ this.selectedValue += ';';
139
+ }
140
+ });
141
+ }
142
+ /**
143
+ * Adds the logic on click of add logic button
144
+ */
145
+ addLogic() {
146
+ if (this.questionsArray[this.selectedLogicQuestion].type === 'ranking') {
147
+ this.populateSelectedValueForRanking();
148
+ }
149
+ else if (this.questionsArray[this.selectedLogicQuestion].type === 'multiple-textbox') {
150
+ this.setMultiplTextStatus();
151
+ }
152
+ else if (this.questionsArray[this.selectedLogicQuestion].type === 'date-time') {
153
+ this.setValueForDateTimeType();
154
+ }
155
+ this.showError.isVisible = false;
156
+ this.logic.value = this.selectedValue;
157
+ if (this.logic.operator === 'answered' || this.selectedValue !== '') {
158
+ if (!some([this.currentQuestion.visibilityLogic], this.logic) &&
159
+ (this.selectedValue !== 'answered') && this.logic.questionName !== '' && this.logic.operator !== '') {
160
+ if (this.checkForLogicValue()) {
161
+ this.currentQuestion.visibilityLogic.push(this.logic);
162
+ this.checkboxValue = [];
163
+ }
164
+ }
165
+ }
166
+ else {
167
+ this.showError.isVisible = true;
168
+ if (this.selectedLogicQuestionType == 'single-textbox' || this.selectedLogicQuestionType == 'comment-box') {
169
+ this.showError.errorMessage = 'Please enter a value to add logic';
170
+ }
171
+ else {
172
+ this.showError.errorMessage = 'Please select a value to add logic';
173
+ }
174
+ }
175
+ if (this.currentQuestion.visibilityLogic.length > 0) {
176
+ this.currentQuestion.isRequired = false;
177
+ }
178
+ if (!this.showError.isVisible) {
179
+ this.resetLogic();
180
+ this.closePopup('ADD_LOGIC');
181
+ }
182
+ }
183
+ closePopup(mode) {
184
+ this.dialog.close({ action: mode, logic: this.currentQuestion.visibilityLogic });
185
+ }
186
+ /**
187
+ * Populates logic selected value for ranking type question
188
+ */
189
+ populateSelectedValueForRanking() {
190
+ const rankingArray = [];
191
+ this.questionsArray[this.selectedLogicQuestion].choices.forEach((choice) => {
192
+ rankingArray.push(choice.title);
193
+ });
194
+ this.selectedValue = rankingArray.join();
195
+ }
196
+ /**
197
+ * Validation for logic value (Validation: Previously value is entered or not for the particular question type)
198
+ */
199
+ checkForLogicValue() {
200
+ const logicValues = [];
201
+ this.currentQuestion.visibilityLogic.forEach((logic) => {
202
+ if (this.logic.questionTitle === logic.questionTitle) {
203
+ logicValues.push(logic.value);
204
+ }
205
+ });
206
+ if (!logicValues.includes(this.logic.value)) {
207
+ logicValues.push(this.logic.value);
208
+ this.showError.isVisible = false;
209
+ return true;
210
+ }
211
+ this.showError.errorMessage = 'Logic already applied for this value. Please select another value to apply logic';
212
+ this.showError.isVisible = true;
213
+ if (!this.showError.isVisible) {
214
+ this.resetLogic();
215
+ }
216
+ return false;
217
+ }
218
+ /**
219
+ * Deletes the logic having given index from visibility logic list
220
+ * @param index Index of selected logic
221
+ */
222
+ deleteLogic(index) {
223
+ this.currentQuestion.visibilityLogic.splice(index, 1);
224
+ }
225
+ /**
226
+ * Assigns the selected value to value that needs to be displayed to user
227
+ * @param selectedVal Value selected to be displayed
228
+ */
229
+ setSelectedValue(selectedVal) {
230
+ this.showError.isVisible = false;
231
+ if (this.questionsArray[this.selectedLogicQuestion].type === 'date-time') {
232
+ this.setValueForDateTimeType();
233
+ }
234
+ else {
235
+ this.selectedValue = selectedVal;
236
+ }
237
+ }
238
+ /**
239
+ * For date/time assigns the selected value to value that needs to be displayed to user
240
+ */
241
+ setValueForDateTimeType() {
242
+ this.selectedValue = '';
243
+ if (!this.questionsArray[this.selectedLogicQuestion].date.value &&
244
+ !this.questionsArray[this.selectedLogicQuestion].time.value) {
245
+ this.showError.isVisible = true;
246
+ this.showError.errorMessage = 'Please select a value to add logic';
247
+ }
248
+ else {
249
+ if (!this.questionsArray[this.selectedLogicQuestion].date.value &&
250
+ this.questionsArray[this.selectedLogicQuestion].time.value) {
251
+ this.selectedValue = this.questionsArray[this.selectedLogicQuestion].time.title + ': ' +
252
+ this.questionsArray[this.selectedLogicQuestion].time.value;
253
+ }
254
+ else if (this.questionsArray[this.selectedLogicQuestion].date.value &&
255
+ !this.questionsArray[this.selectedLogicQuestion].time.value) {
256
+ this.selectedValue = this.questionsArray[this.selectedLogicQuestion].date.title + ': ' +
257
+ this.formateWithPipe(this.questionsArray[this.selectedLogicQuestion].date.value);
258
+ }
259
+ else {
260
+ this.selectedValue = this.questionsArray[this.selectedLogicQuestion].date.title + ': ' +
261
+ this.formateWithPipe(this.questionsArray[this.selectedLogicQuestion].date.value) + ', ' +
262
+ this.questionsArray[this.selectedLogicQuestion].time.title + ': ' +
263
+ this.questionsArray[this.selectedLogicQuestion].time.value;
264
+ }
265
+ }
266
+ if (this.questionsArray[this.selectedLogicQuestion].date.value) {
267
+ this.logic['date'] = this.formateBySlash(this.questionsArray[this.selectedLogicQuestion].date.value);
268
+ }
269
+ else {
270
+ this.logic['date'] = '';
271
+ }
272
+ if (this.questionsArray[this.selectedLogicQuestion].time.value) {
273
+ this.logic['time'] = this.questionsArray[this.selectedLogicQuestion].time.value;
274
+ }
275
+ else {
276
+ this.logic['time'] = '';
277
+ }
278
+ this.questionsArray[this.selectedLogicQuestion].date.value = '';
279
+ this.questionsArray[this.selectedLogicQuestion].time.value = '';
280
+ }
281
+ /**
282
+ * Empties the selected value if the logic operator is 'answered'
283
+ * @param logicOperator Logic operator selected from logic dropdown
284
+ */
285
+ onSelectLogic(logicOperator) {
286
+ if (logicOperator === 'answered') {
287
+ this.selectedValue = '';
288
+ }
289
+ }
290
+ /**
291
+ * Empties/Resets the logic fields
292
+ */
293
+ resetLogic() {
294
+ this.selectedLogicQuestionType = '';
295
+ this.selectedValue = '';
296
+ this.selectedLogicQuestion = null;
297
+ this.disableLogicDropdown = true;
298
+ this.operatorMap = [];
299
+ this.logic = {
300
+ andOr: 'and',
301
+ questionName: '',
302
+ operator: '',
303
+ questionTitle: '',
304
+ value: this.selectedValue
305
+ };
306
+ this.showError.isVisible = false;
307
+ this.showError.errorMessage = '';
308
+ }
309
+ /**
310
+ * Assigns the selected star rating value to selected value and updates in main question array list
311
+ * @param selectedValueIndex Index of selected value
312
+ * @param questionIndex Index of current question
313
+ */
314
+ captureStarValue(selectedValueIndex) {
315
+ this.questionsArray[this.selectedLogicQuestion].value = selectedValueIndex + 1;
316
+ this.selectedValue = selectedValueIndex + 1;
317
+ }
318
+ /**
319
+ * Converts the date to toLocaleDateString format
320
+ * @param date Date to be converted
321
+ */
322
+ formatDate(date) {
323
+ return (new Date(date)).toLocaleDateString();
324
+ }
325
+ /**
326
+ * Operation On drag/drop of option of ranking type question
327
+ * @param event Event triggered when option of ranking type question is dragged and dropped
328
+ */
329
+ // drop(event: CdkDragDrop<string[]>) {
330
+ // moveItemInArray(this.questionsArray[this.selectedLogicQuestion].choices, event.previousIndex, event.currentIndex);
331
+ // }
332
+ formateWithPipe(date) {
333
+ var datePipe = new DatePipe('en-US');
334
+ return datePipe.transform(date, 'dd MMM yyyy');
335
+ }
336
+ formateBySlash(date) {
337
+ var datePipe = new DatePipe('en-US');
338
+ return datePipe.transform(date, 'yyyy-MM-ddTHH:mm:ss.SSS', '+0:00') + 'Z';
339
+ }
340
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLogicComponent, deps: [{ token: i1.DialogConfig }, { token: i2.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
341
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLogicComponent, selector: "app-add-logic", ngImport: i0, template: "<div class=\"add-logic\">\r\n <div class=\"add-logic-head vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3 vx-mb-5\">\r\n <div class=\"heading vx-fs-14 vx-fw-500 vx-label-txt\">Add Logic & Display Conditions</div>\r\n <button class=\"close vx-p-0 vx-m-0 vx-d-flex vx-align-center\" (click)=\"closePopup('CLOSE')\"><i class=\"icons vx-fs-16 vx-label-txt\">&#xe9ae;</i></button>\r\n </div>\r\n <div class=\"add-logic-body\">\r\n <div class=\"question-heading vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-2 vx-pl-2\">QUESTION {{questionIndex+1}} <span class=\"vx-fs-16 vx-fw-400 vx-txt-red vx-ml-1\" *ngIf=\"currentQuestion.isRequired === true\">*</span></div>\r\n <div class=\"question-name vx-fs-16 vx-label-txt vx-lh-6 vx-pt-1 vx-pb-1 vx-mb-5\" [innerHTML]=\"currentQuestion?.title ? currentQuestion?.title:'Question'\">\r\n <i class=\"icons info vx-txt-blue vx-ml-2\" *ngIf=\"currentQuestion.hasComments\" [appTooltip]=\"currentQuestion.comments\" placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\">&#xe91f;</i></div>\r\n <div class=\"logic-condition vx-p-2 vx-pl-3 vx-pr-3 vx-mb-5\">\r\n <div class=\"heading vx-fs-14 vx-fw-500 vx-label-txt vx-mb-1\">Is visible when</div>\r\n <div class=\"details vx-fs-12 vx-paragraph-txt\">Use this to define display conditions for the questions in the assessment.</div>\r\n </div>\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">SELECT QUESTION</div>\r\n <div class=\"select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3 vx-mb-5\" appPopover (click)=\"selectQuestion.popover()\" placement=\"left\">\r\n <span class=\"name vx-fs-12 vx-paragraph-txt\" [appTooltip]=\"'Select a question'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{questionsArray[selectedLogicQuestion]?.title | questionParser}}</span>\r\n <i class=\"icons vx-fs-10 vx-paragraph-txt\">&#xe9e8;</i>\r\n </div>\r\n <app-popover #selectQuestion>\r\n <div class=\"select-question-popover\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li *ngFor=\"let data of questionsArray | questionFilter : currentQuestion.name\">\r\n <button class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\" (click)=\"logic.questionName = data?.name;setIndex(data?.name)\">\r\n <div class=\"value vx-fs-12 vx-paragraph-txt\" [appTooltip]=\"data?.title\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.title}}</div>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <ng-container *ngIf=\"operatorMap?.length > 0\">\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">LOGICAL OPERATOR</div>\r\n\r\n <div class=\"operator-item vx-mb-5\">\r\n <ul class=\"vx-d-flex vx-p-0 vx-m-0\">\r\n <li class=\"vx-d-flex vx-align-center vx-p-3 vx-mr-2\" *ngFor='let operator of operatorMap'>\r\n <app-cs-radio name=\"question.name\" (checkedEvent)=\"setOperator(operator.key)\"><span class=\"name vx-fs-11 vx-paragraph-txt vx-tt-uppercase\">{{operator.value}}</span></app-cs-radio>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"logic.questionName != '' && (logic.operator && logic.operator != 'answered') \">\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">PLEASE SELECT THE VALUE</div>\r\n <app-logic-multiple-choice *ngIf=\"selectedLogicQuestionType=='multiple-choice'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-multiple-choice>\r\n <app-logic-checkbox *ngIf=\"selectedLogicQuestionType=='checkbox'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"checkboxStatus($event)\"></app-logic-checkbox>\r\n <app-logic-image-choice *ngIf=\"false\"></app-logic-image-choice>\r\n <app-logic-star-rating *ngIf=\"false\"></app-logic-star-rating>\r\n <app-logic-single-textbox *ngIf=\"selectedLogicQuestionType=='single-textbox'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"selectedValue = $event\"></app-logic-single-textbox>\r\n <app-logic-comment-box *ngIf=\"false\"></app-logic-comment-box>\r\n <app-logic-dropdown *ngIf=\"selectedLogicQuestionType=='dropdown'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-dropdown>\r\n <app-logic-ranking *ngIf=\"false\"></app-logic-ranking>\r\n <app-logic-slider *ngIf=\"false\"></app-logic-slider>\r\n <app-logic-multiple-textbox *ngIf=\"false\" ></app-logic-multiple-textbox>\r\n <app-logic-date-time *ngIf=\"selectedLogicQuestionType=='date-time'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-date-time>\r\n </ng-container>\r\n <div class=\"error-msg vx-fs-11 vx-txt-red\" *ngIf='showError.isVisible'>{{showError.errorMessage}}</div>\r\n </div>\r\n <div class=\"add-logic-footer vx-d-flex vx-align-center vx-justify-end vx-pl-3 vx-pr-3 vx-mt-5\">\r\n <button class=\"reset-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-4 vx-pr-4 vx-m-0 vx-d-flex vx-align-center vx-justify-between\" (click)=\"resetLogic()\">RESET</button>\r\n <button class=\"logic-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-4 vx-pr-4 vx-m-0 vx-ml-1 vx-d-flex vx-align-center vx-justify-between\" (click)=\"addLogic()\">ADD LOGIC</button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .add-logic{background:#fff;border-radius:.25rem;width:80rem}::ng-deep .add-logic-head{background:#fbfbfb;border-bottom:1px solid #F1F1F1;border-radius:.25rem .25rem 0 0;height:2.75rem}::ng-deep .add-logic-head button.close{background:transparent;border:none;border-radius:0}::ng-deep .add-logic-body{height:28rem;padding-left:2rem;padding-right:2rem;overflow-y:auto}::ng-deep .add-logic-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-logic-body .question-heading{position:relative}::ng-deep .add-logic-body .question-heading:before{background:#4681ef;content:\"\";position:absolute;top:.4375rem;left:0;width:.125rem;height:.875rem}::ng-deep .add-logic-body .question-name i.info{cursor:pointer;position:relative;top:.125rem}::ng-deep .add-logic-body .logic-condition{background:#f8f8f8;border-radius:.25rem;position:relative}::ng-deep .add-logic-body .logic-condition:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:0;left:0;width:3px;height:100%}::ng-deep .add-logic-body .logic-condition .heading,::ng-deep .add-logic-body .logic-condition .details{padding-left:.125rem}::ng-deep .add-logic-body .select-box{border:1px solid #DBDBDB;border-radius:.25rem;height:2.5rem;cursor:pointer}::ng-deep .add-logic-body .select-box .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 3rem)}::ng-deep .add-logic-body .operator-item ul{list-style-type:none}::ng-deep .add-logic-body .operator-item ul li{border:1px solid #DBDBDB;border-radius:.25rem;height:2.5rem;width:100%}::ng-deep .add-logic-body .operator-item ul li:only-child,::ng-deep .add-logic-body .operator-item ul li:last-of-type{margin-right:0!important}::ng-deep .add-logic-body .operator-item ul li cs-radio{height:1.25rem;width:100%}::ng-deep .add-logic-body .operator-item ul li cs-radio .radio-item{width:100%!important}::ng-deep .add-logic-footer{background:#fbfbfb;border-top:1px solid #F1F1F1;border-radius:0 0 .25rem .25rem;height:2.75rem}::ng-deep .add-logic-footer button{border-radius:.125rem;height:1.75rem}::ng-deep .add-logic-footer button.reset-btn{background:#fff;border:1px solid #F1F1F1}::ng-deep .add-logic-footer button.logic-btn{background:#1e5dd3;border:none}.select-question-popover{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:71rem;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}.select-question-popover ul{list-style-type:none;max-height:12rem;overflow-y:auto}.select-question-popover ul::-webkit-scrollbar-track{background-color:transparent}.select-question-popover ul li{border-bottom:1px solid #F1F1F1}.select-question-popover ul li:only-child,.select-question-popover ul li:last-of-type{border-bottom:none}.select-question-popover ul li button{background:transparent;border:none;border-radius:0;text-align:left}.select-question-popover ul li button .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i6.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "component", type: i7.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i8.LogicMultipleChoiceComponent, selector: "app-logic-multiple-choice", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "component", type: i9.LogicCheckboxComponent, selector: "app-logic-checkbox", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "component", type: i10.LogicImageChoiceComponent, selector: "app-logic-image-choice" }, { kind: "component", type: i11.LogicStarRatingComponent, selector: "app-logic-star-rating" }, { kind: "component", type: i12.LogicSingleTextboxComponent, selector: "app-logic-single-textbox", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "component", type: i13.LogicCommentBoxComponent, selector: "app-logic-comment-box" }, { kind: "component", type: i14.LogicDropdownComponent, selector: "app-logic-dropdown", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "component", type: i15.LogicRankingComponent, selector: "app-logic-ranking" }, { kind: "component", type: i16.LogicSliderComponent, selector: "app-logic-slider" }, { kind: "component", type: i17.LogicMultipleTextboxComponent, selector: "app-logic-multiple-textbox" }, { kind: "component", type: i18.LogicDateTimeComponent, selector: "app-logic-date-time", inputs: ["question"], outputs: ["changeEvent"] }, { kind: "pipe", type: i19.QuestionFilterPipe, name: "questionFilter" }, { kind: "pipe", type: i20.QuestionParserPipe, name: "questionParser" }] }); }
342
+ }
343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLogicComponent, decorators: [{
344
+ type: Component,
345
+ args: [{ selector: 'app-add-logic', template: "<div class=\"add-logic\">\r\n <div class=\"add-logic-head vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3 vx-mb-5\">\r\n <div class=\"heading vx-fs-14 vx-fw-500 vx-label-txt\">Add Logic & Display Conditions</div>\r\n <button class=\"close vx-p-0 vx-m-0 vx-d-flex vx-align-center\" (click)=\"closePopup('CLOSE')\"><i class=\"icons vx-fs-16 vx-label-txt\">&#xe9ae;</i></button>\r\n </div>\r\n <div class=\"add-logic-body\">\r\n <div class=\"question-heading vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-2 vx-pl-2\">QUESTION {{questionIndex+1}} <span class=\"vx-fs-16 vx-fw-400 vx-txt-red vx-ml-1\" *ngIf=\"currentQuestion.isRequired === true\">*</span></div>\r\n <div class=\"question-name vx-fs-16 vx-label-txt vx-lh-6 vx-pt-1 vx-pb-1 vx-mb-5\" [innerHTML]=\"currentQuestion?.title ? currentQuestion?.title:'Question'\">\r\n <i class=\"icons info vx-txt-blue vx-ml-2\" *ngIf=\"currentQuestion.hasComments\" [appTooltip]=\"currentQuestion.comments\" placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\">&#xe91f;</i></div>\r\n <div class=\"logic-condition vx-p-2 vx-pl-3 vx-pr-3 vx-mb-5\">\r\n <div class=\"heading vx-fs-14 vx-fw-500 vx-label-txt vx-mb-1\">Is visible when</div>\r\n <div class=\"details vx-fs-12 vx-paragraph-txt\">Use this to define display conditions for the questions in the assessment.</div>\r\n </div>\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">SELECT QUESTION</div>\r\n <div class=\"select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3 vx-mb-5\" appPopover (click)=\"selectQuestion.popover()\" placement=\"left\">\r\n <span class=\"name vx-fs-12 vx-paragraph-txt\" [appTooltip]=\"'Select a question'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{questionsArray[selectedLogicQuestion]?.title | questionParser}}</span>\r\n <i class=\"icons vx-fs-10 vx-paragraph-txt\">&#xe9e8;</i>\r\n </div>\r\n <app-popover #selectQuestion>\r\n <div class=\"select-question-popover\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li *ngFor=\"let data of questionsArray | questionFilter : currentQuestion.name\">\r\n <button class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\" (click)=\"logic.questionName = data?.name;setIndex(data?.name)\">\r\n <div class=\"value vx-fs-12 vx-paragraph-txt\" [appTooltip]=\"data?.title\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.title}}</div>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <ng-container *ngIf=\"operatorMap?.length > 0\">\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">LOGICAL OPERATOR</div>\r\n\r\n <div class=\"operator-item vx-mb-5\">\r\n <ul class=\"vx-d-flex vx-p-0 vx-m-0\">\r\n <li class=\"vx-d-flex vx-align-center vx-p-3 vx-mr-2\" *ngFor='let operator of operatorMap'>\r\n <app-cs-radio name=\"question.name\" (checkedEvent)=\"setOperator(operator.key)\"><span class=\"name vx-fs-11 vx-paragraph-txt vx-tt-uppercase\">{{operator.value}}</span></app-cs-radio>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"logic.questionName != '' && (logic.operator && logic.operator != 'answered') \">\r\n <div class=\"label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">PLEASE SELECT THE VALUE</div>\r\n <app-logic-multiple-choice *ngIf=\"selectedLogicQuestionType=='multiple-choice'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-multiple-choice>\r\n <app-logic-checkbox *ngIf=\"selectedLogicQuestionType=='checkbox'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"checkboxStatus($event)\"></app-logic-checkbox>\r\n <app-logic-image-choice *ngIf=\"false\"></app-logic-image-choice>\r\n <app-logic-star-rating *ngIf=\"false\"></app-logic-star-rating>\r\n <app-logic-single-textbox *ngIf=\"selectedLogicQuestionType=='single-textbox'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"selectedValue = $event\"></app-logic-single-textbox>\r\n <app-logic-comment-box *ngIf=\"false\"></app-logic-comment-box>\r\n <app-logic-dropdown *ngIf=\"selectedLogicQuestionType=='dropdown'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-dropdown>\r\n <app-logic-ranking *ngIf=\"false\"></app-logic-ranking>\r\n <app-logic-slider *ngIf=\"false\"></app-logic-slider>\r\n <app-logic-multiple-textbox *ngIf=\"false\" ></app-logic-multiple-textbox>\r\n <app-logic-date-time *ngIf=\"selectedLogicQuestionType=='date-time'\" [question]=\"questionsArray[selectedLogicQuestion]\" (changeEvent)=\"multipleChoiceChecked($event)\"></app-logic-date-time>\r\n </ng-container>\r\n <div class=\"error-msg vx-fs-11 vx-txt-red\" *ngIf='showError.isVisible'>{{showError.errorMessage}}</div>\r\n </div>\r\n <div class=\"add-logic-footer vx-d-flex vx-align-center vx-justify-end vx-pl-3 vx-pr-3 vx-mt-5\">\r\n <button class=\"reset-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-4 vx-pr-4 vx-m-0 vx-d-flex vx-align-center vx-justify-between\" (click)=\"resetLogic()\">RESET</button>\r\n <button class=\"logic-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-4 vx-pr-4 vx-m-0 vx-ml-1 vx-d-flex vx-align-center vx-justify-between\" (click)=\"addLogic()\">ADD LOGIC</button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .add-logic{background:#fff;border-radius:.25rem;width:80rem}::ng-deep .add-logic-head{background:#fbfbfb;border-bottom:1px solid #F1F1F1;border-radius:.25rem .25rem 0 0;height:2.75rem}::ng-deep .add-logic-head button.close{background:transparent;border:none;border-radius:0}::ng-deep .add-logic-body{height:28rem;padding-left:2rem;padding-right:2rem;overflow-y:auto}::ng-deep .add-logic-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-logic-body .question-heading{position:relative}::ng-deep .add-logic-body .question-heading:before{background:#4681ef;content:\"\";position:absolute;top:.4375rem;left:0;width:.125rem;height:.875rem}::ng-deep .add-logic-body .question-name i.info{cursor:pointer;position:relative;top:.125rem}::ng-deep .add-logic-body .logic-condition{background:#f8f8f8;border-radius:.25rem;position:relative}::ng-deep .add-logic-body .logic-condition:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:0;left:0;width:3px;height:100%}::ng-deep .add-logic-body .logic-condition .heading,::ng-deep .add-logic-body .logic-condition .details{padding-left:.125rem}::ng-deep .add-logic-body .select-box{border:1px solid #DBDBDB;border-radius:.25rem;height:2.5rem;cursor:pointer}::ng-deep .add-logic-body .select-box .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 3rem)}::ng-deep .add-logic-body .operator-item ul{list-style-type:none}::ng-deep .add-logic-body .operator-item ul li{border:1px solid #DBDBDB;border-radius:.25rem;height:2.5rem;width:100%}::ng-deep .add-logic-body .operator-item ul li:only-child,::ng-deep .add-logic-body .operator-item ul li:last-of-type{margin-right:0!important}::ng-deep .add-logic-body .operator-item ul li cs-radio{height:1.25rem;width:100%}::ng-deep .add-logic-body .operator-item ul li cs-radio .radio-item{width:100%!important}::ng-deep .add-logic-footer{background:#fbfbfb;border-top:1px solid #F1F1F1;border-radius:0 0 .25rem .25rem;height:2.75rem}::ng-deep .add-logic-footer button{border-radius:.125rem;height:1.75rem}::ng-deep .add-logic-footer button.reset-btn{background:#fff;border:1px solid #F1F1F1}::ng-deep .add-logic-footer button.logic-btn{background:#1e5dd3;border:none}.select-question-popover{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:71rem;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}.select-question-popover ul{list-style-type:none;max-height:12rem;overflow-y:auto}.select-question-popover ul::-webkit-scrollbar-track{background-color:transparent}.select-question-popover ul li{border-bottom:1px solid #F1F1F1}.select-question-popover ul li:only-child,.select-question-popover ul li:last-of-type{border-bottom:none}.select-question-popover ul li button{background:transparent;border:none;border-radius:0;text-align:left}.select-question-popover ul li button .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"] }]
346
+ }], ctorParameters: function () { return [{ type: i1.DialogConfig }, { type: i2.DialogRef }]; } });
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxvZ2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY29tcG9uZW50cy9hZGQtbG9naWMvYWRkLWxvZ2ljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY29tcG9uZW50cy9hZGQtbG9naWMvYWRkLWxvZ2ljLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVXpDLE1BQU0sT0FBTyxpQkFBaUI7SUFpQzVCLFlBQW1CLE1BQW9CLEVBQVMsTUFBaUI7UUFBOUMsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUE3QmpFLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBRXhCLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDNUIsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFFdEIsY0FBUyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFbkQsVUFBSyxHQUFPO1lBQ1YsS0FBSyxFQUFFLEtBQUs7WUFDWixZQUFZLEVBQUUsRUFBRTtZ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YXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCwgc29tZSB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbXBvcnQgeyBEaWFsb2dDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy1jb25maWcnO1xyXG5cclxuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2RpYWxvZy9kaWFsb2ctcmVmJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLWxvZ2ljJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWxvZ2ljLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtbG9naWMuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkTG9naWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgY3VycmVudFF1ZXN0aW9uICE6YW55O1xyXG4gIHB1YmxpYyBxdWVzdGlvbnNBcnJheSAhOmFueTtcclxuICBzZWxlY3RlZFZhbHVlOiBhbnkgPSAnJztcclxuICBzZWxlY3RlZExvZ2ljUXVlc3Rpb24gITogYW55O1xyXG4gIHNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGUgPSAnJztcclxuICBjaGVja2JveFZhbHVlOiBhbnlbXSA9IFtdO1xyXG4gIGRpc2FibGVMb2dpY0Ryb3Bkb3duID0gdHJ1ZTtcclxuICBvcGVyYXRvck1hcDogYW55ID0gW107XHJcbiAgcXVlc3Rpb25JbmRleCE6IG51bWJlcjtcclxuICBzaG93RXJyb3IgPSB7IGlzVmlzaWJsZTogZmFsc2UsIGVycm9yTWVzc2FnZTogJycgfTtcclxuICBlZGl0b3JNb2RlICE6YW55O1xyXG4gIGxvZ2ljOmFueSA9IHtcclxuICAgIGFuZE9yOiAnYW5kJyxcclxuICAgIHF1ZXN0aW9uTmFtZTogJycsXHJcbiAgICBvcGVyYXRvcjogJycsXHJcbiAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZFZhbHVlLFxyXG4gICAgcXVlc3Rpb25UaXRsZTogJydcclxuICB9O1xyXG4gIG9wZXJhdG9yVmFsID0ge1xyXG4gICAgJz0nOiAnRXF1YWxzJyxcclxuICAgICchPSc6ICdOb3QgRXF1YWxzJyxcclxuICAgICc+JzogJ0dyZWF0ZXIgdGhhbicsXHJcbiAgICAnPCc6ICdMZXNzIHRoYW4nLFxyXG4gICAgJz49JzogJ0dyZWF0ZXIgb3IgZXF1YWxzJyxcclxuICAgICc8PSc6ICdMZXNzIG9yIGVxdWFscycsXHJcbiAgICBhbnN3ZXJlZDogJ0lmIGFuc3dlcmVkJyxcclxuICAgIGJlZm9yZTogJ0JlZm9yZScsXHJcbiAgICBhZnRlcjogJ0FmdGVyJyxcclxuICAgIGJlZm9yZUVxdWFsczogJ0JlZm9yZSBvciBlcXVhbHMnLFxyXG4gICAgYWZ0ZXJFcXVhbHM6ICdBZnRlciBvciBlcXVhbHMnXHJcbiAgfTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBEaWFsb2dDb25maWcsIHB1YmxpYyBkaWFsb2c6IERpYWxvZ1JlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50UXVlc3Rpb24gPSBjbG9uZURlZXAodGhpcy5jb25maWcuZGF0YS5jdXJyZW50UXVlc3Rpb24pO1xyXG4gICAgdGhpcy5nZXRDdXJyZW50UGFnZVF1ZXN0aW9ucygpO1xyXG4gICAgdGhpcy5lZGl0b3JNb2RlID0gdGhpcy5jb25maWcuZGF0YS5lZGl0b3JNb2RlO1xyXG4gICAgdGhpcy5xdWVzdGlvbkluZGV4ID0gdGhpcy5jb25maWcuZGF0YS5xdWVzdGlvbkluZGV4O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBGZXRjaGVzIHRoZSBxdWVzdGlvbnMgb24gY3VycmVudGx5IGFjdGl2ZSBwYWdlXHJcbiAgKi9cclxuICBnZXRDdXJyZW50UGFnZVF1ZXN0aW9ucygpIHtcclxuICAgIHRoaXMucXVlc3Rpb25zQXJyYXkgPSBjbG9uZURlZXAodGhpcy5jb25maWcuZGF0YS5hbGxRdWVzdGlvbnMpO1xyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheSA9IHRoaXMucXVlc3Rpb25zQXJyYXkuZmlsdGVyKChxdWVzdGlvbjphbnkpID0+XHJcbiAgICAgIHF1ZXN0aW9uLnBhZ2UgPT09IHRoaXMuY3VycmVudFF1ZXN0aW9uLnBhZ2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFNldHMgdGhlIGluZGV4IGFuZCB0aXRsZSBvZiBjdXJyZW50IHF1ZXN0aW9uXHJcbiAqIEBwYXJhbSBpbmRleCBDdXJyZW50IGluZGV4IG9mIHF1ZXN0aW9uXHJcbiAqIEBwYXJhbSBxdWVzdGlvblRpdGxlIFRpdGxlIG9mIHF1ZXN0aW9uIGF0IGluZGV4IGlcclxuICovXHJcbiAgc2V0SW5kZXgoc2VsZWN0ZWRRdWVzdGlvbk5hbWU6YW55KSB7XHJcbiAgICBsZXQgaW5kZXggPSB0aGlzLnF1ZXN0aW9uc0FycmF5LmZpbmRJbmRleCgoeDphbnkpID0+IHgubmFtZSA9PT0gc2VsZWN0ZWRRdWVzdGlvbk5hbWUpO1xyXG4gICAgdGhpcy5zaG93RXJyb3IuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbiA9IGluZGV4O1xyXG4gICAgdGhpcy5sb2dpYy5vcGVyYXRvciA9ICcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmxvZ2ljLnF1ZXN0aW9uVGl0bGUgPSB0aGlzLnF1ZXN0aW9uc0FycmF5W2luZGV4XS50aXRsZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uVHlwZSA9IHRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnR5cGU7XHJcbiAgICB0aGlzLnNldFZhbHVlc0ZvckxvZ2ljRHJvcGRvd24oKTtcclxuICB9XHJcblxyXG4gIHNldE9wZXJhdG9yKGV2dDphbnkpIHtcclxuICAgIHRoaXMubG9naWMub3BlcmF0b3IgPSBldnQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIHBvcHVsYXRlcyB0aGUgbG9naWMgZHJvcGRvd24gYmFzZWQgb24gcXVlc3Rpb24gdHlwZVxyXG4gICAqL1xyXG4gIHNldFZhbHVlc0ZvckxvZ2ljRHJvcGRvd24oKSB7XHJcbiAgICBsZXQgZGVmYXVsdE9wZXJhdG9yTWFwID0gW3sga2V5OiAnPScsIHZhbHVlOiAnRXF1YWxzJyB9LFxyXG4gICAgeyBrZXk6ICchPScsIHZhbHVlOiAnTm90IEVxdWFscycgfSxcclxuICAgIHsga2V5OiAnYW5zd2VyZWQnLCB2YWx1ZTogJ0lmIGFuc3dlcmVkJyB9XTtcclxuXHJcbiAgICBjb25zdCB0eXBlID0gdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udHlwZTtcclxuXHJcbiAgICBpZiAoWydzdGFyLXJhdGluZycsICdzbGlkZXInXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBkZWZhdWx0T3BlcmF0b3JNYXAucHVzaChcclxuICAgICAgICB7IGtleTogJz4nLCB2YWx1ZTogJ0dyZWF0ZXIgdGhhbicgfSxcclxuICAgICAgICB7IGtleTogJzwnLCB2YWx1ZTogJ0xlc3MgdGhhbicgfSxcclxuICAgICAgICB7IGtleTogJz49JywgdmFsdWU6ICdHcmVhdGVyIG9yIGVxdWFscycgfSxcclxuICAgICAgICB7IGtleTogJzw9JywgdmFsdWU6ICdMZXNzIG9yIGVxdWFscycgfSxcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoWydmaWxlLXVwbG9hZCcsICdtYXRyaXgtZHJvcGRvd24nLCAncmF0aW5nLXNjYWxlJywgJ211bHRpcGxlLXRleHRib3gnXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBkZWZhdWx0T3BlcmF0b3JNYXAgPSBbeyBrZXk6ICdhbnN3ZXJlZCcsIHZhbHVlOiAnSWYgYW5zd2VyZWQnIH1dO1xyXG4gICAgfSBlbHNlIGlmIChbJ2RhdGUtdGltZSddLmluY2x1ZGVzKHR5cGUpKSB7XHJcbiAgICAgIGRlZmF1bHRPcGVyYXRvck1hcC5wdXNoKFxyXG4gICAgICAgIHsga2V5OiAnYmVmb3JlJywgdmFsdWU6ICdCZWZvcmUnIH0sXHJcbiAgICAgICAgeyBrZXk6ICdhZnRlcicsIHZhbHVlOiAnQWZ0ZXInIH0sXHJcbiAgICAgICAgeyBrZXk6ICdiZWZvcmVFcXVhbHMnLCB2YWx1ZTogJ0JlZm9yZSBvciBlcXVhbHMnIH0sXHJcbiAgICAgICAgeyBrZXk6ICdhZnRlckVxdWFscycsIHZhbHVlOiAnQWZ0ZXIgb3IgZXF1YWxzJyB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wZXJhdG9yTWFwID0gWy4uLmRlZmF1bHRPcGVyYXRvck1hcF07XHJcbiAgICB0aGlzLmRpc2FibGVMb2dpY0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICogT3BlcmF0aW9uIG9uIHNlbGVjdGluZyB2YWx1ZSBmcm9tIGNoZWNrYm94XHJcbiAqIEBwYXJhbSBldmVudCBFdmVudCB0cmlnZ2VyZWQgb24gc2VsZWN0aW5nIHZhbHVlIG9mIGNoZWNrYm94XHJcbiAqIEBwYXJhbSB0aXRsZSBUaXRsZSBvZiB0aGUgY2hlY2tib3ggb3B0aW9uIHNlbGVjdGVkXHJcbiAqL1xyXG4gIGNoZWNrYm94U3RhdHVzKGV2dDphbnkpIHtcclxuICAgIFxyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gJyc7XHJcbiAgICBpZiAoZXZ0LmNoZWNrZWQgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5jaGVja2JveFZhbHVlLnB1c2goZXZ0LmNob2ljZS50aXRsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNoZWNrYm94VmFsdWUgPSB0aGlzLmNoZWNrYm94VmFsdWUuZmlsdGVyKHZhbHVlID0+IGV2dC5jaG9pY2UudGl0bGUgIT09IHZhbHVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuY2hlY2tib3hWYWx1ZTtcclxuICB9XHJcblxyXG5cclxuICBtdWx0aXBsZUNob2ljZUNoZWNrZWQoZXZ0OmFueSkge1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKGV2dC5jaG9pY2UudGl0bGUpXHJcbiAgfVxyXG5cclxuICByYW5raW5nU3RhdHVzKGNob2ljZTphbnkpIHtcclxuICAgIHRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLmNob2ljZXMgPSBjaG9pY2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIE9wZXJhdGlvbiBvbiBlbnRlcmluZyB2YWx1ZSB0byBtdWx0aXBsZSB0ZXh0IGJveGVzXHJcbiAgKi9cclxuICBzZXRNdWx0aXBsVGV4dFN0YXR1cygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgXHJcbiAgICB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5jaG9pY2VzLmZvckVhY2goKGNob2ljZTphbnkpID0+IHtcclxuICAgICAgaWYgKGNob2ljZS52YWx1ZSAhPT0gJycpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgKz0gY2hvaWNlLnRpdGxlICsgJzonICsgY2hvaWNlLnZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUgIT09ICcnKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlICs9ICc7JztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIHRoZSBsb2dpYyBvbiBjbGljayBvZiBhZGQgbG9naWMgYnV0dG9uXHJcbiAgICovXHJcbiAgYWRkTG9naWMoKSB7XHJcbiAgICBpZiAodGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udHlwZSA9PT0gJ3JhbmtpbmcnKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVTZWxlY3RlZFZhbHVlRm9yUmFua2luZygpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50eXBlID09PSAnbXVsdGlwbGUtdGV4dGJveCcpIHtcclxuICAgICAgdGhpcy5zZXRNdWx0aXBsVGV4dFN0YXR1cygpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50eXBlID09PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICB0aGlzLnNldFZhbHVlRm9yRGF0ZVRpbWVUeXBlKCk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93RXJyb3IuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvZ2ljLnZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlO1xyXG4gICAgXHJcbiAgICBpZiAodGhpcy5sb2dpYy5vcGVyYXRvciA9PT0gJ2Fuc3dlcmVkJyB8fCB0aGlzLnNlbGVjdGVkVmFsdWUgIT09ICcnKSB7XHJcbiAgICAgIGlmICghc29tZShbdGhpcy5jdXJyZW50UXVlc3Rpb24udmlzaWJpbGl0eUxvZ2ljXSwgdGhpcy5sb2dpYykgJiZcclxuICAgICAgICAodGhpcy5zZWxlY3RlZFZhbHVlICE9PSAnYW5zd2VyZWQnKSAmJiB0aGlzLmxvZ2ljLnF1ZXN0aW9uTmFtZSAhPT0gJycgJiYgdGhpcy5sb2dpYy5vcGVyYXRvciAhPT0gJycpIHtcclxuICAgICAgICBpZiAodGhpcy5jaGVja0ZvckxvZ2ljVmFsdWUoKSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50UXVlc3Rpb24udmlzaWJpbGl0eUxvZ2ljLnB1c2godGhpcy5sb2dpYyk7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrYm94VmFsdWUgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0Vycm9yLmlzVmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGUgPT0gJ3NpbmdsZS10ZXh0Ym94JyB8fCB0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGUgPT0gJ2NvbW1lbnQtYm94Jykge1xyXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yLmVycm9yTWVzc2FnZSA9ICdQbGVhc2UgZW50ZXIgYSB2YWx1ZSB0byBhZGQgbG9naWMnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yLmVycm9yTWVzc2FnZSA9ICdQbGVhc2Ugc2VsZWN0IGEgdmFsdWUgdG8gYWRkIGxvZ2ljJztcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRRdWVzdGlvbi52aXNpYmlsaXR5TG9naWMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRRdWVzdGlvbi5pc1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc2hvd0Vycm9yLmlzVmlzaWJsZSkge1xyXG4gICAgICB0aGlzLnJlc2V0TG9naWMoKTtcclxuICAgICAgdGhpcy5jbG9zZVBvcHVwKCdBRERfTE9HSUMnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlUG9wdXAobW9kZTphbnkpIHtcclxuICAgIHRoaXMuZGlhbG9nLmNsb3NlKHsgYWN0aW9uOiBtb2RlLCBsb2dpYzogdGhpcy5jdXJyZW50UXVlc3Rpb24udmlzaWJpbGl0eUxvZ2ljIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUG9wdWxhdGVzIGxvZ2ljIHNlbGVjdGVkIHZhbHVlIGZvciByYW5raW5nIHR5cGUgcXVlc3Rpb25cclxuICAgKi9cclxuICBwb3B1bGF0ZVNlbGVjdGVkVmFsdWVGb3JSYW5raW5nKCkge1xyXG4gICAgY29uc3QgcmFua2luZ0FycmF5OmFueSA9IFtdO1xyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uY2hvaWNlcy5mb3JFYWNoKChjaG9pY2U6YW55KSA9PiB7XHJcbiAgICAgIHJhbmtpbmdBcnJheS5wdXNoKGNob2ljZS50aXRsZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHJhbmtpbmdBcnJheS5qb2luKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0aW9uIGZvciBsb2dpYyB2YWx1ZSAoVmFsaWRhdGlvbjogUHJldmlvdXNseSB2YWx1ZSBpcyBlbnRlcmVkIG9yIG5vdCBmb3IgdGhlIHBhcnRpY3VsYXIgcXVlc3Rpb24gdHlwZSlcclxuICAgKi9cclxuICBjaGVja0ZvckxvZ2ljVmFsdWUoKSB7XHJcbiAgICBjb25zdCBsb2dpY1ZhbHVlczphbnkgPSBbXTtcclxuICAgIHRoaXMuY3VycmVudFF1ZXN0aW9uLnZpc2liaWxpdHlMb2dpYy5mb3JFYWNoKChsb2dpYzphbnkpID0+IHtcclxuICAgICAgaWYgKHRoaXMubG9naWMucXVlc3Rpb25UaXRsZSA9PT0gbG9naWMucXVlc3Rpb25UaXRsZSkge1xyXG4gICAgICAgIGxvZ2ljVmFsdWVzLnB1c2gobG9naWMudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICghbG9naWNWYWx1ZXMuaW5jbHVkZXModGhpcy5sb2dpYy52YWx1ZSkpIHtcclxuICAgICAgbG9naWNWYWx1ZXMucHVzaCh0aGlzLmxvZ2ljLnZhbHVlKTtcclxuICAgICAgdGhpcy5zaG93RXJyb3IuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd0Vycm9yLmVycm9yTWVzc2FnZSA9ICdMb2dpYyBhbHJlYWR5IGFwcGxpZWQgZm9yIHRoaXMgdmFsdWUuIFBsZWFzZSBzZWxlY3QgYW5vdGhlciB2YWx1ZSB0byBhcHBseSBsb2dpYyc7XHJcbiAgICB0aGlzLnNob3dFcnJvci5pc1Zpc2libGUgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLnNob3dFcnJvci5pc1Zpc2libGUpIHtcclxuICAgICAgdGhpcy5yZXNldExvZ2ljKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGVzIHRoZSBsb2dpYyBoYXZpbmcgZ2l2ZW4gaW5kZXggZnJvbSB2aXNpYmlsaXR5IGxvZ2ljIGxpc3RcclxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2Ygc2VsZWN0ZWQgbG9naWNcclxuICAgKi9cclxuICBkZWxldGVMb2dpYyhpbmRleDphbnkpIHtcclxuICAgIHRoaXMuY3VycmVudFF1ZXN0aW9uLnZpc2liaWxpdHlMb2dpYy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXNzaWducyB0aGUgc2VsZWN0ZWQgdmFsdWUgdG8gdmFsdWUgdGhhdCBuZWVkcyB0byBiZSBkaXNwbGF5ZWQgdG8gdXNlclxyXG4gICAqIEBwYXJhbSBzZWxlY3RlZFZhbCBWYWx1ZSBzZWxlY3RlZCB0byBiZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBzZXRTZWxlY3RlZFZhbHVlKHNlbGVjdGVkVmFsPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNob3dFcnJvci5pc1Zpc2libGUgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50eXBlID09PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICB0aGlzLnNldFZhbHVlRm9yRGF0ZVRpbWVUeXBlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZFZhbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvciBkYXRlL3RpbWUgYXNzaWducyB0aGUgc2VsZWN0ZWQgdmFsdWUgdG8gdmFsdWUgdGhhdCBuZWVkcyB0byBiZSBkaXNwbGF5ZWQgdG8gdXNlclxyXG4gICAqL1xyXG4gIHNldFZhbHVlRm9yRGF0ZVRpbWVUeXBlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gJyc7XHJcbiAgICBcclxuICAgIGlmICghdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSAgJiZcclxuICAgICAgIXRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnRpbWUudmFsdWUpIHtcclxuICAgICAgdGhpcy5zaG93RXJyb3IuaXNWaXNpYmxlID0gdHJ1ZTtcclxuICAgICBcclxuICAgICAgdGhpcy5zaG93RXJyb3IuZXJyb3JNZXNzYWdlID0gJ1BsZWFzZSBzZWxlY3QgYSB2YWx1ZSB0byBhZGQgbG9naWMnO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSAmJlxyXG4gICAgICAgIHRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnRpbWUudmFsdWUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50aW1lLnRpdGxlICsgJzogJyArXHJcbiAgICAgICAgICB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50aW1lLnZhbHVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLmRhdGUudmFsdWUgICYmXHJcbiAgICAgICAgIXRoaXMucXVlc3Rpb25zQXJyYXlbdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnRpbWUudmFsdWUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5kYXRlLnRpdGxlICsgJzogJyArXHJcbiAgICAgICAgICB0aGlzLmZvcm1hdGVXaXRoUGlwZSh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5kYXRlLnZhbHVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5kYXRlLnRpdGxlICsgJzogJyArXHJcbiAgICAgICAgICB0aGlzLmZvcm1hdGVXaXRoUGlwZSh0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS5kYXRlLnZhbHVlKSArICcsICcgK1xyXG4gICAgICAgICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udGltZS50aXRsZSArICc6ICcgK1xyXG4gICAgICAgICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udGltZS52YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSl7XHJcbiAgICAgIHRoaXMubG9naWNbJ2RhdGUnXSA9IHRoaXMuZm9ybWF0ZUJ5U2xhc2godGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5sb2dpY1snZGF0ZSddID0gJyc7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLnF1ZXN0aW9uc0FycmF5W3RoaXMuc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXS50aW1lLnZhbHVlKXtcclxuICAgICAgdGhpcy5sb2dpY1sndGltZSddID0gdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udGltZS52YWx1ZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmxvZ2ljWyd0aW1lJ10gPSAnJztcclxuICAgIH1cclxuXHJcbiAgIFxyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uZGF0ZS52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udGltZS52YWx1ZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1wdGllcyB0aGUgc2VsZWN0ZWQgdmFsdWUgaWYgdGhlIGxvZ2ljIG9wZXJhdG9yIGlzICdhbnN3ZXJlZCdcclxuICAgKiBAcGFyYW0gbG9naWNPcGVyYXRvciBMb2dpYyBvcGVyYXRvciBzZWxlY3RlZCBmcm9tIGxvZ2ljIGRyb3Bkb3duXHJcbiAgICovXHJcbiAgb25TZWxlY3RMb2dpYyhsb2dpY09wZXJhdG9yOiBzdHJpbmcpIHtcclxuICAgIGlmIChsb2dpY09wZXJhdG9yID09PSAnYW5zd2VyZWQnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1wdGllcy9SZXNldHMgdGhlIGxvZ2ljIGZpZWxkc1xyXG4gICAqL1xyXG4gIHJlc2V0TG9naWMoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGUgPSAnJztcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZExvZ2ljUXVlc3Rpb24gPSBudWxsO1xyXG4gICAgdGhpcy5kaXNhYmxlTG9naWNEcm9wZG93biA9IHRydWU7XHJcbiAgICB0aGlzLm9wZXJhdG9yTWFwID0gW11cclxuICAgIHRoaXMubG9naWMgPSB7XHJcbiAgICAgIGFuZE9yOiAnYW5kJyxcclxuICAgICAgcXVlc3Rpb25OYW1lOiAnJyxcclxuICAgICAgb3BlcmF0b3I6ICcnLFxyXG4gICAgICBxdWVzdGlvblRpdGxlOiAnJyxcclxuICAgICAgdmFsdWU6IHRoaXMuc2VsZWN0ZWRWYWx1ZVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2hvd0Vycm9yLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93RXJyb3IuZXJyb3JNZXNzYWdlID0gJyc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBc3NpZ25zIHRoZSBzZWxlY3RlZCBzdGFyIHJhdGluZyB2YWx1ZSB0byBzZWxlY3RlZCB2YWx1ZSBhbmQgdXBkYXRlcyBpbiBtYWluIHF1ZXN0aW9uIGFycmF5IGxpc3RcclxuICAgKiBAcGFyYW0gc2VsZWN0ZWRWYWx1ZUluZGV4IEluZGV4IG9mIHNlbGVjdGVkIHZhbHVlXHJcbiAgICogQHBhcmFtIHF1ZXN0aW9uSW5kZXggSW5kZXggb2YgY3VycmVudCBxdWVzdGlvblxyXG4gICAqL1xyXG4gIGNhcHR1cmVTdGFyVmFsdWUoc2VsZWN0ZWRWYWx1ZUluZGV4OmFueSkge1xyXG4gICAgdGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0udmFsdWUgPSBzZWxlY3RlZFZhbHVlSW5kZXggKyAxO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gc2VsZWN0ZWRWYWx1ZUluZGV4ICsgMTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBkYXRlIHRvIHRvTG9jYWxlRGF0ZVN0cmluZyBmb3JtYXRcclxuICAgKiBAcGFyYW0gZGF0ZSBEYXRlIHRvIGJlIGNvbnZlcnRlZFxyXG4gICAqL1xyXG4gIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIChuZXcgRGF0ZShkYXRlKSkudG9Mb2NhbGVEYXRlU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcGVyYXRpb24gT24gZHJhZy9kcm9wIG9mIG9wdGlvbiBvZiByYW5raW5nIHR5cGUgcXVlc3Rpb25cclxuICAgKiBAcGFyYW0gZXZlbnQgRXZlbnQgdHJpZ2dlcmVkIHdoZW4gb3B0aW9uIG9mIHJhbmtpbmcgdHlwZSBxdWVzdGlvbiBpcyBkcmFnZ2VkIGFuZCBkcm9wcGVkXHJcbiAgICovXHJcbiAgLy8gZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XHJcbiAgLy8gICBtb3ZlSXRlbUluQXJyYXkodGhpcy5xdWVzdGlvbnNBcnJheVt0aGlzLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0uY2hvaWNlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAvLyB9XHJcblxyXG5cclxuICBmb3JtYXRlV2l0aFBpcGUoZGF0ZTphbnkpe1xyXG4gICAgdmFyIGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCdlbi1VUycpO1xyXG4gICAgcmV0dXJuICBkYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ2RkIE1NTSB5eXl5Jyk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRlQnlTbGFzaChkYXRlOmFueSl7XHJcbiAgICB2YXIgZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoJ2VuLVVTJyk7XHJcbiAgICByZXR1cm4gIGRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eS1NTS1kZFRISDptbTpzcy5TU1MnLCcrMDowMCcpKydaJztcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWRkLWxvZ2ljXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLWxvZ2ljLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtMyB2eC1wci0zIHZ4LW1iLTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+QWRkIExvZ2ljICYgRGlzcGxheSBDb25kaXRpb25zPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiIChjbGljayk9XCJjbG9zZVBvcHVwKCdDTE9TRScpXCI+PGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xNiB2eC1sYWJlbC10eHRcIj4mI3hlOWFlOzwvaT48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1sb2dpYy1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9uLWhlYWRpbmcgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMiB2eC1wbC0yXCI+UVVFU1RJT04ge3txdWVzdGlvbkluZGV4KzF9fSA8c3BhbiBjbGFzcz1cInZ4LWZzLTE2IHZ4LWZ3LTQwMCB2eC10eHQtcmVkIHZ4LW1sLTFcIiAqbmdJZj1cImN1cnJlbnRRdWVzdGlvbi5pc1JlcXVpcmVkID09PSAgdHJ1ZVwiPio8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9uLW5hbWUgdngtZnMtMTYgdngtbGFiZWwtdHh0IHZ4LWxoLTYgdngtcHQtMSB2eC1wYi0xIHZ4LW1iLTVcIiBbaW5uZXJIVE1MXT1cImN1cnJlbnRRdWVzdGlvbj8udGl0bGUgPyBjdXJyZW50UXVlc3Rpb24/LnRpdGxlOidRdWVzdGlvbidcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LXR4dC1ibHVlIHZ4LW1sLTJcIiAqbmdJZj1cImN1cnJlbnRRdWVzdGlvbi5oYXNDb21tZW50c1wiIFthcHBUb29sdGlwXT1cImN1cnJlbnRRdWVzdGlvbi5jb21tZW50c1wiIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJ3aGl0ZVwiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj4mI3hlOTFmOzwvaT48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9naWMtY29uZGl0aW9uIHZ4LXAtMiB2eC1wbC0zIHZ4LXByLTMgdngtbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LW1iLTFcIj5JcyB2aXNpYmxlIHdoZW48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dFwiPlVzZSB0aGlzIHRvIGRlZmluZSBkaXNwbGF5IGNvbmRpdGlvbnMgZm9yIHRoZSBxdWVzdGlvbnMgaW4gdGhlIGFzc2Vzc21lbnQuPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5TRUxFQ1QgUVVFU1RJT048L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWJveCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC0zIHZ4LXByLTMgdngtbWItNVwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cInNlbGVjdFF1ZXN0aW9uLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cImxlZnRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCInU2VsZWN0IGEgcXVlc3Rpb24nXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7cXVlc3Rpb25zQXJyYXlbc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXT8udGl0bGUgfCBxdWVzdGlvblBhcnNlcn19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEwIHZ4LXBhcmFncmFwaC10eHRcIj4mI3hlOWU4OzwvaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLXBvcG92ZXIgI3NlbGVjdFF1ZXN0aW9uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXF1ZXN0aW9uLXBvcG92ZXJcIj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZ4LXAtMCB2eC1tLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGRhdGEgb2YgcXVlc3Rpb25zQXJyYXkgfCBxdWVzdGlvbkZpbHRlciA6IGN1cnJlbnRRdWVzdGlvbi5uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXAtMiB2eC1tLTAgdngtdy0xMDBcIiAoY2xpY2spPVwibG9naWMucXVlc3Rpb25OYW1lID0gZGF0YT8ubmFtZTtzZXRJbmRleChkYXRhPy5uYW1lKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCJkYXRhPy50aXRsZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2RhdGE/LnRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wZXJhdG9yTWFwPy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+TE9HSUNBTCBPUEVSQVRPUjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wZXJhdG9yLWl0ZW0gdngtbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidngtZC1mbGV4IHZ4LXAtMCB2eC1tLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXAtMyB2eC1tci0yXCIgKm5nRm9yPSdsZXQgb3BlcmF0b3Igb2Ygb3BlcmF0b3JNYXAnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvIG5hbWU9XCJxdWVzdGlvbi5uYW1lXCIgKGNoZWNrZWRFdmVudCk9XCJzZXRPcGVyYXRvcihvcGVyYXRvci5rZXkpXCI+PHNwYW4gY2xhc3M9XCJuYW1lIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlXCI+e3tvcGVyYXRvci52YWx1ZX19PC9zcGFuPjwvYXBwLWNzLXJhZGlvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAgKm5nSWY9XCJsb2dpYy5xdWVzdGlvbk5hbWUgIT0gJycgJiYgKGxvZ2ljLm9wZXJhdG9yICYmIGxvZ2ljLm9wZXJhdG9yICE9ICdhbnN3ZXJlZCcpIFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlBMRUFTRSBTRUxFQ1QgVEhFIFZBTFVFPC9kaXY+XHJcbiAgICAgICAgICAgIDxhcHAtbG9naWMtbXVsdGlwbGUtY2hvaWNlICpuZ0lmPVwic2VsZWN0ZWRMb2dpY1F1ZXN0aW9uVHlwZT09J211bHRpcGxlLWNob2ljZSdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25zQXJyYXlbc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXVwiIChjaGFuZ2VFdmVudCk9XCJtdWx0aXBsZUNob2ljZUNoZWNrZWQoJGV2ZW50KVwiPjwvYXBwLWxvZ2ljLW11bHRpcGxlLWNob2ljZT5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1jaGVja2JveCAqbmdJZj1cInNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGU9PSdjaGVja2JveCdcIiAgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uc0FycmF5W3NlbGVjdGVkTG9naWNRdWVzdGlvbl1cIiAoY2hhbmdlRXZlbnQpPVwiY2hlY2tib3hTdGF0dXMoJGV2ZW50KVwiPjwvYXBwLWxvZ2ljLWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8YXBwLWxvZ2ljLWltYWdlLWNob2ljZSAqbmdJZj1cImZhbHNlXCI+PC9hcHAtbG9naWMtaW1hZ2UtY2hvaWNlPlxyXG4gICAgICAgICAgICA8YXBwLWxvZ2ljLXN0YXItcmF0aW5nICpuZ0lmPVwiZmFsc2VcIj48L2FwcC1sb2dpYy1zdGFyLXJhdGluZz5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1zaW5nbGUtdGV4dGJveCAqbmdJZj1cInNlbGVjdGVkTG9naWNRdWVzdGlvblR5cGU9PSdzaW5nbGUtdGV4dGJveCdcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25zQXJyYXlbc2VsZWN0ZWRMb2dpY1F1ZXN0aW9uXVwiIChjaGFuZ2VFdmVudCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50XCI+PC9hcHAtbG9naWMtc2luZ2xlLXRleHRib3g+XHJcbiAgICAgICAgICAgIDxhcHAtbG9naWMtY29tbWVudC1ib3ggKm5nSWY9XCJmYWxzZVwiPjwvYXBwLWxvZ2ljLWNvbW1lbnQtYm94PlxyXG4gICAgICAgICAgICA8YXBwLWxvZ2ljLWRyb3Bkb3duICpuZ0lmPVwic2VsZWN0ZWRMb2dpY1F1ZXN0aW9uVHlwZT09J2Ryb3Bkb3duJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvbnNBcnJheVtzZWxlY3RlZExvZ2ljUXVlc3Rpb25dXCIgKGNoYW5nZUV2ZW50KT1cIm11bHRpcGxlQ2hvaWNlQ2hlY2tlZCgkZXZlbnQpXCI+PC9hcHAtbG9naWMtZHJvcGRvd24+XHJcbiAgICAgICAgICAgIDxhcHAtbG9naWMtcmFua2luZyAqbmdJZj1cImZhbHNlXCI+PC9hcHAtbG9naWMtcmFua2luZz5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1zbGlkZXIgKm5nSWY9XCJmYWxzZVwiPjwvYXBwLWxvZ2ljLXNsaWRlcj5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1tdWx0aXBsZS10ZXh0Ym94ICpuZ0lmPVwiZmFsc2VcIiA+PC9hcHAtbG9naWMtbXVsdGlwbGUtdGV4dGJveD5cclxuICAgICAgICAgICAgPGFwcC1sb2dpYy1kYXRlLXRpbWUgKm5nSWY9XCJzZWxlY3RlZExvZ2ljUXVlc3Rpb25UeXBlPT0nZGF0ZS10aW1lJ1wiIFtxdWVzdGlvbl09XCJxdWVzdGlvbnNBcnJheVtzZWxlY3RlZExvZ2ljUXVlc3Rpb25dXCIgKGNoYW5nZUV2ZW50KT1cIm11bHRpcGxlQ2hvaWNlQ2hlY2tlZCgkZXZlbnQpXCI+PC9hcHAtbG9naWMtZGF0ZS10aW1lPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tc2cgdngtZnMtMTEgdngtdHh0LXJlZFwiICpuZ0lmPSdzaG93RXJyb3IuaXNWaXNpYmxlJz57e3Nob3dFcnJvci5lcnJvck1lc3NhZ2V9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLWxvZ2ljLWZvb3RlciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIHZ4LXBsLTMgdngtcHItMyB2eC1tdC01XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInJlc2V0LWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wbC00IHZ4LXByLTQgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCIgKGNsaWNrKT1cInJlc2V0TG9naWMoKVwiPlJFU0VUPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImxvZ2ljLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGwtNCB2eC1wci00IHZ4LW0tMCB2eC1tbC0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCIgKGNsaWNrKT1cImFkZExvZ2ljKClcIj5BREQgTE9HSUM8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19