@seniorsistemas/angular-components 19.3.1 → 19.3.3

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 (260) hide show
  1. package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +1 -2
  2. package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +0 -1
  3. package/chips/lib/chips/chips/chips.component.d.ts +1 -2
  4. package/code-editor/lib/code-editor/code-editor.component.d.ts +0 -2
  5. package/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.d.ts +1 -3
  6. package/common/lib/svg-factory/svg-factory.directive.d.ts +1 -2
  7. package/content-generator/lib/content-generator/content-generator.component.d.ts +1 -6
  8. package/content-generator/lib/services/IAssist/iassist.service.d.ts +0 -3
  9. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +0 -3
  10. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.d.ts +0 -2
  11. package/currency/lib/currency.service.d.ts +0 -2
  12. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +3 -7
  13. package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +0 -2
  14. package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +2 -4
  15. package/dynamic-form/dynamic-form/components/lookup/types/lookup-models.d.ts +4 -0
  16. package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +2 -1
  17. package/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.d.ts +1 -2
  18. package/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +1 -3
  19. package/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.d.ts +1 -2
  20. package/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.d.ts +1 -3
  21. package/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +1 -2
  22. package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -3
  23. package/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.d.ts +1 -2
  24. package/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.d.ts +1 -3
  25. package/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.d.ts +1 -2
  26. package/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.d.ts +1 -2
  27. package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +1 -2
  28. package/dynamic-form/public-api.d.ts +1 -0
  29. package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +0 -2
  30. package/esm2022/badge/lib/badge/badge.component.mjs +3 -3
  31. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +10 -13
  32. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +7 -11
  33. package/esm2022/chips/lib/chips/chips/chips.component.mjs +5 -8
  34. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +6 -9
  35. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.mjs +8 -13
  36. package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +6 -10
  37. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +24 -30
  38. package/esm2022/content-generator/lib/services/IAssist/iassist.service.mjs +9 -12
  39. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +15 -23
  40. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +6 -9
  41. package/esm2022/currency/lib/currency.service.mjs +6 -9
  42. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +17 -25
  43. package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +6 -9
  44. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +26 -35
  45. package/esm2022/dynamic-form/dynamic-form/components/lookup/types/lookup-models.mjs +2 -0
  46. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +1 -1
  47. package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +6 -10
  48. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +12 -17
  49. package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +5 -8
  50. package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +12 -17
  51. package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +5 -8
  52. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +13 -19
  53. package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.mjs +6 -10
  54. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +14 -19
  55. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +5 -8
  56. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +5 -8
  57. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +5 -8
  58. package/esm2022/dynamic-form/public-api.mjs +1 -1
  59. package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +8 -11
  60. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +17 -21
  61. package/esm2022/gantt/lib/gantt/components/gantt/gantt.mjs +6 -2
  62. package/esm2022/gantt/lib/gantt/gantt.component.mjs +8 -4
  63. package/esm2022/global-search/lib/global-search/global-search.component.mjs +5 -8
  64. package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +7 -12
  65. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +5 -8
  66. package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +6 -10
  67. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +9 -12
  68. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +14 -17
  69. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +12 -15
  70. package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +15 -19
  71. package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +5 -8
  72. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +10 -13
  73. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +10 -13
  74. package/esm2022/kanban/lib/kanban/kanban.component.mjs +23 -17
  75. package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +10 -16
  76. package/esm2022/locale/lib/locale/locale.service.mjs +8 -12
  77. package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +6 -9
  78. package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +6 -9
  79. package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +6 -9
  80. package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +6 -9
  81. package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +6 -9
  82. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +6 -9
  83. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +5 -8
  84. package/esm2022/numeric/lib/numeric.pipe.mjs +8 -12
  85. package/esm2022/numeric/lib/numeric.service.mjs +6 -9
  86. package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +8 -11
  87. package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +10 -16
  88. package/esm2022/picklist/lib/picklist/picklist.component.mjs +5 -8
  89. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +15 -19
  90. package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +8 -11
  91. package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +5 -4
  92. package/esm2022/select-button/lib/select-button/select-button.component.mjs +3 -3
  93. package/esm2022/shared/lib/accessibility/paginator-accessibility.directive.mjs +8 -13
  94. package/esm2022/shared/lib/accessibility/table-checkbox-accessibility.directive.mjs +5 -8
  95. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +9 -12
  96. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +12 -16
  97. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.service.mjs +12 -16
  98. package/esm2022/speech-recognition/lib/speech-recognition/text-to-speech.service.mjs +8 -10
  99. package/esm2022/split-button/lib/split-button/split-button.component.mjs +5 -8
  100. package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +7 -7
  101. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +19 -28
  102. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +9 -16
  103. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +11 -13
  104. package/esm2022/text-area/lib/text-area/text-area.component.mjs +5 -8
  105. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +8 -11
  106. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +16 -24
  107. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +8 -11
  108. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +12 -16
  109. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +13 -25
  110. package/esm2022/toast/lib/toast/toast.service.mjs +7 -12
  111. package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +10 -14
  112. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +6 -10
  113. package/fesm2022/seniorsistemas-angular-components-badge.mjs +2 -2
  114. package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
  115. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +10 -12
  116. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  117. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +6 -10
  118. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
  119. package/fesm2022/seniorsistemas-angular-components-chips.mjs +4 -7
  120. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  121. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +10 -18
  122. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  123. package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -9
  124. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  125. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +29 -40
  126. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  127. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +16 -28
  128. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  129. package/fesm2022/seniorsistemas-angular-components-currency.mjs +5 -8
  130. package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
  131. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +45 -59
  132. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  133. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +111 -163
  134. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  135. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +4 -8
  136. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  137. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +17 -22
  138. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  139. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +12 -4
  140. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  141. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +4 -7
  142. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  143. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +6 -11
  144. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  145. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +4 -7
  146. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
  147. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +5 -9
  148. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
  149. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +29 -38
  150. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  151. package/fesm2022/seniorsistemas-angular-components-insights.mjs +17 -22
  152. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
  153. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +4 -7
  154. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
  155. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +30 -30
  156. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  157. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +7 -15
  158. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
  159. package/fesm2022/seniorsistemas-angular-components-locale.mjs +22 -41
  160. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
  161. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +5 -8
  162. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
  163. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +4 -7
  164. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  165. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +9 -16
  166. package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
  167. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +13 -24
  168. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
  169. package/fesm2022/seniorsistemas-angular-components-picklist.mjs +4 -7
  170. package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
  171. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +14 -21
  172. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  173. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +11 -14
  174. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
  175. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +2 -2
  176. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
  177. package/fesm2022/seniorsistemas-angular-components-shared.mjs +10 -18
  178. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  179. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +7 -10
  180. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
  181. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +23 -34
  182. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
  183. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +4 -7
  184. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
  185. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +10 -12
  186. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  187. package/fesm2022/seniorsistemas-angular-components-table.mjs +29 -46
  188. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  189. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +4 -7
  190. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  191. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +6 -9
  192. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
  193. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +30 -55
  194. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  195. package/fesm2022/seniorsistemas-angular-components-toast.mjs +6 -11
  196. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  197. package/fesm2022/seniorsistemas-angular-components-tree.mjs +9 -14
  198. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
  199. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +5 -9
  200. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
  201. package/file-picker/lib/file-picker/file-picker.component.d.ts +0 -4
  202. package/file-upload/README.md +9 -37
  203. package/gantt/lib/gantt/gantt.component.d.ts +1 -0
  204. package/global-search/lib/global-search/global-search.component.d.ts +1 -2
  205. package/ia-insight/README.md +17 -0
  206. package/image-cropper/lib/image-cropper/image-cropper.service.d.ts +1 -2
  207. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +1 -2
  208. package/info-sign/lib/info-sign/info-sign.directive.d.ts +1 -2
  209. package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +1 -2
  210. package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +0 -2
  211. package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +0 -2
  212. package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +0 -4
  213. package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +1 -2
  214. package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +0 -2
  215. package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +0 -2
  216. package/kanban/lib/kanban/kanban.component.d.ts +2 -2
  217. package/loading-state/lib/loading-state/loading-state.directive.d.ts +1 -2
  218. package/locale/lib/locale/locale.service.d.ts +0 -3
  219. package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +0 -2
  220. package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +0 -2
  221. package/locale/lib/locale/pipes/localized-date.pipe.d.ts +0 -2
  222. package/locale/lib/locale/pipes/localized-number.pipe.d.ts +0 -2
  223. package/locale/lib/locale/pipes/localized-time.pipe.d.ts +0 -2
  224. package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +0 -2
  225. package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +1 -2
  226. package/numeric/lib/numeric.pipe.d.ts +0 -3
  227. package/numeric/lib/numeric.service.d.ts +0 -2
  228. package/package.json +1 -1
  229. package/password-strength/lib/password-strength/password-strength.component.d.ts +0 -2
  230. package/password-strength/lib/password-strength/password-strength.directive.d.ts +1 -2
  231. package/picklist/lib/picklist/picklist.component.d.ts +1 -2
  232. package/product-header/README.md +17 -0
  233. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +0 -4
  234. package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +0 -2
  235. package/progressbar/lib/progressbar/progressbar.module.d.ts +2 -1
  236. package/shared/lib/accessibility/paginator-accessibility.directive.d.ts +1 -3
  237. package/shared/lib/accessibility/table-checkbox-accessibility.directive.d.ts +1 -2
  238. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +0 -2
  239. package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +0 -4
  240. package/speech-recognition/lib/speech-recognition/speech-recognition.service.d.ts +1 -5
  241. package/speech-recognition/lib/speech-recognition/text-to-speech.service.d.ts +1 -3
  242. package/split-button/lib/split-button/split-button.component.d.ts +1 -2
  243. package/table/lib/table/row-toggler/row-toggler.directive.d.ts +1 -1
  244. package/table/lib/table/table-column/table-columns.component.d.ts +2 -6
  245. package/table/lib/table/table-paging/table-paging.component.d.ts +0 -3
  246. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -1
  247. package/text-area/lib/text-area/text-area.component.d.ts +1 -2
  248. package/text-area-ia/README.md +17 -0
  249. package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +0 -2
  250. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -3
  251. package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +0 -2
  252. package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +0 -2
  253. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +1 -5
  254. package/toast/lib/toast/toast.service.d.ts +0 -2
  255. package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +1 -3
  256. package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +1 -2
  257. package/confirm-dialog/README.md +0 -226
  258. package/numeric-mask/README.md +0 -395
  259. package/pin-code-field/README.md +0 -366
  260. package/spotlight/README.md +0 -311
@@ -1,23 +1,20 @@
1
- import { Component, Input } from "@angular/core";
1
+ import { Component, Input, inject } from "@angular/core";
2
2
  import { FormGroup } from "@angular/forms";
3
3
  import { first } from "rxjs/operators";
4
+ import { LocaleService } from "@seniorsistemas/angular-components/locale";
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@seniorsistemas/angular-components/locale";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/forms";
8
- import * as i4 from "@seniorsistemas/angular-components/bignumber-input";
9
- import * as i5 from "@seniorsistemas/angular-components/button";
10
- import * as i6 from "@seniorsistemas/angular-components/tooltip";
11
- import * as i7 from "primeng/inputmask";
12
- import * as i8 from "primeng/inputtext";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "@seniorsistemas/angular-components/bignumber-input";
9
+ import * as i4 from "@seniorsistemas/angular-components/button";
10
+ import * as i5 from "@seniorsistemas/angular-components/tooltip";
11
+ import * as i6 from "primeng/inputmask";
12
+ import * as i7 from "primeng/inputtext";
13
13
  export class InlineEditNumberComponent {
14
- localeService;
14
+ localeService = inject(LocaleService);
15
15
  field;
16
16
  formGroup = new FormGroup({});
17
17
  tempValue = '';
18
- constructor(localeService) {
19
- this.localeService = localeService;
20
- }
21
18
  ngOnInit() {
22
19
  this._onLocaleService();
23
20
  if (this.formGroup && this.field) {
@@ -70,16 +67,16 @@ export class InlineEditNumberComponent {
70
67
  }),
71
68
  });
72
69
  }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditNumberComponent, deps: [{ token: i1.LocaleService }], target: i0.ɵɵFactoryTarget.Component });
