@pega/angular-sdk-components 0.242.7 → 0.242.9

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 (250) hide show
  1. package/esm2022/lib/_bridge/angular-pconnect.mjs +3 -3
  2. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +3 -3
  3. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +3 -3
  4. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +3 -3
  5. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +3 -3
  6. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +3 -3
  7. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +3 -3
  8. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +4 -5
  9. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +3 -3
  10. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +9 -5
  11. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +3 -3
  12. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +3 -3
  13. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +3 -3
  14. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +3 -3
  15. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +9 -7
  16. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +3 -3
  17. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +3 -3
  18. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +3 -3
  19. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +15 -7
  20. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +3 -3
  21. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +3 -3
  22. package/esm2022/lib/_components/field/currency/currency.component.mjs +23 -18
  23. package/esm2022/lib/_components/field/date/date.component.mjs +3 -3
  24. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +21 -8
  25. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +38 -20
  26. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +16 -8
  27. package/esm2022/lib/_components/field/email/email.component.mjs +3 -3
  28. package/esm2022/lib/_components/field/group/group.component.mjs +3 -3
  29. package/esm2022/lib/_components/field/integer/integer.component.mjs +3 -3
  30. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +8 -7
  31. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +3 -3
  32. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +31 -23
  33. package/esm2022/lib/_components/field/phone/phone.component.mjs +10 -15
  34. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +3 -3
  35. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +14 -7
  36. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +3 -3
  37. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +3 -3
  38. package/esm2022/lib/_components/field/text/text.component.mjs +6 -6
  39. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +3 -3
  40. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +3 -3
  41. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +4 -4
  42. package/esm2022/lib/_components/field/time/time.component.mjs +23 -11
  43. package/esm2022/lib/_components/field/url/url.component.mjs +3 -3
  44. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +71 -12
  45. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +11 -6
  46. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +2 -2
  47. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +3 -3
  48. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +5 -6
  49. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +3 -3
  50. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +3 -3
  51. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +5 -5
  52. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +4 -7
  53. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +10 -30
  54. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +3 -3
  55. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +7 -5
  56. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +3 -3
  57. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +3 -3
  58. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +3 -3
  59. package/esm2022/lib/_components/infra/reference/reference.component.mjs +68 -78
  60. package/esm2022/lib/_components/infra/region/region.component.mjs +3 -3
  61. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +24 -19
  62. package/esm2022/lib/_components/infra/stages/stages.component.mjs +3 -3
  63. package/esm2022/lib/_components/infra/view/view.component.mjs +3 -3
  64. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +3 -3
  65. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +3 -3
  66. package/esm2022/lib/_components/template/base/details-template-base.mjs +3 -3
  67. package/esm2022/lib/_components/template/base/form-template-base.mjs +3 -3
  68. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +3 -3
  69. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +3 -3
  70. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +5 -5
  71. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +3 -3
  72. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +6 -7
  73. package/esm2022/lib/_components/template/details/details.component.mjs +3 -3
  74. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +3 -3
  75. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +3 -3
  76. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +3 -3
  77. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +3 -3
  78. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +3 -3
  79. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +3 -3
  80. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +3 -3
  81. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +3 -3
  82. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +47 -38
  83. package/esm2022/lib/_components/template/field-group-template/utils.mjs +11 -0
  84. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +5 -5
  85. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +3 -3
  86. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +3 -3
  87. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +3 -3
  88. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +5 -5
  89. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +3 -3
  90. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +3 -3
  91. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +3 -3
  92. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +3 -3
  93. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +3 -3
  94. package/esm2022/lib/_components/template/page/page.component.mjs +3 -3
  95. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +3 -3
  96. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +3 -3
  97. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +3 -3
  98. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +19 -3
  99. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +58 -24
  100. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +3 -3
  101. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +3 -3
  102. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +3 -3
  103. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +3 -3
  104. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +3 -3
  105. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +3 -3
  106. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +3 -3
  107. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +3 -3
  108. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +3 -3
  109. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +3 -3
  110. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +3 -3
  111. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +3 -3
  112. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +3 -3
  113. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +3 -3
  114. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +3 -3
  115. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +3 -3
  116. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +3 -3
  117. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +3 -3
  118. package/esm2022/lib/_components/widget/todo/todo.component.mjs +5 -5
  119. package/esm2022/lib/_components/widget/utility/utility.component.mjs +3 -3
  120. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +3 -3
  121. package/esm2022/lib/_helpers/formatters/boolean.mjs +2 -2
  122. package/esm2022/lib/_helpers/formatters/common.mjs +6 -3
  123. package/esm2022/lib/_helpers/formatters/currency.mjs +2 -2
  124. package/esm2022/lib/_helpers/formatters/date.mjs +2 -2
  125. package/esm2022/lib/_helpers/formatters/format-utils.mjs +10 -2
  126. package/esm2022/lib/_helpers/formatters/index.mjs +16 -16
  127. package/esm2022/lib/_helpers/template-utils.mjs +3 -3
  128. package/esm2022/lib/_helpers/utils.mjs +40 -18
  129. package/esm2022/lib/_messages/error-messages.service.mjs +3 -3
  130. package/esm2022/lib/_messages/progress-spinner.service.mjs +3 -3
  131. package/esm2022/lib/_messages/update-worklist.service.mjs +3 -3
  132. package/esm2022/lib/_services/banner.service.mjs +3 -3
  133. package/esm2022/lib/_services/case.service.mjs +3 -3
  134. package/esm2022/lib/_services/datapage.service.mjs +3 -3
  135. package/esm2022/lib/_services/server-config.service.mjs +3 -3
  136. package/esm2022/public-api.mjs +5 -3
  137. package/fesm2022/pega-angular-sdk-components.mjs +940 -746
  138. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  139. package/lib/_components/designSystemExtension/banner/banner.component.d.ts +0 -1
  140. package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +0 -1
  141. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +1 -1
  142. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +1 -0
  143. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -3
  144. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +0 -1
  145. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +5 -1
  146. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +0 -1
  147. package/lib/_components/field/check-box/check-box.component.d.ts +0 -1
  148. package/lib/_components/field/currency/currency.component.d.ts +0 -1
  149. package/lib/_components/field/date/date.component.d.ts +0 -1
  150. package/lib/_components/field/date-time/date-time.component.d.ts +1 -1
  151. package/lib/_components/field/decimal/decimal.component.d.ts +1 -1
  152. package/lib/_components/field/dropdown/dropdown.component.d.ts +1 -1
  153. package/lib/_components/field/email/email.component.d.ts +0 -1
  154. package/lib/_components/field/group/group.component.d.ts +0 -1
  155. package/lib/_components/field/integer/integer.component.d.ts +0 -1
  156. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -2
  157. package/lib/_components/field/multiselect/multiselect.component.d.ts +0 -1
  158. package/lib/_components/field/percentage/percentage.component.d.ts +1 -2
  159. package/lib/_components/field/phone/phone.component.d.ts +0 -7
  160. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +0 -1
  161. package/lib/_components/field/rich-text/rich-text.component.d.ts +1 -2
  162. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +0 -1
  163. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +0 -1
  164. package/lib/_components/field/text/text.component.d.ts +0 -1
  165. package/lib/_components/field/text-area/text-area.component.d.ts +0 -1
  166. package/lib/_components/field/text-content/text-content.component.d.ts +0 -1
  167. package/lib/_components/field/text-input/text-input.component.d.ts +0 -1
  168. package/lib/_components/field/time/time.component.d.ts +1 -2
  169. package/lib/_components/field/url/url.component.d.ts +0 -1
  170. package/lib/_components/field/user-reference/user-reference.component.d.ts +0 -1
  171. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +0 -1
  172. package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +0 -1
  173. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +0 -2
  174. package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +0 -1
  175. package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +0 -1
  176. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  177. package/lib/_components/infra/assignment/assignment.component.d.ts +0 -1
  178. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +2 -11
  179. package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +0 -1
  180. package/lib/_components/infra/defer-load/defer-load.component.d.ts +1 -1
  181. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  182. package/lib/_components/infra/multi-step/multi-step.component.d.ts +0 -1
  183. package/lib/_components/infra/navbar/navbar.component.d.ts +0 -1
  184. package/lib/_components/infra/reference/reference.component.d.ts +23 -3
  185. package/lib/_components/infra/region/region.component.d.ts +0 -1
  186. package/lib/_components/infra/root-container/root-container.component.d.ts +3 -1
  187. package/lib/_components/infra/stages/stages.component.d.ts +0 -1
  188. package/lib/_components/infra/view/view.component.d.ts +0 -1
  189. package/lib/_components/template/app-shell/app-shell.component.d.ts +0 -1
  190. package/lib/_components/template/banner-page/banner-page.component.d.ts +0 -1
  191. package/lib/_components/template/base/details-template-base.d.ts +0 -1
  192. package/lib/_components/template/case-summary/case-summary.component.d.ts +0 -1
  193. package/lib/_components/template/case-view/case-view.component.d.ts +0 -1
  194. package/lib/_components/template/confirmation/confirmation.component.d.ts +0 -1
  195. package/lib/_components/template/data-reference/data-reference.component.d.ts +0 -1
  196. package/lib/_components/template/default-form/default-form.component.d.ts +2 -3
  197. package/lib/_components/template/details/details.component.d.ts +0 -1
  198. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +0 -1
  199. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +0 -1
  200. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +0 -1
  201. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +0 -1
  202. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +0 -1
  203. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +0 -1
  204. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +0 -1
  205. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +12 -9
  206. package/lib/_components/template/field-group-template/utils.d.ts +1 -0
  207. package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +0 -1
  208. package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +0 -1
  209. package/lib/_components/template/list-page/list-page.component.d.ts +0 -1
  210. package/lib/_components/template/list-view/list-view.component.d.ts +1 -2
  211. package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +0 -1
  212. package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +0 -1
  213. package/lib/_components/template/one-column/one-column.component.d.ts +0 -1
  214. package/lib/_components/template/one-column-page/one-column-page.component.d.ts +0 -1
  215. package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +0 -1
  216. package/lib/_components/template/page/page.component.d.ts +0 -1
  217. package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +0 -1
  218. package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +0 -1
  219. package/lib/_components/template/simple-table/simple-table.component.d.ts +0 -1
  220. package/lib/_components/template/simple-table-manual/helpers.d.ts +9 -2
  221. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +8 -3
  222. package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +0 -1
  223. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +0 -1
  224. package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +0 -1
  225. package/lib/_components/template/three-column/three-column.component.d.ts +0 -1
  226. package/lib/_components/template/three-column-page/three-column-page.component.d.ts +0 -1
  227. package/lib/_components/template/two-column/two-column.component.d.ts +0 -1
  228. package/lib/_components/template/two-column-page/two-column-page.component.d.ts +0 -1
  229. package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +0 -1
  230. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +0 -1
  231. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +0 -1
  232. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +1 -2
  233. package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +0 -1
  234. package/lib/_components/widget/attachment/attachment.component.d.ts +1 -2
  235. package/lib/_components/widget/case-history/case-history.component.d.ts +0 -1
  236. package/lib/_components/widget/feed-container/feed-container.component.d.ts +0 -1
  237. package/lib/_components/widget/file-utility/file-utility.component.d.ts +0 -1
  238. package/lib/_components/widget/quick-create/quick-create.component.d.ts +0 -1
  239. package/lib/_components/widget/todo/todo.component.d.ts +1 -2
  240. package/lib/_components/widget/utility/utility.component.d.ts +0 -1
  241. package/lib/_helpers/formatters/boolean.d.ts +1 -2
  242. package/lib/_helpers/formatters/common.d.ts +1 -1
  243. package/lib/_helpers/formatters/currency.d.ts +1 -2
  244. package/lib/_helpers/formatters/date.d.ts +1 -2
  245. package/lib/_helpers/formatters/index.d.ts +1 -2
  246. package/lib/_helpers/utils.d.ts +8 -0
  247. package/package.json +1 -1
  248. package/public-api.d.ts +4 -2
  249. package/esm2022/lib/_services/idle-detection.service.mjs +0 -26
  250. package/lib/_services/idle-detection.service.d.ts +0 -9
