vcomply-workflow-engine 2.1.7 → 2.1.75

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 (224) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +4032 -271
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +1 -1
  4. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +1 -1
  5. package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.js +5 -2
  6. package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +5 -2
  7. package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +1 -1
  8. package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.js +33 -0
  9. package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.js +33 -0
  10. package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngsummary.json +1 -0
  11. package/esm2015/lib/formgroup/formgroup.module.js +23 -4
  12. package/esm2015/lib/formgroup/formgroup.module.ngfactory.js +1 -1
  13. package/esm2015/lib/formgroup/formgroup.module.ngsummary.json +1 -1
  14. package/esm2015/lib/log-an-issue/log-an-issue.component.js +1 -1
  15. package/esm2015/lib/more-option/more-option.component.js +75 -13
  16. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +1 -1
  17. package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.ngfactory.js +1 -1
  18. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +1 -1
  19. package/esm2015/lib/sharedComponents/program-listing/program-listing.component.js +129 -0
  20. package/esm2015/lib/sharedComponents/program-listing/program-listing.component.ngfactory.js +124 -0
  21. package/esm2015/lib/sharedComponents/program-listing/program-listing.component.ngsummary.json +1 -0
  22. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +1 -1
  23. package/esm2015/lib/sharedComponents/roles-list/roles-list.component.js +25 -0
  24. package/esm2015/lib/sharedComponents/roles-list/roles-list.component.ngfactory.js +51 -0
  25. package/esm2015/lib/sharedComponents/roles-list/roles-list.component.ngsummary.json +1 -0
  26. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.js +5 -2
  27. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +5 -2
  28. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +1 -1
  29. package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.js +5 -2
  30. package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.js +5 -2
  31. package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngsummary.json +1 -1
  32. package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngfactory.js +1 -1
  33. package/esm2015/lib/ui-kit/no-data/no-data.component.js +36 -0
  34. package/esm2015/lib/ui-kit/no-data/no-data.component.ngfactory.js +27 -0
  35. package/esm2015/lib/ui-kit/no-data/no-data.component.ngsummary.json +1 -0
  36. package/esm2015/lib/ui-kit/no-data/no-data.module.js +13 -0
  37. package/esm2015/lib/ui-kit/no-data/no-data.module.ngfactory.js +12 -0
  38. package/esm2015/lib/ui-kit/no-data/no-data.module.ngsummary.json +1 -0
  39. package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.js +1 -1
  40. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +1 -1
  41. package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +1 -1
  42. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +115 -23
  43. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +200 -138
  44. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +1 -1
  45. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +29 -6
  46. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +78 -47
  47. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  48. package/esm2015/lib/workflow-engine.module.js +13 -4
  49. package/esm2015/lib/workflow-engine.module.ngfactory.js +9 -6
  50. package/esm2015/lib/workflow-engine.module.ngsummary.json +1 -1
  51. package/esm2015/lib/workflow-policy/workflow-policy.component.js +1 -1
  52. package/esm2015/lib/workflow-program/constants.js +43 -0
  53. package/esm2015/lib/workflow-program/constants.ngsummary.json +1 -0
  54. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.js +15 -0
  55. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngfactory.js +19 -0
  56. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngsummary.json +1 -0
  57. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.js +214 -0
  58. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.js +229 -0
  59. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngsummary.json +1 -0
  60. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.js +15 -0
  61. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngfactory.js +19 -0
  62. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngsummary.json +1 -0
  63. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.js +46 -0
  64. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.ngsummary.json +1 -0
  65. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.js +109 -0
  66. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngfactory.js +37 -0
  67. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngsummary.json +1 -0
  68. package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.js +40 -0
  69. package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngfactory.js +24 -0
  70. package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngsummary.json +1 -0
  71. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.js +106 -0
  72. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +26 -0
  73. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngsummary.json +1 -0
  74. package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.js +45 -0
  75. package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngfactory.js +44 -0
  76. package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngsummary.json +1 -0
  77. package/esm2015/lib/workflow-program/create-program-ui/custom-field/custom-field.component.js +82 -0
  78. package/esm2015/lib/workflow-program/create-program-ui/custom-field/custom-field.component.ngfactory.js +51 -0
  79. package/esm2015/lib/workflow-program/create-program-ui/custom-field/custom-field.component.ngsummary.json +1 -0
  80. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.js +241 -0
  81. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngfactory.js +253 -0
  82. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngsummary.json +1 -0
  83. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.js +47 -0
  84. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.ngsummary.json +1 -0
  85. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.js +15 -0
  86. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.ngfactory.js +19 -0
  87. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.ngsummary.json +1 -0
  88. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.js +19 -0
  89. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.ngsummary.json +1 -0
  90. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.js +19 -0
  91. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.ngsummary.json +1 -0
  92. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.js +23 -0
  93. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.ngsummary.json +1 -0
  94. package/esm2015/lib/workflow-program/create-program-ui/directives/input-trim.directive.js +17 -0
  95. package/esm2015/lib/workflow-program/create-program-ui/directives/input-trim.directive.ngsummary.json +1 -0
  96. package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.js +24 -0
  97. package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngfactory.js +38 -0
  98. package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngsummary.json +1 -0
  99. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.js +77 -0
  100. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.js +25 -0
  101. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngsummary.json +1 -0
  102. package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.js +16 -0
  103. package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.ngfactory.js +24 -0
  104. package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.ngsummary.json +1 -0
  105. package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.js +23 -0
  106. package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngfactory.js +23 -0
  107. package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngsummary.json +1 -0
  108. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.js +145 -0
  109. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngfactory.js +59 -0
  110. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngsummary.json +1 -0
  111. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.js +21 -0
  112. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.ngfactory.js +13 -0
  113. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.ngsummary.json +1 -0
  114. package/esm2015/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.js +12 -0
  115. package/esm2015/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.ngsummary.json +1 -0
  116. package/esm2015/lib/workflow-program/create-program-ui/pipes/pager.pipe.js +17 -0
  117. package/esm2015/lib/workflow-program/create-program-ui/pipes/pager.pipe.ngsummary.json +1 -0
  118. package/esm2015/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.js +13 -0
  119. package/esm2015/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.ngsummary.json +1 -0
  120. package/esm2015/lib/workflow-program/create-program-ui/pipes/search.pipe.js +20 -0
  121. package/esm2015/lib/workflow-program/create-program-ui/pipes/search.pipe.ngsummary.json +1 -0
  122. package/esm2015/lib/workflow-program/create-program-ui/role-list/loader/loader.component.js +15 -0
  123. package/esm2015/lib/workflow-program/create-program-ui/role-list/loader/loader.component.ngfactory.js +19 -0
  124. package/esm2015/lib/workflow-program/create-program-ui/role-list/loader/loader.component.ngsummary.json +1 -0
  125. package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.js +162 -0
  126. package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.js +94 -0
  127. package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngsummary.json +1 -0
  128. package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.js +41 -0
  129. package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngfactory.js +23 -0
  130. package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngsummary.json +1 -0
  131. package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.js +15 -0
  132. package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngfactory.js +19 -0
  133. package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngsummary.json +1 -0
  134. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +240 -0
  135. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +186 -0
  136. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -0
  137. package/esm2015/lib/workflow-program/workflow-program.component.js +1091 -0
  138. package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +853 -0
  139. package/esm2015/lib/workflow-program/workflow-program.component.ngsummary.json +1 -0
  140. package/esm2015/lib/workflow-risk/workflow-risk.component.js +1 -1
  141. package/esm2015/lib/workflow-services/programs.service.js +182 -0
  142. package/esm2015/lib/workflow-services/programs.service.ngsummary.json +1 -0
  143. package/esm2015/lib/workflow-services/responsibility.service.js +17 -5
  144. package/esm2015/lib/workflow-services/responsibility.service.ngsummary.json +1 -1
  145. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +1 -1
  146. package/esm2015/vcomply-workflow-engine.js +190 -152
  147. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  148. package/fesm2015/vcomply-workflow-engine.js +3669 -122
  149. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  150. package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -0
  151. package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +11 -0
  152. package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.d.ts +1 -0
  153. package/lib/sharedComponents/program-listing/program-listing.component.d.ts +42 -0
  154. package/lib/sharedComponents/program-listing/program-listing.component.ngfactory.d.ts +1 -0
  155. package/lib/sharedComponents/roles-list/roles-list.component.d.ts +8 -0
  156. package/lib/sharedComponents/roles-list/roles-list.component.ngfactory.d.ts +1 -0
  157. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -0
  158. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -0
  159. package/lib/ui-kit/no-data/no-data.component.d.ts +18 -0
  160. package/lib/ui-kit/no-data/no-data.component.ngfactory.d.ts +1 -0
  161. package/lib/ui-kit/no-data/no-data.module.d.ts +2 -0
  162. package/lib/ui-kit/no-data/no-data.module.ngfactory.d.ts +3 -0
  163. package/lib/workflow-compliance/workflow-compliance.component.d.ts +10 -3
  164. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +4 -0
  165. package/lib/workflow-program/constants.d.ts +40 -0
  166. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +5 -0
  167. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngfactory.d.ts +1 -0
  168. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +91 -0
  169. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.d.ts +1 -0
  170. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +5 -0
  171. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngfactory.d.ts +1 -0
  172. package/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.d.ts +13 -0
  173. package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +24 -0
  174. package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngfactory.d.ts +1 -0
  175. package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +13 -0
  176. package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngfactory.d.ts +1 -0
  177. package/lib/workflow-program/create-program-ui/create-program-ui.module.d.ts +2 -0
  178. package/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.d.ts +3 -0
  179. package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +17 -0
  180. package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngfactory.d.ts +1 -0
  181. package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts +19 -0
  182. package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.ngfactory.d.ts +1 -0
  183. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +63 -0
  184. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngfactory.d.ts +1 -0
  185. package/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.d.ts +12 -0
  186. package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts +5 -0
  187. package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.ngfactory.d.ts +1 -0
  188. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.d.ts +4 -0
  189. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.d.ts +4 -0
  190. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.d.ts +4 -0
  191. package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +3 -0
  192. package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +9 -0
  193. package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngfactory.d.ts +1 -0
  194. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +33 -0
  195. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.d.ts +1 -0
  196. package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +9 -0
  197. package/lib/workflow-program/create-program-ui/form-field/form-field.component.ngfactory.d.ts +1 -0
  198. package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +8 -0
  199. package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngfactory.d.ts +1 -0
  200. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +25 -0
  201. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngfactory.d.ts +1 -0
  202. package/lib/workflow-program/create-program-ui/pagination/pagination.module.d.ts +2 -0
  203. package/lib/workflow-program/create-program-ui/pagination/pagination.module.ngfactory.d.ts +3 -0
  204. package/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.d.ts +4 -0
  205. package/lib/workflow-program/create-program-ui/pipes/pager.pipe.d.ts +4 -0
  206. package/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.d.ts +4 -0
  207. package/lib/workflow-program/create-program-ui/pipes/search.pipe.d.ts +4 -0
  208. package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts +5 -0
  209. package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.ngfactory.d.ts +1 -0
  210. package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +62 -0
  211. package/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.d.ts +1 -0
  212. package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +17 -0
  213. package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngfactory.d.ts +1 -0
  214. package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +5 -0
  215. package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngfactory.d.ts +1 -0
  216. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +88 -0
  217. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.d.ts +1 -0
  218. package/lib/workflow-program/workflow-program.component.d.ts +171 -0
  219. package/lib/workflow-program/workflow-program.component.ngfactory.d.ts +1 -0
  220. package/lib/workflow-services/programs.service.d.ts +110 -0
  221. package/lib/workflow-services/responsibility.service.d.ts +5 -3
  222. package/package.json +1 -1
  223. package/vcomply-workflow-engine.d.ts +189 -151
  224. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -0,0 +1,182 @@