74
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InlineEditNumberComponent, selector: "ng-component", inputs: { field: "field", formGroup: "formGroup" }, ngImport: i0, template: "<p-inputMask\n *ngIf=\"field.mask; else noMask\"\n type=\"text\"\n [inputId]=\"field.name\"\n [name]=\"field.name\"\n [mask]=\"mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onComplete)=\"field.onComplete ? field.onComplete($event) : null\"\n (onInput)=\"field.onInput ? field.onInput($event) : null\"\n [autoClear]=\"field.autoClear\"\n [(ngModel)]=\"tempValue\">\n</p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"leftAddonDisabled\"\n (clicked)=\"field.leftAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.leftAddon.callback\" class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.leftAddon.label\">{{ field.leftAddon.label }}</span>\n <span *ngIf=\"!field.leftAddon.label\" [ngClass]=\"field.leftAddon.icon\"></span>\n </span>\n </ng-container>\n\n <input\n [id]=\"field.name\"\n type=\"text\"\n [name]=\"field.name\"\n sBignumberInput\n [allowNegative]=\"field.allowNegative ?? false\"\n [precision]=\"precision\"\n [scale]=\"scale\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\n [(ngModel)]=\"tempValue\"/>\n <ng-container *ngIf=\"field.rightAddon\">\n <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"rightAddonDisabled\"\n (clicked)=\"field.rightAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.rightAddon.callback\" class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.rightAddon.label\">{{ field.rightAddon.label }}</span>\n <span *ngIf=\"!field.rightAddon.label\" [ngClass]=\"field.rightAddon.icon\"></span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.BignumberInputDirective, selector: "input[sBignumberInput]", inputs: ["precision", "scale", "minDecimalPlaces", "maxDecimalPlaces", "decimalSeparator", "thousandsSeparator", "thousandSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["minDecimalPlacesChange", "maxDecimalPlacesChange", "decimalSeparatorChange", "thousandSeparatorChange", "placeholderChange", "pasteRejected"] }, { kind: "component", type: i5.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }, { kind: "directive", type: i6.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: i7.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "directive", type: i8.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InlineEditNumberComponent, selector: "ng-component", inputs: { field: "field", formGroup: "formGroup" }, ngImport: i0, template: "<p-inputMask\n *ngIf=\"field.mask; else noMask\"\n type=\"text\"\n [inputId]=\"field.name\"\n [name]=\"field.name\"\n [mask]=\"mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onComplete)=\"field.onComplete ? field.onComplete($event) : null\"\n (onInput)=\"field.onInput ? field.onInput($event) : null\"\n [autoClear]=\"field.autoClear\"\n [(ngModel)]=\"tempValue\">\n</p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"leftAddonDisabled\"\n (clicked)=\"field.leftAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.leftAddon.callback\" class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.leftAddon.label\">{{ field.leftAddon.label }}</span>\n <span *ngIf=\"!field.leftAddon.label\" [ngClass]=\"field.leftAddon.icon\"></span>\n </span>\n </ng-container>\n\n <input\n [id]=\"field.name\"\n type=\"text\"\n [name]=\"field.name\"\n sBignumberInput\n [allowNegative]=\"field.allowNegative ?? false\"\n [precision]=\"precision\"\n [scale]=\"scale\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\n [(ngModel)]=\"tempValue\"/>\n <ng-container *ngIf=\"field.rightAddon\">\n <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"rightAddonDisabled\"\n (clicked)=\"field.rightAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.rightAddon.callback\" class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.rightAddon.label\">{{ field.rightAddon.label }}</span>\n <span *ngIf=\"!field.rightAddon.label\" [ngClass]=\"field.rightAddon.icon\"></span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.BignumberInputDirective, selector: "input[sBignumberInput]", inputs: ["precision", "scale", "minDecimalPlaces", "maxDecimalPlaces", "decimalSeparator", "thousandsSeparator", "thousandSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["minDecimalPlacesChange", "maxDecimalPlacesChange", "decimalSeparatorChange", "thousandSeparatorChange", "placeholderChange", "pasteRejected"] }, { kind: "component", type: i4.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }, { kind: "directive", type: i5.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: i6.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "directive", type: i7.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
75
72
  }