@@ -28,10 +28,10 @@ export class MaterialVerticalTabsComponent {
28
28
  onChange(tab) {
29
29
  this.tabClick.emit(tab);
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MaterialVerticalTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MaterialVerticalTabsComponent, isStandalone: true, selector: "app-material-vertical-tabs", inputs: { tabConfig$: "tabConfig$" }, outputs: { tabClick: "tabClick" }, ngImport: i0, template: "<div>\n <mat-button-toggle-group vertical hideSingleSelectionIndicator (change)=\"onChange($event.value)\" [value]=\"selectedTabId$\" aria-label=\"Tabs\">\n <mat-button-toggle *ngFor=\"let tab of tabConfig$\" [value]=\"tab.id\" style=\"text-align: left\">\n <div style=\"display: flex\">\n <div style=\"flex-grow: 10\">{{ tab.name }}</div>\n <div style=\"flex-grow: 1\">\n <span *ngIf=\"tab?.count\" [matBadge]=\"tab.count\" matBadgeOverlap=\"false\" matBadgePosition=\"after\" class=\"psdk-vtab-badge\">&nbsp;</span>\n </div>\n </div>\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n", styles: ["mat-button-toggle-group{width:100%;border-width:.0625rem 0rem}mat-button-toggle-group ::ng-deep .mat-button-toggle-appearance-standard{background-color:transparent}mat-button-toggle-group ::ng-deep .mat-button-toggle.mat-button-toggle-checked.mat-button-toggle-appearance-standard{background-color:transparent;border-right:.1875rem solid var(--app-primary-color)}mat-button-toggle-group ::ng-deep .mat-button-toggle.mat-focus-indicator.mat-button-toggle-appearance-standard{background-color:transparent;border-right:.1875rem solid transparent}mat-button-toggle-group ::ng-deep .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{text-align:left}.psdk-vtab-badge .mat-badge-content{top:0rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i2.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i2.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i3.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }] }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialVerticalTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MaterialVerticalTabsComponent, isStandalone: true, selector: "app-material-vertical-tabs", inputs: { tabConfig$: "tabConfig$" }, outputs: { tabClick: "tabClick" }, ngImport: i0, template: "<div>\n <mat-button-toggle-group vertical hideSingleSelectionIndicator (change)=\"onChange($event.value)\" [value]=\"selectedTabId$\" aria-label=\"Tabs\">\n <mat-button-toggle *ngFor=\"let tab of tabConfig$\" [value]=\"tab.id\" style=\"text-align: left\">\n <div style=\"display: flex\">\n <div style=\"flex-grow: 10\">{{ tab.name }}</div>\n <div style=\"flex-grow: 1\">\n <span *ngIf=\"tab?.count\" [matBadge]=\"tab.count\" matBadgeOverlap=\"false\" matBadgePosition=\"after\" class=\"psdk-vtab-badge\">&nbsp;</span>\n </div>\n </div>\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n", styles: ["mat-button-toggle-group{width:100%;border-width:.0625rem 0rem}mat-button-toggle-group ::ng-deep .mat-button-toggle-appearance-standard{background-color:transparent}mat-button-toggle-group ::ng-deep .mat-button-toggle.mat-button-toggle-checked.mat-button-toggle-appearance-standard{background-color:transparent;border-right:.1875rem solid var(--app-primary-color)}mat-button-toggle-group ::ng-deep .mat-button-toggle.mat-focus-indicator.mat-button-toggle-appearance-standard{background-color:transparent;border-right:.1875rem solid transparent}mat-button-toggle-group ::ng-deep .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{text-align:left}.psdk-vtab-badge .mat-badge-content{top:0rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i2.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i2.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i3.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }] }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MaterialVerticalTabsComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialVerticalTabsComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'app-material-vertical-tabs', standalone: true, imports: [CommonModule, MatButtonToggleModule, MatBadgeModule], template: "<div>\n <mat-button-toggle-group vertical hideSingleSelectionIndicator (change)=\"onChange($event.value)\" [value]=\"selectedTabId$\" aria-label=\"Tabs\">\n <mat-button-toggle *ngFor=\"let tab of tabConfig$\" [value]=\"tab.id\" style=\"text-align: left\">\n <div style=\"display: flex\">\n <div style=\"flex-grow: 10\">{{ tab.name }}</div>\n <div style=\"flex-grow: 1\">\n <span *ngIf=\"tab?.count\" [matBadge]=\"tab.count\" matBadgeOverlap=\"false\" matBadgePosition=\"after\" class=\"psdk-vtab-badge\">&nbsp;</span>\n </div>\n </div>\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n", styles: ["mat-button-toggle-group{width:100%;border-width:.0625rem 0rem}mat-button-toggle-group ::ng-deep .mat-button-toggle-appearance-standard{background-color:transparent}mat-button-toggle-group ::ng-deep .mat-button-toggle.mat-button-toggle-checked.mat-button-toggle-appearance-standard{background-color:transparent;border-right:.1875rem solid var(--app-primary-color)}mat-button-toggle-group ::ng-deep .mat-button-toggle.mat-focus-indicator.mat-button-toggle-appearance-standard{background-color:transparent;border-right:.1875rem solid transparent}mat-button-toggle-group ::ng-deep .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{text-align:left}.psdk-vtab-badge .mat-badge-content{top:0rem}\n"] }]
37
37
  }], propDecorators: { tabConfig$: [{
@@ -24,7 +24,7 @@ export class OperatorComponent {
24
24
  }
25
25
  ngOnChanges(changes) {
26
26
  const { pConn$ } = changes;
27
- if (pConn$.previousValue !== pConn$.currentValue) {
27
+ if (pConn$ && pConn$.previousValue !== pConn$.currentValue) {
28
28
  this.updateSelf();
29
29
  }
30
30
  }
@@ -54,7 +54,7 @@ export class OperatorComponent {
54
54
  this.label$ = configProps$.resolveLabel;
55
55
  }
56
56
  else {
57
- this.name$ = configProps$?.value.userName;
57
+ this.name$ = this.name$ || configProps$?.value.userName;
58
58
  this.id$ = configProps$?.value.userId;
59
59
  this.label$ = configProps$.label;
60
60
  }
@@ -129,15 +129,17 @@ export class OperatorComponent {
129
129
  }
130
130
  });
131
131
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OperatorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: OperatorComponent, isStandalone: true, selector: "app-operator", inputs: { pConn$: "pConn$", displayLabel: "displayLabel" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"psdk-operator psdk-double\">\n <div class=\"psdk-label\">\n {{ label$ }}\n </div>\n <div class=\"psdk-double\">\n <button mat-button color=\"primary\" style=\"text-decoration: underline\" (click)=\"showOperator()\">{{ name$ }}</button>\n </div>\n <div>{{ date$ }}</div>\n</div>\n\n<div>\n <div *ngIf=\"bShowPopover$\" class=\"psdk-operator-popover\">\n <dl>\n <div *ngFor=\"let field of fields$; let i = index\">\n <dt class=\"psdk-operator-name\">{{ field.name }}</dt>\n <dd class=\"psdk-operator-value\">{{ field.value }}</dd>\n </div>\n </dl>\n </div>\n</div>\n", styles: [".psdk-operator{display:flex;flex-direction:row;font-size:.8rem;color:var(--app-neutral-color);align-items:center}.psdk-operator-popover{display:table;margin:auto;min-width:100px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color);position:absolute;z-index:99}.psdk-operator-name{color:var(--app-neutral-color)}.psdk-operator-value{padding-left:5px;color:var(--app-neutral-dark-color);margin:0}.psdk-single{flex:1}.psdk-double{column-gap:1rem;text-align:center}.psdk-top-pad{padding-top:10px}dl{display:grid;grid-template-columns:auto 1fr;grid-column-gap:1rem;grid-row-gap:.5rem}dl:before,dl:after{box-sizing:border-box;margin:0;padding:0}dt{max-width:20ch;grid-column-start:1}dd{max-width:75ch;grid-column-start:2}.mat-mdc-button.mat-primary,.mat-mdc-icon-button.mat-primary,.mat-mdc-outlined-button.mat-primary{padding:0;line-height:unset}.psdk-label{word-break:break-word;grid-column-start:1;max-width:max-content;color:var(--app-field-header-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OperatorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OperatorComponent, isStandalone: true, selector: "app-operator", inputs: { pConn$: "pConn$", displayLabel: "displayLabel", name$: "name$" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"psdk-operator psdk-double\" [ngClass]=\"{ 'flex-row': displayLabel }\">\n <div class=\"psdk-label\">\n {{ label$ }}\n </div>\n <div class=\"psdk-double\">\n <button mat-button color=\"primary\" style=\"text-decoration: underline\" (click)=\"showOperator()\">{{ name$ }}</button>\n </div>\n <div>{{ date$ }}</div>\n</div>\n\n<div>\n <div *ngIf=\"bShowPopover$\" class=\"psdk-operator-popover\">\n <dl>\n <div *ngFor=\"let field of fields$; let i = index\">\n <dt class=\"psdk-operator-name\">{{ field.name }}</dt>\n <dd class=\"psdk-operator-value\">{{ field.value }}</dd>\n </div>\n </dl>\n </div>\n</div>\n", styles: [".psdk-operator{display:flex;flex-direction:column;font-size:.8rem;color:var(--app-neutral-color);padding-left:.625rem;margin:16px 0 8px}.psdk-operator.flex-row{flex-direction:row;align-items:center;text-align:center;padding-left:0;margin:0}.psdk-operator-popover{display:table;margin:auto;min-width:100px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color);position:absolute;z-index:99}.psdk-operator-name{color:var(--app-neutral-color)}.psdk-operator-value{padding-left:5px;color:var(--app-neutral-dark-color);margin:0}.psdk-single{flex:1}.psdk-double{column-gap:1rem}.psdk-top-pad{padding-top:10px}dl{display:grid;grid-template-columns:auto 1fr;grid-column-gap:1rem;grid-row-gap:.5rem}dl:before,dl:after{box-sizing:border-box;margin:0;padding:0}dt{max-width:20ch;grid-column-start:1}dd{max-width:75ch;grid-column-start:2}.mat-mdc-button.mat-primary,.mat-mdc-icon-button.mat-primary,.mat-mdc-outlined-button.mat-primary{padding:0;line-height:unset}.psdk-label{word-break:break-word;grid-column-start:1;max-width:max-content;color:var(--app-field-header-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
134
134
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OperatorComponent, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OperatorComponent, decorators: [{
136
136
  type: Component,
137
- args: [{ selector: 'app-operator', standalone: true, imports: [CommonModule, MatButtonModule], template: "<div class=\"psdk-operator psdk-double\">\n <div class=\"psdk-label\">\n {{ label$ }}\n </div>\n <div class=\"psdk-double\">\n <button mat-button color=\"primary\" style=\"text-decoration: underline\" (click)=\"showOperator()\">{{ name$ }}</button>\n </div>\n <div>{{ date$ }}</div>\n</div>\n\n<div>\n <div *ngIf=\"bShowPopover$\" class=\"psdk-operator-popover\">\n <dl>\n <div *ngFor=\"let field of fields$; let i = index\">\n <dt class=\"psdk-operator-name\">{{ field.name }}</dt>\n <dd class=\"psdk-operator-value\">{{ field.value }}</dd>\n </div>\n </dl>\n </div>\n</div>\n", styles: [".psdk-operator{display:flex;flex-direction:row;font-size:.8rem;color:var(--app-neutral-color);align-items:center}.psdk-operator-popover{display:table;margin:auto;min-width:100px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color);position:absolute;z-index:99}.psdk-operator-name{color:var(--app-neutral-color)}.psdk-operator-value{padding-left:5px;color:var(--app-neutral-dark-color);margin:0}.psdk-single{flex:1}.psdk-double{column-gap:1rem;text-align:center}.psdk-top-pad{padding-top:10px}dl{display:grid;grid-template-columns:auto 1fr;grid-column-gap:1rem;grid-row-gap:.5rem}dl:before,dl:after{box-sizing:border-box;margin:0;padding:0}dt{max-width:20ch;grid-column-start:1}dd{max-width:75ch;grid-column-start:2}.mat-mdc-button.mat-primary,.mat-mdc-icon-button.mat-primary,.mat-mdc-outlined-button.mat-primary{padding:0;line-height:unset}.psdk-label{word-break:break-word;grid-column-start:1;max-width:max-content;color:var(--app-field-header-color)}\n"] }]
137
+ args: [{ selector: 'app-operator', standalone: true, imports: [CommonModule, MatButtonModule], template: "<div class=\"psdk-operator psdk-double\" [ngClass]=\"{ 'flex-row': displayLabel }\">\n <div class=\"psdk-label\">\n {{ label$ }}\n </div>\n <div class=\"psdk-double\">\n <button mat-button color=\"primary\" style=\"text-decoration: underline\" (click)=\"showOperator()\">{{ name$ }}</button>\n </div>\n <div>{{ date$ }}</div>\n</div>\n\n<div>\n <div *ngIf=\"bShowPopover$\" class=\"psdk-operator-popover\">\n <dl>\n <div *ngFor=\"let field of fields$; let i = index\">\n <dt class=\"psdk-operator-name\">{{ field.name }}</dt>\n <dd class=\"psdk-operator-value\">{{ field.value }}</dd>\n </div>\n </dl>\n </div>\n</div>\n", styles: [".psdk-operator{display:flex;flex-direction:column;font-size:.8rem;color:var(--app-neutral-color);padding-left:.625rem;margin:16px 0 8px}.psdk-operator.flex-row{flex-direction:row;align-items:center;text-align:center;padding-left:0;margin:0}.psdk-operator-popover{display:table;margin:auto;min-width:100px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color);position:absolute;z-index:99}.psdk-operator-name{color:var(--app-neutral-color)}.psdk-operator-value{padding-left:5px;color:var(--app-neutral-dark-color);margin:0}.psdk-single{flex:1}.psdk-double{column-gap:1rem}.psdk-top-pad{padding-top:10px}dl{display:grid;grid-template-columns:auto 1fr;grid-column-gap:1rem;grid-row-gap:.5rem}dl:before,dl:after{box-sizing:border-box;margin:0;padding:0}dt{max-width:20ch;grid-column-start:1}dd{max-width:75ch;grid-column-start:2}.mat-mdc-button.mat-primary,.mat-mdc-icon-button.mat-primary,.mat-mdc-outlined-button.mat-primary{padding:0;line-height:unset}.psdk-label{word-break:break-word;grid-column-start:1;max-width:max-content;color:var(--app-field-header-color)}\n"] }]
138
138
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.Utils }], propDecorators: { pConn$: [{
139
139
  type: Input
140
140
  }], displayLabel: [{
141
141
  type: Input
142
+ }], name$: [{
143
+ type: Input
142
144
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2Rlc2lnblN5c3RlbUV4dGVuc2lvbi9vcGVyYXRvci9vcGVyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvZGVzaWduU3lzdGVtRXh0ZW5zaW9uL29wZXJhdG9yL29wZXJhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLEtBQUssRUFBcUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFVM0QsTUFBTSxPQUFPLGlCQUFpQjtJQVM1QixZQUNVLEVBQWMsRUFDZCxRQUFtQixFQUNuQixLQUF3QixFQUN4QixLQUFZO1FBSFosT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVZ0QixZQUFPLEdBQVUsRUFBRSxDQUFDO0lBV2pCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRTtZQUMzQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWhFLElBQUksQ0FBQyxhQUFhLEVBQUUs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Qy9DLEtBQUssRUFBRSxZQUFZO3FCQUNwQjtvQkFDRDt3QkFDRSxFQUFFLEVBQUUsZ0JBQWdCO3dCQUNwQixJQUFJLEVBQUUsWUFBWSxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUM7d0JBQ25ELEtBQUssRUFBRSxZQUFZO3FCQUNwQjtpQkFDRixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6SVUsaUJBQWlCO21HQUFqQixpQkFBaUIseUpDWjlCLDhtQkFvQkEseW1DRFZZLFlBQVksK1BBQUUsZUFBZTs7NEZBRTVCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxjQUFjLGNBR1osSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQzsySkFHL0IsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgSW5wdXQsIFJlbmRlcmVyMiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtb3BlcmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vb3BlcmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcGVyYXRvci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIE9wZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBkaXNwbGF5TGFiZWw7XG4gIGZpZWxkcyQ6IGFueVtdID0gW107XG4gIGJTaG93UG9wb3ZlciQ6IGJvb2xlYW47XG4gIGRhdGUkOiBzdHJpbmc7XG4gIG5hbWUkOiBzdHJpbmc7XG4gIGxhYmVsJDogc3RyaW5nO1xuICBpZCQ6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB1dGlsczogVXRpbHNcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnY2xpY2snLCBlbCA9PiB7XG4gICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGVsLnRhcmdldCk7XG5cbiAgICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xuICAgICAgICB0aGlzLmJTaG93UG9wb3ZlciQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuYlNob3dQb3BvdmVyJCA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHsgcENvbm4kIH0gPSBjaGFuZ2VzO1xuICAgIGlmIChwQ29ubiQucHJldmlvdXNWYWx1ZSAhPT0gcENvbm4kLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1lbXB0eS1saWZlY3ljbGUtbWV0aG9kXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIFJlZjogaHR0cHM6Ly9tZWRpdW0uY29tL0BrYW1pbC5nYWxlay9teXRoaWNhbC1hbmd1bGFyLWNvbXBvbmVudC1zdHlsZXMtY2xlYW51cC1pbi1hbmd1bGFyLTE3LWY3OTlhMDhiMmFiY1xuICAgIC8vIENvbW1lbnRpbmcgdGhlIGJlbG93IGxpbmUgYXMgaXQgaXMgY2F1c2luZyB0aGUgT3BlcmF0b3IgY29tcG9uZW50J3Mgc3R5bGVzIG5vdCBnZXR0aW5nIGFwcGxpZWQuXG4gICAgLy8gdGhpcy5yZW5kZXJlci5kZXN0cm95KCk7XG4gIH1cblxuICB1cGRhdGVTZWxmKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCk7XG4gICAgdGhpcy5kaXNwbGF5TGFiZWwgPSB0aGlzLmRpc3BsYXlMYWJlbD8udG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBsYWJlbCA9IGNvbmZpZ1Byb3BzJD8ubGFiZWw/LnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGxhYmVsID09PSAnY3JlYXRlIG9wZXJhdG9yJyB8fCB0aGlzLmRpc3BsYXlMYWJlbCA9PT0gJ2NyZWF0ZSBvcGVyYXRvcicpIHtcbiAgICAgIHRoaXMubmFtZSQgPSBjb25maWdQcm9wcyQuY3JlYXRlT3BlcmF0b3IudXNlck5hbWU7XG4gICAgICB0aGlzLmlkJCA9IGNvbmZpZ1Byb3BzJC5jcmVhdGVPcGVyYXRvci51c2VySWQ7XG4gICAgICB0aGlzLmxhYmVsJCA9IGNvbmZpZ1Byb3BzJC5jcmVhdGVMYWJlbDtcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAndXBkYXRlIG9wZXJhdG9yJyB8fCB0aGlzLmRpc3BsYXlMYWJlbCA9PT0gJ3VwZGF0ZSBvcGVyYXRvcicpIHtcbiAgICAgIHRoaXMubmFtZSQgPSBjb25maWdQcm9wcyQudXBkYXRlT3BlcmF0b3IudXNlck5hbWU7XG4gICAgICB0aGlzLmlkJCA9IGNvbmZpZ1Byb3BzJC51cGRhdGVPcGVyYXRvci51c2VySWQ7XG4gICAgICB0aGlzLmxhYmVsJCA9IGNvbmZpZ1Byb3BzJC51cGRhdGVMYWJlbDtcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAncmVzb2x2ZSBvcGVyYXRvcicgfHwgdGhpcy5kaXNwbGF5TGFiZWwgPT09ICdyZXNvbHZlIG9wZXJhdG9yJykge1xuICAgICAgdGhpcy5uYW1lJCA9IGNvbmZpZ1Byb3BzJC5yZXNvbHZlT3BlcmF0b3IudXNlck5hbWU7XG4gICAgICB0aGlzLmlkJCA9IGNvbmZpZ1Byb3BzJC5yZXNvbHZlT3BlcmF0b3IudXNlcklkO1xuICAgICAgdGhpcy5sYWJlbCQgPSBjb25maWdQcm9wcyQucmVzb2x2ZUxhYmVsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hbWUkID0gY29uZmlnUHJvcHMkPy52YWx1ZS51c2VyTmFtZTtcbiAgICAgIHRoaXMuaWQkID0gY29uZmlnUHJvcHMkPy52YWx1ZS51c2VySWQ7XG4gICAgICB0aGlzLmxhYmVsJCA9IGNvbmZpZ1Byb3BzJC5sYWJlbDtcbiAgICB9XG4gICAgdGhpcy5kYXRlJCA9IHRoaXMudXRpbHMuZ2VuZXJhdGVEYXRlKGNvbmZpZ1Byb3BzJD8udXBkYXRlRGF0ZVRpbWUsICdEYXRlVGltZS1TaW5jZScpO1xuICB9XG5cbiAgc2hvd09wZXJhdG9yKCkge1xuICAgIGNvbnN0IG9wZXJhdG9yUHJldmlld1Byb21pc2UgPSBQQ29yZS5nZXRVc2VyQXBpKCkuZ2V0T3BlcmF0b3JEZXRhaWxzKHRoaXMuaWQkKTtcbiAgICBjb25zdCBsb2NhbGl6ZWRWYWwgPSBQQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlO1xuICAgIGNvbnN0IGxvY2FsZUNhdGVnb3J5ID0gJ09wZXJhdG9yJztcbiAgICBjb25zdCBmaWxsZXJTdHJpbmcgPSAnLS0tJztcblxuICAgIG9wZXJhdG9yUHJldmlld1Byb21pc2UudGhlbigocmVzOiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXMuZGF0YSAmJiByZXMuZGF0YS5weU9wZXJhdG9ySW5mbyAmJiByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weVVzZXJOYW1lKSB7XG4gICAgICAgIHRoaXMuZmllbGRzJCA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ3B5UG9zaXRpb24nLFxuICAgICAgICAgICAgbmFtZTogbG9jYWxpemVkVmFsKCdQb3NpdGlvbicsIGxvY2FsZUNhdGVnb3J5KSxcbiAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weVBvc2l0aW9uICE9ICcnID8gcmVzLmRhdGEucHlPcGVyYXRvckluZm8ucHlQb3NpdGlvbiA6IGZpbGxlclN0cmluZ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdweU9yZ2FuaXphdGlvbicsXG4gICAgICAgICAgICBuYW1lOiBsb2NhbGl6ZWRWYWwoJ09yZ2FuaXphdGlvbicsIGxvY2FsZUNhdGVnb3J5KSxcbiAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weU9yZ2FuaXphdGlvbiAhPSAnJyA/IHJlcy5kYXRhLnB5T3BlcmF0b3JJbmZvLnB5T3JnYW5pemF0aW9uIDogZmlsbGVyU3RyaW5nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ1JlcG9ydFRvVXNlck5hbWUnLFxuICAgICAgICAgICAgbmFtZTogbG9jYWxpemVkVmFsKCdSZXBvcnRzIHRvJywgbG9jYWxlQ2F0ZWdvcnkpLFxuICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhLnB5T3BlcmF0b3JJbmZvLnB5UmVwb3J0VG9Vc2VyTmFtZSAhPSAnJyA/IHJlcy5kYXRhLnB5T3BlcmF0b3JJbmZvLnB5UmVwb3J0VG9Vc2VyTmFtZSA6IGZpbGxlclN0cmluZ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdweVRlbGVwaG9uZScsXG4gICAgICAgICAgICBuYW1lOiBsb2NhbGl6ZWRWYWwoJ1RlbGVwaG9uZScsIGxvY2FsZUNhdGVnb3J5KSxcbiAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weVRlbGVwaG9uZSAhPSAnJyA/IHJlcy5kYXRhLnB5T3BlcmF0b3JJbmZvLnB5VGVsZXBob25lIDogZmlsbGVyU3RyaW5nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ3B5RW1haWxBZGRyZXNzJyxcbiAgICAgICAgICAgIG5hbWU6IGxvY2FsaXplZFZhbCgnRW1haWwgYWRkcmVzcycsIGxvY2FsZUNhdGVnb3J5KSxcbiAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weUVtYWlsQWRkcmVzcyAhPSAnJyA/IHJlcy5kYXRhLnB5T3BlcmF0b3JJbmZvLnB5RW1haWxBZGRyZXNzIDogZmlsbGVyU3RyaW5nXG4gICAgICAgICAgfVxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuYlNob3dQb3BvdmVyJCA9IHRydWU7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYE9wZXJhdG9yOiBQQ29yZS5nZXRVc2VyQXBpKCkuZ2V0T3BlcmF0b3JEZXRhaWxzKCR7dGhpcy5pZCR9KTsgcmV0dXJuZWQgZW1wdHkgcmVzLmRhdGEucHlPcGVyYXRvckluZm8ucHlVc2VyTmFtZSAtIGFkZGluZyBkZWZhdWx0YFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZpZWxkcyQgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdweVBvc2l0aW9uJyxcbiAgICAgICAgICAgIG5hbWU6IGxvY2FsaXplZFZhbCgnUG9zaXRpb24nLCBsb2NhbGVDYXRlZ29yeSksXG4gICAgICAgICAgICB2YWx1ZTogZmlsbGVyU3RyaW5nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ3B5T3JnYW5pemF0aW9uJyxcbiAgICAgICAgICAgIG5hbWU6IGxvY2FsaXplZFZhbCgnT3JnYW5pemF0aW9uJywgbG9jYWxlQ2F0ZWdvcnkpLFxuICAgICAgICAgICAgdmFsdWU6IGZpbGxlclN0cmluZ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdSZXBvcnRUb1VzZXJOYW1lJyxcbiAgICAgICAgICAgIG5hbWU6IGxvY2FsaXplZFZhbCgnUmVwb3J0cyB0bycsIGxvY2FsZUNhdGVnb3J5KSxcbiAgICAgICAgICAgIHZhbHVlOiBmaWxsZXJTdHJpbmdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAncHlUZWxlcGhvbmUnLFxuICAgICAgICAgICAgbmFtZTogbG9jYWxpemVkVmFsKCdUZWxlcGhvbmUnLCBsb2NhbGVDYXRlZ29yeSksXG4gICAgICAgICAgICB2YWx1ZTogZmlsbGVyU3RyaW5nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ3B5RW1haWxBZGRyZXNzJyxcbiAgICAgICAgICAgIG5hbWU6IGxvY2FsaXplZFZhbCgnRW1haWwgYWRkcmVzcycsIGxvY2FsZUNhdGVnb3J5KSxcbiAgICAgICAgICAgIHZhbHVlOiBmaWxsZXJTdHJpbmdcbiAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwc2RrLW9wZXJhdG9yIHBzZGstZG91YmxlXCI+XG4gIDxkaXYgY2xhc3M9XCJwc2RrLWxhYmVsXCI+XG4gICAge3sgbGFiZWwkIH19XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHNkay1kb3VibGVcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZVwiIChjbGljayk9XCJzaG93T3BlcmF0b3IoKVwiPnt7IG5hbWUkIH19PC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2Pnt7IGRhdGUkIH19PC9kaXY+XG48L2Rpdj5cblxuPGRpdj5cbiAgPGRpdiAqbmdJZj1cImJTaG93UG9wb3ZlciRcIiBjbGFzcz1cInBzZGstb3BlcmF0b3ItcG9wb3ZlclwiPlxuICAgIDxkbD5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkcyQ7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGR0IGNsYXNzPVwicHNkay1vcGVyYXRvci1uYW1lXCI+e3sgZmllbGQubmFtZSB9fTwvZHQ+XG4gICAgICAgIDxkZCBjbGFzcz1cInBzZGstb3BlcmF0b3ItdmFsdWVcIj57eyBmaWVsZC52YWx1ZSB9fTwvZGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2RsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2Rlc2lnblN5c3RlbUV4dGVuc2lvbi9vcGVyYXRvci9vcGVyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvZGVzaWduU3lzdGVtRXh0ZW5zaW9uL29wZXJhdG9yL29wZXJhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLEtBQUssRUFBcUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFVM0QsTUFBTSxPQUFPLGlCQUFpQjtJQVU1QixZQUNVLEVBQWMsRUFDZCxRQUFtQixFQUNuQixLQUF3QixFQUN4QixLQUFZO1FBSFosT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVR0QixZQUFPLEdBQVUsRUFBRSxDQUFDO0lBVWpCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRTtZQUMzQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWhFLElBQUksQ0FBQyxhQUFhLEVBQUUs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WSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUM7d0JBQy9DLEtBQUssRUFBRSxZQUFZO3FCQUNwQjtvQkFDRDt3QkFDRSxFQUFFLEVBQUUsZ0JBQWdCO3dCQUNwQixJQUFJLEVBQUUsWUFBWSxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUM7d0JBQ25ELEtBQUssRUFBRSxZQUFZO3FCQUNwQjtpQkFDRixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0ExSVUsaUJBQWlCO21HQUFqQixpQkFBaUIseUtDWjlCLHlwQkFvQkEsc3RDRFZZLFlBQVksNlZBQUUsZUFBZTs7NEZBRTVCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxjQUFjLGNBR1osSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQzsySkFHL0IsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIElucHV0LCBSZW5kZXJlcjIsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW9wZXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29wZXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3BlcmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBPcGVyYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcbiAgQElucHV0KCkgZGlzcGxheUxhYmVsO1xuICBASW5wdXQoKSBuYW1lJD86IHN0cmluZztcblxuICBmaWVsZHMkOiBhbnlbXSA9IFtdO1xuICBiU2hvd1BvcG92ZXIkOiBib29sZWFuO1xuICBkYXRlJDogc3RyaW5nO1xuICBsYWJlbCQ6IHN0cmluZztcbiAgaWQkOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdXRpbHM6IFV0aWxzXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2NsaWNrJywgZWwgPT4ge1xuICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhlbC50YXJnZXQpO1xuXG4gICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgdGhpcy5iU2hvd1BvcG92ZXIkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmJTaG93UG9wb3ZlciQgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCB7IHBDb25uJCB9ID0gY2hhbmdlcztcbiAgICBpZiAocENvbm4kICYmIHBDb25uJC5wcmV2aW91c1ZhbHVlICE9PSBwQ29ubiQuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWVtcHR5LWxpZmVjeWNsZS1tZXRob2RcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gUmVmOiBodHRwczovL21lZGl1bS5jb20vQGthbWlsLmdhbGVrL215dGhpY2FsLWFuZ3VsYXItY29tcG9uZW50LXN0eWxlcy1jbGVhbnVwLWluLWFuZ3VsYXItMTctZjc5OWEwOGIyYWJjXG4gICAgLy8gQ29tbWVudGluZyB0aGUgYmVsb3cgbGluZSBhcyBpdCBpcyBjYXVzaW5nIHRoZSBPcGVyYXRvciBjb21wb25lbnQncyBzdHlsZXMgbm90IGdldHRpbmcgYXBwbGllZC5cbiAgICAvLyB0aGlzLnJlbmRlcmVyLmRlc3Ryb3koKTtcbiAgfVxuXG4gIHVwZGF0ZVNlbGYoKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnUHJvcHMkID0gdGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKTtcbiAgICB0aGlzLmRpc3BsYXlMYWJlbCA9IHRoaXMuZGlzcGxheUxhYmVsPy50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGxhYmVsID0gY29uZmlnUHJvcHMkPy5sYWJlbD8udG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobGFiZWwgPT09ICdjcmVhdGUgb3BlcmF0b3InIHx8IHRoaXMuZGlzcGxheUxhYmVsID09PSAnY3JlYXRlIG9wZXJhdG9yJykge1xuICAgICAgdGhpcy5uYW1lJCA9IGNvbmZpZ1Byb3BzJC5jcmVhdGVPcGVyYXRvci51c2VyTmFtZTtcbiAgICAgIHRoaXMuaWQkID0gY29uZmlnUHJvcHMkLmNyZWF0ZU9wZXJhdG9yLnVzZXJJZDtcbiAgICAgIHRoaXMubGFiZWwkID0gY29uZmlnUHJvcHMkLmNyZWF0ZUxhYmVsO1xuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICd1cGRhdGUgb3BlcmF0b3InIHx8IHRoaXMuZGlzcGxheUxhYmVsID09PSAndXBkYXRlIG9wZXJhdG9yJykge1xuICAgICAgdGhpcy5uYW1lJCA9IGNvbmZpZ1Byb3BzJC51cGRhdGVPcGVyYXRvci51c2VyTmFtZTtcbiAgICAgIHRoaXMuaWQkID0gY29uZmlnUHJvcHMkLnVwZGF0ZU9wZXJhdG9yLnVzZXJJZDtcbiAgICAgIHRoaXMubGFiZWwkID0gY29uZmlnUHJvcHMkLnVwZGF0ZUxhYmVsO1xuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICdyZXNvbHZlIG9wZXJhdG9yJyB8fCB0aGlzLmRpc3BsYXlMYWJlbCA9PT0gJ3Jlc29sdmUgb3BlcmF0b3InKSB7XG4gICAgICB0aGlzLm5hbWUkID0gY29uZmlnUHJvcHMkLnJlc29sdmVPcGVyYXRvci51c2VyTmFtZTtcbiAgICAgIHRoaXMuaWQkID0gY29uZmlnUHJvcHMkLnJlc29sdmVPcGVyYXRvci51c2VySWQ7XG4gICAgICB0aGlzLmxhYmVsJCA9IGNvbmZpZ1Byb3BzJC5yZXNvbHZlTGFiZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmFtZSQgPSB0aGlzLm5hbWUkIHx8IGNvbmZpZ1Byb3BzJD8udmFsdWUudXNlck5hbWU7XG4gICAgICB0aGlzLmlkJCA9IGNvbmZpZ1Byb3BzJD8udmFsdWUudXNlcklkO1xuICAgICAgdGhpcy5sYWJlbCQgPSBjb25maWdQcm9wcyQubGFiZWw7XG4gICAgfVxuICAgIHRoaXMuZGF0ZSQgPSB0aGlzLnV0aWxzLmdlbmVyYXRlRGF0ZShjb25maWdQcm9wcyQ/LnVwZGF0ZURhdGVUaW1lLCAnRGF0ZVRpbWUtU2luY2UnKTtcbiAgfVxuXG4gIHNob3dPcGVyYXRvcigpIHtcbiAgICBjb25zdCBvcGVyYXRvclByZXZpZXdQcm9taXNlID0gUENvcmUuZ2V0VXNlckFwaSgpLmdldE9wZXJhdG9yRGV0YWlscyh0aGlzLmlkJCk7XG4gICAgY29uc3QgbG9jYWxpemVkVmFsID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5nZXRMb2NhbGVWYWx1ZTtcbiAgICBjb25zdCBsb2NhbGVDYXRlZ29yeSA9ICdPcGVyYXRvcic7XG4gICAgY29uc3QgZmlsbGVyU3RyaW5nID0gJy0tLSc7XG5cbiAgICBvcGVyYXRvclByZXZpZXdQcm9taXNlLnRoZW4oKHJlczogYW55KSA9PiB7XG4gICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGEucHlPcGVyYXRvckluZm8gJiYgcmVzLmRhdGEucHlPcGVyYXRvckluZm8ucHlVc2VyTmFtZSkge1xuICAgICAgICB0aGlzLmZpZWxkcyQgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdweVBvc2l0aW9uJyxcbiAgICAgICAgICAgIG5hbWU6IGxvY2FsaXplZFZhbCgnUG9zaXRpb24nLCBsb2NhbGVDYXRlZ29yeSksXG4gICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGEucHlPcGVyYXRvckluZm8ucHlQb3NpdGlvbiAhPSAnJyA/IHJlcy5kYXRhLnB5T3BlcmF0b3JJbmZvLnB5UG9zaXRpb24gOiBmaWxsZXJTdHJpbmdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAncHlPcmdhbml6YXRpb24nLFxuICAgICAgICAgICAgbmFtZTogbG9jYWxpemVkVmFsKCdPcmdhbml6YXRpb24nLCBsb2NhbGVDYXRlZ29yeSksXG4gICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGEucHlPcGVyYXRvckluZm8ucHlPcmdhbml6YXRpb24gIT0gJycgPyByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weU9yZ2FuaXphdGlvbiA6IGZpbGxlclN0cmluZ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdSZXBvcnRUb1VzZXJOYW1lJyxcbiAgICAgICAgICAgIG5hbWU6IGxvY2FsaXplZFZhbCgnUmVwb3J0cyB0bycsIGxvY2FsZUNhdGVnb3J5KSxcbiAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weVJlcG9ydFRvVXNlck5hbWUgIT0gJycgPyByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weVJlcG9ydFRvVXNlck5hbWUgOiBmaWxsZXJTdHJpbmdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAncHlUZWxlcGhvbmUnLFxuICAgICAgICAgICAgbmFtZTogbG9jYWxpemVkVmFsKCdUZWxlcGhvbmUnLCBsb2NhbGVDYXRlZ29yeSksXG4gICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGEucHlPcGVyYXRvckluZm8ucHlUZWxlcGhvbmUgIT0gJycgPyByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weVRlbGVwaG9uZSA6IGZpbGxlclN0cmluZ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdweUVtYWlsQWRkcmVzcycsXG4gICAgICAgICAgICBuYW1lOiBsb2NhbGl6ZWRWYWwoJ0VtYWlsIGFkZHJlc3MnLCBsb2NhbGVDYXRlZ29yeSksXG4gICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGEucHlPcGVyYXRvckluZm8ucHlFbWFpbEFkZHJlc3MgIT0gJycgPyByZXMuZGF0YS5weU9wZXJhdG9ySW5mby5weUVtYWlsQWRkcmVzcyA6IGZpbGxlclN0cmluZ1xuICAgICAgICAgIH1cbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmJTaG93UG9wb3ZlciQgPSB0cnVlO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBPcGVyYXRvcjogUENvcmUuZ2V0VXNlckFwaSgpLmdldE9wZXJhdG9yRGV0YWlscygke3RoaXMuaWQkfSk7IHJldHVybmVkIGVtcHR5IHJlcy5kYXRhLnB5T3BlcmF0b3JJbmZvLnB5VXNlck5hbWUgLSBhZGRpbmcgZGVmYXVsdGBcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5maWVsZHMkID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAncHlQb3NpdGlvbicsXG4gICAgICAgICAgICBuYW1lOiBsb2NhbGl6ZWRWYWwoJ1Bvc2l0aW9uJywgbG9jYWxlQ2F0ZWdvcnkpLFxuICAgICAgICAgICAgdmFsdWU6IGZpbGxlclN0cmluZ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdweU9yZ2FuaXphdGlvbicsXG4gICAgICAgICAgICBuYW1lOiBsb2NhbGl6ZWRWYWwoJ09yZ2FuaXphdGlvbicsIGxvY2FsZUNhdGVnb3J5KSxcbiAgICAgICAgICAgIHZhbHVlOiBmaWxsZXJTdHJpbmdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnUmVwb3J0VG9Vc2VyTmFtZScsXG4gICAgICAgICAgICBuYW1lOiBsb2NhbGl6ZWRWYWwoJ1JlcG9ydHMgdG8nLCBsb2NhbGVDYXRlZ29yeSksXG4gICAgICAgICAgICB2YWx1ZTogZmlsbGVyU3RyaW5nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ3B5VGVsZXBob25lJyxcbiAgICAgICAgICAgIG5hbWU6IGxvY2FsaXplZFZhbCgnVGVsZXBob25lJywgbG9jYWxlQ2F0ZWdvcnkpLFxuICAgICAgICAgICAgdmFsdWU6IGZpbGxlclN0cmluZ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdweUVtYWlsQWRkcmVzcycsXG4gICAgICAgICAgICBuYW1lOiBsb2NhbGl6ZWRWYWwoJ0VtYWlsIGFkZHJlc3MnLCBsb2NhbGVDYXRlZ29yeSksXG4gICAgICAgICAgICB2YWx1ZTogZmlsbGVyU3RyaW5nXG4gICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHNkay1vcGVyYXRvciBwc2RrLWRvdWJsZVwiIFtuZ0NsYXNzXT1cInsgJ2ZsZXgtcm93JzogZGlzcGxheUxhYmVsIH1cIj5cbiAgPGRpdiBjbGFzcz1cInBzZGstbGFiZWxcIj5cbiAgICB7eyBsYWJlbCQgfX1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJwc2RrLWRvdWJsZVwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cInRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lXCIgKGNsaWNrKT1cInNob3dPcGVyYXRvcigpXCI+e3sgbmFtZSQgfX08L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXY+e3sgZGF0ZSQgfX08L2Rpdj5cbjwvZGl2PlxuXG48ZGl2PlxuICA8ZGl2ICpuZ0lmPVwiYlNob3dQb3BvdmVyJFwiIGNsYXNzPVwicHNkay1vcGVyYXRvci1wb3BvdmVyXCI+XG4gICAgPGRsPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzJDsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8ZHQgY2xhc3M9XCJwc2RrLW9wZXJhdG9yLW5hbWVcIj57eyBmaWVsZC5uYW1lIH19PC9kdD5cbiAgICAgICAgPGRkIGNsYXNzPVwicHNkay1vcGVyYXRvci12YWx1ZVwiPnt7IGZpZWxkLnZhbHVlIH19PC9kZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -21,10 +21,10 @@ export class PulseComponent {
21
21
  }
22
22
  }
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PulseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PulseComponent, isStandalone: true, selector: "app-pulse", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div class=\"psdk-pulse\">\n <component-mapper [name]=\"'FeedContainer'\" [props]=\"{ pConn$ }\"></component-mapper>\n</div>\n", styles: [".psdk-pulse{padding:1rem;margin:1rem;border-radius:.6125rem;border-left:6px solid;border-left-color:var(--app-primary-color);background-color:var(--app-form-color)}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PulseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PulseComponent, isStandalone: true, selector: "app-pulse", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div class=\"psdk-pulse\">\n <component-mapper [name]=\"'FeedContainer'\" [props]=\"{ pConn$ }\"></component-mapper>\n</div>\n", styles: [".psdk-pulse{padding:1rem;margin:1rem;border-radius:.6125rem;border-left:6px solid;border-left-color:var(--app-primary-color);background-color:var(--app-form-color)}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PulseComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PulseComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'app-pulse', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<div class=\"psdk-pulse\">\n <component-mapper [name]=\"'FeedContainer'\" [props]=\"{ pConn$ }\"></component-mapper>\n</div>\n", styles: [".psdk-pulse{padding:1rem;margin:1rem;border-radius:.6125rem;border-left:6px solid;border-left-color:var(--app-primary-color);background-color:var(--app-form-color)}\n"] }]
30
30
  }], propDecorators: { pConn$: [{
@@ -61,10 +61,10 @@ export class RichTextEditorComponent {
61
61
  change(event) {
62
62
  this.onChange.emit(event);
63
63
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RichTextEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RichTextEditorComponent, isStandalone: true, selector: "app-rich-text-editor", inputs: { placeholder: "placeholder", disabled: "disabled", readonly: "readonly", value: "value", label: "label", required: "required", info: "info", error: "error", testId: "testId" }, outputs: { onBlur: "onBlur", onChange: "onChange" }, providers: [{ provide: TINYMCE_SCRIPT_SRC, useValue: 'tinymce/tinymce.min.js' }], usesOnChanges: true, ngImport: i0, template: "<div [attr.data-test-id]=\"testId\">\n <label [ngClass]=\"{ 'label-required': required === true }\" class=\"rich-text-label\">{{ label }}</label>\n <div class=\"rich-text-editor\" *ngIf=\"!readonly\">\n <editor\n [formControl]=\"richText\"\n [attr.disabled]=\"disabled\"\n [initialValue]=\"value\"\n [init]=\"{\n base_url: '/tinymce',\n suffix: '.min',\n menubar: false,\n placeholder,\n statusbar: false,\n min_height: 130,\n plugins: ['lists', 'advlist', 'autolink', 'image', 'link', 'autoresize'],\n autoresize_bottom_margin: 0,\n toolbar: disabled ? false : 'blocks | bold italic strikethrough | bullist numlist outdent indent | link image',\n toolbar_location: 'bottom',\n content_style: 'body { font-family:Helvetica, Arial,sans-serif; font-size:14px }',\n branding: false,\n paste_data_images: true,\n file_picker_types: 'image',\n file_picker_callback: filePickerCallback\n }\"\n (onBlur)=\"blur()\"\n (onChange)=\"change($event)\"\n ></editor>\n <p *ngIf=\"richText.invalid\" [ngClass]=\"'text-editor-error'\">{{ info }}</p>\n </div>\n <div *ngIf=\"readonly\">\n <div class=\"readonly-richtext-editor\" style=\"margin: 10px 5px\" [innerHTML]=\"value || '--'\"></div>\n </div>\n</div>\n", styles: [".rich-text-label{margin:5px;font-size:16px}.rich-text-editor{margin:10px 0}.label-required:after{display:inline;content:\" *\";vertical-align:top;color:var(--app-neutral-dark-color)}.text-editor-error{color:var(--app-error-light-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: EditorModule }, { kind: "component", type: i2.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RichTextEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RichTextEditorComponent, isStandalone: true, selector: "app-rich-text-editor", inputs: { placeholder: "placeholder", disabled: "disabled", readonly: "readonly", value: "value", label: "label", required: "required", info: "info", error: "error", testId: "testId" }, outputs: { onBlur: "onBlur", onChange: "onChange" }, providers: [{ provide: TINYMCE_SCRIPT_SRC, useValue: 'tinymce/tinymce.min.js' }], usesOnChanges: true, ngImport: i0, template: "<div [attr.data-test-id]=\"testId\">\n <label [ngClass]=\"{ 'label-required': required === true }\" class=\"rich-text-label\">{{ label }}</label>\n <div class=\"rich-text-editor\" *ngIf=\"!readonly\">\n <editor\n [formControl]=\"richText\"\n [attr.disabled]=\"disabled\"\n [initialValue]=\"value\"\n [init]=\"{\n base_url: '/tinymce',\n suffix: '.min',\n menubar: false,\n placeholder,\n statusbar: false,\n min_height: 130,\n plugins: ['lists', 'advlist', 'autolink', 'image', 'link', 'autoresize'],\n autoresize_bottom_margin: 0,\n toolbar: disabled ? false : 'blocks | bold italic strikethrough | bullist numlist outdent indent | link image',\n toolbar_location: 'bottom',\n content_style: 'body { font-family:Helvetica, Arial,sans-serif; font-size:14px }',\n branding: false,\n paste_data_images: true,\n file_picker_types: 'image',\n file_picker_callback: filePickerCallback\n }\"\n (onBlur)=\"blur()\"\n (onChange)=\"change($event)\"\n ></editor>\n <p *ngIf=\"richText.invalid\" [ngClass]=\"'text-editor-error'\">{{ info }}</p>\n </div>\n <div *ngIf=\"readonly\">\n <div class=\"readonly-richtext-editor\" style=\"margin: 10px 5px\" [innerHTML]=\"value || '--'\"></div>\n </div>\n</div>\n", styles: [".rich-text-label{margin:5px;font-size:16px}.rich-text-editor{margin:10px 0}.label-required:after{display:inline;content:\" *\";vertical-align:top;color:var(--app-neutral-dark-color)}.text-editor-error{color:var(--app-error-light-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: EditorModule }, { kind: "component", type: i2.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RichTextEditorComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RichTextEditorComponent, decorators: [{
68
68
  type: Component,
69
69
  args: [{ selector: 'app-rich-text-editor', standalone: true, imports: [CommonModule, EditorModule, ReactiveFormsModule], providers: [{ provide: TINYMCE_SCRIPT_SRC, useValue: 'tinymce/tinymce.min.js' }], template: "<div [attr.data-test-id]=\"testId\">\n <label [ngClass]=\"{ 'label-required': required === true }\" class=\"rich-text-label\">{{ label }}</label>\n <div class=\"rich-text-editor\" *ngIf=\"!readonly\">\n <editor\n [formControl]=\"richText\"\n [attr.disabled]=\"disabled\"\n [initialValue]=\"value\"\n [init]=\"{\n base_url: '/tinymce',\n suffix: '.min',\n menubar: false,\n placeholder,\n statusbar: false,\n min_height: 130,\n plugins: ['lists', 'advlist', 'autolink', 'image', 'link', 'autoresize'],\n autoresize_bottom_margin: 0,\n toolbar: disabled ? false : 'blocks | bold italic strikethrough | bullist numlist outdent indent | link image',\n toolbar_location: 'bottom',\n content_style: 'body { font-family:Helvetica, Arial,sans-serif; font-size:14px }',\n branding: false,\n paste_data_images: true,\n file_picker_types: 'image',\n file_picker_callback: filePickerCallback\n }\"\n (onBlur)=\"blur()\"\n (onChange)=\"change($event)\"\n ></editor>\n <p *ngIf=\"richText.invalid\" [ngClass]=\"'text-editor-error'\">{{ info }}</p>\n </div>\n <div *ngIf=\"readonly\">\n <div class=\"readonly-richtext-editor\" style=\"margin: 10px 5px\" [innerHTML]=\"value || '--'\"></div>\n </div>\n</div>\n", styles: [".rich-text-label{margin:5px;font-size:16px}.rich-text-editor{margin:10px 0}.label-required:after{display:inline;content:\" *\";vertical-align:top;color:var(--app-neutral-dark-color)}.text-editor-error{color:var(--app-error-light-color)}\n"] }]
70
70
  }], propDecorators: { placeholder: [{
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  // import { Button } from '@angular/material'
6
6
  export class WssQuickCreateComponent {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WssQuickCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: WssQuickCreateComponent, isStandalone: true, selector: "wss-quick-create", inputs: { actions$: "actions$", heading$: "heading$" }, ngImport: i0, template: "<div class=\"wss-quick-create-header\">\n <h1 class=\"quick-link-heading\">{{ heading$ }}</h1>\n <ul class=\"quick-link-ul-list\">\n <li *ngFor=\"let element of actions$\" class=\"quick-link-list\">\n <button mat-raised-button color=\"primary\" class=\"quick-link-button\" mat-icon-button (click)=\"element.onClick()\">\n <span class=\"quick-link-button-span\">\n <img *ngIf=\"element.icon\" class=\"quick-link-icon\" [src]=\"element.icon\" />\n <span>{{ element.label }}</span>\n </span>\n </button>\n </li>\n </ul>\n</div>\n", styles: [".quick-link-ul-list{list-style:none;padding:0;grid-template-columns:repeat(auto-fill,minmax(min(40ch,100%),1fr));display:grid;gap:1rem}.quick-link-list{background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:8px}.quick-link-button{text-transform:capitalize!important;font-size:16px!important;color:var(--app-form-color)!important;cursor:pointer;padding:1rem!important;height:6rem;width:100%;justify-content:start!important;background-color:transparent;border:0}.quick-link-icon{width:1em;height:1em;flex-shrink:0;filter:invert(100%)}.quick-link-button-span{display:flex;align-items:center;gap:.5rem}.quick-link-heading{margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WssQuickCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WssQuickCreateComponent, isStandalone: true, selector: "wss-quick-create", inputs: { actions$: "actions$", heading$: "heading$" }, ngImport: i0, template: "<div class=\"wss-quick-create-header\">\n <h1 class=\"quick-link-heading\">{{ heading$ }}</h1>\n <ul class=\"quick-link-ul-list\">\n <li *ngFor=\"let element of actions$\" class=\"quick-link-list\">\n <button mat-raised-button color=\"primary\" class=\"quick-link-button\" mat-icon-button (click)=\"element.onClick()\">\n <span class=\"quick-link-button-span\">\n <img *ngIf=\"element.icon\" class=\"quick-link-icon\" [src]=\"element.icon\" />\n <span>{{ element.label }}</span>\n </span>\n </button>\n </li>\n </ul>\n</div>\n", styles: [".quick-link-ul-list{list-style:none;padding:0;grid-template-columns:repeat(auto-fill,minmax(min(40ch,100%),1fr));display:grid;gap:1rem}.quick-link-list{background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:8px}.quick-link-button{text-transform:capitalize!important;font-size:16px!important;color:var(--app-form-color)!important;cursor:pointer;padding:1rem!important;height:6rem;width:100%;justify-content:start!important;background-color:transparent;border:0}.quick-link-icon{width:1em;height:1em;flex-shrink:0;filter:invert(100%)}.quick-link-button-span{display:flex;align-items:center;gap:.5rem}.quick-link-heading{margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WssQuickCreateComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WssQuickCreateComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'wss-quick-create', standalone: true, imports: [CommonModule], template: "<div class=\"wss-quick-create-header\">\n <h1 class=\"quick-link-heading\">{{ heading$ }}</h1>\n <ul class=\"quick-link-ul-list\">\n <li *ngFor=\"let element of actions$\" class=\"quick-link-list\">\n <button mat-raised-button color=\"primary\" class=\"quick-link-button\" mat-icon-button (click)=\"element.onClick()\">\n <span class=\"quick-link-button-span\">\n <img *ngIf=\"element.icon\" class=\"quick-link-icon\" [src]=\"element.icon\" />\n <span>{{ element.label }}</span>\n </span>\n </button>\n </li>\n </ul>\n</div>\n", styles: [".quick-link-ul-list{list-style:none;padding:0;grid-template-columns:repeat(auto-fill,minmax(min(40ch,100%),1fr));display:grid;gap:1rem}.quick-link-list{background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:8px}.quick-link-button{text-transform:capitalize!important;font-size:16px!important;color:var(--app-form-color)!important;cursor:pointer;padding:1rem!important;height:6rem;width:100%;justify-content:start!important;background-color:transparent;border:0}.quick-link-icon{width:1em;height:1em;flex-shrink:0;filter:invert(100%)}.quick-link-button-span{display:flex;align-items:center;gap:.5rem}.quick-link-heading{margin-top:8px}\n"] }]
13
13
  }], propDecorators: { actions$: [{
@@ -60,6 +60,12 @@ export class AutoCompleteComponent {
60
60
  }
61
61
  this.filteredOptions = this.fieldControl.valueChanges.pipe(startWith(''), map(value => this._filter(value || '')));
62
62
  }
63
+ setOptions(options) {
64
+ this.options$ = options;
65
+ const index = this.options$?.findIndex(element => element.key === this.configProps$.value);
66
+ this.value$ = index > -1 ? this.options$[index].value : this.configProps$.value;
67
+ this.fieldControl.setValue(this.value$);
68
+ }
63
69
  ngOnDestroy() {
64
70
  if (this.formGroup$) {
65
71
  this.formGroup$.removeControl(this.controlName$);
@@ -93,6 +99,7 @@ export class AutoCompleteComponent {
93
99
  if (this.configProps$.value != undefined) {
94
100
  const index = this.options$?.findIndex(element => element.key === this.configProps$.value);
95
101
  this.value$ = index > -1 ? this.options$[index].value : this.configProps$.value;
102
+ this.fieldControl.setValue(this.value$);
96
103
  }
97
104
  this.setPropertyValuesFromProps();
98
105
  this.actionsApi = this.pConn$.getActionsApi();
@@ -127,7 +134,8 @@ export class AutoCompleteComponent {
127
134
  }
128
135
  this.componentReference = this.pConn$.getStateProps().value;
129
136
  if (this.listType === 'associated') {
130
- this.options$ = this.utils.getOptionList(this.configProps$, this.pConn$.getDataObject('')); // 1st arg empty string until typedef marked correctly
137
+ const optionsList = this.utils.getOptionList(this.configProps$, this.pConn$.getDataObject('')); // 1st arg empty string until typedef marked correctly
138
+ this.setOptions(optionsList);
131
139
  }
132
140
  if (!this.displayMode$ && this.listType !== 'associated') {
133
141
  const results = await this.dataPageService.getDataPageData(datasource, this.parameters, context);
@@ -192,7 +200,7 @@ export class AutoCompleteComponent {
192
200
  };
193
201
  optionsData.push(obj);
194
202
  });
195
- this.options$ = optionsData;
203
+ this.setOptions(optionsData);
196
204
  }
197
205
  flattenParameters(params = {}) {
198
206
  const flatParams = {};
@@ -266,10 +274,10 @@ export class AutoCompleteComponent {
266
274
  }
267
275
  return errMessage;
268
276
  }
269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: i1.AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: i2.Utils }, { token: i3.DatapageService }], target: i0.ɵɵFactoryTarget.Component }); }
270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AutoCompleteComponent, isStandalone: true, selector: "app-auto-complete", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, hideLabel }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n (input)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"optionChanged($event)\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i0.forwardRef(() => i4.AsyncPipe), name: "async" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i5.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i5.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i5.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i5.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i5.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i5.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i6.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i6.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i6.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i7.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatAutocompleteModule) }, { kind: "component", type: i0.forwardRef(() => i8.MatAutocomplete), selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i0.forwardRef(() => i9.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i0.forwardRef(() => i8.MatAutocompleteTrigger), selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
277
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: i1.AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: i2.Utils }, { token: i3.DatapageService }], target: i0.ɵɵFactoryTarget.Component }); }
278
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AutoCompleteComponent, isStandalone: true, selector: "app-auto-complete", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, hideLabel }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n (input)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"optionChanged($event)\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i0.forwardRef(() => i4.AsyncPipe), name: "async" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i5.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i5.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i5.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i5.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i5.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i5.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i6.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i6.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i6.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i7.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatAutocompleteModule) }, { kind: "component", type: i0.forwardRef(() => i8.MatAutocomplete), selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i0.forwardRef(() => i9.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i0.forwardRef(() => i8.MatAutocompleteTrigger), selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
271
279
  }
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AutoCompleteComponent, decorators: [{
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoCompleteComponent, decorators: [{
273
281
  type: Component,
274
282
  args: [{ selector: 'app-auto-complete', standalone: true, imports: [
275
283
  CommonModule,
@@ -279,10 +287,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
279
287
  MatAutocompleteModule,
280
288
  MatOptionModule,
281
289
  forwardRef(() => ComponentMapperComponent)
282
- ], template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, hideLabel }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n (input)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"optionChanged($event)\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"] }]
290
+ ], template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, hideLabel }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n (input)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"optionChanged($event)\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"] }]
283
291
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: i2.Utils }, { type: i3.DatapageService }], propDecorators: { pConn$: [{
284
292
  type: Input
285
293
  }], formGroup$: [{
286
294
  type: Input
287
295
  }] } });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvZmllbGQvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9maWVsZC9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQXFCLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXhHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7QUE4QjNELE1BQU0sT0FBTyxxQkFBcUI7SUFp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QUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO3FCQUMzQzs2S0FHUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIGZvcndhcmRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL3V0aWxzJztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhcGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvZGF0YXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBoYW5kbGVFdmVudCB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL2V2ZW50LXV0aWwnO1xuaW1wb3J0IHsgUENvbm5GaWVsZFByb3BzIH0gZnJvbSAnLi4vLi4vLi4vX3R5cGVzL1BDb25uUHJvcHMuaW50ZXJmYWNlJztcblxuaW50ZXJmYWNlIEF1dG9Db21wbGV0ZVByb3BzIGV4dGVuZHMgUENvbm5GaWVsZFByb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiBBdXRvQ29tcGxldGUgaGVyZVxuICBkZWZlckRhdGFzb3VyY2U/OiBib29sZWFuO1xuICBkYXRhc291cmNlTWV0YWRhdGE/OiBhbnk7XG4gIG9uUmVjb3JkQ2hhbmdlPzogYW55O1xuICBhZGRpdGlvbmFsUHJvcHM/OiBvYmplY3Q7XG4gIGxpc3RUeXBlOiBzdHJpbmc7XG4gIHBhcmFtZXRlcnM/OiBhbnk7XG4gIGRhdGFzb3VyY2U6IGFueTtcbiAgY29sdW1uczogYW55W107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hdXRvLWNvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudClcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG5cbiAgLy8gVXNlZCB3aXRoIEFuZ3VsYXJQQ29ubmVjdFxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbmZpZ1Byb3BzJDogQXV0b0NvbXBsZXRlUHJvcHM7XG5cbiAgbGFiZWwkID0gJyc7XG4gIHZhbHVlJCA9ICcnO1xuICBiUmVxdWlyZWQkID0gZmFsc2U7XG4gIGJSZWFkb25seSQgPSBmYWxzZTtcbiAgYkRpc2FibGVkJCA9IGZhbHNlO1xuICBiVmlzaWJsZSQgPSB0cnVlO1xuICBkaXNwbGF5TW9kZSQ/OiBzdHJpbmcgPSAnJztcbiAgY29udHJvbE5hbWUkOiBzdHJpbmc7XG4gIGJIYXNGb3JtJCA9IHRydWU7XG4gIG9wdGlvbnMkOiBhbnlbXTtcbiAgY29tcG9uZW50UmVmZXJlbmNlID0gJyc7XG4gIHRlc3RJZDogc3RyaW5nO1xuICBsaXN0VHlwZTogc3RyaW5nO1xuICBjb2x1bW5zID0gW107XG4gIGhlbHBlclRleHQ6IHN0cmluZztcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBmaWVsZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIG51bGwpO1xuICBwYXJhbWV0ZXJzOiB7fTtcbiAgaGlkZUxhYmVsOiBib29sZWFuO1xuICBmaWx0ZXJlZE9wdGlvbnM6IE9ic2VydmFibGU8YW55W10+O1xuICBmaWx0ZXJWYWx1ZSA9ICcnO1xuICBhY3Rpb25zQXBpOiBPYmplY3Q7XG4gIHByb3BOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB1dGlsczogVXRpbHMsXG4gICAgcHJpdmF0ZSBkYXRhUGFnZVNlcnZpY2U6IERhdGFwYWdlU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG4gICAgdGhpcy5jb250cm9sTmFtZSQgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRDb21wb25lbnRJRCh0aGlzKTtcblxuICAgIC8vIFRoZW4sIGNvbnRpbnVlIG9uIHdpdGggb3RoZXIgaW5pdGlhbGl6YXRpb25cblxuICAgIC8vIGNhbGwgdXBkYXRlU2VsZiB3aGVuIGluaXRpYWxpemluZ1xuICAgIC8vIHRoaXMudXBkYXRlU2VsZigpO1xuICAgIGF3YWl0IHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCQpIHtcbiAgICAgIC8vIGFkZCBjb250cm9sIHRvIGZvcm1Hcm91cFxuICAgICAgdGhpcy5mb3JtR3JvdXAkLmFkZENvbnRyb2wodGhpcy5jb250cm9sTmFtZSQsIHRoaXMuZmllbGRDb250cm9sKTtcbiAgICAgIHRoaXMuZmllbGRDb250cm9sLnNldFZhbHVlKHRoaXMudmFsdWUkKTtcbiAgICAgIHRoaXMuYkhhc0Zvcm0kID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iUmVhZG9ubHkkID0gdHJ1ZTtcbiAgICAgIHRoaXMuYkhhc0Zvcm0kID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpZWxkQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCgnJyksXG4gICAgICBtYXAodmFsdWUgPT4gdGhpcy5fZmlsdGVyKCh2YWx1ZSBhcyBzdHJpbmcpIHx8ICcnKSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwJCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAkLnJlbW92ZUNvbnRyb2wodGhpcy5jb250cm9sTmFtZSQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXIodmFsdWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmaWx0ZXJWYWwgPSAodmFsdWUgfHwgdGhpcy5maWx0ZXJWYWx1ZSkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zJD8uZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24udmFsdWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsKSk7XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgYXN5bmMgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICBhd2FpdCB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG4gIH1cblxuICBhc3luYyBjaGVja0FuZFVwZGF0ZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkXG4gICAgLy8gdXBkYXRlIGl0c2VsZiAocmUtcmVuZGVyKVxuICAgIGNvbnN0IGJVcGRhdGVTZWxmID0gdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuXG4gICAgLy8gT05MWSBjYWxsIHVwZGF0ZVNlbGYgd2hlbiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGVcbiAgICBpZiAoYlVwZGF0ZVNlbGYpIHtcbiAgICAgIGF3YWl0IHRoaXMudXBkYXRlU2VsZigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHVwZGF0ZVNlbGZcbiAgYXN5bmMgdXBkYXRlU2VsZigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBzdGFydGluZyB2ZXJ5IHNpbXBsZS4uLlxuXG4gICAgLy8gbW92ZWQgdGhpcyBmcm9tIG5nT25Jbml0KCkgYW5kIGNhbGwgdGhpcyBmcm9tIHRoZXJlIGluc3RlYWQuLi5cbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBBdXRvQ29tcGxldGVQcm9wcztcblxuICAgIGlmICh0aGlzLmNvbmZpZ1Byb3BzJC52YWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcHRpb25zJD8uZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC5rZXkgPT09IHRoaXMuY29uZmlnUHJvcHMkLnZhbHVlKTtcbiAgICAgIHRoaXMudmFsdWUkID0gaW5kZXggPiAtMSA/IHRoaXMub3B0aW9ucyRbaW5kZXhdLnZhbHVlIDogdGhpcy5jb25maWdQcm9wcyQudmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRQcm9wZXJ0eVZhbHVlc0Zyb21Qcm9wcygpO1xuXG4gICAgdGhpcy5hY3Rpb25zQXBpID0gdGhpcy5wQ29ubiQuZ2V0QWN0aW9uc0FwaSgpO1xuICAgIHRoaXMucHJvcE5hbWUgPSB0aGlzLnBDb25uJC5nZXRTdGF0ZVByb3BzKCkudmFsdWU7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBjb25zdCB7IGNvbHVtbnMsIGRhdGFzb3VyY2UgfSA9IHRoaXMuZ2VuZXJhdGVDb2x1bW5zQW5kRGF0YVNvdXJjZSgpO1xuXG4gICAgaWYgKGNvbHVtbnMpIHtcbiAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMucHJlUHJvY2Vzc0NvbHVtbnMoY29sdW1ucyk7XG4gICAgfVxuICAgIC8vIHRpbWVvdXQgYW5kIGRldGVjdENoYW5nZXMgdG8gYXZvaWQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29uZmlnUHJvcHMkLnJlcXVpcmVkICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5iUmVxdWlyZWQkID0gdGhpcy51dGlscy5nZXRCb29sZWFuVmFsdWUodGhpcy5jb25maWdQcm9wcyQucmVxdWlyZWQpO1xuICAgICAgfVxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWdQcm9wcyQudmlzaWJpbGl0eSAhPSBudWxsKSB7XG4gICAgICB0aGlzLmJWaXNpYmxlJCA9IHRoaXMudXRpbHMuZ2V0Qm9vbGVhblZhbHVlKHRoaXMuY29uZmlnUHJvcHMkLnZpc2liaWxpdHkpO1xuICAgIH1cblxuICAgIC8vIGRpc2FibGVkXG4gICAgaWYgKHRoaXMuY29uZmlnUHJvcHMkLmRpc2FibGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5iRGlzYWJsZWQkID0gdGhpcy51dGlscy5nZXRCb29sZWFuVmFsdWUodGhpcy5jb25maWdQcm9wcyQuZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJEaXNhYmxlZCQpIHtcbiAgICAgIHRoaXMuZmllbGRDb250cm9sLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWVsZENvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnUHJvcHMkLnJlYWRPbmx5ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuYlJlYWRvbmx5JCA9IHRoaXMudXRpbHMuZ2V0Qm9vbGVhblZhbHVlKHRoaXMuY29uZmlnUHJvcHMkLnJlYWRPbmx5KTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbXBvbmVudFJlZmVyZW5jZSA9IHRoaXMucENvbm4kLmdldFN0YXRlUHJvcHMoKS52YWx1ZTtcbiAgICBpZiAodGhpcy5saXN0VHlwZSA9PT0gJ2Fzc29jaWF0ZWQnKSB7XG4gICAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy51dGlscy5nZXRPcHRpb25MaXN0KHRoaXMuY29uZmlnUHJvcHMkLCB0aGlzLnBDb25uJC5nZXREYXRhT2JqZWN0KCcnKSk7IC8vIDFzdCBhcmcgZW1wdHkgc3RyaW5nIHVudGlsIHR5cGVkZWYgbWFya2VkIGNvcnJlY3RseVxuICAgIH1cblxuICAgIGlmICghdGhpcy5kaXNwbGF5TW9kZSQgJiYgdGhpcy5saXN0VHlwZSAhPT0gJ2Fzc29jaWF0ZWQnKSB7XG4gICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5kYXRhUGFnZVNlcnZpY2UuZ2V0RGF0YVBhZ2VEYXRhKGRhdGFzb3VyY2UsIHRoaXMucGFyYW1ldGVycywgY29udGV4dCk7XG4gICAgICB0aGlzLmZpbGxPcHRpb25zKHJlc3VsdHMpO1xuICAgIH1cblxuICAgIC8vIHRyaWdnZXIgZGlzcGxheSBvZiBlcnJvciBtZXNzYWdlIHdpdGggZmllbGQgY29udHJvbFxuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudmFsaWRhdGVNZXNzYWdlICE9IG51bGwgJiYgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnZhbGlkYXRlTWVzc2FnZSAhPSAnJykge1xuICAgICAgY29uc3QgdGltZXIgPSBpbnRlcnZhbCgxMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZmllbGRDb250cm9sLnNldEVycm9ycyh7IG1lc3NhZ2U6IHRydWUgfSk7XG4gICAgICAgIHRoaXMuZmllbGRDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcblxuICAgICAgICB0aW1lci51bnN1YnNjcmliZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0UHJvcGVydHlWYWx1ZXNGcm9tUHJvcHMoKSB7XG4gICAgdGhpcy50ZXN0SWQgPSB0aGlzLmNvbmZpZ1Byb3BzJC50ZXN0SWQ7XG4gICAgdGhpcy5sYWJlbCQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5sYWJlbDtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5jb25maWdQcm9wcyQucGxhY2Vob2xkZXIgfHwgJyc7XG4gICAgdGhpcy5kaXNwbGF5TW9kZSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5kaXNwbGF5TW9kZTtcbiAgICB0aGlzLmxpc3RUeXBlID0gdGhpcy5jb25maWdQcm9wcyQubGlzdFR5cGU7XG4gICAgdGhpcy5oaWRlTGFiZWwgPSB0aGlzLmNvbmZpZ1Byb3BzJC5oaWRlTGFiZWw7XG4gICAgdGhpcy5oZWxwZXJUZXh0ID0gdGhpcy5jb25maWdQcm9wcyQuaGVscGVyVGV4dDtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLmNvbmZpZ1Byb3BzJD8ucGFyYW1ldGVycztcbiAgfVxuXG4gIGdlbmVyYXRlQ29sdW1uc0FuZERhdGFTb3VyY2UoKSB7XG4gICAgbGV0IGRhdGFzb3VyY2UgPSB0aGlzLmNvbmZpZ1Byb3BzJC5kYXRhc291cmNlO1xuICAgIGxldCBjb2x1bW5zID0gdGhpcy5jb25maWdQcm9wcyQuY29sdW1ucztcbiAgICAvLyBjb25zdCB7IGRlZmVyRGF0YXNvdXJjZSwgZGF0YXNvdXJjZU1ldGFkYXRhIH0gPSB0aGlzLmNvbmZpZ1Byb3BzJDtcbiAgICBjb25zdCB7IGRlZmVyRGF0YXNvdXJjZSwgZGF0YXNvdXJjZU1ldGFkYXRhIH0gPSB0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpO1xuICAgIC8vIGNvbnZlcnQgYXNzb2NpYXRlZCB0byBkYXRhcGFnZSBsaXN0dHlwZSBhbmQgdHJhbnNmb3JtIHByb3BzXG4gICAgLy8gUHJvY2VzcyBkZWZlckRhdGFzb3VyY2Ugd2hlbiBkYXRhcGFnZSBuYW1lIGlzIHByZXNlbnQuIFdIaGVuIHRhYmxlVHlwZSBpcyBwcm9tcHRMaXN0IC8gbG9jYWxMaXN0XG4gICAgaWYgKGRlZmVyRGF0YXNvdXJjZSAmJiBkYXRhc291cmNlTWV0YWRhdGE/LmRhdGFzb3VyY2U/Lm5hbWUpIHtcbiAgICAgIHRoaXMubGlzdFR5cGUgPSAnZGF0YXBhZ2UnO1xuICAgICAgZGF0YXNvdXJjZSA9IGRhdGFzb3VyY2VNZXRhZGF0YS5kYXRhc291cmNlLm5hbWU7XG4gICAgICBjb25zdCB7IHBhcmFtZXRlcnMsIHByb3BlcnR5Rm9yRGlzcGxheVRleHQsIHByb3BlcnR5Rm9yVmFsdWUgfSA9IGRhdGFzb3VyY2VNZXRhZGF0YS5kYXRhc291cmNlO1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gdGhpcy5mbGF0dGVuUGFyYW1ldGVycyhwYXJhbWV0ZXJzKTtcbiAgICAgIGNvbnN0IGRpc3BsYXlQcm9wID0gcHJvcGVydHlGb3JEaXNwbGF5VGV4dD8uc3RhcnRzV2l0aCgnQFAnKSA/IHByb3BlcnR5Rm9yRGlzcGxheVRleHQuc3Vic3RyaW5nKDMpIDogcHJvcGVydHlGb3JEaXNwbGF5VGV4dDtcbiAgICAgIGNvbnN0IHZhbHVlUHJvcCA9IHByb3BlcnR5Rm9yVmFsdWU/LnN0YXJ0c1dpdGgoJ0BQJykgPyBwcm9wZXJ0eUZvclZhbHVlLnN1YnN0cmluZygzKSA6IHByb3BlcnR5Rm9yVmFsdWU7XG4gICAgICBjb2x1bW5zID0gW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiAndHJ1ZScsXG4gICAgICAgICAgc2V0UHJvcGVydHk6ICdBc3NvY2lhdGVkIHByb3BlcnR5JyxcbiAgICAgICAgICB2YWx1ZTogdmFsdWVQcm9wXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkaXNwbGF5OiAndHJ1ZScsXG4gICAgICAgICAgcHJpbWFyeTogJ3RydWUnLFxuICAgICAgICAgIHVzZUZvclNlYXJjaDogdHJ1ZSxcbiAgICAgICAgICB2YWx1ZTogZGlzcGxheVByb3BcbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBjb2x1bW5zLCBkYXRhc291cmNlIH07XG4gIH1cblxuICBmaWxsT3B0aW9ucyhyZXN1bHRzOiBhbnkpIHtcbiAgICBjb25zdCBvcHRpb25zRGF0YTogYW55W10gPSBbXTtcbiAgICBjb25zdCBkaXNwbGF5Q29sdW1uID0gdGhpcy5nZXREaXNwbGF5RmllbGRzTWV0YURhdGEodGhpcy5jb2x1bW5zKTtcbiAgICByZXN1bHRzPy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICBrZXk6IGVsZW1lbnRbZGlzcGxheUNvbHVtbi5rZXldIHx8IGVsZW1lbnQucHlHVUlELFxuICAgICAgICB2YWx1ZTogZWxlbWVudFtkaXNwbGF5Q29sdW1uLnByaW1hcnldPy50b1N0cmluZygpXG4gICAgICB9O1xuICAgICAgb3B0aW9uc0RhdGEucHVzaChvYmopO1xuICAgIH0pO1xuICAgIHRoaXMub3B0aW9ucyQgPSBvcHRpb25zRGF0YTtcbiAgfVxuXG4gIGZsYXR0ZW5QYXJhbWV0ZXJzKHBhcmFtcyA9IHt9KSB7XG4gICAgY29uc3QgZmxhdFBhcmFtcyA9IHt9O1xuICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgeyBuYW1lLCB2YWx1ZTogdGhlVmFsIH0gPSBwYXJhbXNba2V5XTtcbiAgICAgIGZsYXRQYXJhbXNbbmFtZV0gPSB0aGVWYWw7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmxhdFBhcmFtcztcbiAgfVxuXG4gIGdldERpc3BsYXlGaWVsZHNNZXRhRGF0YShjb2x1bW5MaXN0KSB7XG4gICAgY29uc3QgZGlzcGxheUNvbHVtbnMgPSBjb2x1bW5MaXN0LmZpbHRlcihjb2wgPT4gY29sLmRpc3BsYXkgPT09ICd0cnVlJyk7XG4gICAgY29uc3QgbWV0YURhdGFPYmo6IGFueSA9IHsga2V5OiAnJywgcHJpbWFyeTogJycsIHNlY29uZGFyeTogW10gfTtcbiAgICBjb25zdCBrZXlDb2wgPSBjb2x1bW5MaXN0LmZpbHRlcihjb2wgPT4gY29sLmtleSA9PT0gJ3RydWUnKTtcbiAgICBtZXRhRGF0YU9iai5rZXkgPSBrZXlDb2wubGVuZ3RoID4gMCA/IGtleUNvbFswXS52YWx1ZSA6ICdhdXRvJztcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGlzcGxheUNvbHVtbnMubGVuZ3RoOyBpbmRleCArPSAxKSB7XG4gICAgICBpZiAoZGlzcGxheUNvbHVtbnNbaW5kZXhdLnByaW1hcnkgPT09ICd0cnVlJykge1xuICAgICAgICBtZXRhRGF0YU9iai5wcmltYXJ5ID0gZGlzcGxheUNvbHVtbnNbaW5kZXhdLnZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWV0YURhdGFPYmouc2Vjb25kYXJ5LnB1c2goZGlzcGxheUNvbHVtbnNbaW5kZXhdLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1ldGFEYXRhT2JqO1xuICB9XG5cbiAgcHJlUHJvY2Vzc0NvbHVtbnMoY29sdW1uTGlzdCkge1xuICAgIHJldHVybiBjb2x1bW5MaXN0Py5tYXAoY29sID0+IHtcbiAgICAgIGNvbnN0IHRlbXBDb2xPYmogPSB7IC4uLmNvbCB9O1xuICAgICAgdGVtcENvbE9iai52YWx1ZSA9IGNvbC52YWx1ZSAmJiBjb2wudmFsdWUuc3RhcnRzV2l0aCgnLicpID8gY29sLnZhbHVlLnN1YnN0cmluZygxKSA6IGNvbC52YWx1ZTtcbiAgICAgIHJldHVybiB0ZW1wQ29sT2JqO1xuICAgIH0pO1xuICB9XG5cbiAgZmllbGRPbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICAvLyB0aGlzIHdvcmtzIC0gdGhpcy5wQ29ubiQuc2V0VmFsdWUoIHRoaXMuY29tcG9uZW50UmVmZXJlbmNlLCBgcHJvcGVydHk6ICR7dGhpcy5jb21wb25lbnRSZWZlcmVuY2V9YCk7XG4gICAgLy8gdGhpcyB3b3JrcyAtIHRoaXMucENvbm4kLnNldFZhbHVlKCB0aGlzLmNvbXBvbmVudFJlZmVyZW5jZSwgdGhpcy5maWVsZENvbnRyb2wudmFsdWUpO1xuICAgIC8vIFBDb25uZWN0IHdhbnRzIHRvIHVzZSBjaGFuZ2VIYW5kbGVyIGZvciBvbkNoYW5nZVxuICAgIC8vIHRoaXMuYW5ndWxhclBDb25uZWN0LmNoYW5nZUhhbmRsZXIoIHRoaXMsIGV2ZW50KTtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5maWx0ZXJWYWx1ZSA9IHZhbHVlO1xuICAgIGhhbmRsZUV2ZW50KHRoaXMuYWN0aW9uc0FwaSwgJ2NoYW5nZScsIHRoaXMucHJvcE5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIG9wdGlvbkNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQ/Lm9wdGlvbj8udmFsdWU7XG4gICAgaGFuZGxlRXZlbnQodGhpcy5hY3Rpb25zQXBpLCAnY2hhbmdlJywgdGhpcy5wcm9wTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgZmllbGRPbkJsdXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgbGV0IGtleSA9ICcnO1xuICAgIGNvbnN0IGVsID0gZXZlbnQ/LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChlbD8udmFsdWUpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcHRpb25zJD8uZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC52YWx1ZSA9PT0gZWwudmFsdWUpO1xuICAgICAga2V5ID0gaW5kZXggPiAtMSA/IChrZXkgPSB0aGlzLm9wdGlvbnMkW2luZGV4XS5rZXkpIDogZWwudmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0ga2V5O1xuICAgIGhhbmRsZUV2ZW50KHRoaXMuYWN0aW9uc0FwaSwgJ2NoYW5nZU5ibHVyJywgdGhpcy5wcm9wTmFtZSwgdmFsdWUpO1xuICAgIGlmICh0aGlzLmNvbmZpZ1Byb3BzJD8ub25SZWNvcmRDaGFuZ2UpIHtcbiAgICAgIGVsLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmNvbmZpZ1Byb3BzJC5vblJlY29yZENoYW5nZShldmVudCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCkge1xuICAgIGxldCBlcnJNZXNzYWdlID0gJyc7XG5cbiAgICAvLyBsb29rIGZvciB2YWxpZGF0aW9uIG1lc3NhZ2VzIGZvciBqc29uLCBwcmUtZGVmaW5lZCBvciBqdXN0IGFuIGVycm9yIHB1c2hlZCBmcm9tIHdvcmtpdGVtICg0MDApXG4gICAgaWYgKHRoaXMuZmllbGRDb250cm9sLmhhc0Vycm9yKCdtZXNzYWdlJykpIHtcbiAgICAgIGVyck1lc3NhZ2UgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudmFsaWRhdGVNZXNzYWdlID8/ICcnO1xuICAgICAgcmV0dXJuIGVyck1lc3NhZ2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpZWxkQ29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgZXJyTWVzc2FnZSA9ICdZb3UgbXVzdCBlbnRlciBhIHZhbHVlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmllbGRDb250cm9sLmVycm9ycykge1xuICAgICAgZXJyTWVzc2FnZSA9IHRoaXMuZmllbGRDb250cm9sLmVycm9ycy50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiBlcnJNZXNzYWdlO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGlzcGxheU1vZGUkOyBlbHNlIG5vRGlzcGxheU1vZGVcIj5cbiAgPGNvbXBvbmVudC1tYXBwZXIgKm5nSWY9XCJiVmlzaWJsZSQgIT09IGZhbHNlXCIgbmFtZT1cIkZpZWxkVmFsdWVMaXN0XCIgW3Byb3BzXT1cInsgbGFiZWwkLCB2YWx1ZSQsIGRpc3BsYXlNb2RlJCwgaGlkZUxhYmVsIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjbm9EaXNwbGF5TW9kZT5cbiAgPGRpdiAqbmdJZj1cIiFiUmVhZG9ubHkkICYmIGJIYXNGb3JtJDsgZWxzZSBub0VkaXRcIj5cbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwJFwiICpuZ0lmPVwiYlZpc2libGUkXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJwc2RrLWZ1bGwtd2lkdGhcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgW2hpbnRMYWJlbF09XCJoZWxwZXJUZXh0XCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwkIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZmllbGRDb250cm9sXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRlc3QtaWRdPVwidGVzdElkXCJcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWUkXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwiYlJlcXVpcmVkJFwiXG4gICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgICAoaW5wdXQpPVwiZmllbGRPbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAoYmx1cik9XCJmaWVsZE9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiBhdXRvQWN0aXZlRmlyc3RPcHRpb24gKG9wdGlvblNlbGVjdGVkKT1cIm9wdGlvbkNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHQgb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwib3B0LnZhbHVlXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBvcHQudmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmaWVsZENvbnRyb2wuaW52YWxpZFwiPnt7IGdldEVycm9yTWVzc2FnZSgpIH19PC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI25vRWRpdD5cbiAgPGNvbXBvbmVudC1tYXBwZXIgKm5nSWY9XCJiVmlzaWJsZSQgIT09IGZhbHNlXCIgbmFtZT1cIlRleHRcIiBbcHJvcHNdPVwieyBwQ29ubiQsIGZvcm1hdEFzJDogJ3RleHQnIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvZmllbGQvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9maWVsZC9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQXFCLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXhHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFrQzNELE1BQU0sT0FBTyxxQkFBcUI7SUFp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QUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDM0MsVUFBVSxHQUFHLHdCQUF3QixDQUFDO1FBQ3hDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25ELENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOytHQXhUVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixxSUMvQ2xDLHc3Q0ErQkEsa1pET0ksWUFBWSx3WUFDWixtQkFBbUIsc3VDQUNuQixrQkFBa0IsMmRBQ2xCLGNBQWMsb1pBQ2QscUJBQXFCLDQ2QkFDckIsZUFBZSxvREFDRSx3QkFBd0I7OzRGQUdoQyxxQkFBcUI7a0JBZmpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBR2pCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7cUJBQzNDOzZLQUdRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgZm9yd2FyZFJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBpbnRlcnZhbCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvdXRpbHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFwYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9kYXRhcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGhhbmRsZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvZXZlbnQtdXRpbCc7XG5pbXBvcnQgeyBQQ29ubkZpZWxkUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9fdHlwZXMvUENvbm5Qcm9wcy5pbnRlcmZhY2UnO1xuXG5pbnRlcmZhY2UgSU9wdGlvbiB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIEF1dG9Db21wbGV0ZVByb3BzIGV4dGVuZHMgUENvbm5GaWVsZFByb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiBBdXRvQ29tcGxldGUgaGVyZVxuICBkZWZlckRhdGFzb3VyY2U/OiBib29sZWFuO1xuICBkYXRhc291cmNlTWV0YWRhdGE/OiBhbnk7XG4gIG9uUmVjb3JkQ2hhbmdlPzogYW55O1xuICBhZGRpdGlvbmFsUHJvcHM/OiBvYmplY3Q7XG4gIGxpc3RUeXBlOiBzdHJpbmc7XG4gIHBhcmFtZXRlcnM/OiBhbnk7XG4gIGRhdGFzb3VyY2U6IGFueTtcbiAgY29sdW1uczogYW55W107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hdXRvLWNvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudClcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG5cbiAgLy8gVXNlZCB3aXRoIEFuZ3VsYXJQQ29ubmVjdFxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbmZpZ1Byb3BzJDogQXV0b0NvbXBsZXRlUHJvcHM7XG5cbiAgbGFiZWwkID0gJyc7XG4gIHZhbHVlJCA9ICcnO1xuICBiUmVxdWlyZWQkID0gZmFsc2U7XG4gIGJSZWFkb25seSQgPSBmYWxzZTtcbiAgYkRpc2FibGVkJCA9IGZhbHNlO1xuICBiVmlzaWJsZSQgPSB0cnVlO1xuICBkaXNwbGF5TW9kZSQ/OiBzdHJpbmcgPSAnJztcbiAgY29udHJvbE5hbWUkOiBzdHJpbmc7XG4gIGJIYXNGb3JtJCA9IHRydWU7XG4gIG9wdGlvbnMkOiBhbnlbXTtcbiAgY29tcG9uZW50UmVmZXJlbmNlID0gJyc7XG4gIHRlc3RJZDogc3RyaW5nO1xuICBsaXN0VHlwZTogc3RyaW5nO1xuICBjb2x1bW5zID0gW107XG4gIGhlbHBlclRleHQ6IHN0cmluZztcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBmaWVsZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIG51bGwpO1xuICBwYXJhbWV0ZXJzOiB7fTtcbiAgaGlkZUxhYmVsOiBib29sZWFuO1xuICBmaWx0ZXJlZE9wdGlvbnM6IE9ic2VydmFibGU8YW55W10+O1xuICBmaWx0ZXJWYWx1ZSA9ICcnO1xuICBhY3Rpb25zQXBpOiBPYmplY3Q7XG4gIHByb3BOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB1dGlsczogVXRpbHMsXG4gICAgcHJpdmF0ZSBkYXRhUGFnZVNlcnZpY2U6IERhdGFwYWdlU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG4gICAgdGhpcy5jb250cm9sTmFtZSQgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRDb21wb25lbnRJRCh0aGlzKTtcblxuICAgIC8vIFRoZW4sIGNvbnRpbnVlIG9uIHdpdGggb3RoZXIgaW5pdGlhbGl6YXRpb25cblxuICAgIC8vIGNhbGwgdXBkYXRlU2VsZiB3aGVuIGluaXRpYWxpemluZ1xuICAgIC8vIHRoaXMudXBkYXRlU2VsZigpO1xuICAgIGF3YWl0IHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCQpIHtcbiAgICAgIC8vIGFkZCBjb250cm9sIHRvIGZvcm1Hcm91cFxuICAgICAgdGhpcy5mb3JtR3JvdXAkLmFkZENvbnRyb2wodGhpcy5jb250cm9sTmFtZSQsIHRoaXMuZmllbGRDb250cm9sKTtcbiAgICAgIHRoaXMuZmllbGRDb250cm9sLnNldFZhbHVlKHRoaXMudmFsdWUkKTtcbiAgICAgIHRoaXMuYkhhc0Zvcm0kID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iUmVhZG9ubHkkID0gdHJ1ZTtcbiAgICAgIHRoaXMuYkhhc0Zvcm0kID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpZWxkQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCgnJyksXG4gICAgICBtYXAodmFsdWUgPT4gdGhpcy5fZmlsdGVyKCh2YWx1ZSBhcyBzdHJpbmcpIHx8ICcnKSlcbiAgICApO1xuICB9XG5cbiAgc2V0T3B0aW9ucyhvcHRpb25zOiBJT3B0aW9uW10pIHtcbiAgICB0aGlzLm9wdGlvbnMkID0gb3B0aW9ucztcbiAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9ucyQ/LmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQua2V5ID09PSB0aGlzLmNvbmZpZ1Byb3BzJC52YWx1ZSk7XG4gICAgdGhpcy52YWx1ZSQgPSBpbmRleCA+IC0xID8gdGhpcy5vcHRpb25zJFtpbmRleF0udmFsdWUgOiB0aGlzLmNvbmZpZ1Byb3BzJC52YWx1ZTtcbiAgICB0aGlzLmZpZWxkQ29udHJvbC5zZXRWYWx1ZSh0aGlzLnZhbHVlJCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cCQucmVtb3ZlQ29udHJvbCh0aGlzLmNvbnRyb2xOYW1lJCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbHRlcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbCA9ICh2YWx1ZSB8fCB0aGlzLmZpbHRlclZhbHVlKS50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMkPy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi52YWx1ZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWwpKTtcbiAgfVxuXG4gIC8vIENhbGxiYWNrIHBhc3NlZCB3aGVuIHN1YnNjcmliaW5nIHRvIHN0b3JlIGNoYW5nZVxuICBhc3luYyBvblN0YXRlQ2hhbmdlKCkge1xuICAgIGF3YWl0IHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxuXG4gIGFzeW5jIGNoZWNrQW5kVXBkYXRlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgYlVwZGF0ZVNlbGYgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG5cbiAgICAvLyBPTkxZIGNhbGwgdXBkYXRlU2VsZiB3aGVuIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZVxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdXBkYXRlU2VsZlxuICBhc3luYyB1cGRhdGVTZWxmKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIHN0YXJ0aW5nIHZlcnkgc2ltcGxlLi4uXG5cbiAgICAvLyBtb3ZlZCB0aGlzIGZyb20gbmdPbkluaXQoKSBhbmQgY2FsbCB0aGlzIGZyb20gdGhlcmUgaW5zdGVhZC4uLlxuICAgIHRoaXMuY29uZmlnUHJvcHMkID0gdGhpcy5wQ29ubiQucmVzb2x2ZUNvbmZpZ1Byb3BzKHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCkpIGFzIEF1dG9Db21wbGV0ZVByb3BzO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnUHJvcHMkLnZhbHVlICE9IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm9wdGlvbnMkPy5maW5kSW5kZXgoZWxlbWVudCA9PiBlbGVtZW50LmtleSA9PT0gdGhpcy5jb25maWdQcm9wcyQudmFsdWUpO1xuICAgICAgdGhpcy52YWx1ZSQgPSBpbmRleCA+IC0xID8gdGhpcy5vcHRpb25zJFtpbmRleF0udmFsdWUgOiB0aGlzLmNvbmZpZ1Byb3BzJC52YWx1ZTtcbiAgICAgIHRoaXMuZmllbGRDb250cm9sLnNldFZhbHVlKHRoaXMudmFsdWUkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFByb3BlcnR5VmFsdWVzRnJvbVByb3BzKCk7XG5cbiAgICB0aGlzLmFjdGlvbnNBcGkgPSB0aGlzLnBDb25uJC5nZXRBY3Rpb25zQXBpKCk7XG4gICAgdGhpcy5wcm9wTmFtZSA9IHRoaXMucENvbm4kLmdldFN0YXRlUHJvcHMoKS52YWx1ZTtcblxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpO1xuICAgIGNvbnN0IHsgY29sdW1ucywgZGF0YXNvdXJjZSB9ID0gdGhpcy5nZW5lcmF0ZUNvbHVtbnNBbmREYXRhU291cmNlKCk7XG5cbiAgICBpZiAoY29sdW1ucykge1xuICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5wcmVQcm9jZXNzQ29sdW1ucyhjb2x1bW5zKTtcbiAgICB9XG4gICAgLy8gdGltZW91dCBhbmQgZGV0ZWN0Q2hhbmdlcyB0byBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb25maWdQcm9wcyQucmVxdWlyZWQgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLmJSZXF1aXJlZCQgPSB0aGlzLnV0aWxzLmdldEJvb2xlYW5WYWx1ZSh0aGlzLmNvbmZpZ1Byb3BzJC5yZXF1aXJlZCk7XG4gICAgICB9XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZ1Byb3BzJC52aXNpYmlsaXR5ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuYlZpc2libGUkID0gdGhpcy51dGlscy5nZXRCb29sZWFuVmFsdWUodGhpcy5jb25maWdQcm9wcyQudmlzaWJpbGl0eSk7XG4gICAgfVxuXG4gICAgLy8gZGlzYWJsZWRcbiAgICBpZiAodGhpcy5jb25maWdQcm9wcyQuZGlzYWJsZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmJEaXNhYmxlZCQgPSB0aGlzLnV0aWxzLmdldEJvb2xlYW5WYWx1ZSh0aGlzLmNvbmZpZ1Byb3BzJC5kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYkRpc2FibGVkJCkge1xuICAgICAgdGhpcy5maWVsZENvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkQ29udHJvbC5lbmFibGUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWdQcm9wcyQucmVhZE9ubHkgIT0gbnVsbCkge1xuICAgICAgdGhpcy5iUmVhZG9ubHkkID0gdGhpcy51dGlscy5nZXRCb29sZWFuVmFsdWUodGhpcy5jb25maWdQcm9wcyQucmVhZE9ubHkpO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50UmVmZXJlbmNlID0gdGhpcy5wQ29ubiQuZ2V0U3RhdGVQcm9wcygpLnZhbHVlO1xuICAgIGlmICh0aGlzLmxpc3RUeXBlID09PSAnYXNzb2NpYXRlZCcpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnNMaXN0ID0gdGhpcy51dGlscy5nZXRPcHRpb25MaXN0KHRoaXMuY29uZmlnUHJvcHMkLCB0aGlzLnBDb25uJC5nZXREYXRhT2JqZWN0KCcnKSk7IC8vIDFzdCBhcmcgZW1wdHkgc3RyaW5nIHVudGlsIHR5cGVkZWYgbWFya2VkIGNvcnJlY3RseVxuICAgICAgdGhpcy5zZXRPcHRpb25zKG9wdGlvbnNMaXN0KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZGlzcGxheU1vZGUkICYmIHRoaXMubGlzdFR5cGUgIT09ICdhc3NvY2lhdGVkJykge1xuICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuZGF0YVBhZ2VTZXJ2aWNlLmdldERhdGFQYWdlRGF0YShkYXRhc291cmNlLCB0aGlzLnBhcmFtZXRlcnMsIGNvbnRleHQpO1xuICAgICAgdGhpcy5maWxsT3B0aW9ucyhyZXN1bHRzKTtcbiAgICB9XG5cbiAgICAvLyB0cmlnZ2VyIGRpc3BsYXkgb2YgZXJyb3IgbWVzc2FnZSB3aXRoIGZpZWxkIGNvbnRyb2xcbiAgICBpZiAodGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnZhbGlkYXRlTWVzc2FnZSAhPSBudWxsICYmIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS52YWxpZGF0ZU1lc3NhZ2UgIT0gJycpIHtcbiAgICAgIGNvbnN0IHRpbWVyID0gaW50ZXJ2YWwoMTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmZpZWxkQ29udHJvbC5zZXRFcnJvcnMoeyBtZXNzYWdlOiB0cnVlIH0pO1xuICAgICAgICB0aGlzLmZpZWxkQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG5cbiAgICAgICAgdGltZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFByb3BlcnR5VmFsdWVzRnJvbVByb3BzKCkge1xuICAgIHRoaXMudGVzdElkID0gdGhpcy5jb25maWdQcm9wcyQudGVzdElkO1xuICAgIHRoaXMubGFiZWwkID0gdGhpcy5jb25maWdQcm9wcyQubGFiZWw7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuY29uZmlnUHJvcHMkLnBsYWNlaG9sZGVyIHx8ICcnO1xuICAgIHRoaXMuZGlzcGxheU1vZGUkID0gdGhpcy5jb25maWdQcm9wcyQuZGlzcGxheU1vZGU7XG4gICAgdGhpcy5saXN0VHlwZSA9IHRoaXMuY29uZmlnUHJvcHMkLmxpc3RUeXBlO1xuICAgIHRoaXMuaGlkZUxhYmVsID0gdGhpcy5jb25maWdQcm9wcyQuaGlkZUxhYmVsO1xuICAgIHRoaXMuaGVscGVyVGV4dCA9IHRoaXMuY29uZmlnUHJvcHMkLmhlbHBlclRleHQ7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gdGhpcy5jb25maWdQcm9wcyQ/LnBhcmFtZXRlcnM7XG4gIH1cblxuICBnZW5lcmF0ZUNvbHVtbnNBbmREYXRhU291cmNlKCkge1xuICAgIGxldCBkYXRhc291cmNlID0gdGhpcy5jb25maWdQcm9wcyQuZGF0YXNvdXJjZTtcbiAgICBsZXQgY29sdW1ucyA9IHRoaXMuY29uZmlnUHJvcHMkLmNvbHVtbnM7XG4gICAgLy8gY29uc3QgeyBkZWZlckRhdGFzb3VyY2UsIGRhdGFzb3VyY2VNZXRhZGF0YSB9ID0gdGhpcy5jb25maWdQcm9wcyQ7XG4gICAgY29uc3QgeyBkZWZlckRhdGFzb3VyY2UsIGRhdGFzb3VyY2VNZXRhZGF0YSB9ID0gdGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKTtcbiAgICAvLyBjb252ZXJ0IGFzc29jaWF0ZWQgdG8gZGF0YXBhZ2UgbGlzdHR5cGUgYW5kIHRyYW5zZm9ybSBwcm9wc1xuICAgIC8vIFByb2Nlc3MgZGVmZXJEYXRhc291cmNlIHdoZW4gZGF0YXBhZ2UgbmFtZSBpcyBwcmVzZW50LiBXSGhlbiB0YWJsZVR5cGUgaXMgcHJvbXB0TGlzdCAvIGxvY2FsTGlzdFxuICAgIGlmIChkZWZlckRhdGFzb3VyY2UgJiYgZGF0YXNvdXJjZU1ldGFkYXRhPy5kYXRhc291cmNlPy5uYW1lKSB7XG4gICAgICB0aGlzLmxpc3RUeXBlID0gJ2RhdGFwYWdlJztcbiAgICAgIGRhdGFzb3VyY2UgPSBkYXRhc291cmNlTWV0YWRhdGEuZGF0YXNvdXJjZS5uYW1lO1xuICAgICAgY29uc3QgeyBwYXJhbWV0ZXJzLCBwcm9wZXJ0eUZvckRpc3BsYXlUZXh0LCBwcm9wZXJ0eUZvclZhbHVlIH0gPSBkYXRhc291cmNlTWV0YWRhdGEuZGF0YXNvdXJjZTtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IHRoaXMuZmxhdHRlblBhcmFtZXRlcnMocGFyYW1ldGVycyk7XG4gICAgICBjb25zdCBkaXNwbGF5UHJvcCA9IHByb3BlcnR5Rm9yRGlzcGxheVRleHQ/LnN0YXJ0c1dpdGgoJ0BQJykgPyBwcm9wZXJ0eUZvckRpc3BsYXlUZXh0LnN1YnN0cmluZygzKSA6IHByb3BlcnR5Rm9yRGlzcGxheVRleHQ7XG4gICAgICBjb25zdCB2YWx1ZVByb3AgPSBwcm9wZXJ0eUZvclZhbHVlPy5zdGFydHNXaXRoKCdAUCcpID8gcHJvcGVydHlGb3JWYWx1ZS5zdWJzdHJpbmcoMykgOiBwcm9wZXJ0eUZvclZhbHVlO1xuICAgICAgY29sdW1ucyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogJ3RydWUnLFxuICAgICAgICAgIHNldFByb3BlcnR5OiAnQXNzb2NpYXRlZCBwcm9wZXJ0eScsXG4gICAgICAgICAgdmFsdWU6IHZhbHVlUHJvcFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZGlzcGxheTogJ3RydWUnLFxuICAgICAgICAgIHByaW1hcnk6ICd0cnVlJyxcbiAgICAgICAgICB1c2VGb3JTZWFyY2g6IHRydWUsXG4gICAgICAgICAgdmFsdWU6IGRpc3BsYXlQcm9wXG4gICAgICAgIH1cbiAgICAgIF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgY29sdW1ucywgZGF0YXNvdXJjZSB9O1xuICB9XG5cbiAgZmlsbE9wdGlvbnMocmVzdWx0czogYW55KSB7XG4gICAgY29uc3Qgb3B0aW9uc0RhdGE6IGFueVtdID0gW107XG4gICAgY29uc3QgZGlzcGxheUNvbHVtbiA9IHRoaXMuZ2V0RGlzcGxheUZpZWxkc01ldGFEYXRhKHRoaXMuY29sdW1ucyk7XG4gICAgcmVzdWx0cz8uZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAga2V5OiBlbGVtZW50W2Rpc3BsYXlDb2x1bW4ua2V5XSB8fCBlbGVtZW50LnB5R1VJRCxcbiAgICAgICAgdmFsdWU6IGVsZW1lbnRbZGlzcGxheUNvbHVtbi5wcmltYXJ5XT8udG9TdHJpbmcoKVxuICAgICAgfTtcbiAgICAgIG9wdGlvbnNEYXRhLnB1c2gob2JqKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldE9wdGlvbnMob3B0aW9uc0RhdGEpO1xuICB9XG5cbiAgZmxhdHRlblBhcmFtZXRlcnMocGFyYW1zID0ge30pIHtcbiAgICBjb25zdCBmbGF0UGFyYW1zID0ge307XG4gICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCB7IG5hbWUsIHZhbHVlOiB0aGVWYWwgfSA9IHBhcmFtc1trZXldO1xuICAgICAgZmxhdFBhcmFtc1tuYW1lXSA9IHRoZVZhbDtcbiAgICB9KTtcblxuICAgIHJldHVybiBmbGF0UGFyYW1zO1xuICB9XG5cbiAgZ2V0RGlzcGxheUZpZWxkc01ldGFEYXRhKGNvbHVtbkxpc3QpIHtcbiAgICBjb25zdCBkaXNwbGF5Q29sdW1ucyA9IGNvbHVtbkxpc3QuZmlsdGVyKGNvbCA9PiBjb2wuZGlzcGxheSA9PT0gJ3RydWUnKTtcbiAgICBjb25zdCBtZXRhRGF0YU9iajogYW55ID0geyBrZXk6ICcnLCBwcmltYXJ5OiAnJywgc2Vjb25kYXJ5OiBbXSB9O1xuICAgIGNvbnN0IGtleUNvbCA9IGNvbHVtbkxpc3QuZmlsdGVyKGNvbCA9PiBjb2wua2V5ID09PSAndHJ1ZScpO1xuICAgIG1ldGFEYXRhT2JqLmtleSA9IGtleUNvbC5sZW5ndGggPiAwID8ga2V5Q29sWzBdLnZhbHVlIDogJ2F1dG8nO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Q29sdW1ucy5sZW5ndGg7IGluZGV4ICs9IDEpIHtcbiAgICAgIGlmIChkaXNwbGF5Q29sdW1uc1tpbmRleF0ucHJpbWFyeSA9PT0gJ3RydWUnKSB7XG4gICAgICAgIG1ldGFEYXRhT2JqLnByaW1hcnkgPSBkaXNwbGF5Q29sdW1uc1tpbmRleF0udmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXRhRGF0YU9iai5zZWNvbmRhcnkucHVzaChkaXNwbGF5Q29sdW1uc1tpbmRleF0udmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWV0YURhdGFPYmo7XG4gIH1cblxuICBwcmVQcm9jZXNzQ29sdW1ucyhjb2x1bW5MaXN0KSB7XG4gICAgcmV0dXJuIGNvbHVtbkxpc3Q/Lm1hcChjb2wgPT4ge1xuICAgICAgY29uc3QgdGVtcENvbE9iaiA9IHsgLi4uY29sIH07XG4gICAgICB0ZW1wQ29sT2JqLnZhbHVlID0gY29sLnZhbHVlICYmIGNvbC52YWx1ZS5zdGFydHNXaXRoKCcuJykgPyBjb2wudmFsdWUuc3Vic3RyaW5nKDEpIDogY29sLnZhbHVlO1xuICAgICAgcmV0dXJuIHRlbXBDb2xPYmo7XG4gICAgfSk7XG4gIH1cblxuICBmaWVsZE9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIC8vIHRoaXMgd29ya3MgLSB0aGlzLnBDb25uJC5zZXRWYWx1ZSggdGhpcy5jb21wb25lbnRSZWZlcmVuY2UsIGBwcm9wZXJ0eTogJHt0aGlzLmNvbXBvbmVudFJlZmVyZW5jZX1gKTtcbiAgICAvLyB0aGlzIHdvcmtzIC0gdGhpcy5wQ29ubiQuc2V0VmFsdWUoIHRoaXMuY29tcG9uZW50UmVmZXJlbmNlLCB0aGlzLmZpZWxkQ29udHJvbC52YWx1ZSk7XG4gICAgLy8gUENvbm5lY3Qgd2FudHMgdG8gdXNlIGNoYW5nZUhhbmRsZXIgZm9yIG9uQ2hhbmdlXG4gICAgLy8gdGhpcy5hbmd1bGFyUENvbm5lY3QuY2hhbmdlSGFuZGxlciggdGhpcywgZXZlbnQpO1xuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICB0aGlzLmZpbHRlclZhbHVlID0gdmFsdWU7XG4gICAgaGFuZGxlRXZlbnQodGhpcy5hY3Rpb25zQXBpLCAnY2hhbmdlJywgdGhpcy5wcm9wTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgb3B0aW9uQ2hhbmdlZChldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudD8ub3B0aW9uPy52YWx1ZTtcbiAgICBoYW5kbGVFdmVudCh0aGlzLmFjdGlvbnNBcGksICdjaGFuZ2UnLCB0aGlzLnByb3BOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBmaWVsZE9uQmx1cihldmVudDogRXZlbnQpIHtcbiAgICBsZXQga2V5ID0gJyc7XG4gICAgY29uc3QgZWwgPSBldmVudD8udGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgaWYgKGVsPy52YWx1ZSkge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm9wdGlvbnMkPy5maW5kSW5kZXgoZWxlbWVudCA9PiBlbGVtZW50LnZhbHVlID09PSBlbC52YWx1ZSk7XG4gICAgICBrZXkgPSBpbmRleCA+IC0xID8gKGtleSA9IHRoaXMub3B0aW9ucyRbaW5kZXhdLmtleSkgOiBlbC52YWx1ZTtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBrZXk7XG4gICAgaGFuZGxlRXZlbnQodGhpcy5hY3Rpb25zQXBpLCAnY2hhbmdlTmJsdXInLCB0aGlzLnByb3BOYW1lLCB2YWx1ZSk7XG4gICAgaWYgKHRoaXMuY29uZmlnUHJvcHMkPy5vblJlY29yZENoYW5nZSkge1xuICAgICAgZWwudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY29uZmlnUHJvcHMkLm9uUmVjb3JkQ2hhbmdlKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoKSB7XG4gICAgbGV0IGVyck1lc3NhZ2UgPSAnJztcblxuICAgIC8vIGxvb2sgZm9yIHZhbGlkYXRpb24gbWVzc2FnZXMgZm9yIGpzb24sIHByZS1kZWZpbmVkIG9yIGp1c3QgYW4gZXJyb3IgcHVzaGVkIGZyb20gd29ya2l0ZW0gKDQwMClcbiAgICBpZiAodGhpcy5maWVsZENvbnRyb2wuaGFzRXJyb3IoJ21lc3NhZ2UnKSkge1xuICAgICAgZXJyTWVzc2FnZSA9IHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS52YWxpZGF0ZU1lc3NhZ2UgPz8gJyc7XG4gICAgICByZXR1cm4gZXJyTWVzc2FnZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmllbGRDb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICBlcnJNZXNzYWdlID0gJ1lvdSBtdXN0IGVudGVyIGEgdmFsdWUnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZENvbnRyb2wuZXJyb3JzKSB7XG4gICAgICBlcnJNZXNzYWdlID0gdGhpcy5maWVsZENvbnRyb2wuZXJyb3JzLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVyck1lc3NhZ2U7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJkaXNwbGF5TW9kZSQ7IGVsc2Ugbm9EaXNwbGF5TW9kZVwiPlxuICA8Y29tcG9uZW50LW1hcHBlciAqbmdJZj1cImJWaXNpYmxlJCAhPT0gZmFsc2VcIiBuYW1lPVwiRmllbGRWYWx1ZUxpc3RcIiBbcHJvcHNdPVwieyBsYWJlbCQsIHZhbHVlJCwgZGlzcGxheU1vZGUkLCBoaWRlTGFiZWwgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0Rpc3BsYXlNb2RlPlxuICA8ZGl2ICpuZ0lmPVwiIWJSZWFkb25seSQgJiYgYkhhc0Zvcm0kOyBlbHNlIG5vRWRpdFwiPlxuICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXAkXCIgKm5nSWY9XCJiVmlzaWJsZSRcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInBzZGstZnVsbC13aWR0aFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBbaGludExhYmVsXT1cImhlbHBlclRleHRcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBsYWJlbCQgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmaWVsZENvbnRyb2xcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJiUmVxdWlyZWQkXCJcbiAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgIChpbnB1dCk9XCJmaWVsZE9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChibHVyKT1cImZpZWxkT25CbHVyKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAob3B0aW9uU2VsZWN0ZWQpPVwib3B0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdCBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHQudmFsdWVcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IG9wdC52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZpZWxkQ29udHJvbC5pbnZhbGlkXCI+e3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX08L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbm9FZGl0PlxuICA8Y29tcG9uZW50LW1hcHBlciAqbmdJZj1cImJWaXNpYmxlJCAhPT0gZmFsc2VcIiBuYW1lPVwiVGV4dFwiIFtwcm9wc109XCJ7IHBDb25uJCwgZm9ybWF0QXMkOiAndGV4dCcgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -80,10 +80,10 @@ export class CancelAlertComponent {
80
80
  break;
81
81
  }