1
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
2
+ import { Injectable, Optional } from '@angular/core';
3
+ import { retry } from 'rxjs';
4
+ import { Configurations } from '../configurations';
5
+ import { AuthService } from './auth.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "./auth.service";
9
+ import * as i3 from "../configurations";
10
+ export class ProgramsService {
11
+ constructor(http, authService, config) {
12
+ this.http = http;
13
+ this.authService = authService;
14
+ if (config) {
15
+ this.env = config.envConfig;
16
+ }
17
+ }
18
+ getRoles() {
19
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
20
+ return this.http.get(this.env.organizationGet + 'roles/getProgramRoles', { headers });
21
+ }
22
+ /**
23
+ * Uploads the given file to server
24
+ * @param payload payload File data to be uploaded
25
+ * @param path path Path of file to be uploaded
26
+ * @returns response after uploading a file
27
+ */
28
+ uploadFiles(payload, path) {
29
+ // {
30
+ // reportProgress: true,
31
+ // observe: 'events'}
32
+ const ORG_PATH = `o/${path}`;
33
+ return this.http.post(this.env.fileUploadEndPoint + ORG_PATH + '&ngsw-bypass=true', payload);
34
+ }
35
+ getResponsibilityCenterList() {
36
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
37
+ return this.http.get(this.env.complianceGet + 'responsibilityCenterTree', {
38
+ headers,
39
+ }).pipe(retry(2));
40
+ }
41
+ fetchRoleUsers(roles, page, searchKey) {
42
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
43
+ let queryString = '';
44
+ if (page) {
45
+ queryString += `&page=${page}`;
46
+ }
47
+ ;
48
+ if (searchKey) { }
49
+ return this.http.post(this.env.organizationPost + 'roles/getUserDetails&limit=30' + queryString, { role_ids: roles !== null && roles !== void 0 ? roles : [] }, { headers }).pipe(retry(2));
50
+ }
51
+ fetchAllRoleUsers(roles) {
52
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
53
+ return this.http.post(this.env.organizationPost + 'roles/getUserDetails&type=all', { role_ids: roles !== null && roles !== void 0 ? roles : [] }, { headers }).pipe(retry(2));
54
+ }
55
+ fetchAllRoleGroups(roles) {
56
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
57
+ return this.http.post(this.env.organizationPost + 'roles/getGroupDetails&type=all', { role_ids: roles !== null && roles !== void 0 ? roles : [] }, { headers }).pipe(retry(2));
58
+ }
59
+ fetchAllOrgUser() {
60
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
61
+ //https://devapi.v-comply.com/organization/?mode=organisationUsersList&paginationType=small&admin=1
62
+ return this.http.get(this.env.organizationGet + 'organisationUsersList&paginationType=small', { headers }).pipe(retry(2));
63
+ }
64
+ fetchComplianceGroups() {
65
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
66
+ //https://devapi.v-comply.com/organization/?mode=groupsList&status=1&type=compliance
67
+ return this.http.get(this.env.organizationGet + 'groupsList&status=1&type=compliance', { headers }).pipe(retry(2));
68
+ }
69
+ getBusinessCycle() {
70
+ var _a, _b;
71
+ const businessCycle = JSON.parse((_a = localStorage.getItem("businessCycle")) !== null && _a !== void 0 ? _a : '');
72
+ return {
73
+ selected_cycle: businessCycle
74
+ ? businessCycle.selectedCycle.start_date +
75
+ "-" +
76
+ businessCycle.selectedCycle.end_date
77
+ : "",
78
+ start_date: businessCycle ? businessCycle.selectedCycle.start_date : "",
79
+ end_date: businessCycle ? businessCycle.selectedCycle.end_date : "",
80
+ selected_cycle_arr: businessCycle
81
+ ? (_b = businessCycle === null || businessCycle === void 0 ? void 0 : businessCycle.selectedCycle) === null || _b === void 0 ? void 0 : _b.selected_cycle_arr
82
+ : [],
83
+ };
84
+ }
85
+ saveProgram(payload) {
86
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken()).set('x-business-cycle', JSON.stringify((this.getBusinessCycle())));
87
+ return this.http.post(this.env.programEndpoint + '/category/?isBusinessCycle=true', payload, { headers });
88
+ }
89
+ buildPayload(formData, instance) {
90
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
91
+ console.log("Component Instance", instance);
92
+ const form = formData === null || formData === void 0 ? void 0 : formData.value;
93
+ console.log("Form Value", form);
94
+ const payload = {
95
+ mode: 'program',
96
+ name: (_a = form === null || form === void 0 ? void 0 : form.program_name) !== null && _a !== void 0 ? _a : '',
97
+ description: { text: (_b = form === null || form === void 0 ? void 0 : form.program_description) !== null && _b !== void 0 ? _b : '', attachments: (_c = form === null || form === void 0 ? void 0 : form.program_description_attachments) !== null && _c !== void 0 ? _c : [] },
98
+ program_objective: { text: (_d = form === null || form === void 0 ? void 0 : form.program_objective) !== null && _d !== void 0 ? _d : '', attachments: (_e = form === null || form === void 0 ? void 0 : form.objective_attachment) !== null && _e !== void 0 ? _e : [] },
99
+ roles: form.program_roles.map((ele) => { return { roleId: ele === null || ele === void 0 ? void 0 : ele._id, roleName: ele === null || ele === void 0 ? void 0 : ele.roleName, licenseType: ele === null || ele === void 0 ? void 0 : ele.licenseType }; }),
100
+ owners: (_f = this.listToId(form === null || form === void 0 ? void 0 : form.program_owners, 'member_id')) !== null && _f !== void 0 ? _f : [],
101
+ owners_group: (_g = this.listToId(form === null || form === void 0 ? void 0 : form.program_owners_group, 'group_id')) !== null && _g !== void 0 ? _g : [],
102
+ all_user_in_role: (_h = form === null || form === void 0 ? void 0 : form.all_user_in_role) !== null && _h !== void 0 ? _h : false,
103
+ programType: (_j = form === null || form === void 0 ? void 0 : form.program_type) !== null && _j !== void 0 ? _j : 0,
104
+ state: 0,
105
+ approvers: (_k = this.listToId(form === null || form === void 0 ? void 0 : form.program_approver, 'member_id')) !== null && _k !== void 0 ? _k : [],
106
+ calculate_past_upcoming_event: (_l = form === null || form === void 0 ? void 0 : form.performance_calculation) !== null && _l !== void 0 ? _l : '',
107
+ program_frequency: (form === null || form === void 0 ? void 0 : form.recurring_frequency) ? 1 : 0,
108
+ lock_scope: (form === null || form === void 0 ? void 0 : form.lock_scope_change) ? 1 : 0,
109
+ rc_ids: this.listToId(form === null || form === void 0 ? void 0 : form.rc, 'item_id'),
110
+ assignee_ids: this.listToId(form === null || form === void 0 ? void 0 : form.program_assignee, 'member_id'),
111
+ assignee_group_ids: this.listToId(form === null || form === void 0 ? void 0 : form.program_assignee_group, 'group_id'),
112
+ default_assignee_ids: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_assignee, 'member_id'),
113
+ default_assignee_group_ids: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_assignee_group, 'group_id'),
114
+ default_assignee_type: form === null || form === void 0 ? void 0 : form.assignee_completion_criteria,
115
+ reviewers: this.listToId(form === null || form === void 0 ? void 0 : form.program_reviewer, 'member_id'),
116
+ reviewer_group_ids: this.listToId(form === null || form === void 0 ? void 0 : form.program_reviewer_group, 'group_id'),
117
+ default_reviewers: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_reviewer, 'member_id'),
118
+ default_reviewer_group_ids: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_reviewer_group, 'group_id'),
119
+ default_reviewers_type: form === null || form === void 0 ? void 0 : form.reviewer_completion_criteria,
120
+ overseers: { cc_email: this.listToId(form === null || form === void 0 ? void 0 : form.program_overseer, 'member_id'), cc_email_groups: this.listToId(form === null || form === void 0 ? void 0 : form.program_overseer_group, 'group_id'), failure_cc_email: [], failure_cc_email_groups: [] },
121
+ default_overseers: { cc_email: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_overseer, 'member_id'), cc_email_groups: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_overseer_group, 'group_id'),
122
+ failure_cc_email: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_failed_overseer, 'member_id'), failure_cc_email_groups: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_failed_overseer_group, 'group_id') },
123
+ assessment: { ids: this.listToId(form === null || form === void 0 ? void 0 : form.program_assessments, 'id') },
124
+ evidence_upload_flag: (form === null || form === void 0 ? void 0 : form.evidence_required) ? 1 : 0,
125
+ is_key_evidence: form === null || form === void 0 ? void 0 : form.allow_any_file_key_evidence,
126
+ custom_fields: (_m = form === null || form === void 0 ? void 0 : form.custom_fields) !== null && _m !== void 0 ? _m : [],
127
+ framework: (_o = this.getFramework(form === null || form === void 0 ? void 0 : form.framework)) !== null && _o !== void 0 ? _o : [],
128
+ _id: instance.mode === 'EDIT' ? instance.programId : undefined,
129
+ };
130
+ console.log("payload", payload);
131
+ return payload;
132
+ }
133
+ getFramework(input) {
134
+ console.log("generator", input);
135
+ if (input) {
136
+ return [{
137
+ _id: input === null || input === void 0 ? void 0 : input._id,
138
+ framework_name: input === null || input === void 0 ? void 0 : input.framework_name,
139
+ type: input === null || input === void 0 ? void 0 : input.type,
140
+ in_scope: this.listToId(input === null || input === void 0 ? void 0 : input.in_scope, '_id'),
141
+ out_scope: this.listToId(input === null || input === void 0 ? void 0 : input.out_scope, '_id')
142
+ }];
143
+ }
144
+ else {
145
+ return [];
146
+ }
147
+ }
148
+ listToId(list, key) {
149
+ return list.map((ele) => ele[key]);
150
+ }
151
+ /**
152
+ *
153
+ * @param id : program object id
154
+ * @returns
155
+ */
156
+ getProgram(id) {
157
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken()).set('x-business-cycle', JSON.stringify((this.getBusinessCycle())));
158
+ return this.http.get(this.env.programEndpoint + '/' + id + '?isBusinessCycle=true', { headers });
159
+ }
160
+ /**
161
+ *
162
+ * @param payload payload which need to be updated
163
+ * @param id program object id
164
+ * @returns
165
+ */
166
+ updateProgram(payload, id) {
167
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken()).set('x-business-cycle', JSON.stringify((this.getBusinessCycle())));
168
+ return this.http.post(this.env.programEndpoint + '/category/editCategory/' + id + '?isBusinessCycle=true', payload, { headers });
169
+ }
170
+ }
171
+ ProgramsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgramsService_Factory() { return new ProgramsService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.AuthService), i0.ɵɵinject(i3.Configurations, 8)); }, token: ProgramsService, providedIn: "root" });
172
+ ProgramsService.decorators = [
173
+ { type: Injectable, args: [{
174
+ providedIn: 'root'
175
+ },] }
176
+ ];
177
+ ProgramsService.ctorParameters = () => [
178
+ { type: HttpClient },
179
+ { type: AuthService },
180
+ { type: Configurations, decorators: [{ type: Optional }] }
181
+ ];
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Byb2dyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzdDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBYyxNQUF1QjtRQUF2RixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEUsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FFN0I7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLHVCQUF1QixFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBWSxFQUFFLElBQVM7UUFDakMsSUFBSTtR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LENBQUMsQ0FBQyxDQUFDO1FBQzdKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUcseUJBQXlCLEdBQUUsRUFBRSxHQUFJLHVCQUF1QixFQUFDLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDdkksQ0FBQzs7OztZQTdLQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVJRLFVBQVU7WUFJVixXQUFXO1lBRFgsY0FBYyx1QkFTb0QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByZXRyeSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmFtc1NlcnZpY2Uge1xyXG5cclxuICBlbnYgITogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSb2xlcygpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdyb2xlcy9nZXRQcm9ncmFtUm9sZXMnLHtoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGxvYWRzIHRoZSBnaXZlbiBmaWxlIHRvIHNlcnZlclxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIHBheWxvYWQgRmlsZSBkYXRhIHRvIGJlIHVwbG9hZGVkXHJcbiAgICogQHBhcmFtIHBhdGggcGF0aCBQYXRoIG9mIGZpbGUgdG8gYmUgdXBsb2FkZWRcclxuICAgKiBAcmV0dXJucyByZXNwb25zZSBhZnRlciB1cGxvYWRpbmcgYSBmaWxlXHJcbiAgICovXHJcbiAgdXBsb2FkRmlsZXMocGF5bG9hZDogYW55LCBwYXRoOiBhbnkpIHtcclxuICAgIC8vIHtcclxuICAgIC8vICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAvLyAgIG9ic2VydmU6ICdldmVudHMnfVxyXG4gICAgY29uc3QgT1JHX1BBVEggPSBgby8ke3BhdGh9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5maWxlVXBsb2FkRW5kUG9pbnQgKyBPUkdfUEFUSCAgKyAnJm5nc3ctYnlwYXNzPXRydWUnLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIGdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCgpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdyZXNwb25zaWJpbGl0eUNlbnRlclRyZWUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZmV0Y2hSb2xlVXNlcnMocm9sZXM6YW55LHBhZ2U/OmFueSwgc2VhcmNoS2V5Pzphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIGxldCBxdWVyeVN0cmluZyA9ICcnO1xyXG4gICAgaWYocGFnZSl7IHF1ZXJ5U3RyaW5nICs9IGAmcGFnZT0ke3BhZ2V9YH07XHJcbiAgICBpZihzZWFyY2hLZXkpe31cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdyb2xlcy9nZXRVc2VyRGV0YWlscyZsaW1pdD0zMCcrcXVlcnlTdHJpbmcseyByb2xlX2lkcyA6cm9sZXMgPz8gW119LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hBbGxSb2xlVXNlcnMocm9sZXM6YW55KXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAncm9sZXMvZ2V0VXNlckRldGFpbHMmdHlwZT1hbGwnLHsgcm9sZV9pZHMgOnJvbGVzID8/IFtdfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGZldGNoQWxsUm9sZUdyb3Vwcyhyb2xlczphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdyb2xlcy9nZXRHcm91cERldGFpbHMmdHlwZT1hbGwnLHsgcm9sZV9pZHMgOnJvbGVzID8/IFtdfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbiAgZmV0Y2hBbGxPcmdVc2VyKCl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgLy9odHRwczovL2RldmFwaS52LWNvbXBseS5jb20vb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCZwYWdpbmF0aW9uVHlwZT1zbWFsbCZhZG1pbj0xXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ29yZ2FuaXNhdGlvblVzZXJzTGlzdCZwYWdpbmF0aW9uVHlwZT1zbWFsbCcsIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG4gIGZldGNoQ29tcGxpYW5jZUdyb3Vwcygpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIC8vaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tL29yZ2FuaXphdGlvbi8/bW9kZT1ncm91cHNMaXN0JnN0YXR1cz0xJnR5cGU9Y29tcGxpYW5jZVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdncm91cHNMaXN0JnN0YXR1cz0xJnR5cGU9Y29tcGxpYW5jZScsIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRCdXNpbmVzc0N5Y2xlKCl7XHJcbiAgICBjb25zdCBidXNpbmVzc0N5Y2xlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzQ3ljbGVcIikgPz8gJycpO1xyXG4gICByZXR1cm4ge1xyXG4gICAgICBzZWxlY3RlZF9jeWNsZTogYnVzaW5lc3NDeWNsZVxyXG4gICAgICAgID8gYnVzaW5lc3NDeWNsZS5zZWxlY3RlZEN5Y2xlLnN0YXJ0X2RhdGUgK1xyXG4gICAgICAgIFwiLVwiICtcclxuICAgICAgICBidXNpbmVzc0N5Y2xlLnNlbGVjdGVkQ3ljbGUuZW5kX2RhdGVcclxuICAgICAgICA6IFwiXCIsXHJcbiAgICAgIHN0YXJ0X2RhdGU6IGJ1c2luZXNzQ3ljbGUgPyBidXNpbmVzc0N5Y2xlLnNlbGVjdGVkQ3ljbGUuc3RhcnRfZGF0ZSA6IFwiXCIsXHJcbiAgICAgIGVuZF9kYXRlOiBidXNpbmVzc0N5Y2xlID8gYnVzaW5lc3NDeWNsZS5zZWxlY3RlZEN5Y2xlLmVuZF9kYXRlIDogXCJcIixcclxuICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiBidXNpbmVzc0N5Y2xlXHJcbiAgICAgICAgPyBidXNpbmVzc0N5Y2xlPy5zZWxlY3RlZEN5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnJcclxuICAgICAgICA6IFtdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNhdmVQcm9ncmFtKHBheWxvYWQ6YW55KXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy9jYXRlZ29yeS8/aXNCdXNpbmVzc0N5Y2xlPXRydWUnLHBheWxvYWQsIHtoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuXHJcbiBidWlsZFBheWxvYWQoZm9ybURhdGE6YW55LGluc3RhbmNlOmFueSl7XHJcbmNvbnNvbGUubG9nKFwiQ29tcG9uZW50IEluc3RhbmNlXCIsaW5zdGFuY2UpO1xyXG5jb25zdCBmb3JtID0gZm9ybURhdGE/LnZhbHVlO1xyXG5jb25zb2xlLmxvZyhcIkZvcm0gVmFsdWVcIixmb3JtKTtcclxuY29uc3QgcGF5bG9hZCA9IHtcclxuICBtb2RlOiAncHJvZ3JhbScsXHJcbiAgbmFtZTpmb3JtPy5wcm9ncmFtX25hbWUgPz8gJycsXHJcbiAgZGVzY3JpcHRpb246e3RleHQ6Zm9ybT8ucHJvZ3JhbV9kZXNjcmlwdGlvbiA/PyAnJyxhdHRhY2htZW50czpmb3JtPy5wcm9ncmFtX2Rlc2NyaXB0aW9uX2F0dGFjaG1lbnRzID8/IFtdfSxcclxuICBwcm9ncmFtX29iamVjdGl2ZSA6IHt0ZXh0OmZvcm0/LnByb2dyYW1fb2JqZWN0aXZlID8/ICcnLGF0dGFjaG1lbnRzOmZvcm0/Lm9iamVjdGl2ZV9hdHRhY2htZW50ID8/IFtdfSxcclxuICByb2xlczogZm9ybS5wcm9ncmFtX3JvbGVzLm1hcCgoZWxlOmFueSkgPT4ge3JldHVybiB7cm9sZUlkOmVsZT8uX2lkLHJvbGVOYW1lOmVsZT8ucm9sZU5hbWUsIGxpY2Vuc2VUeXBlOmVsZT8ubGljZW5zZVR5cGV9fSksXHJcbiAgb3duZXJzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9vd25lcnMsJ21lbWJlcl9pZCcpID8/IFtdLFxyXG4gIG93bmVyc19ncm91cDogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX293bmVyc19ncm91cCwnZ3JvdXBfaWQnKSA/PyBbXSxcclxuICBhbGxfdXNlcl9pbl9yb2xlOiBmb3JtPy5hbGxfdXNlcl9pbl9yb2xlID8/IGZhbHNlLFxyXG4gIHByb2dyYW1UeXBlOmZvcm0/LnByb2dyYW1fdHlwZSA/PyAwLFxyXG4gIHN0YXRlOjAsXHJcbiAgYXBwcm92ZXJzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9hcHByb3ZlciwnbWVtYmVyX2lkJykgPz8gW10sXHJcbiAgY2FsY3VsYXRlX3Bhc3RfdXBjb21pbmdfZXZlbnQ6IGZvcm0/LnBlcmZvcm1hbmNlX2NhbGN1bGF0aW9uID8/ICcnLFxyXG4gIHByb2dyYW1fZnJlcXVlbmN5IDogZm9ybT8ucmVjdXJyaW5nX2ZyZXF1ZW5jeSA/IDEgOiAwLFxyXG4gIGxvY2tfc2NvcGU6IGZvcm0/LmxvY2tfc2NvcGVfY2hhbmdlID8gMSA6MCxcclxuICByY19pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucmMsJ2l0ZW1faWQnKSxcclxuICBhc3NpZ25lZV9pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9hc3NpZ25lZSwnbWVtYmVyX2lkJyksXHJcbiAgYXNzaWduZWVfZ3JvdXBfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fYXNzaWduZWVfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9hc3NpZ25lZV9pZHMgOiAgdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfYXNzaWduZWUsJ21lbWJlcl9pZCcpLFxyXG4gIGRlZmF1bHRfYXNzaWduZWVfZ3JvdXBfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9hc3NpZ25lZV9ncm91cCwnZ3JvdXBfaWQnKSxcclxuICBkZWZhdWx0X2Fzc2lnbmVlX3R5cGU6IGZvcm0/LmFzc2lnbmVlX2NvbXBsZXRpb25fY3JpdGVyaWEsXHJcbiAgcmV2aWV3ZXJzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9yZXZpZXdlciwnbWVtYmVyX2lkJyksXHJcbiAgcmV2aWV3ZXJfZ3JvdXBfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fcmV2aWV3ZXJfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9yZXZpZXdlcnM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfcmV2aWV3ZXIsJ21lbWJlcl9pZCcpLFxyXG4gIGRlZmF1bHRfcmV2aWV3ZXJfZ3JvdXBfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9yZXZpZXdlcl9ncm91cCwnZ3JvdXBfaWQnKSxcclxuICBkZWZhdWx0X3Jldmlld2Vyc190eXBlOmZvcm0/LnJldmlld2VyX2NvbXBsZXRpb25fY3JpdGVyaWEsXHJcbiAgb3ZlcnNlZXJzOiB7Y2NfZW1haWw6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9vdmVyc2VlciwnbWVtYmVyX2lkJyksY2NfZW1haWxfZ3JvdXBzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9vdmVyc2Vlcl9ncm91cCwnZ3JvdXBfaWQnKSxmYWlsdXJlX2NjX2VtYWlsOiBbXSxmYWlsdXJlX2NjX2VtYWlsX2dyb3VwczpbXX0sXHJcbiAgZGVmYXVsdF9vdmVyc2VlcnM6IHtjY19lbWFpbDogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfb3ZlcnNlZXIsJ21lbWJlcl9pZCcpLGNjX2VtYWlsX2dyb3Vwczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9vdmVyc2Vlcl9ncm91cCwnZ3JvdXBfaWQnKSxcclxuICBmYWlsdXJlX2NjX2VtYWlsOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9mYWlsZWRfb3ZlcnNlZXIsJ21lbWJlcl9pZCcpLGZhaWx1cmVfY2NfZW1haWxfZ3JvdXBzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X2ZhaWxlZF9vdmVyc2Vlcl9ncm91cCwnZ3JvdXBfaWQnKX0sXHJcbiAgYXNzZXNzbWVudDoge2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2Fzc2Vzc21lbnRzLCdpZCcpfSxcclxuICBldmlkZW5jZV91cGxvYWRfZmxhZzpmb3JtPy5ldmlkZW5jZV9yZXF1aXJlZCA/IDEgOiAwLFxyXG4gIGlzX2tleV9ldmlkZW5jZTogZm9ybT8uYWxsb3dfYW55X2ZpbGVfa2V5X2V2aWRlbmNlLFxyXG4gIGN1c3RvbV9maWVsZHM6Zm9ybT8uY3VzdG9tX2ZpZWxkcyA/PyBbXSxcclxuICBmcmFtZXdvcms6dGhpcy5nZXRGcmFtZXdvcmsoZm9ybT8uZnJhbWV3b3JrKSA/PyBbXSxcclxuICBfaWQ6IGluc3RhbmNlLm1vZGUgPT09ICdFRElUJyA/IGluc3RhbmNlLnByb2dyYW1JZCA6IHVuZGVmaW5lZCxcclxufVxyXG5jb25zb2xlLmxvZyhcInBheWxvYWRcIixwYXlsb2FkKVxyXG5yZXR1cm4gcGF5bG9hZDtcclxuIH1cclxuIFxyXG4gZ2V0RnJhbWV3b3JrKGlucHV0OmFueSl7XHJcbiAgIGNvbnNvbGUubG9nKFwiZ2VuZXJhdG9yXCIsaW5wdXQpXHJcbiAgIGlmKGlucHV0KXtcclxuICAgIHJldHVybiBbe1xyXG4gICAgICBfaWQ6aW5wdXQ/Ll9pZCxcclxuICAgICAgZnJhbWV3b3JrX25hbWU6aW5wdXQ/LmZyYW1ld29ya19uYW1lLFxyXG4gICAgICB0eXBlOiBpbnB1dD8udHlwZSxcclxuICAgICAgaW5fc2NvcGU6dGhpcy5saXN0VG9JZChpbnB1dD8uaW5fc2NvcGUsJ19pZCcpLFxyXG4gICAgICBvdXRfc2NvcGU6dGhpcy5saXN0VG9JZChpbnB1dD8ub3V0X3Njb3BlLCdfaWQnKVxyXG4gICAgfV1cclxuICAgfWVsc2V7XHJcbiAgICAgcmV0dXJuIFtdXHJcbiAgIH1cclxuXHJcbiB9XHJcblxyXG4gbGlzdFRvSWQobGlzdDphbnksa2V5OnN0cmluZyl7XHJcbiAgIHJldHVybiBsaXN0Lm1hcCgoZWxlOmFueSkgPT4gZWxlW2tleV0pO1xyXG4gfVxyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSBpZCA6IHByb2dyYW0gb2JqZWN0IGlkXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gZ2V0UHJvZ3JhbShpZDphbnkpe1xyXG4gIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy8nICsgaWQgKyc/aXNCdXNpbmVzc0N5Y2xlPXRydWUnLCB7aGVhZGVyc30pO1xyXG59XHJcblxyXG4vKipcclxuICpcclxuICogQHBhcmFtIHBheWxvYWQgcGF5bG9hZCB3aGljaCBuZWVkIHRvIGJlIHVwZGF0ZWRcclxuICogQHBhcmFtIGlkIHByb2dyYW0gb2JqZWN0IGlkXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG51cGRhdGVQcm9ncmFtKHBheWxvYWQ6YW55LCBpZDogc3RyaW5nKXtcclxuICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpLnNldCgneC1idXNpbmVzcy1jeWNsZScsICBKU09OLnN0cmluZ2lmeSgodGhpcy5nZXRCdXNpbmVzc0N5Y2xlKCkpKSk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2NhdGVnb3J5L2VkaXRDYXRlZ29yeS8nKyBpZCAgKyAnP2lzQnVzaW5lc3NDeWNsZT10cnVlJyxwYXlsb2FkLCB7aGVhZGVyc30pO1xyXG59XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1 @@
1
+ {"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]],"parameters":[{"__symbol":2,"members":[]},{"__symbol":3,"members":[]},{"__symbol":4,"members":[]}]}],"getRoles":[{"__symbolic":"method"}],"uploadFiles":[{"__symbolic":"method"}],"getResponsibilityCenterList":[{"__symbolic":"method"}],"fetchRoleUsers":[{"__symbolic":"method"}],"fetchAllRoleUsers":[{"__symbolic":"method"}],"fetchAllRoleGroups":[{"__symbolic":"method"}],"fetchAllOrgUser":[{"__symbolic":"method"}],"fetchComplianceGroups":[{"__symbolic":"method"}],"getBusinessCycle":[{"__symbolic":"method"}],"saveProgram":[{"__symbolic":"method"}],"buildPayload":[{"__symbolic":"method"}],"getFramework":[{"__symbolic":"method"}],"listToId":[{"__symbolic":"method"}],"getProgram":[{"__symbolic":"method"}],"updateProgram":[{"__symbolic":"method"}]}},"type":{"summaryKind":3,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":3,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":true,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}}],"lifecycleHooks":[]}}}],"symbols":[{"__symbol":0,"name":"ProgramsService","filePath":"./programs.service"},{"__symbol":1,"name":"Optional","filePath":"@angular/core"},{"__symbol":2,"name":"HttpClient","filePath":"@angular/common/http/http"},{"__symbol":3,"name":"AuthService","filePath":"./auth.service"},{"__symbol":4,"name":"Configurations","filePath":"../configurations"}]}
@@ -19,10 +19,10 @@ export class ResponsibilityService {
19
19
  this.env = config.envConfig;
20
20
  }
21
21
  }