76
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditNumberComponent, decorators: [{
77
74
  type: Component,
78
75
  args: [{ template: "<p-inputMask\n *ngIf=\"field.mask; else noMask\"\n type=\"text\"\n [inputId]=\"field.name\"\n [name]=\"field.name\"\n [mask]=\"mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onComplete)=\"field.onComplete ? field.onComplete($event) : null\"\n (onInput)=\"field.onInput ? field.onInput($event) : null\"\n [autoClear]=\"field.autoClear\"\n [(ngModel)]=\"tempValue\">\n</p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"field.leftAddon.label\"\n [iconClass]=\"field.leftAddon.icon\"\n [priority]=\"field.leftAddon.priority\"\n [disabled]=\"leftAddonDisabled\"\n (clicked)=\"field.leftAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.leftAddon.callback\" class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.leftAddon.label\">{{ field.leftAddon.label }}</span>\n <span *ngIf=\"!field.leftAddon.label\" [ngClass]=\"field.leftAddon.icon\"></span>\n </span>\n </ng-container>\n\n <input\n [id]=\"field.name\"\n type=\"text\"\n [name]=\"field.name\"\n sBignumberInput\n [allowNegative]=\"field.allowNegative ?? false\"\n [precision]=\"precision\"\n [scale]=\"scale\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\n [(ngModel)]=\"tempValue\"/>\n <ng-container *ngIf=\"field.rightAddon\">\n <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"field.rightAddon.label\"\n [iconClass]=\"field.rightAddon.icon\"\n [priority]=\"field.rightAddon.priority\"\n [disabled]=\"rightAddonDisabled\"\n (clicked)=\"field.rightAddon.callback()\">\n </s-button>\n </span>\n <span *ngIf=\"!field.rightAddon.callback\" class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.rightAddon.label\">{{ field.rightAddon.label }}</span>\n <span *ngIf=\"!field.rightAddon.label\" [ngClass]=\"field.rightAddon.icon\"></span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>\n" }]
79
- }], ctorParameters: () => [{ type: i1.LocaleService }], propDecorators: { field: [{
76
+ }], propDecorators: { field: [{
80
77
  type: Input,
81
78
  args: [{ required: true }]
82
79
  }], formGroup: [{
83
80
  type: Input
84
81
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9pbmxpbmUtZWRpdC9zcmMvbGliL2lubGluZS1lZGl0L2NvbXBvbmVudHMvZmllbGRzL2lubGluZS1lZGl0LW51bWJlci9pbmxpbmUtZWRpdC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2lubGluZS1lZGl0L3NyYy9saWIvaW5saW5lLWVkaXQvY29tcG9uZW50cy9maWVsZHMvaW5saW5lLWVkaXQtbnVtYmVyL2lubGluZS1lZGl0LW51bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBU3ZDLE1BQU0sT0FBTyx5QkFBeUI7SUFTTDtJQVB0QixLQUFLLENBQXlCO0lBRzlCLFNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV6QyxTQUFTLEdBQVcsRUFBRSxDQUFDO0lBRTlCLFlBQTZCLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUksQ0FBQztJQUV2RCxRQUFRO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUN0RSxDQUFDO0lBQ0wsQ0FBQztJQUVNLFNBQVM7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRSxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNYLE9BQU8sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBYyxDQUFBO0lBQ2hHLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUN4QixPQUFPLE9BQU8sSUFBSSxDQUFDLEtBQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFFBQW1CLENBQUM7SUFDL0ksQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQ3pCLE9BQU8sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBbUIsQ0FBQztJQUNqSixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBbUIsQ0FBQztJQUNoSCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFlLENBQUM7SUFDcEcsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsYUFBYTthQUNiLFNBQVMsRUFBRTthQUNYLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNiLFNBQVMsQ0FBQztZQUNQLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsR0FBRzt3QkFDN0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQjt3QkFDakMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRTtxQkFDN0QsQ0FBQztnQkFDTixDQUFDO2dCQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLENBQUM7b0JBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEdBQUc7d0JBQzdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUI7d0JBQ2pDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUU7cUJBQ2hFLENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQ1osQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixHQUFHO2dCQUM5QixrQkFBa0IsRUFBRSxHQUFHO2dCQUN2QixnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixjQUFjLEVBQUUsRUFBRTthQUNyQixDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt3R0F4RVEseUJBQXlCOzRGQUF6Qix5QkFBeUIsd0dDWnRDLDg1R0E0RUE7OzRGRGhFYSx5QkFBeUI7a0JBSnJDLFNBQVM7O2tGQU1DLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFNBQVM7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuaW1wb3J0IHsgSW5saW5lRWRpdE51bWJlckZpZWxkIH0gZnJvbSBcIi4uLy4uLy4uL2ZpZWxkcy9pbmxpbmUtZWRpdC1udW1iZXItZmllbGRcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9sb2NhbGVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6IFwiLi9pbmxpbmUtZWRpdC1udW1iZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vaW5saW5lLWVkaXQtbnVtYmVyLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVFZGl0TnVtYmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBmaWVsZCE6IElubGluZUVkaXROdW1iZXJGaWVsZDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgICBwdWJsaWMgdGVtcFZhbHVlOiBzdHJpbmcgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSkgeyB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uTG9jYWxlU2VydmljZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLmZvcm1Hcm91cCAmJiB0aGlzLmZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLnRlbXBWYWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZpZWxkLm5hbWUpPy52YWx1ZSB8fCAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvcm1Hcm91cCAmJiB0aGlzLmZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5uYW1lKT8uc2V0VmFsdWUodGhpcy50ZW1wVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYXNrKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5maWVsZC5tYXNrID09PSAnZnVuY3Rpb24nID8gdGhpcy5maWVsZC5tYXNrKCkgOiB0aGlzLmZpZWxkLm1hc2sgYXMgc3RyaW5nXG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsZWZ0QWRkb25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLmZpZWxkIS5sZWZ0QWRkb24/LmRpc2FibGVkID09PSAnZnVuY3Rpb24nID8gdGhpcy5maWVsZC5sZWZ0QWRkb24uZGlzYWJsZWQoKSA6IHRoaXMuZmllbGQubGVmdEFkZG9uPy5kaXNhYmxlZCBhcyBib29sZWFuO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmlnaHRBZGRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuZmllbGQucmlnaHRBZGRvbj8uZGlzYWJsZWQgPT09ICdmdW5jdGlvbicgPyB0aGlzLmZpZWxkLnJpZ2h0QWRkb24uZGlzYWJsZWQoKSA6IHRoaXMuZmllbGQucmlnaHRBZGRvbj8uZGlzYWJsZWQgYXMgYm9vbGVhbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHByZWNpc2lvbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuZmllbGQucHJlY2lzaW9uID09PSAnZnVuY3Rpb24nID8gdGhpcy5maWVsZC5wcmVjaXNpb24oKSA6IHRoaXMuZmllbGQucHJlY2lzaW9uIGFzIG51bWJlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNjYWxlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5maWVsZC5zY2FsZSA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuZmllbGQuc2NhbGUoKSA6IHRoaXMuZmllbGQuc2NhbGUgYXMgbnVtYmVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uTG9jYWxlU2VydmljZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0TG9jYWxlKClcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IHRoaXMubG9jYWxlU2VydmljZS5nZXREZWNpbWFsU2VwYXJhdG9yKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMubG9jYWxlU2VydmljZS5nZXRHcm91cGluZ1NlcGFyYXRvcigpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+XG4gICAgICAgICAgICAgICAgKHRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiBcIi5cIixcbiAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogXCIsXCIsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiBcIlwiLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPHAtaW5wdXRNYXNrXG4gICAgKm5nSWY9XCJmaWVsZC5tYXNrOyBlbHNlIG5vTWFza1wiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtpbnB1dElkXT1cImZpZWxkLm5hbWVcIlxuICAgIFtuYW1lXT1cImZpZWxkLm5hbWVcIlxuICAgIFttYXNrXT1cIm1hc2tcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgc2xvdENoYXI9XCJfXCJcbiAgICBbc1Rvb2x0aXBdPVwiZmllbGQudG9vbHRpcFwiXG4gICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgc3R5bGVDbGFzcz1cIm1vdXNldHJhcFwiXG4gICAgKG9uQmx1cik9XCJmaWVsZC5vbkJsdXIgPyBmaWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgIChvbkZvY3VzKT1cImZpZWxkLm9uRm9jdXMgPyBmaWVsZC5vbkZvY3VzKCRldmVudCkgOiBudWxsXCJcbiAgICAob25Db21wbGV0ZSk9XCJmaWVsZC5vbkNvbXBsZXRlID8gZmllbGQub25Db21wbGV0ZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgKG9uSW5wdXQpPVwiZmllbGQub25JbnB1dCA/IGZpZWxkLm9uSW5wdXQoJGV2ZW50KSA6IG51bGxcIlxuICAgIFthdXRvQ2xlYXJdPVwiZmllbGQuYXV0b0NsZWFyXCJcbiAgICBbKG5nTW9kZWwpXT1cInRlbXBWYWx1ZVwiPlxuPC9wLWlucHV0TWFzaz5cblxuPG5nLXRlbXBsYXRlICNub01hc2s+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInVpLWlucHV0Z3JvdXBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5sZWZ0QWRkb25cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZpZWxkLmxlZnRBZGRvbi5jYWxsYmFja1wiIGNsYXNzPVwiYWRkb24tYnV0dG9uIGFkZG9uLWJ1dHRvbi0tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5sZWZ0QWRkb24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25DbGFzc109XCJmaWVsZC5sZWZ0QWRkb24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcHJpb3JpdHldPVwiZmllbGQubGVmdEFkZG9uLnByaW9yaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsZWZ0QWRkb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJmaWVsZC5sZWZ0QWRkb24uY2FsbGJhY2soKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFmaWVsZC5sZWZ0QWRkb24uY2FsbGJhY2tcIiBjbGFzcz1cInVpLWlucHV0Z3JvdXAtYWRkb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJmaWVsZC5sZWZ0QWRkb24ubGFiZWxcIj57eyBmaWVsZC5sZWZ0QWRkb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWZpZWxkLmxlZnRBZGRvbi5sYWJlbFwiIFtuZ0NsYXNzXT1cImZpZWxkLmxlZnRBZGRvbi5pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBbaWRdPVwiZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgICAgIHNCaWdudW1iZXJJbnB1dFxuICAgICAgICAgICAgICAgIFthbGxvd05lZ2F0aXZlXT1cImZpZWxkLmFsbG93TmVnYXRpdmUgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtwcmVjaXNpb25dPVwicHJlY2lzaW9uXCJcbiAgICAgICAgICAgICAgICBbc2NhbGVdPVwic2NhbGVcIlxuICAgICAgICAgICAgICAgIFthbGlnblRvXT1cImZpZWxkLmFsaWduVG9cIlxuICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJmaWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImZpZWxkLmJyb3dzZXJBdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIidtb3VzZXRyYXAnXCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJmaWVsZC5vbkJsdXIgPyBmaWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCJmaWVsZC5vbkZvY3VzID8gZmllbGQub25Gb2N1cygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0ZW1wVmFsdWVcIi8+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQucmlnaHRBZGRvblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZmllbGQucmlnaHRBZGRvbi5jYWxsYmFja1wiIGNsYXNzPVwiYWRkb24tYnV0dG9uIGFkZG9uLWJ1dHRvbi0tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQucmlnaHRBZGRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cImZpZWxkLnJpZ2h0QWRkb24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcHJpb3JpdHldPVwiZmllbGQucmlnaHRBZGRvbi5wcmlvcml0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmlnaHRBZGRvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImZpZWxkLnJpZ2h0QWRkb24uY2FsbGJhY2soKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFmaWVsZC5yaWdodEFkZG9uLmNhbGxiYWNrXCIgY2xhc3M9XCJ1aS1pbnB1dGdyb3VwLWFkZG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZmllbGQucmlnaHRBZGRvbi5sYWJlbFwiPnt7IGZpZWxkLnJpZ2h0QWRkb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWZpZWxkLnJpZ2h0QWRkb24ubGFiZWxcIiBbbmdDbGFzc109XCJmaWVsZC5yaWdodEFkZG9uLmljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9pbmxpbmUtZWRpdC9zcmMvbGliL2lubGluZS1lZGl0L2NvbXBvbmVudHMvZmllbGRzL2lubGluZS1lZGl0LW51bWJlci9pbmxpbmUtZWRpdC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2lubGluZS1lZGl0L3NyYy9saWIvaW5saW5lLWVkaXQvY29tcG9uZW50cy9maWVsZHMvaW5saW5lLWVkaXQtbnVtYmVyL2lubGluZS1lZGl0LW51bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7OztBQU0xRSxNQUFNLE9BQU8seUJBQXlCO0lBQ2pCLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFHaEQsS0FBSyxDQUF5QjtJQUc5QixTQUFTLEdBQWMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFekMsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUV2QixRQUFRO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FB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SyxDQUFDLG1CQUFtQixHQUFHO2dCQUM5QixrQkFBa0IsRUFBRSxHQUFHO2dCQUN2QixnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixjQUFjLEVBQUUsRUFBRTthQUNyQixDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt3R0F4RVEseUJBQXlCOzRGQUF6Qix5QkFBeUIsd0dDWnRDLDg1R0E0RUE7OzRGRGhFYSx5QkFBeUI7a0JBSnJDLFNBQVM7OzhCQVFDLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFNBQVM7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBJbmxpbmVFZGl0TnVtYmVyRmllbGQgfSBmcm9tIFwiLi4vLi4vLi4vZmllbGRzL2lubGluZS1lZGl0LW51bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvY2FsZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2lubGluZS1lZGl0LW51bWJlci5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9pbmxpbmUtZWRpdC1udW1iZXIuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIElubGluZUVkaXROdW1iZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZSA9IGluamVjdChMb2NhbGVTZXJ2aWNlKTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGZpZWxkITogSW5saW5lRWRpdE51bWJlckZpZWxkO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcblxuICAgIHB1YmxpYyB0ZW1wVmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkxvY2FsZVNlcnZpY2UoKTtcblxuICAgICAgICBpZiAodGhpcy5mb3JtR3JvdXAgJiYgdGhpcy5maWVsZCkge1xuICAgICAgICAgICAgdGhpcy50ZW1wVmFsdWUgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5uYW1lKT8udmFsdWUgfHwgJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZVZhbHVlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtR3JvdXAgJiYgdGhpcy5maWVsZCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmllbGQubmFtZSk/LnNldFZhbHVlKHRoaXMudGVtcFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWFzaygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuZmllbGQubWFzayA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuZmllbGQubWFzaygpIDogdGhpcy5maWVsZC5tYXNrIGFzIHN0cmluZ1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbGVmdEFkZG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5maWVsZCEubGVmdEFkZG9uPy5kaXNhYmxlZCA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuZmllbGQubGVmdEFkZG9uLmRpc2FibGVkKCkgOiB0aGlzLmZpZWxkLmxlZnRBZGRvbj8uZGlzYWJsZWQgYXMgYm9vbGVhbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJpZ2h0QWRkb25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLmZpZWxkLnJpZ2h0QWRkb24/LmRpc2FibGVkID09PSAnZnVuY3Rpb24nID8gdGhpcy5maWVsZC5yaWdodEFkZG9uLmRpc2FibGVkKCkgOiB0aGlzLmZpZWxkLnJpZ2h0QWRkb24/LmRpc2FibGVkIGFzIGJvb2xlYW47XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwcmVjaXNpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLmZpZWxkLnByZWNpc2lvbiA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuZmllbGQucHJlY2lzaW9uKCkgOiB0aGlzLmZpZWxkLnByZWNpc2lvbiBhcyBudW1iZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzY2FsZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuZmllbGQuc2NhbGUgPT09ICdmdW5jdGlvbicgPyB0aGlzLmZpZWxkLnNjYWxlKCkgOiB0aGlzLmZpZWxkLnNjYWxlIGFzIG51bWJlcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vbkxvY2FsZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZVxuICAgICAgICAgICAgLmdldExvY2FsZSgpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0RGVjaW1hbFNlcGFyYXRvcigpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PlxuICAgICAgICAgICAgICAgICh0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogXCIuXCIsXG4gICAgICAgICAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IFwiLFwiLFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeVN5bWJvbDogXCJcIixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxwLWlucHV0TWFza1xuICAgICpuZ0lmPVwiZmllbGQubWFzazsgZWxzZSBub01hc2tcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbaW5wdXRJZF09XCJmaWVsZC5uYW1lXCJcbiAgICBbbmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICBbbWFza109XCJtYXNrXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgIHNsb3RDaGFyPVwiX1wiXG4gICAgW3NUb29sdGlwXT1cImZpZWxkLnRvb2x0aXBcIlxuICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgIHN0eWxlQ2xhc3M9XCJtb3VzZXRyYXBcIlxuICAgIChvbkJsdXIpPVwiZmllbGQub25CbHVyID8gZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAob25Gb2N1cyk9XCJmaWVsZC5vbkZvY3VzID8gZmllbGQub25Gb2N1cygkZXZlbnQpIDogbnVsbFwiXG4gICAgKG9uQ29tcGxldGUpPVwiZmllbGQub25Db21wbGV0ZSA/IGZpZWxkLm9uQ29tcGxldGUoJGV2ZW50KSA6IG51bGxcIlxuICAgIChvbklucHV0KT1cImZpZWxkLm9uSW5wdXQgPyBmaWVsZC5vbklucHV0KCRldmVudCkgOiBudWxsXCJcbiAgICBbYXV0b0NsZWFyXT1cImZpZWxkLmF1dG9DbGVhclwiXG4gICAgWyhuZ01vZGVsKV09XCJ0ZW1wVmFsdWVcIj5cbjwvcC1pbnB1dE1hc2s+XG5cbjxuZy10ZW1wbGF0ZSAjbm9NYXNrPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1aS1pbnB1dGdyb3VwXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQubGVmdEFkZG9uXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJmaWVsZC5sZWZ0QWRkb24uY2FsbGJhY2tcIiBjbGFzcz1cImFkZG9uLWJ1dHRvbiBhZGRvbi1idXR0b24tLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGVmdEFkZG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiZmllbGQubGVmdEFkZG9uLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW9yaXR5XT1cImZpZWxkLmxlZnRBZGRvbi5wcmlvcml0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibGVmdEFkZG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwiZmllbGQubGVmdEFkZG9uLmNhbGxiYWNrKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhZmllbGQubGVmdEFkZG9uLmNhbGxiYWNrXCIgY2xhc3M9XCJ1aS1pbnB1dGdyb3VwLWFkZG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZmllbGQubGVmdEFkZG9uLmxhYmVsXCI+e3sgZmllbGQubGVmdEFkZG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFmaWVsZC5sZWZ0QWRkb24ubGFiZWxcIiBbbmdDbGFzc109XCJmaWVsZC5sZWZ0QWRkb24uaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgW2lkXT1cImZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICBzQmlnbnVtYmVySW5wdXRcbiAgICAgICAgICAgICAgICBbYWxsb3dOZWdhdGl2ZV09XCJmaWVsZC5hbGxvd05lZ2F0aXZlID8/IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbcHJlY2lzaW9uXT1cInByZWNpc2lvblwiXG4gICAgICAgICAgICAgICAgW3NjYWxlXT1cInNjYWxlXCJcbiAgICAgICAgICAgICAgICBbYWxpZ25Ub109XCJmaWVsZC5hbGlnblRvXCJcbiAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwiZmllbGQudG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJmaWVsZC5icm93c2VyQXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwiZmllbGQub25CbHVyID8gZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwiZmllbGQub25Gb2N1cyA/IGZpZWxkLm9uRm9jdXMoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGVtcFZhbHVlXCIvPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLnJpZ2h0QWRkb25cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZpZWxkLnJpZ2h0QWRkb24uY2FsbGJhY2tcIiBjbGFzcz1cImFkZG9uLWJ1dHRvbiBhZGRvbi1idXR0b24tLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLnJpZ2h0QWRkb24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25DbGFzc109XCJmaWVsZC5yaWdodEFkZG9uLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW9yaXR5XT1cImZpZWxkLnJpZ2h0QWRkb24ucHJpb3JpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJpZ2h0QWRkb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJmaWVsZC5yaWdodEFkZG9uLmNhbGxiYWNrKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhZmllbGQucmlnaHRBZGRvbi5jYWxsYmFja1wiIGNsYXNzPVwidWktaW5wdXRncm91cC1hZGRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZpZWxkLnJpZ2h0QWRkb24ubGFiZWxcIj57eyBmaWVsZC5yaWdodEFkZG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFmaWVsZC5yaWdodEFkZG9uLmxhYmVsXCIgW25nQ2xhc3NdPVwiZmllbGQucmlnaHRBZGRvbi5pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,15 +1,15 @@
1
- import { Component, Input, ViewChild, ViewContainerRef } from "@angular/core";
1
+ import { Component, Input, ViewChild, ViewContainerRef, inject } from "@angular/core";
2
2
  import { first } from "rxjs/operators";
3
3
  import { InlineEditCalendarField, InlineEditLookupField } from "../../fields/index";
4
+ import { LocaleService } from "@seniorsistemas/angular-components/locale";
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@seniorsistemas/angular-components/locale";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@seniorsistemas/angular-components/button";
8
- import * as i4 from "@seniorsistemas/angular-components/control-errors";
9
- import * as i5 from "@seniorsistemas/angular-components/info-sign";
10
- import * as i6 from "@ngx-translate/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@seniorsistemas/angular-components/button";
8
+ import * as i3 from "@seniorsistemas/angular-components/control-errors";
9
+ import * as i4 from "@seniorsistemas/angular-components/info-sign";
10
+ import * as i5 from "@ngx-translate/core";
11
11
  export class InlineEditItemComponent {
12
- localeService;
12
+ localeService = inject(LocaleService);
13
13
  viewContainerRef = null;
14
14
  label;
15
15
  formGroup;
@@ -18,9 +18,6 @@ export class InlineEditItemComponent {
18
18
  isEditing = false;
19
19
  _locale;
20
20
  dynamicComponentRef = null;
21
- constructor(localeService) {
22
- this.localeService = localeService;
23
- }
24
21
  ngOnInit() {
25
22
  this._getCalendarLocaleOptions();
26
23
  }
@@ -81,13 +78,13 @@ export class InlineEditItemComponent {
81
78
  this._locale = localeOptions.locale;
82
79
  });
83
80
  }
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditItemComponent, deps: [{ token: i1.LocaleService }], target: i0.ɵɵFactoryTarget.Component });
85
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InlineEditItemComponent, selector: "s-inline-edit-item", inputs: { label: "label", formGroup: "formGroup", field: "field", errorMessages: "errorMessages" }, viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["formContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div class=\"inline-edit-item\">\n <label\n class=\"label\"\n *sInfoSign=\"field.tooltip ? field.tooltip : ''\">\n {{ label }}:\n </label>\n\n <div class=\"content\">\n <span *ngIf=\"showValue\" class=\"value\">\n {{ getFormattedValue(formGroup.get(field.name)?.value) }}\n </span>\n\n <s-button\n *ngIf=\"showEmptyValueButton\"\n style=\"margin-left: -8px\"\n priority=\"link\"\n [label]=\"'platform.angular_components.add_information' | translate\"\n (clicked)=\"onEdit()\">\n </s-button>\n\n <div [hidden]=\"!isEditing\" class=\"form-container\">\n <ng-container #formContainer></ng-container>\n </div>\n\n <div class=\"options\">\n <s-button\n *ngIf=\"showEditButton\"\n [tooltip]=\"'platform.angular_components.edit' | translate\"\n (clicked)=\"onEdit()\"\n priority=\"link\"\n [auxiliary]=\"true\"\n iconClass=\"fas fa-edit\">\n </s-button>\n <s-button\n *ngIf=\"isEditing\"\n [tooltip]=\"'platform.angular_components.save' | translate\"\n (clicked)=\"onSave()\"\n priority=\"default\"\n [auxiliary]=\"true\"\n iconClass=\"fas fa-check\"\n styleClass=\"save-option\"\n iconColor=\"#428bca\">\n </s-button>\n <s-button\n *ngIf=\"isEditing\"\n [tooltip]=\"'platform.angular_components.cancel' | translate\"\n (clicked)=\"onCancel()\"\n priority=\"default\"\n [auxiliary]=\"true\"\n iconClass=\"fas fa-times\"\n iconColor=\"#c13018\">\n </s-button>\n </div>\n </div>\n <s-control-errors\n [form]=\"formGroup\"\n [control]=\"formGroup.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\">\n </s-control-errors>\n</div>\n", styles: [".inline-edit-item{align-items:flex-start;display:flex;flex-direction:column}.inline-edit-item .label{color:#333;font-family:\"Open Sans\" sans-serif;font-size:14px;font-weight:700;margin-bottom:0}.inline-edit-item .content{align-items:center;display:flex;gap:16px}.inline-edit-item .content .value{color:#999;font-family:\"Open Sans\" sans-serif;font-size:14px}.inline-edit-item .content .options{display:flex}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }, { kind: "component", type: i4.ControlErrorsComponent, selector: "s-control-errors", inputs: ["id", "control", "errorMessages", "form"] }, { kind: "directive", type: i5.InfoSignDirective, selector: "[sInfoSign]", inputs: ["sInfoSign", "sInfoSignDisplayTime", "sInfoSignFocusedInputRef", "sInfoSignUseFocusedInputRef"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
81
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InlineEditItemComponent, selector: "s-inline-edit-item", inputs: { label: "label", formGroup: "formGroup", field: "field", errorMessages: "errorMessages" }, viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["formContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div class=\"inline-edit-item\">\n <label\n class=\"label\"\n *sInfoSign=\"field.tooltip ? field.tooltip : ''\">\n {{ label }}:\n </label>\n\n <div class=\"content\">\n <span *ngIf=\"showValue\" class=\"value\">\n {{ getFormattedValue(formGroup.get(field.name)?.value) }}\n </span>\n\n <s-button\n *ngIf=\"showEmptyValueButton\"\n style=\"margin-left: -8px\"\n priority=\"link\"\n [label]=\"'platform.angular_components.add_information' | translate\"\n (clicked)=\"onEdit()\">\n </s-button>\n\n <div [hidden]=\"!isEditing\" class=\"form-container\">\n <ng-container #formContainer></ng-container>\n </div>\n\n <div class=\"options\">\n <s-button\n *ngIf=\"showEditButton\"\n [tooltip]=\"'platform.angular_components.edit' | translate\"\n (clicked)=\"onEdit()\"\n priority=\"link\"\n [auxiliary]=\"true\"\n iconClass=\"fas fa-edit\">\n </s-button>\n <s-button\n *ngIf=\"isEditing\"\n [tooltip]=\"'platform.angular_components.save' | translate\"\n (clicked)=\"onSave()\"\n priority=\"default\"\n [auxiliary]=\"true\"\n iconClass=\"fas fa-check\"\n styleClass=\"save-option\"\n iconColor=\"#428bca\">\n </s-button>\n <s-button\n *ngIf=\"isEditing\"\n [tooltip]=\"'platform.angular_components.cancel' | translate\"\n (clicked)=\"onCancel()\"\n priority=\"default\"\n [auxiliary]=\"true\"\n iconClass=\"fas fa-times\"\n iconColor=\"#c13018\">\n </s-button>\n </div>\n </div>\n <s-control-errors\n [form]=\"formGroup\"\n [control]=\"formGroup.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\">\n </s-control-errors>\n</div>\n", styles: [".inline-edit-item{align-items:flex-start;display:flex;flex-direction:column}.inline-edit-item .label{color:#333;font-family:\"Open Sans\" sans-serif;font-size:14px;font-weight:700;margin-bottom:0}.inline-edit-item .content{align-items:center;display:flex;gap:16px}.inline-edit-item .content .value{color:#999;font-family:\"Open Sans\" sans-serif;font-size:14px}.inline-edit-item .content .options{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }, { kind: "component", type: i3.ControlErrorsComponent, selector: "s-control-errors", inputs: ["id", "control", "errorMessages", "form"] }, { kind: "directive", type: i4.InfoSignDirective, selector: "[sInfoSign]", inputs: ["sInfoSign", "sInfoSignDisplayTime", "sInfoSignFocusedInputRef", "sInfoSignUseFocusedInputRef"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
86
83
  }
87
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditItemComponent, decorators: [{
88
85
  type: Component,
89
86
  args: [{ selector: "s-inline-edit-item", template: "<div class=\"inline-edit-item\">\n <label\n class=\"label\"\n *sInfoSign=\"field.tooltip ? field.tooltip : ''\">\n {{ label }}:\n </label>\n\n <div class=\"content\">\n <span *ngIf=\"showValue\" class=\"value\">\n {{ getFormattedValue(formGroup.get(field.name)?.value) }}\n </span>\n\n <s-button\n *ngIf=\"showEmptyValueButton\"\n style=\"margin-left: -8px\"\n priority=\"link\"\n [label]=\"'platform.angular_components.add_information' | translate\"\n (clicked)=\"onEdit()\">\n </s-button>\n\n <div [hidden]=\"!isEditing\" class=\"form-container\">\n <ng-container #formContainer></ng-container>\n </div>\n\n <div class=\"options\">\n <s-button\n *ngIf=\"showEditButton\"\n [tooltip]=\"'platform.angular_components.edit' | translate\"\n (clicked)=\"onEdit()\"\n priority=\"link\"\n [auxiliary]=\"true\"\n iconClass=\"fas fa-edit\">\n </s-button>\n <s-button\n *ngIf=\"isEditing\"\n [tooltip]=\"'platform.angular_components.save' | translate\"\n (clicked)=\"onSave()\"\n priority=\"default\"\n [auxiliary]=\"true\"\n iconClass=\"fas fa-check\"\n styleClass=\"save-option\"\n iconColor=\"#428bca\">\n </s-button>\n <s-button\n *ngIf=\"isEditing\"\n [tooltip]=\"'platform.angular_components.cancel' | translate\"\n (clicked)=\"onCancel()\"\n priority=\"default\"\n [auxiliary]=\"true\"\n iconClass=\"fas fa-times\"\n iconColor=\"#c13018\">\n </s-button>\n </div>\n </div>\n <s-control-errors\n [form]=\"formGroup\"\n [control]=\"formGroup.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\">\n </s-control-errors>\n</div>\n", styles: [".inline-edit-item{align-items:flex-start;display:flex;flex-direction:column}.inline-edit-item .label{color:#333;font-family:\"Open Sans\" sans-serif;font-size:14px;font-weight:700;margin-bottom:0}.inline-edit-item .content{align-items:center;display:flex;gap:16px}.inline-edit-item .content .value{color:#999;font-family:\"Open Sans\" sans-serif;font-size:14px}.inline-edit-item .content .options{display:flex}\n"] }]
90
- }], ctorParameters: () => [{ type: i1.LocaleService }], propDecorators: { viewContainerRef: [{
87
+ }], propDecorators: { viewContainerRef: [{
91
88
  type: ViewChild,
92
89
  args: ["formContainer", { read: ViewContainerRef, static: true }]
93
90
  }], label: [{
@@ -102,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
102
99
  }], errorMessages: [{
103
100
  type: Input
104
101
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW5saW5lLWVkaXQvc3JjL2xpYi9pbmxpbmUtZWRpdC9jb21wb25lbnRzL2lubGluZS1lZGl0LWl0ZW0vaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW5saW5lLWVkaXQvc3JjL2xpYi9pbmxpbmUtZWRpdC9jb21wb25lbnRzL2lubGluZS1lZGl0LWl0ZW0vaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixLQUFLLEVBQVUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7QUFVcEYsTUFBTSxPQUFPLHVCQUF1QjtJQW9CSDtJQWxCdEIsZ0JBQWdCLEdBQTRCLElBQUksQ0FBQztJQUdqRCxLQUFLLENBQVU7SUFHZixTQUFTLENBQWE7SUFHdEIsS0FBSyxDQUFtQjtJQUd4QixhQUFhLENBQU87SUFFcEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNqQixPQUFPLENBQXFCO0lBQzVCLG1CQUFtQixHQUE2QixJQUFJLENBQUM7SUFFN0QsWUFBNkIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBSSxDQUFDO0lBRXZELFFBQVE7UUFDWCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxvQkFBb0I7UUFDM0IsT0FBTyxD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Q0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyx5QkFBeUI7UUFDN0IsSUFBSSxDQUFDLGFBQWE7YUFDYixHQUFHLEVBQUU7YUFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxhQUE0QixFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt3R0E3RlEsdUJBQXVCOzRGQUF2Qix1QkFBdUIsNFBBQ0ksZ0JBQWdCLDJDQ2hCeEQsZ2xFQTREQTs7NEZEN0NhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxvQkFBb0I7a0ZBTXZCLGdCQUFnQjtzQkFEdEIsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJN0QsS0FBSztzQkFEWCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsU0FBUztzQkFEZixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsS0FBSztzQkFEWCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsYUFBYTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IElubGluZUVkaXRDYWxlbmRhckZpZWxkLCBJbmxpbmVFZGl0TG9va3VwRmllbGQgfSBmcm9tIFwiLi4vLi4vZmllbGRzL2luZGV4XCI7XG5pbXBvcnQgeyBJbmxpbmVFZGl0RmllbGQgfSBmcm9tIFwiLi4vLi4vZmllbGRzL2lubGluZS1lZGl0LWZpZWxkXCI7XG5pbXBvcnQgeyBJbmxpbmVFZGl0Q2FsZW5kYXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZmllbGRzL2lubGluZS1lZGl0LWNhbGVuZGFyL2lubGluZS1lZGl0LWNhbGVuZGFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9jYWxlT3B0aW9ucywgTG9jYWxlU2VydmljZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvY2FsZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLWlubGluZS1lZGl0LWl0ZW1cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2lubGluZS1lZGl0LWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5saW5lRWRpdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoXCJmb3JtQ29udGFpbmVyXCIsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGxhYmVsITogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgZmllbGQhOiBJbmxpbmVFZGl0RmllbGQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlcnJvck1lc3NhZ2VzPzogYW55O1xuXG4gICAgcHVibGljIGlzRWRpdGluZyA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgZHluYW1pY0NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSkgeyB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2dldENhbGVuZGFyTG9jYWxlT3B0aW9ucygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hvd0VtcHR5VmFsdWVCdXR0b24oKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0VkaXRpbmcgJiYgIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZpZWxkLm5hbWUpPy52YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNob3dFZGl0QnV0dG9uKCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNFZGl0aW5nICYmIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZpZWxkLm5hbWUpPy52YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNob3dWYWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzRWRpdGluZyAmJiB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5uYW1lKT8udmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRWRpdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0VkaXRpbmcgPSAhdGhpcy5pc0VkaXRpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRWRpdGluZyA9ICF0aGlzLmlzRWRpdGluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TYXZlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5keW5hbWljQ29tcG9uZW50UmVmICYmIHRoaXMuZHluYW1pY0NvbXBvbmVudFJlZi5pbnN0YW5jZS5zYXZlVmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5uYW1lKTtcbiAgICAgICAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2F2ZVZhbHVlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZpZWxkLm5hbWUpPy52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy5pc0VkaXRpbmcgPSAhdGhpcy5pc0VkaXRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RHluYW1pY0NvbXBvbmVudFJlZihyZWY6IENvbXBvbmVudFJlZjxhbnk+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFJlZiA9IHJlZjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlcyhlcnJvck1lc3NhZ2VzOiBhbnkpIHtcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZXMpXG4gICAgICAgICAgICByZXR1cm4gZXJyb3JNZXNzYWdlcyBpbnN0YW5jZW9mIEZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgPyB7IC4uLnRoaXMuZXJyb3JNZXNzYWdlcywgLi4uZXJyb3JNZXNzYWdlcygpIH1cbiAgICAgICAgICAgICAgICA6IHsgLi4udGhpcy5lcnJvck1lc3NhZ2VzLCAuLi5lcnJvck1lc3NhZ2VzIH07XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZvcm1hdHRlZFZhbHVlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5maWVsZCBpbnN0YW5jZW9mIElubGluZUVkaXRDYWxlbmRhckZpZWxkKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuZHluYW1pY0NvbXBvbmVudFJlZj8uaW5zdGFuY2UgYXMgSW5saW5lRWRpdENhbGVuZGFyQ29tcG9uZW50KS5nZXRWYWx1ZUFzVGV4dCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmZpZWxkIGluc3RhbmNlb2YgSW5saW5lRWRpdExvb2t1cEZpZWxkKSB7XG4gICAgICAgICAgICBjb25zdCBsb29rdXBGaWVsZCA9IHRoaXMuZmllbGQgYXMgSW5saW5lRWRpdExvb2t1cEZpZWxkO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQubXVsdGlwbGVcbiAgICAgICAgICAgICAgICA/IHZhbHVlLm1hcCgodmFsOiBhbnkpID0+IHZhbFtsb29rdXBGaWVsZC5sb29rdXBEaXNwbGF5RmllbGRdKS5qb2luKFwiIC0gXCIpXG4gICAgICAgICAgICAgICAgOiB2YWx1ZVtsb29rdXBGaWVsZC5sb29rdXBEaXNwbGF5RmllbGRdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldENhbGVuZGFyTG9jYWxlT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0KClcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsb2NhbGVPcHRpb25zOiBMb2NhbGVPcHRpb25zKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9jYWxlID0gbG9jYWxlT3B0aW9ucy5sb2NhbGU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5saW5lLWVkaXQtaXRlbVwiPlxuICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cImxhYmVsXCJcbiAgICAgICAgKnNJbmZvU2lnbj1cImZpZWxkLnRvb2x0aXAgPyBmaWVsZC50b29sdGlwIDogJydcIj5cbiAgICAgICAge3sgbGFiZWwgfX06XG4gICAgPC9sYWJlbD5cblxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1ZhbHVlXCIgY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAge3sgZ2V0Rm9ybWF0dGVkVmFsdWUoZm9ybUdyb3VwLmdldChmaWVsZC5uYW1lKT8udmFsdWUpIH19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0VtcHR5VmFsdWVCdXR0b25cIlxuICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogLThweFwiXG4gICAgICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuYWRkX2luZm9ybWF0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkVkaXQoKVwiPlxuICAgICAgICA8L3MtYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgW2hpZGRlbl09XCIhaXNFZGl0aW5nXCIgY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAjZm9ybUNvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0VkaXRCdXR0b25cIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIidwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZWRpdCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uRWRpdCgpXCJcbiAgICAgICAgICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICAgICAgICAgIFthdXhpbGlhcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwiZmFzIGZhLWVkaXRcIj5cbiAgICAgICAgICAgIDwvcy1idXR0b24+XG4gICAgICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzRWRpdGluZ1wiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zYXZlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25TYXZlKClcIlxuICAgICAgICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgW2F1eGlsaWFyeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJmYXMgZmEtY2hlY2tcIlxuICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJzYXZlLW9wdGlvblwiXG4gICAgICAgICAgICAgICAgaWNvbkNvbG9yPVwiIzQyOGJjYVwiPlxuICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNFZGl0aW5nXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCIncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgW2F1eGlsaWFyeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJmYXMgZmEtdGltZXNcIlxuICAgICAgICAgICAgICAgIGljb25Db2xvcj1cIiNjMTMwMThcIj5cbiAgICAgICAgICAgIDwvcy1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxzLWNvbnRyb2wtZXJyb3JzXG4gICAgICAgIFtmb3JtXT1cImZvcm1Hcm91cFwiXG4gICAgICAgIFtjb250cm9sXT1cImZvcm1Hcm91cC5jb250cm9sc1tmaWVsZC5uYW1lXVwiXG4gICAgICAgIFtlcnJvck1lc3NhZ2VzXT1cImdldEVycm9yTWVzc2FnZXMoZmllbGQuZXJyb3JNZXNzYWdlcylcIj5cbiAgICA8L3MtY29udHJvbC1lcnJvcnM+XG48L2Rpdj5cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW5saW5lLWVkaXQvc3JjL2xpYi9pbmxpbmUtZWRpdC9jb21wb25lbnRzL2lubGluZS1lZGl0LWl0ZW0vaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW5saW5lLWVkaXQvc3JjL2xpYi9pbmxpbmUtZWRpdC9jb21wb25lbnRzL2lubGluZS1lZGl0LWl0ZW0vaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixLQUFLLEVBQVUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEYsT0FBTyxFQUFpQixhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7OztBQU96RixNQUFNLE9BQU8sdUJBQXVCO0lBQ2YsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUdoRCxnQkFBZ0IsR0FBNEIsSUFBSSxDQUFDO0lBR2pELEtBQUssQ0FBVTtJQUdmLFNBQVMsQ0FBYTtJQUd0QixLQUFLLENBQW1CO0lBR3hCLGFBQWEsQ0FBTztJQUVwQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLE9BQU8sQ0FBcUI7SUFDNUIsbUJBQW1CLEdBQTZCLElBQUksQ0FBQztJQUV0RCxRQUFRO1FBQ1gsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDckMsQ0FB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QVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8seUJBQXlCO1FBQzdCLElBQUksQ0FBQyxhQUFhO2FBQ2IsR0FBRyxFQUFFO2FBQ0wsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsYUFBNEIsRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7d0dBN0ZRLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDRQQUdJLGdCQUFnQiwyQ0NsQnhELGdsRUE0REE7OzRGRDdDYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksb0JBQW9COzhCQVF2QixnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTdELEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLGFBQWE7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IElubGluZUVkaXRDYWxlbmRhckZpZWxkLCBJbmxpbmVFZGl0TG9va3VwRmllbGQgfSBmcm9tIFwiLi4vLi4vZmllbGRzL2luZGV4XCI7XG5pbXBvcnQgeyBJbmxpbmVFZGl0RmllbGQgfSBmcm9tIFwiLi4vLi4vZmllbGRzL2lubGluZS1lZGl0LWZpZWxkXCI7XG5pbXBvcnQgeyBJbmxpbmVFZGl0Q2FsZW5kYXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZmllbGRzL2lubGluZS1lZGl0LWNhbGVuZGFyL2lubGluZS1lZGl0LWNhbGVuZGFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9jYWxlT3B0aW9ucywgTG9jYWxlU2VydmljZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvY2FsZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLWlubGluZS1lZGl0LWl0ZW1cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2lubGluZS1lZGl0LWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5saW5lRWRpdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZSA9IGluamVjdChMb2NhbGVTZXJ2aWNlKTtcblxuICAgIEBWaWV3Q2hpbGQoXCJmb3JtQ29udGFpbmVyXCIsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGxhYmVsITogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgZmllbGQhOiBJbmxpbmVFZGl0RmllbGQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlcnJvck1lc3NhZ2VzPzogYW55O1xuXG4gICAgcHVibGljIGlzRWRpdGluZyA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgZHluYW1pY0NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ2V0Q2FsZW5kYXJMb2NhbGVPcHRpb25zKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaG93RW1wdHlWYWx1ZUJ1dHRvbigpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzRWRpdGluZyAmJiAhdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmllbGQubmFtZSk/LnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hvd0VkaXRCdXR0b24oKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0VkaXRpbmcgJiYgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmllbGQubmFtZSk/LnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hvd1ZhbHVlKCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNFZGl0aW5nICYmIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZpZWxkLm5hbWUpPy52YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FZGl0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRWRpdGluZyA9ICF0aGlzLmlzRWRpdGluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNFZGl0aW5nID0gIXRoaXMuaXNFZGl0aW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNhdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmR5bmFtaWNDb21wb25lbnRSZWYgJiYgdGhpcy5keW5hbWljQ29tcG9uZW50UmVmLmluc3RhbmNlLnNhdmVWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZpZWxkLm5hbWUpO1xuICAgICAgICAgICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFJlZi5pbnN0YW5jZS5zYXZlVmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmllbGQubmFtZSk/LnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmlzRWRpdGluZyA9ICF0aGlzLmlzRWRpdGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXREeW5hbWljQ29tcG9uZW50UmVmKHJlZjogQ29tcG9uZW50UmVmPGFueT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50UmVmID0gcmVmO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2VzKGVycm9yTWVzc2FnZXM6IGFueSkge1xuICAgICAgICBpZiAoZXJyb3JNZXNzYWdlcylcbiAgICAgICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2VzIGluc3RhbmNlb2YgRnVuY3Rpb25cbiAgICAgICAgICAgICAgICA/IHsgLi4udGhpcy5lcnJvck1lc3NhZ2VzLCAuLi5lcnJvck1lc3NhZ2VzKCkgfVxuICAgICAgICAgICAgICAgIDogeyAuLi50aGlzLmVycm9yTWVzc2FnZXMsIC4uLmVycm9yTWVzc2FnZXMgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkIGluc3RhbmNlb2YgSW5saW5lRWRpdENhbGVuZGFyRmllbGQpIHtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5keW5hbWljQ29tcG9uZW50UmVmPy5pbnN0YW5jZSBhcyBJbmxpbmVFZGl0Q2FsZW5kYXJDb21wb25lbnQpLmdldFZhbHVlQXNUZXh0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZmllbGQgaW5zdGFuY2VvZiBJbmxpbmVFZGl0TG9va3VwRmllbGQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvb2t1cEZpZWxkID0gdGhpcy5maWVsZCBhcyBJbmxpbmVFZGl0TG9va3VwRmllbGQ7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5tdWx0aXBsZVxuICAgICAgICAgICAgICAgID8gdmFsdWUubWFwKCh2YWw6IGFueSkgPT4gdmFsW2xvb2t1cEZpZWxkLmxvb2t1cERpc3BsYXlGaWVsZF0pLmpvaW4oXCIgLSBcIilcbiAgICAgICAgICAgICAgICA6IHZhbHVlW2xvb2t1cEZpZWxkLmxvb2t1cERpc3BsYXlGaWVsZF07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q2FsZW5kYXJMb2NhbGVPcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXQoKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZU9wdGlvbnM6IExvY2FsZU9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2NhbGUgPSBsb2NhbGVPcHRpb25zLmxvY2FsZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbmxpbmUtZWRpdC1pdGVtXCI+XG4gICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwibGFiZWxcIlxuICAgICAgICAqc0luZm9TaWduPVwiZmllbGQudG9vbHRpcCA/IGZpZWxkLnRvb2x0aXAgOiAnJ1wiPlxuICAgICAgICB7eyBsYWJlbCB9fTpcbiAgICA8L2xhYmVsPlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93VmFsdWVcIiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgICB7eyBnZXRGb3JtYXR0ZWRWYWx1ZShmb3JtR3JvdXAuZ2V0KGZpZWxkLm5hbWUpPy52YWx1ZSkgfX1cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RW1wdHlWYWx1ZUJ1dHRvblwiXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtOHB4XCJcbiAgICAgICAgICAgIHByaW9yaXR5PVwibGlua1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5hZGRfaW5mb3JtYXRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGlja2VkKT1cIm9uRWRpdCgpXCI+XG4gICAgICAgIDwvcy1idXR0b24+XG5cbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cIiFpc0VkaXRpbmdcIiBjbGFzcz1cImZvcm0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICNmb3JtQ29udGFpbmVyPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uc1wiPlxuICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93RWRpdEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5lZGl0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25FZGl0KClcIlxuICAgICAgICAgICAgICAgIHByaW9yaXR5PVwibGlua1wiXG4gICAgICAgICAgICAgICAgW2F1eGlsaWFyeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJmYXMgZmEtZWRpdFwiPlxuICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNFZGl0aW5nXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCIncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnNhdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvblNhdmUoKVwiXG4gICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICBbYXV4aWxpYXJ5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImZhcyBmYS1jaGVja1wiXG4gICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInNhdmUtb3B0aW9uXCJcbiAgICAgICAgICAgICAgICBpY29uQ29sb3I9XCIjNDI4YmNhXCI+XG4gICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc0VkaXRpbmdcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIidwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DYW5jZWwoKVwiXG4gICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICBbYXV4aWxpYXJ5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImZhcyBmYS10aW1lc1wiXG4gICAgICAgICAgICAgICAgaWNvbkNvbG9yPVwiI2MxMzAxOFwiPlxuICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHMtY29udHJvbC1lcnJvcnNcbiAgICAgICAgW2Zvcm1dPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiZm9ybUdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdXCJcbiAgICAgICAgW2Vycm9yTWVzc2FnZXNdPVwiZ2V0RXJyb3JNZXNzYWdlcyhmaWVsZC5lcnJvck1lc3NhZ2VzKVwiPlxuICAgIDwvcy1jb250cm9sLWVycm9ycz5cbjwvZGl2PlxuIl19
@@ -1,28 +1,24 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Clipboard } from '@angular/cdk/clipboard';
2
+ import { Component, Input, inject } from '@angular/core';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { ToastService } from '@seniorsistemas/angular-components/toast';
2
5
  import { finalize, first } from 'rxjs/operators';
3
6
  import { marked } from 'marked';
4
7
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/clipboard";
6
- import * as i2 from "@seniorsistemas/angular-components/toast";
7
- import * as i3 from "@ngx-translate/core";
8
- import * as i4 from "@angular/common";
9
- import * as i5 from "@seniorsistemas/angular-components/badge";
10
- import * as i6 from "./components/insights-card-loader/insights-card-loader.component";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@seniorsistemas/angular-components/badge";
10
+ import * as i3 from "./components/insights-card-loader/insights-card-loader.component";
11
+ import * as i4 from "@ngx-translate/core";
11
12
  export class InsightsCardComponent {
12
- clipboard;
13
- toastService;
14
- translateService;
13
+ clipboard = inject(Clipboard);
14
+ toastService = inject(ToastService);
15
+ translateService = inject(TranslateService);
15
16
  insight;
16
17
  open = false;
17
18
  isLoading = false;
18
19
  content;
19
20
  likeSelected = false;
20
21
  dislikeSelected = false;
21
- constructor(clipboard, toastService, translateService) {
22
- this.clipboard = clipboard;
23
- this.toastService = toastService;
24
- this.translateService = translateService;
25
- }
26
22
  toggle() {
27
23
  const newOpenState = !this.open;
28
24
  this.open = newOpenState;
@@ -81,14 +77,14 @@ export class InsightsCardComponent {
81
77
  }
82
78
  });
83
79
  }
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InsightsCardComponent, deps: [{ token: i1.Clipboard }, { token: i2.ToastService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
85
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InsightsCardComponent, selector: "s-insights-card", inputs: { insight: "insight" }, ngImport: i0, template: "<div\n class=\"insights-card\"\n [ngClass]=\"{ 'insights-card--close': !open }\"\n>\n <div\n class=\"header\"\n (click)=\"toggle()\"\n >\n <s-badge\n text=\"Insight\"\n iconClass=\"fal fa-lightbulb\"\n ></s-badge>\n <span class=\"insight-title\">{{ insight.title }}</span>\n <span class=\"toggle-icon\">\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-angle-down': !open,\n 'fa-angle-up': open,\n }\"\n >\n </i>\n </span>\n </div>\n <div class=\"content\">\n <ng-container *ngIf=\"isLoading; then loadingBlock; else contentBlock\"></ng-container>\n <ng-template #loadingBlock>\n <s-insights-card-loader></s-insights-card-loader>\n </ng-template>\n <ng-template #contentBlock>\n <ng-container *ngIf=\"content; then successBlock; else errorBlock\"></ng-container>\n\n <ng-template #successBlock>\n <span\n class=\"text\"\n [innerHTML]=\"content\"\n ></span>\n <span class=\"insight-footer\">{{ \"platform.angular_components.insight_footer\" | translate }}</span>\n\n </ng-template>\n <ng-template #errorBlock>\n <span class=\"text text--error\">{{\n 'platform.angular_components.error_loading_insight_alt' | translate\n }}</span>\n </ng-template>\n\n <div class=\"options\">\n <button\n [disabled]=\"!content\"\n (click)=\"copyContent()\"\n class=\"option\"\n >\n <i class=\"fal fa-copy\"></i>\n </button>\n <button\n (click)=\"reloadContent()\"\n class=\"option\"\n >\n <i class=\"fal fa-redo\"></i>\n </button>\n <button\n *ngIf=\"insight.onLikeSelected\"\n [disabled]=\"!content\"\n (click)=\"onLikeSelected()\"\n class=\"option\"\n >\n <i\n [ngClass]=\"{\n fal: !likeSelected,\n fas: likeSelected,\n 'fa-thumbs-up': true,\n }\"\n >\n </i>\n </button>\n <button\n *ngIf=\"insight.onDislikeSelected\"\n [disabled]=\"!content\"\n (click)=\"onDislikeSelected()\"\n class=\"option\"\n >\n <i\n [ngClass]=\"{\n fal: !dislikeSelected,\n fas: dislikeSelected,\n 'fa-thumbs-down': true,\n }\"\n ></i>\n </button>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: [".insights-card{background-color:#fff;border:1px solid #9ecad4;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden}.insights-card .header{align-items:center;background-color:#f1f7f8;border-bottom:1px solid #9ecad4;display:flex;gap:8px;min-height:60px;padding:8px 16px;-webkit-user-select:none;user-select:none}.insights-card .header .insight-title{color:#428bca;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;line-height:150%}.insights-card .header .toggle-icon{color:#888b99;font-size:20px}.insights-card .content{align-items:center;justify-content:space-between;cursor:auto;display:flex;flex-direction:column;gap:16px;min-height:160px;padding:24px}.insights-card .content .text{color:#212533;font-family:Open Sans,sans-serif;font-size:14px;width:100%}.insights-card .content .text--error{text-align:center}.insights-card .content .insight-footer{color:#888b99;font-family:Open Sans,sans-serif;font-size:12px;text-align:center}.insights-card .content .options{display:flex;gap:8px}.insights-card .content .options .option{background-color:transparent;border:none;color:#428bca;cursor:pointer;font-size:12px}.insights-card .content .options .option:disabled{color:#c1c1cc;cursor:auto}.insights-card--close{border-color:#dedce5}.insights-card--close .header{background-color:#fbfafc;border:none;border-color:#dedce5}.insights-card--close .header .insight-title{color:#888b99}.insights-card--close .content{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign", "enableTruncateText"], outputs: ["selected"] }, { kind: "component", type: i6.InsightsCardLoaderComponent, selector: "s-insights-card-loader" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InsightsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InsightsCardComponent, selector: "s-insights-card", inputs: { insight: "insight" }, ngImport: i0, template: "<div\n class=\"insights-card\"\n [ngClass]=\"{ 'insights-card--close': !open }\"\n>\n <div\n class=\"header\"\n (click)=\"toggle()\"\n >\n <s-badge\n text=\"Insight\"\n iconClass=\"fal fa-lightbulb\"\n ></s-badge>\n <span class=\"insight-title\">{{ insight.title }}</span>\n <span class=\"toggle-icon\">\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-angle-down': !open,\n 'fa-angle-up': open,\n }\"\n >\n </i>\n </span>\n </div>\n <div class=\"content\">\n <ng-container *ngIf=\"isLoading; then loadingBlock; else contentBlock\"></ng-container>\n <ng-template #loadingBlock>\n <s-insights-card-loader></s-insights-card-loader>\n </ng-template>\n <ng-template #contentBlock>\n <ng-container *ngIf=\"content; then successBlock; else errorBlock\"></ng-container>\n\n <ng-template #successBlock>\n <span\n class=\"text\"\n [innerHTML]=\"content\"\n ></span>\n <span class=\"insight-footer\">{{ \"platform.angular_components.insight_footer\" | translate }}</span>\n\n </ng-template>\n <ng-template #errorBlock>\n <span class=\"text text--error\">{{\n 'platform.angular_components.error_loading_insight_alt' | translate\n }}</span>\n </ng-template>\n\n <div class=\"options\">\n <button\n [disabled]=\"!content\"\n (click)=\"copyContent()\"\n class=\"option\"\n >\n <i class=\"fal fa-copy\"></i>\n </button>\n <button\n (click)=\"reloadContent()\"\n class=\"option\"\n >\n <i class=\"fal fa-redo\"></i>\n </button>\n <button\n *ngIf=\"insight.onLikeSelected\"\n [disabled]=\"!content\"\n (click)=\"onLikeSelected()\"\n class=\"option\"\n >\n <i\n [ngClass]=\"{\n fal: !likeSelected,\n fas: likeSelected,\n 'fa-thumbs-up': true,\n }\"\n >\n </i>\n </button>\n <button\n *ngIf=\"insight.onDislikeSelected\"\n [disabled]=\"!content\"\n (click)=\"onDislikeSelected()\"\n class=\"option\"\n >\n <i\n [ngClass]=\"{\n fal: !dislikeSelected,\n fas: dislikeSelected,\n 'fa-thumbs-down': true,\n }\"\n ></i>\n </button>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: [".insights-card{background-color:#fff;border:1px solid #9ecad4;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden}.insights-card .header{align-items:center;background-color:#f1f7f8;border-bottom:1px solid #9ecad4;display:flex;gap:8px;min-height:60px;padding:8px 16px;-webkit-user-select:none;user-select:none}.insights-card .header .insight-title{color:#428bca;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;line-height:150%}.insights-card .header .toggle-icon{color:#888b99;font-size:20px}.insights-card .content{align-items:center;justify-content:space-between;cursor:auto;display:flex;flex-direction:column;gap:16px;min-height:160px;padding:24px}.insights-card .content .text{color:#212533;font-family:Open Sans,sans-serif;font-size:14px;width:100%}.insights-card .content .text--error{text-align:center}.insights-card .content .insight-footer{color:#888b99;font-family:Open Sans,sans-serif;font-size:12px;text-align:center}.insights-card .content .options{display:flex;gap:8px}.insights-card .content .options .option{background-color:transparent;border:none;color:#428bca;cursor:pointer;font-size:12px}.insights-card .content .options .option:disabled{color:#c1c1cc;cursor:auto}.insights-card--close{border-color:#dedce5}.insights-card--close .header{background-color:#fbfafc;border:none;border-color:#dedce5}.insights-card--close .header .insight-title{color:#888b99}.insights-card--close .content{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign", "enableTruncateText"], outputs: ["selected"] }, { kind: "component", type: i3.InsightsCardLoaderComponent, selector: "s-insights-card-loader" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
86
82
  }
87
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InsightsCardComponent, decorators: [{
88
84
  type: Component,
89
85
  args: [{ selector: 's-insights-card', template: "<div\n class=\"insights-card\"\n [ngClass]=\"{ 'insights-card--close': !open }\"\n>\n <div\n class=\"header\"\n (click)=\"toggle()\"\n >\n <s-badge\n text=\"Insight\"\n iconClass=\"fal fa-lightbulb\"\n ></s-badge>\n <span class=\"insight-title\">{{ insight.title }}</span>\n <span class=\"toggle-icon\">\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-angle-down': !open,\n 'fa-angle-up': open,\n }\"\n >\n </i>\n </span>\n </div>\n <div class=\"content\">\n <ng-container *ngIf=\"isLoading; then loadingBlock; else contentBlock\"></ng-container>\n <ng-template #loadingBlock>\n <s-insights-card-loader></s-insights-card-loader>\n </ng-template>\n <ng-template #contentBlock>\n <ng-container *ngIf=\"content; then successBlock; else errorBlock\"></ng-container>\n\n <ng-template #successBlock>\n <span\n class=\"text\"\n [innerHTML]=\"content\"\n ></span>\n <span class=\"insight-footer\">{{ \"platform.angular_components.insight_footer\" | translate }}</span>\n\n </ng-template>\n <ng-template #errorBlock>\n <span class=\"text text--error\">{{\n 'platform.angular_components.error_loading_insight_alt' | translate\n }}</span>\n </ng-template>\n\n <div class=\"options\">\n <button\n [disabled]=\"!content\"\n (click)=\"copyContent()\"\n class=\"option\"\n >\n <i class=\"fal fa-copy\"></i>\n </button>\n <button\n (click)=\"reloadContent()\"\n class=\"option\"\n >\n <i class=\"fal fa-redo\"></i>\n </button>\n <button\n *ngIf=\"insight.onLikeSelected\"\n [disabled]=\"!content\"\n (click)=\"onLikeSelected()\"\n class=\"option\"\n >\n <i\n [ngClass]=\"{\n fal: !likeSelected,\n fas: likeSelected,\n 'fa-thumbs-up': true,\n }\"\n >\n </i>\n </button>\n <button\n *ngIf=\"insight.onDislikeSelected\"\n [disabled]=\"!content\"\n (click)=\"onDislikeSelected()\"\n class=\"option\"\n >\n <i\n [ngClass]=\"{\n fal: !dislikeSelected,\n fas: dislikeSelected,\n 'fa-thumbs-down': true,\n }\"\n ></i>\n </button>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: [".insights-card{background-color:#fff;border:1px solid #9ecad4;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden}.insights-card .header{align-items:center;background-color:#f1f7f8;border-bottom:1px solid #9ecad4;display:flex;gap:8px;min-height:60px;padding:8px 16px;-webkit-user-select:none;user-select:none}.insights-card .header .insight-title{color:#428bca;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;line-height:150%}.insights-card .header .toggle-icon{color:#888b99;font-size:20px}.insights-card .content{align-items:center;justify-content:space-between;cursor:auto;display:flex;flex-direction:column;gap:16px;min-height:160px;padding:24px}.insights-card .content .text{color:#212533;font-family:Open Sans,sans-serif;font-size:14px;width:100%}.insights-card .content .text--error{text-align:center}.insights-card .content .insight-footer{color:#888b99;font-family:Open Sans,sans-serif;font-size:12px;text-align:center}.insights-card .content .options{display:flex;gap:8px}.insights-card .content .options .option{background-color:transparent;border:none;color:#428bca;cursor:pointer;font-size:12px}.insights-card .content .options .option:disabled{color:#c1c1cc;cursor:auto}.insights-card--close{border-color:#dedce5}.insights-card--close .header{background-color:#fbfafc;border:none;border-color:#dedce5}.insights-card--close .header .insight-title{color:#888b99}.insights-card--close .content{display:none}\n"] }]
90
- }], ctorParameters: () => [{ type: i1.Clipboard }, { type: i2.ToastService }, { type: i3.TranslateService }], propDecorators: { insight: [{
86
+ }], propDecorators: { insight: [{
91
87
  type: Input,
92
88
  args: [{ required: true }]
93
89
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zaWdodHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW5zaWdodHMvc3JjL2xpYi9pbnNpZ2h0cy9jb21wb25lbnRzL2luc2lnaHRzLWNhcmQvaW5zaWdodHMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW5zaWdodHMvc3JjL2xpYi9pbnNpZ2h0cy9jb21wb25lbnRzL2luc2lnaHRzLWNhcmQvaW5zaWdodHMtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7O0FBUWhDLE1BQU0sT0FBTyxxQkFBcUI7SUFZVDtJQUNBO0lBQ0E7SUFaZCxPQUFPLENBQWdCO0lBRXZCLElBQUksR0FBRyxLQUFLLENBQUM7SUFDYixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLE9BQU8sQ0FBVTtJQUVqQixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFFL0IsWUFDcUIsU0FBb0IsRUFDcEIsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBRmxDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUNwRCxDQUFDO0lBRUcsTUFBTTtRQUNULE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztRQUN6QixJQUFJLFlBQVksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2pDLENBQUM7YUFBTSxJQUFJLFlBQVksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2xDLENBQUM7UUFDRCxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUUxQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNuQixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsaURBQWlELENBQUM7YUFDMUYsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7YUFDaEIsSUFBSSxDQUNELEtBQUssRUFBRSxFQUNQLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FDM0M7YUFDQSxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQWUsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ25DLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7d0dBakZRLHFCQUFxQjs0RkFBckIscUJBQXFCLHVGQ2ZsQyx3cEdBNkZBOzs0RkQ5RWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNJLGlCQUFpQjt3SUFNcEIsT0FBTztzQkFEYixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3RvYXN0JztcbmltcG9ydCB7IGZpbmFsaXplLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCB7IEluc2lnaHRzSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pbnNpZ2h0cy1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWluc2lnaHRzLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnNpZ2h0cy1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnNpZ2h0cy1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEluc2lnaHRzQ2FyZENvbXBvbmVudCB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgaW5zaWdodCE6IEluc2lnaHRzSXRlbTtcblxuICAgIHB1YmxpYyBvcGVuID0gZmFsc2U7XG4gICAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyBjb250ZW50Pzogc3RyaW5nO1xuXG4gICAgcHVibGljIGxpa2VTZWxlY3RlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBkaXNsaWtlU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNsaXBib2FyZDogQ2xpcGJvYXJkLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3T3BlblN0YXRlID0gIXRoaXMub3BlbjtcbiAgICAgICAgdGhpcy5vcGVuID0gbmV3T3BlblN0YXRlO1xuICAgICAgICBpZiAobmV3T3BlblN0YXRlID09PSB0cnVlICYmIHRoaXMuaW5zaWdodC5vbk9wZW5TaWRlYmFyKSB7XG4gICAgICAgICAgICB0aGlzLmluc2lnaHQub25PcGVuU2lkZWJhcigpO1xuICAgICAgICB9IGVsc2UgaWYgKG5ld09wZW5TdGF0ZSA9PT0gZmFsc2UgJiYgdGhpcy5pbnNpZ2h0Lm9uQ2xvc2VTaWRlQmFyKSB7XG4gICAgICAgICAgICB0aGlzLmluc2lnaHQub25DbG9zZVNpZGVCYXIoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmV3T3BlblN0YXRlID09PSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXF1ZXN0SW5zaWdodCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uTGlrZVNlbGVjdGVkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5saWtlU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMubGlrZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxpa2VTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRpc2xpa2VTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pbnNpZ2h0Lm9uTGlrZVNlbGVjdGVkPy4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkRpc2xpa2VTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzbGlrZVNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmRpc2xpa2VTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNsaWtlU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5saWtlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaW5zaWdodC5vbkRpc2xpa2VTZWxlY3RlZD8uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY29weUNvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb250ZW50KSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5pbnNpZ2h0Lm9uQ29weT8uKHRoaXMuY29udGVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY2xpcGJvYXJkLmNvcHkodGhpcy5jb250ZW50KSkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgICAgICAgICAgc2V2ZXJpdHk6ICdpbmZvJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jb3BpZWRfdG9fY2xpcGJvYXJkJyksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWRDb250ZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXF1ZXN0SW5zaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlcXVlc3RJbnNpZ2h0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5pbnNpZ2h0LnJlcXVlc3QkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jIChjb250ZW50OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSBhd2FpdCBtYXJrZWQoY29udGVudCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5zaWdodC5vbkNvbnRlbnRMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnNpZ2h0Lm9uQ29udGVudExvYWRlZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImluc2lnaHRzLWNhcmRcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2luc2lnaHRzLWNhcmQtLWNsb3NlJzogIW9wZW4gfVwiXG4+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImhlYWRlclwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgPlxuICAgICAgICA8cy1iYWRnZVxuICAgICAgICAgICAgdGV4dD1cIkluc2lnaHRcIlxuICAgICAgICAgICAgaWNvbkNsYXNzPVwiZmFsIGZhLWxpZ2h0YnVsYlwiXG4gICAgICAgID48L3MtYmFkZ2U+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5zaWdodC10aXRsZVwiPnt7IGluc2lnaHQudGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlLWljb25cIj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmYXNcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLWRvd24nOiAhb3BlbixcbiAgICAgICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLXVwJzogb3BlbixcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvaT5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmc7IHRoZW4gbG9hZGluZ0Jsb2NrOyBlbHNlIGNvbnRlbnRCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmdCbG9jaz5cbiAgICAgICAgICAgIDxzLWluc2lnaHRzLWNhcmQtbG9hZGVyPjwvcy1pbnNpZ2h0cy1jYXJkLWxvYWRlcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjb250ZW50QmxvY2s+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudDsgdGhlbiBzdWNjZXNzQmxvY2s7IGVsc2UgZXJyb3JCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N1Y2Nlc3NCbG9jaz5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNvbnRlbnRcIlxuICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnNpZ2h0LWZvb3RlclwiPnt7IFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmluc2lnaHRfZm9vdGVyXCIgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vycm9yQmxvY2s+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0IHRleHQtLWVycm9yXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9sb2FkaW5nX2luc2lnaHRfYWx0JyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjb3B5Q29udGVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtY29weVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWxvYWRDb250ZW50KClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1yZWRvXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpbnNpZ2h0Lm9uTGlrZVNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlrZVNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbDogIWxpa2VTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXM6IGxpa2VTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmEtdGh1bWJzLXVwJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5zaWdodC5vbkRpc2xpa2VTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRpc2xpa2VTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWw6ICFkaXNsaWtlU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFzOiBkaXNsaWtlU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhLXRodW1icy1kb3duJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zaWdodHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW5zaWdodHMvc3JjL2xpYi9pbnNpZ2h0cy9jb21wb25lbnRzL2luc2lnaHRzLWNhcmQvaW5zaWdodHMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW5zaWdodHMvc3JjL2xpYi9pbnNpZ2h0cy9jb21wb25lbnRzL2luc2lnaHRzLWNhcmQvaW5zaWdodHMtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7OztBQVFoQyxNQUFNLE9BQU8scUJBQXFCO0lBQ2IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBR3RELE9BQU8sQ0FBZ0I7SUFFdkIsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNiLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsT0FBTyxDQUFVO0lBRWpCLFlBQVksR0FBRyxL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QVM7K0JBQ0ksaUJBQWlCOzhCQVVwQixPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b2FzdCc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IG1hcmtlZCB9IGZyb20gJ21hcmtlZCc7XG5pbXBvcnQgeyBJbnNpZ2h0c0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5zaWdodHMtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1pbnNpZ2h0cy1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5zaWdodHMtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5zaWdodHMtY2FyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbnNpZ2h0c0NhcmRDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBpbnNpZ2h0ITogSW5zaWdodHNJdGVtO1xuXG4gICAgcHVibGljIG9wZW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIGNvbnRlbnQ/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgbGlrZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgcHVibGljIGRpc2xpa2VTZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3T3BlblN0YXRlID0gIXRoaXMub3BlbjtcbiAgICAgICAgdGhpcy5vcGVuID0gbmV3T3BlblN0YXRlO1xuICAgICAgICBpZiAobmV3T3BlblN0YXRlID09PSB0cnVlICYmIHRoaXMuaW5zaWdodC5vbk9wZW5TaWRlYmFyKSB7XG4gICAgICAgICAgICB0aGlzLmluc2lnaHQub25PcGVuU2lkZWJhcigpO1xuICAgICAgICB9IGVsc2UgaWYgKG5ld09wZW5TdGF0ZSA9PT0gZmFsc2UgJiYgdGhpcy5pbnNpZ2h0Lm9uQ2xvc2VTaWRlQmFyKSB7XG4gICAgICAgICAgICB0aGlzLmluc2lnaHQub25DbG9zZVNpZGVCYXIoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmV3T3BlblN0YXRlID09PSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXF1ZXN0SW5zaWdodCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uTGlrZVNlbGVjdGVkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5saWtlU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMubGlrZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxpa2VTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRpc2xpa2VTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pbnNpZ2h0Lm9uTGlrZVNlbGVjdGVkPy4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkRpc2xpa2VTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzbGlrZVNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmRpc2xpa2VTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNsaWtlU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5saWtlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaW5zaWdodC5vbkRpc2xpa2VTZWxlY3RlZD8uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY29weUNvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb250ZW50KSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5pbnNpZ2h0Lm9uQ29weT8uKHRoaXMuY29udGVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY2xpcGJvYXJkLmNvcHkodGhpcy5jb250ZW50KSkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgICAgICAgICAgc2V2ZXJpdHk6ICdpbmZvJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jb3BpZWRfdG9fY2xpcGJvYXJkJyksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWRDb250ZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXF1ZXN0SW5zaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlcXVlc3RJbnNpZ2h0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5pbnNpZ2h0LnJlcXVlc3QkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jIChjb250ZW50OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSBhd2FpdCBtYXJrZWQoY29udGVudCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5zaWdodC5vbkNvbnRlbnRMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnNpZ2h0Lm9uQ29udGVudExvYWRlZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImluc2lnaHRzLWNhcmRcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2luc2lnaHRzLWNhcmQtLWNsb3NlJzogIW9wZW4gfVwiXG4+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImhlYWRlclwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgPlxuICAgICAgICA8cy1iYWRnZVxuICAgICAgICAgICAgdGV4dD1cIkluc2lnaHRcIlxuICAgICAgICAgICAgaWNvbkNsYXNzPVwiZmFsIGZhLWxpZ2h0YnVsYlwiXG4gICAgICAgID48L3MtYmFkZ2U+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5zaWdodC10aXRsZVwiPnt7IGluc2lnaHQudGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlLWljb25cIj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmYXNcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLWRvd24nOiAhb3BlbixcbiAgICAgICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLXVwJzogb3BlbixcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvaT5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmc7IHRoZW4gbG9hZGluZ0Jsb2NrOyBlbHNlIGNvbnRlbnRCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmdCbG9jaz5cbiAgICAgICAgICAgIDxzLWluc2lnaHRzLWNhcmQtbG9hZGVyPjwvcy1pbnNpZ2h0cy1jYXJkLWxvYWRlcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjb250ZW50QmxvY2s+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudDsgdGhlbiBzdWNjZXNzQmxvY2s7IGVsc2UgZXJyb3JCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N1Y2Nlc3NCbG9jaz5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNvbnRlbnRcIlxuICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnNpZ2h0LWZvb3RlclwiPnt7IFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmluc2lnaHRfZm9vdGVyXCIgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vycm9yQmxvY2s+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0IHRleHQtLWVycm9yXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9sb2FkaW5nX2luc2lnaHRfYWx0JyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjb3B5Q29udGVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtY29weVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWxvYWRDb250ZW50KClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1yZWRvXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpbnNpZ2h0Lm9uTGlrZVNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlrZVNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbDogIWxpa2VTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXM6IGxpa2VTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmEtdGh1bWJzLXVwJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5zaWdodC5vbkRpc2xpa2VTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRpc2xpa2VTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWw6ICFkaXNsaWtlU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFzOiBkaXNsaWtlU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhLXRodW1icy1kb3duJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Directive, input, output } from '@angular/core';
1
+ import { Directive, ElementRef, input, output, inject } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * @description Diretiva de acessibilidade que torna qualquer elemento HTML interativo,
@@ -17,7 +17,7 @@ import * as i0 from "@angular/core";
17
17
  * @category Inputs
18
18
  */
19
19
  export class InteractiveContentDirective {
20
- elementRef;
20
+ elementRef = inject(ElementRef);
21
21
  /** @description Emitido quando o usuário clica ou pressiona Enter/Espaço no elemento. */
22
22
  activated = output({ alias: 'sInteractiveContent' });
23
23
  /** @description Habilita o foco via teclado (tabindex). @default true */
@@ -43,9 +43,6 @@ export class InteractiveContentDirective {
43
43
  }
44
44
  this.activated.emit(event);
45
45
  };
46
- constructor(elementRef) {
47
- this.elementRef = elementRef;
48
- }
49
46
  ngOnInit() {
50
47
  this.setTabIndex();
51
48
  this.checkAccessbilityEvents();
@@ -70,7 +67,7 @@ export class InteractiveContentDirective {
70
67
  this.element.removeEventListener('click', this.EVENT_LISTENER);
71
68
  this.element.removeEventListener('keydown', this.EVENT_LISTENER);
72
69
  }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InteractiveContentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InteractiveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
74
71
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: InteractiveContentDirective, isStandalone: true, selector: "[sInteractiveContent]", inputs: { focusable: { classPropertyName: "focusable", publicName: "focusable", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, stopPropagation: { classPropertyName: "stopPropagation", publicName: "stopPropagation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activated: "sInteractiveContent" }, ngImport: i0 });
75
72
  }
76
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InteractiveContentDirective, decorators: [{
@@ -79,5 +76,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
79
76
  selector: '[sInteractiveContent]',
80
77
  standalone: true,
81
78
  }]
82
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29udGVudC9zcmMvbGliL2ludGVyYWN0aXZlLWNvbnRlbnQvaW50ZXJhY3RpdmUtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFeEY7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBS0gsTUFBTSxPQUFPLDJCQUEyQjtJQThCUDtJQTdCN0IseUZBQXlGO0lBQ2xGLFNBQVMsR0FBRyxNQUFNLENBQStCLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUMxRix5RUFBeUU7SUFDbEUsU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixrRkFBa0Y7SUFDM0UsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQiw0RkFBNEY7SUFDckYsZUFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVyQixjQUFjLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtRQUMvQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFLENBQUM7WUFDakMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUN0QixNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMzQixPQUFPO1lBQ1gsQ0FBQztZQUNELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV2QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDNUIsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFxQyxDQUFDLENBQUM7SUFDL0QsQ0FBQyxDQUFDO0lBRUYsWUFBNkIsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFBRyxDQUFDO0lBRTdELFFBQVE7UUFDWCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQVksT0FBTztRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7d0dBNURRLDJCQUEyQjs0RkFBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGlyZXRpdmEgZGUgYWNlc3NpYmlsaWRhZGUgcXVlIHRvcm5hIHF1YWxxdWVyIGVsZW1lbnRvIEhUTUwgaW50ZXJhdGl2byxcbiAqIGFkaWNpb25hbmRvIHN1cG9ydGUgYSBldmVudG9zIGRlIGZvY28gZSBuYXZlZ2HDp8OjbyBwb3IgdGVjbGFkbyAoRW50ZXIgZSBFc3Bhw6dvKVxuICogYWzDqW0gZG8gY2xpcXVlIHBhZHLDo28uIEdlcmVuY2lhIGF1dG9tYXRpY2FtZW50ZSBvIGF0cmlidXRvIGB0YWJpbmRleGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxkaXZcbiAqICAgKHNJbnRlcmFjdGl2ZUNvbnRlbnQpPVwib25BY3RpdmF0ZSgkZXZlbnQpXCJcbiAqICAgW2ZvY3VzYWJsZV09XCJ0cnVlXCI+XG4gKiAgIENvbnRlw7pkbyBpbnRlcmF0aXZvXG4gKiA8L2Rpdj5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBJbnB1dHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbc0ludGVyYWN0aXZlQ29udGVudF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2Egb3UgcHJlc3Npb25hIEVudGVyL0VzcGHDp28gbm8gZWxlbWVudG8uICovXG4gICAgcHVibGljIGFjdGl2YXRlZCA9IG91dHB1dDxQb2ludGVyRXZlbnQgfCBLZXlib2FyZEV2ZW50Pih7IGFsaWFzOiAnc0ludGVyYWN0aXZlQ29udGVudCcgfSk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBIYWJpbGl0YSBvIGZvY28gdmlhIHRlY2xhZG8gKHRhYmluZGV4KS4gQGRlZmF1bHQgdHJ1ZSAqL1xuICAgIHB1YmxpYyBmb2N1c2FibGUgPSBpbnB1dCh0cnVlKTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIERlc2FiaWxpdGEgb3MgZXZlbnRvcyBkZSBpbnRlcmHDp8OjbyBkbyBlbGVtZW50by4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBRdWFuZG8gYHRydWVgLCBjaGFtYSBgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClgIGFvIGF0aXZhci4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBwdWJsaWMgc3RvcFByb3BhZ2F0aW9uID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBFVkVOVF9MSVNURU5FUiA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgICAgICAgICAgY29uc3QgdmFsaWRLZXlzID0gWydFbnRlcicsICcgJ107XG4gICAgICAgICAgICBpZiAoIXZhbGlkS2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuc3RvcFByb3BhZ2F0aW9uKCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2YXRlZC5lbWl0KGV2ZW50IGFzIFBvaW50ZXJFdmVudCB8IEtleWJvYXJkRXZlbnQpO1xuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFRhYkluZGV4KCk7XG4gICAgICAgIHRoaXMuY2hlY2tBY2Nlc3NiaWxpdHlFdmVudHMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRhYkluZGV4KCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCgpIHx8ICF0aGlzLmZvY3VzYWJsZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGFiSW5kZXggPT09IHVuZGVmaW5lZCB8fCB0aGlzLmVsZW1lbnQudGFiSW5kZXggPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQudGFiSW5kZXggPSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0FjY2Vzc2JpbGl0eUV2ZW50cygpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5FVkVOVF9MSVNURU5FUik7XG4gICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5FVkVOVF9MSVNURU5FUik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLkVWRU5UX0xJU1RFTkVSKTtcbiAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLkVWRU5UX0xJU1RFTkVSKTtcbiAgICB9XG59XG5cbiJdfQ==
79
+ }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29udGVudC9zcmMvbGliL2ludGVyYWN0aXZlLWNvbnRlbnQvaW50ZXJhY3RpdmUtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVoRzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBQ25CLFVBQVUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBRTFFLHlGQUF5RjtJQUNsRixTQUFTLEdBQUcsTUFBTSxDQUErQixFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDMUYseUVBQXlFO0lBQ2xFLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0Isa0ZBQWtGO0lBQzNFLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsNEZBQTRGO0lBQ3JGLGVBQWUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckIsY0FBYyxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7UUFDL0MsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDdEIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsT0FBTztZQUNYLENBQUM7WUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztnQkFDekIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBcUMsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQztJQUVLLFFBQVE7UUFDWCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQVksT0FBTztRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7d0dBNURRLDJCQUEyQjs0RkFBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksIGlucHV0LCBvdXRwdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEaXJldGl2YSBkZSBhY2Vzc2liaWxpZGFkZSBxdWUgdG9ybmEgcXVhbHF1ZXIgZWxlbWVudG8gSFRNTCBpbnRlcmF0aXZvLFxuICogYWRpY2lvbmFuZG8gc3Vwb3J0ZSBhIGV2ZW50b3MgZGUgZm9jbyBlIG5hdmVnYcOnw6NvIHBvciB0ZWNsYWRvIChFbnRlciBlIEVzcGHDp28pXG4gKiBhbMOpbSBkbyBjbGlxdWUgcGFkcsOjby4gR2VyZW5jaWEgYXV0b21hdGljYW1lbnRlIG8gYXRyaWJ1dG8gYHRhYmluZGV4YC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGRpdlxuICogICAoc0ludGVyYWN0aXZlQ29udGVudCk9XCJvbkFjdGl2YXRlKCRldmVudClcIlxuICogICBbZm9jdXNhYmxlXT1cInRydWVcIj5cbiAqICAgQ29udGXDumRvIGludGVyYXRpdm9cbiAqIDwvZGl2PlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IElucHV0c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tzSW50ZXJhY3RpdmVDb250ZW50XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2Egb3UgcHJlc3Npb25hIEVudGVyL0VzcGHDp28gbm8gZWxlbWVudG8uICovXG4gICAgcHVibGljIGFjdGl2YXRlZCA9IG91dHB1dDxQb2ludGVyRXZlbnQgfCBLZXlib2FyZEV2ZW50Pih7IGFsaWFzOiAnc0ludGVyYWN0aXZlQ29udGVudCcgfSk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBIYWJpbGl0YSBvIGZvY28gdmlhIHRlY2xhZG8gKHRhYmluZGV4KS4gQGRlZmF1bHQgdHJ1ZSAqL1xuICAgIHB1YmxpYyBmb2N1c2FibGUgPSBpbnB1dCh0cnVlKTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIERlc2FiaWxpdGEgb3MgZXZlbnRvcyBkZSBpbnRlcmHDp8OjbyBkbyBlbGVtZW50by4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBRdWFuZG8gYHRydWVgLCBjaGFtYSBgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClgIGFvIGF0aXZhci4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBwdWJsaWMgc3RvcFByb3BhZ2F0aW9uID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBFVkVOVF9MSVNURU5FUiA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgICAgICAgICAgY29uc3QgdmFsaWRLZXlzID0gWydFbnRlcicsICcgJ107XG4gICAgICAgICAgICBpZiAoIXZhbGlkS2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuc3RvcFByb3BhZ2F0aW9uKCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2YXRlZC5lbWl0KGV2ZW50IGFzIFBvaW50ZXJFdmVudCB8IEtleWJvYXJkRXZlbnQpO1xuICAgIH07XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0VGFiSW5kZXgoKTtcbiAgICAgICAgdGhpcy5jaGVja0FjY2Vzc2JpbGl0eUV2ZW50cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VGFiSW5kZXgoKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkgfHwgIXRoaXMuZm9jdXNhYmxlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC50YWJJbmRleCA9IC0xO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50YWJJbmRleCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZWxlbWVudC50YWJJbmRleCA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC50YWJJbmRleCA9IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrQWNjZXNzYmlsaXR5RXZlbnRzKCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLkVWRU5UX0xJU1RFTkVSKTtcbiAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLkVWRU5UX0xJU1RFTkVSKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBlbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuRVZFTlRfTElTVEVORVIpO1xuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuRVZFTlRfTElTVEVORVIpO1xuICAgIH1cbn1cblxuIl19