82
82
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CancelAlertComponent, deps: [{ token: i1.ProgressSpinnerService }], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: CancelAlertComponent, isStandalone: true, selector: "app-cancel-alert", inputs: { pConn$: "pConn$", bShowAlert$: "bShowAlert$" }, outputs: { onAlertState$: "onAlertState$" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"bShowAlert$\" class=\"psdk-cancel-alert-background\">\n <div class=\"psdk-cancel-alert-top\">\n <h3 *ngIf=\"heading$ != ''\">{{ heading$ }}</h3>\n <div>\n <p>{{ body1$ }}</p>\n <p>{{ body2$ }}</p>\n </div>\n <mat-grid-list cols=\"2\" rowHeight=\"6.25rem\">\n <mat-grid-tile>\n <button mat-raised-button color=\"secondary\" (click)=\"buttonClick('save')\">{{ localizedVal('Save for later', localeCategory) }}</button>\n </mat-grid-tile>\n <mat-grid-tile>\n <button mat-raised-button color=\"secondary\" (click)=\"buttonClick('continue')\">{{ localizedVal('Continue Working', localeCategory) }}</button>\n <button mat-raised-button color=\"primary\" (click)=\"buttonClick('delete')\">{{ localizedVal('Delete', localeCategory) }}</button>\n </mat-grid-tile>\n </mat-grid-list>\n </div>\n</div>\n", styles: [".psdk-cancel-alert-background{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-dialog-background-color);position:fixed;z-index:9999;top:0;left:0}.psdk-cancel-alert-top{display:table;margin:auto;min-width:550px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatGridListModule }, { kind: "component", type: i3.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CancelAlertComponent, deps: [{ token: i1.ProgressSpinnerService }], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CancelAlertComponent, isStandalone: true, selector: "app-cancel-alert", inputs: { pConn$: "pConn$", bShowAlert$: "bShowAlert$" }, outputs: { onAlertState$: "onAlertState$" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"bShowAlert$\" class=\"psdk-cancel-alert-background\">\n <div class=\"psdk-cancel-alert-top\">\n <h3 *ngIf=\"heading$ != ''\">{{ heading$ }}</h3>\n <div>\n <p>{{ body1$ }}</p>\n <p>{{ body2$ }}</p>\n </div>\n <mat-grid-list cols=\"2\" rowHeight=\"6.25rem\">\n <mat-grid-tile>\n <button mat-raised-button color=\"secondary\" (click)=\"buttonClick('save')\">{{ localizedVal('Save for later', localeCategory) }}</button>\n </mat-grid-tile>\n <mat-grid-tile>\n <button mat-raised-button color=\"secondary\" (click)=\"buttonClick('continue')\">{{ localizedVal('Continue Working', localeCategory) }}</button>\n <button mat-raised-button color=\"primary\" (click)=\"buttonClick('delete')\">{{ localizedVal('Delete', localeCategory) }}</button>\n </mat-grid-tile>\n </mat-grid-list>\n </div>\n</div>\n", styles: [".psdk-cancel-alert-background{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-dialog-background-color);position:fixed;z-index:9999;top:0;left:0}.psdk-cancel-alert-top{display:table;margin:auto;min-width:550px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatGridListModule }, { kind: "component", type: i3.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CancelAlertComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CancelAlertComponent, decorators: [{
87
87
  type: Component,
88
88
  args: [{ selector: 'app-cancel-alert', standalone: true, imports: [CommonModule, MatGridListModule, MatButtonModule], template: "<div *ngIf=\"bShowAlert$\" class=\"psdk-cancel-alert-background\">\n <div class=\"psdk-cancel-alert-top\">\n <h3 *ngIf=\"heading$ != ''\">{{ heading$ }}</h3>\n <div>\n <p>{{ body1$ }}</p>\n <p>{{ body2$ }}</p>\n </div>\n <mat-grid-list cols=\"2\" rowHeight=\"6.25rem\">\n <mat-grid-tile>\n <button mat-raised-button color=\"secondary\" (click)=\"buttonClick('save')\">{{ localizedVal('Save for later', localeCategory) }}</button>\n </mat-grid-tile>\n <mat-grid-tile>\n <button mat-raised-button color=\"secondary\" (click)=\"buttonClick('continue')\">{{ localizedVal('Continue Working', localeCategory) }}</button>\n <button mat-raised-button color=\"primary\" (click)=\"buttonClick('delete')\">{{ localizedVal('Delete', localeCategory) }}</button>\n </mat-grid-tile>\n </mat-grid-list>\n </div>\n</div>\n", styles: [".psdk-cancel-alert-background{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-dialog-background-color);position:fixed;z-index:9999;top:0;left:0}.psdk-cancel-alert-top{display:table;margin:auto;min-width:550px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color)}\n"] }]
89
89
  }], ctorParameters: () => [{ type: i1.ProgressSpinnerService }], propDecorators: { pConn$: [{