22
- getResponsibilityCenterList() {
22
+ getResponsibilityCenterList(params) {
23
23
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
24
24
  return this.http.get(this.env.complianceGet + 'responsibilityCenterTree', {
25
- headers,
25
+ params, headers
26
26
  }).pipe(retry(2));
27
27
  }
28
28
  getOrganizationGroups() {
@@ -37,10 +37,10 @@ export class ResponsibilityService {
37
37
  headers,
38
38
  }).pipe(retry(2));
39
39
  }
40
- getOrganizationPeople() {
40
+ getOrganizationPeople(params) {
41
41
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
42
42
  return this.http.get(this.env.organizationGet + 'people', {
43
- headers,
43
+ params, headers
44
44
  }).pipe(retry(2));
45
45
  }
46
46
  getAssignorsList() {
@@ -55,6 +55,18 @@ export class ResponsibilityService {
55
55
  headers,
56
56
  }).pipe(retry(2));
57
57
  }
58
+ getProgramsList(params) {
59
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
60
+ return this.http.get(this.env.complianceGet + 'complianceCategory/programList', {
61
+ params, headers
62
+ }).pipe(retry(2));
63
+ }
64
+ getCategoriesUnderProgram(params) {
65
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
66
+ return this.http.get(this.env.complianceGet + 'complianceCategory/CategoryListTree', {
67
+ params, headers
68
+ }).pipe(retry(2));
69
+ }
58
70
  getAssurance() {
59
71
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
60
72
  return this.http.get(this.env.assuranceGet + 'category/list&id=1', {
@@ -124,4 +136,4 @@ ResponsibilityService.ctorParameters = () => [
124
136
  { type: AuthService },
125
137
  { type: Configurations, decorators: [{ type: Optional }] }
126
138
  ];
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNN0MsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUFvQixJQUFnQixFQUFVLFdBQXdCLEVBQWMsTUFBdUI7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRnRFLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBcUdqQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFwR3BDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBRTdCO0lBQ0gsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxJQUFJ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QkFBaUIsQ0FBQyxPQUFZLEVBQUUsRUFBVTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxnRUFBZ0UsR0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFHLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckwsQ0FBQztJQUVELHdCQUF3QixDQUFDLEVBQVU7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXdCLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsa0NBQWtDLEdBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pKLENBQUM7Ozs7WUF6SUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFUUSxVQUFVO1lBSVYsV0FBVztZQURYLGNBQWMsdUJBV29ELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudExpc3QgfSBmcm9tICcuLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtbGlzdC9zZXJ2aWNlL2Fzc2Vzc21lbnQuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXNwb25zaWJpbGl0eVNlcnZpY2Uge1xyXG4gIGVudiAhOiBhbnk7XHJcbiAgZGF0YVBlclBhZ2UgPSAzMDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCgpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdyZXNwb25zaWJpbGl0eUNlbnRlclRyZWUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcmdhbml6YXRpb25Hcm91cHMoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdncm91cHNMaXN0JnN0YXR1cz0xJnR5cGU9Y29tcGxpYW5jZScsIHtcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldE9yZ2FuaXphdGlvblVzZXJzKCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pemF0aW9uVXNlcnMnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcmdhbml6YXRpb25QZW9wbGUoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdwZW9wbGUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3NpZ25vcnNMaXN0KCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pemF0aW9uVXNlcnMmaXNPbkJlaGFsZj0xJywge1xyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcmllc0xpc3QoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5TGlzdFRyZWUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3N1cmFuY2UoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmFzc3VyYW5jZUdldCArICdjYXRlZ29yeS9saXN0JmlkPTEnLCB7XHJcbiAgICAgIGhlYWRlcnMsXHJcbiAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc3VyYW5jZUZvclJlcXVpcmVzQXVkaXQoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmFzc3VyYW5jZUFwaSArICdBdWRpdC9DYXRlZ29yeS9MaXN0Lz9tb2RlPWVudHJ1c3RfbW9kdWxlJywge1xyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRSQ0RldGFpbHNPZkZyYW1ld29yayhyY19pZDphbnksIGNhdGVnb3J5X2lkOmFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5UkNUcmVlQnlJZCZpZD0nICsgY2F0ZWdvcnlfaWQgKyAnJnJjX2lkPScgKyByY19pZCwgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0RW50cnVzdChlbnRydXN0X2JvZHk6YW55KXtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICsgJ2NyZWF0ZVJlcG9ydCcsIGVudHJ1c3RfYm9keSwge2hlYWRlcnN9KTtcclxuICB9XHJcbiAgdXBkYXRlRW50cnVzdChlbnRydXN0X2JvZHk6YW55LCBvYmplY3RfaWQ6YW55LCBpc0RlbGVnYXRlOmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdjcmVhdGVSZXBvcnQmcmVwb3J0SWQ9JyArIG9iamVjdF9pZCArICcmaXNEZWxlZ2F0ZT0wJywgZW50cnVzdF9ib2R5LCAge2hlYWRlcnN9KTtcclxuICB9XHJcbiAgXHJcbiAgZWRpdFJlc3BvbnNpYmlsaXR5KG9iamVjdElkOmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZVJlcG9ydC9yZXBvcnRCeUlkJmlkPScgKyBvYmplY3RJZCAsIHsgaGVhZGVycyB9KS5waXBlKHJldHJ5KDIpKTtcclxuXHJcbiAgfVxyXG5cclxuICBhZGRCdWxrUmVzcG9uc2liaWxpdHkoZW50cnVzdF9ib2R5OmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdpbXBvcnQvY3JlYXRlJywgZW50cnVzdF9ib2R5LCAge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuXHJcbiAgfVxyXG5cclxuICB1cGxvYWRUb05vZGUocGF5bG9hZDogYW55LCBkZXM6IGFueSkge1xyXG4gICAgLy8gY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYuZmlsZVVwbG9hZEVuZFBvaW50ICsgJ3Jpc2svcmVzcG9uc2liaWxpdHlDZW50ZXJMaXN0JywgeyByY19pZF9hcnI6IHJjQXJyYXkgPz8gW10gfSwgeyBoZWFkZXJzIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5lbnYuZmlsZVVwbG9hZEVuZFBvaW50ICsgZGVzLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIGZpbGVzVXBsb2FkaW5nOiBhbnlbXSA9IFtdO1xyXG4gIGZpbGVzVXBsb2FkZWQ6IGFueVtdID0gW107XHJcbiAgZmlsZXNVcGxvYWRlZEFuZFVwbG9hZGluZzogYW55W10gPSBbXTtcclxuXHJcblxyXG4gIGdldENhdGVnb3J5RGV0YWlsc0J5SWQoaWQ6IGFueSkge1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlUcmVlQnlJZCZpZD0nK2lkLFxyXG4gICAgIHsgaGVhZGVycywgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBmaWxlVXBsb2FkKGZpbGU6YW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICsgJ2ZpbGUvdXBsb2FkJywgZmlsZSwgIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuIFxyXG4gIGdldEFzc2Vzc21lbnRDYXRlZ29yeShwYXlsb2FkOiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuYXNzZXNzbWVudEVucG9pbnQgKyAnY2F0ZWdvcnkvbGlzdCZpc0NyZWF0ZVJlc3BvbnNpYmlsaXR5PXRydWUnLCBwYXlsb2FkLCAge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc2Vzc21lbnRMaXN0KHBheWxvYWQ6IGFueSwgaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcnJheTxBc3Nlc3NtZW50TGlzdD4+KHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICsgJ2Fzc2Vzc21lbnQvc2VsZWN0QXNzZXNzbWVudCZpc0NyZWF0ZVJlc3BvbnNpYmlsaXR5PXRydWUmY2F0aWQ9JytpZCwgcGF5bG9hZCwgIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3Nlc3NtZW50RGV0YWlsc0J5SUQoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcnJheTxBc3Nlc3NtZW50TGlzdD4+KHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICsgJ2Fzc2Vzc21lbnQvZ2V0QXNzZXNzbWVudEJ5SWQmaWQ9JytpZCwge30sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNN0MsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUFvQixJQUFnQixFQUFVLFdBQXdCLEVBQWMsTUFBdUI7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRnRFLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBZ0hqQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUEvR3BDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBRTdCO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLE1BQWtCO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FB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QyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyTCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsRUFBVTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxrQ0FBa0MsR0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakosQ0FBQzs7OztZQXBKRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVRRLFVBQVU7WUFJVixXQUFXO1lBRFgsY0FBYyx1QkFXb0QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc3Nlc3NtZW50TGlzdCB9IGZyb20gJy4uL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L3NlcnZpY2UvYXNzZXNzbWVudC5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3BvbnNpYmlsaXR5U2VydmljZSB7XHJcbiAgZW52ICE6IGFueTtcclxuICBkYXRhUGVyUGFnZSA9IDMwO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9ucykge1xyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJMaXN0KHBhcmFtcz86SHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ3Jlc3BvbnNpYmlsaXR5Q2VudGVyVHJlZScsIHtcclxuICAgICAgcGFyYW1zLCBoZWFkZXJzXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3JnYW5pemF0aW9uR3JvdXBzKCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnZ3JvdXBzTGlzdCZzdGF0dXM9MSZ0eXBlPWNvbXBsaWFuY2UnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcmdhbml6YXRpb25Vc2VycygpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ29yZ2FuaXphdGlvblVzZXJzJywge1xyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3JnYW5pemF0aW9uUGVvcGxlKHBhcmFtcz86SHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAncGVvcGxlJywge1xyXG4gICAgICBwYXJhbXMsIGhlYWRlcnNcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3NpZ25vcnNMaXN0KCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pemF0aW9uVXNlcnMmaXNPbkJlaGFsZj0xJywge1xyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcmllc0xpc3QoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5TGlzdFRyZWUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG4gIGdldFByb2dyYW1zTGlzdChwYXJhbXM6SHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9wcm9ncmFtTGlzdCcsIHtcclxuICAgICAgcGFyYW1zLCBoZWFkZXJzXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBnZXRDYXRlZ29yaWVzVW5kZXJQcm9ncmFtKHBhcmFtczpIdHRwUGFyYW1zKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5TGlzdFRyZWUnLCB7XHJcbiAgICAgIHBhcmFtcywgaGVhZGVyc1xyXG4gICAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbiAgZ2V0QXNzdXJhbmNlKCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5hc3N1cmFuY2VHZXQgKyAnY2F0ZWdvcnkvbGlzdCZpZD0xJywge1xyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3N1cmFuY2VGb3JSZXF1aXJlc0F1ZGl0KCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5hc3N1cmFuY2VBcGkgKyAnQXVkaXQvQ2F0ZWdvcnkvTGlzdC8/bW9kZT1lbnRydXN0X21vZHVsZScsIHtcclxuICAgICAgaGVhZGVycyxcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UkNEZXRhaWxzT2ZGcmFtZXdvcmsocmNfaWQ6YW55LCBjYXRlZ29yeV9pZDphbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9DYXRlZ29yeVJDVHJlZUJ5SWQmaWQ9JyArIGNhdGVnb3J5X2lkICsgJyZyY19pZD0nICsgcmNfaWQsIHsgaGVhZGVycyB9KTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdEVudHJ1c3QoZW50cnVzdF9ib2R5OmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdjcmVhdGVSZXBvcnQnLCBlbnRydXN0X2JvZHksIHtoZWFkZXJzfSk7XHJcbiAgfVxyXG4gIHVwZGF0ZUVudHJ1c3QoZW50cnVzdF9ib2R5OmFueSwgb2JqZWN0X2lkOmFueSwgaXNEZWxlZ2F0ZTphbnkpe1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuY29tcGxpYW5jZVBvc3QgKyAnY3JlYXRlUmVwb3J0JnJlcG9ydElkPScgKyBvYmplY3RfaWQgKyAnJmlzRGVsZWdhdGU9MCcsIGVudHJ1c3RfYm9keSwgIHtoZWFkZXJzfSk7XHJcbiAgfVxyXG4gIFxyXG4gIGVkaXRSZXNwb25zaWJpbGl0eShvYmplY3RJZDphbnkpe1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VSZXBvcnQvcmVwb3J0QnlJZCZpZD0nICsgb2JqZWN0SWQgLCB7IGhlYWRlcnMgfSkucGlwZShyZXRyeSgyKSk7XHJcblxyXG4gIH1cclxuXHJcbiAgYWRkQnVsa1Jlc3BvbnNpYmlsaXR5KGVudHJ1c3RfYm9keTphbnkpe1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuY29tcGxpYW5jZVBvc3QgKyAnaW1wb3J0L2NyZWF0ZScsIGVudHJ1c3RfYm9keSwgIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXBsb2FkVG9Ob2RlKHBheWxvYWQ6IGFueSwgZGVzOiBhbnkpIHtcclxuICAgIC8vIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LmZpbGVVcGxvYWRFbmRQb2ludCArICdyaXNrL3Jlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCcsIHsgcmNfaWRfYXJyOiByY0FycmF5ID8/IFtdIH0sIHsgaGVhZGVycyB9KS5waXBlKHJldHJ5KDIpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHRoaXMuZW52LmZpbGVVcGxvYWRFbmRQb2ludCArIGRlcywgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICBmaWxlc1VwbG9hZGluZzogYW55W10gPSBbXTtcclxuICBmaWxlc1VwbG9hZGVkOiBhbnlbXSA9IFtdO1xyXG4gIGZpbGVzVXBsb2FkZWRBbmRVcGxvYWRpbmc6IGFueVtdID0gW107XHJcblxyXG5cclxuICBnZXRDYXRlZ29yeURldGFpbHNCeUlkKGlkOiBhbnkpIHtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5VHJlZUJ5SWQmaWQ9JytpZCxcclxuICAgICB7IGhlYWRlcnMsIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZmlsZVVwbG9hZChmaWxlOmFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdmaWxlL3VwbG9hZCcsIGZpbGUsICB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiBcclxuICBnZXRBc3Nlc3NtZW50Q2F0ZWdvcnkocGF5bG9hZDogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICsgJ2NhdGVnb3J5L2xpc3QmaXNDcmVhdGVSZXNwb25zaWJpbGl0eT10cnVlJywgcGF5bG9hZCwgIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3Nlc3NtZW50TGlzdChwYXlsb2FkOiBhbnksIGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXJyYXk8QXNzZXNzbWVudExpc3Q+Pih0aGlzLmVudi5hc3Nlc3NtZW50RW5wb2ludCArICdhc3Nlc3NtZW50L3NlbGVjdEFzc2Vzc21lbnQmaXNDcmVhdGVSZXNwb25zaWJpbGl0eT10cnVlJmNhdGlkPScraWQsIHBheWxvYWQsICB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXNzZXNzbWVudERldGFpbHNCeUlEKGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXJyYXk8QXNzZXNzbWVudExpc3Q+Pih0aGlzLmVudi5hc3Nlc3NtZW50RW5wb2ludCArICdhc3Nlc3NtZW50L2dldEFzc2Vzc21lbnRCeUlkJmlkPScraWQsIHt9LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -1 +1 @@
1
- {"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]],"parameters":[{"__symbol":2,"members":[]},{"__symbol":3,"members":[]},{"__symbol":4,"members":[]}]}],"getResponsibilityCenterList":[{"__symbolic":"method"}],"getOrganizationGroups":[{"__symbolic":"method"}],"getOrganizationUsers":[{"__symbolic":"method"}],"getOrganizationPeople":[{"__symbolic":"method"}],"getAssignorsList":[{"__symbolic":"method"}],"getCategoriesList":[{"__symbolic":"method"}],"getAssurance":[{"__symbolic":"method"}],"getAssuranceForRequiresAudit":[{"__symbolic":"method"}],"getRCDetailsOfFramework":[{"__symbolic":"method"}],"submitEntrust":[{"__symbolic":"method"}],"updateEntrust":[{"__symbolic":"method"}],"editResponsibility":[{"__symbolic":"method"}],"addBulkResponsibility":[{"__symbolic":"method"}],"uploadToNode":[{"__symbolic":"method"}],"getCategoryDetailsById":[{"__symbolic":"method"}],"fileUpload":[{"__symbolic":"method"}],"getAssessmentCategory":[{"__symbolic":"method"}],"getAssessmentList":[{"__symbolic":"method"}],"getAssessmentDetailsByID":[{"__symbolic":"method"}]}},"type":{"summaryKind":3,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":3,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":true,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}}],"lifecycleHooks":[]}}}],"symbols":[{"__symbol":0,"name":"ResponsibilityService","filePath":"./responsibility.service"},{"__symbol":1,"name":"Optional","filePath":"@angular/core"},{"__symbol":2,"name":"HttpClient","filePath":"@angular/common/http/http"},{"__symbol":3,"name":"AuthService","filePath":"./auth.service"},{"__symbol":4,"name":"Configurations","filePath":"../configurations"}]}
1
+ {"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]],"parameters":[{"__symbol":2,"members":[]},{"__symbol":3,"members":[]},{"__symbol":4,"members":[]}]}],"getResponsibilityCenterList":[{"__symbolic":"method"}],"getOrganizationGroups":[{"__symbolic":"method"}],"getOrganizationUsers":[{"__symbolic":"method"}],"getOrganizationPeople":[{"__symbolic":"method"}],"getAssignorsList":[{"__symbolic":"method"}],"getCategoriesList":[{"__symbolic":"method"}],"getProgramsList":[{"__symbolic":"method"}],"getCategoriesUnderProgram":[{"__symbolic":"method"}],"getAssurance":[{"__symbolic":"method"}],"getAssuranceForRequiresAudit":[{"__symbolic":"method"}],"getRCDetailsOfFramework":[{"__symbolic":"method"}],"submitEntrust":[{"__symbolic":"method"}],"updateEntrust":[{"__symbolic":"method"}],"editResponsibility":[{"__symbolic":"method"}],"addBulkResponsibility":[{"__symbolic":"method"}],"uploadToNode":[{"__symbolic":"method"}],"getCategoryDetailsById":[{"__symbolic":"method"}],"fileUpload":[{"__symbolic":"method"}],"getAssessmentCategory":[{"__symbolic":"method"}],"getAssessmentList":[{"__symbolic":"method"}],"getAssessmentDetailsByID":[{"__symbolic":"method"}]}},"type":{"summaryKind":3,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":3,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":true,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}}],"lifecycleHooks":[]}}}],"symbols":[{"__symbol":0,"name":"ResponsibilityService","filePath":"./responsibility.service"},{"__symbol":1,"name":"Optional","filePath":"@angular/core"},{"__symbol":2,"name":"HttpClient","filePath":"@angular/common/http/http"},{"__symbol":3,"name":"AuthService","filePath":"./auth.service"},{"__symbol":4,"name":"Configurations","filePath":"../configurations"}]}