@koobiq/components 16.0.0-beta.9 → 17.0.0-beta.2

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 (427) hide show
  1. package/autocomplete/_autocomplete-theme.scss +3 -10
  2. package/autocomplete/autocomplete-trigger.directive.d.ts +7 -1
  3. package/autocomplete/autocomplete.scss +0 -5
  4. package/badge/_badge-theme.scss +4 -0
  5. package/badge/badge.component.d.ts +1 -0
  6. package/button/_button-base.scss +1 -1
  7. package/button/_button-theme.scss +23 -38
  8. package/button-toggle/_button-toggle-theme.scss +4 -0
  9. package/checkbox/_checkbox-theme.scss +9 -6
  10. package/checkbox/checkbox.scss +6 -9
  11. package/code-block/_code-block-theme.scss +53 -16
  12. package/code-block/actionbar.component.scss +34 -6
  13. package/code-block/code-block.component.d.ts +5 -2
  14. package/code-block/code-block.scss +112 -28
  15. package/core/common-behaviors/index.d.ts +2 -0
  16. package/core/datetime/date-adapter.d.ts +1 -1
  17. package/core/datetime/date-formats.d.ts +1 -1
  18. package/core/formatters/date/formatter.d.ts +2 -2
  19. package/core/formatters/date/formatter.pipe.d.ts +1 -1
  20. package/core/locales/en-US.d.ts +25 -22
  21. package/core/locales/es-LA.d.ts +24 -27
  22. package/core/locales/fa-IR.d.ts +24 -28
  23. package/core/locales/formatters.d.ts +121 -0
  24. package/core/locales/index.d.ts +7 -2
  25. package/core/locales/locale-service.d.ts +146 -32
  26. package/core/locales/pt-BR.d.ts +24 -27
  27. package/core/locales/ru-RU.d.ts +25 -23
  28. package/core/locales/zh-CN.d.ts +25 -27
  29. package/core/option/_option-action-theme.scss +1 -1
  30. package/core/option/_option-theme.scss +5 -5
  31. package/core/option/action.scss +1 -1
  32. package/core/pop-up/pop-up.d.ts +7 -0
  33. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +4 -15
  34. package/core/styles/_koobiq-theme.scss +3 -1
  35. package/core/styles/_variables.scss +1 -10
  36. package/core/styles/common/_overlay.scss +4 -0
  37. package/core/styles/common/_select.scss +2 -1
  38. package/core/styles/theming/_components-theming.scss +99 -38
  39. package/core/styles/theming/{_scrollbars-theme.scss → _scrollbar-theme.scss} +25 -4
  40. package/core/styles/theming/_theming.scss +1 -0
  41. package/core/styles/typography/_typography.scss +8 -1
  42. package/core/utils/data-size/data-size.pipe.d.ts +1 -1
  43. package/dropdown/_dropdown-theme.scss +1 -2
  44. package/ellipsis-center/ellipsis-center.directive.d.ts +3 -3
  45. package/esm2022/alert/alert.component.mjs +12 -12
  46. package/esm2022/alert/alert.module.mjs +4 -4
  47. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +4 -4
  48. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +18 -6
  49. package/esm2022/autocomplete/autocomplete.component.mjs +8 -8
  50. package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
  51. package/esm2022/badge/badge.component.mjs +13 -12
  52. package/esm2022/badge/badge.module.mjs +4 -4
  53. package/esm2022/button/button.component.mjs +16 -13
  54. package/esm2022/button/button.module.mjs +4 -4
  55. package/esm2022/button-toggle/button-toggle.component.mjs +12 -12
  56. package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
  57. package/esm2022/card/card.component.mjs +5 -5
  58. package/esm2022/card/card.module.mjs +4 -4
  59. package/esm2022/checkbox/checkbox-module.mjs +4 -4
  60. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  61. package/esm2022/checkbox/checkbox.mjs +7 -7
  62. package/esm2022/code-block/actionbar.component.mjs +5 -5
  63. package/esm2022/code-block/code-block.component.mjs +32 -14
  64. package/esm2022/code-block/code-block.module.mjs +8 -8
  65. package/esm2022/core/common-behaviors/color.mjs +1 -1
  66. package/esm2022/core/common-behaviors/common-module.mjs +7 -7
  67. package/esm2022/core/common-behaviors/error-state.mjs +1 -1
  68. package/esm2022/core/common-behaviors/index.mjs +3 -1
  69. package/esm2022/core/datetime/date-adapter.mjs +2 -2
  70. package/esm2022/core/datetime/date-formats.mjs +1 -1
  71. package/esm2022/core/error/error-options.mjs +6 -6
  72. package/esm2022/core/formatters/date/formatter.mjs +9 -9
  73. package/esm2022/core/formatters/date/formatter.pipe.mjs +53 -53
  74. package/esm2022/core/formatters/index.mjs +7 -6
  75. package/esm2022/core/formatters/number/formatter.mjs +19 -19
  76. package/esm2022/core/forms/forms-module.mjs +4 -4
  77. package/esm2022/core/forms/forms.directive.mjs +8 -8
  78. package/esm2022/core/highlight/highlight.pipe.mjs +5 -5
  79. package/esm2022/core/highlight/index.mjs +4 -4
  80. package/esm2022/core/line/line.mjs +8 -8
  81. package/esm2022/core/locales/en-US.mjs +25 -22
  82. package/esm2022/core/locales/es-LA.mjs +24 -29
  83. package/esm2022/core/locales/fa-IR.mjs +24 -28
  84. package/esm2022/core/locales/formatters.mjs +126 -0
  85. package/esm2022/core/locales/index.mjs +8 -3
  86. package/esm2022/core/locales/locale-service.mjs +14 -13
  87. package/esm2022/core/locales/locale-service.module.mjs +4 -4
  88. package/esm2022/core/locales/pt-BR.mjs +24 -27
  89. package/esm2022/core/locales/ru-RU.mjs +25 -25
  90. package/esm2022/core/locales/zh-CN.mjs +25 -27
  91. package/esm2022/core/option/action.mjs +9 -8
  92. package/esm2022/core/option/optgroup.mjs +4 -4
  93. package/esm2022/core/option/option-module.mjs +4 -4
  94. package/esm2022/core/option/option.mjs +8 -8
  95. package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
  96. package/esm2022/core/pop-up/pop-up-trigger.mjs +6 -6
  97. package/esm2022/core/pop-up/pop-up.mjs +12 -5
  98. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +6 -6
  99. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  100. package/esm2022/core/services/measure-scrollbar.service.mjs +6 -6
  101. package/esm2022/core/services/theme.service.mjs +5 -5
  102. package/esm2022/core/utils/data-size/data-size.pipe.mjs +9 -9
  103. package/esm2022/core/utils/data-size/size.mjs +1 -1
  104. package/esm2022/core/version.mjs +2 -2
  105. package/esm2022/datepicker/calendar-body.component.mjs +4 -4
  106. package/esm2022/datepicker/calendar-header.component.mjs +5 -5
  107. package/esm2022/datepicker/calendar.component.mjs +6 -6
  108. package/esm2022/datepicker/datepicker-animations.mjs +1 -1
  109. package/esm2022/datepicker/datepicker-input.directive.mjs +6 -6
  110. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  111. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  112. package/esm2022/datepicker/datepicker-toggle.component.mjs +8 -8
  113. package/esm2022/datepicker/datepicker.component.mjs +10 -10
  114. package/esm2022/datepicker/month-view.component.mjs +6 -6
  115. package/esm2022/divider/divider.component.mjs +3 -3
  116. package/esm2022/divider/divider.module.mjs +4 -4
  117. package/esm2022/dl/dl.component.mjs +11 -11
  118. package/esm2022/dl/dl.module.mjs +4 -4
  119. package/esm2022/dropdown/dropdown-content.directive.mjs +6 -6
  120. package/esm2022/dropdown/dropdown-item.component.mjs +9 -8
  121. package/esm2022/dropdown/dropdown-trigger.directive.mjs +6 -6
  122. package/esm2022/dropdown/dropdown.component.mjs +6 -6
  123. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  124. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +20 -20
  125. package/esm2022/file-upload/file-drop.mjs +43 -6
  126. package/esm2022/file-upload/file-upload.mjs +1 -1
  127. package/esm2022/file-upload/file-upload.module.mjs +4 -4
  128. package/esm2022/file-upload/multiple-file-upload.component.mjs +47 -26
  129. package/esm2022/file-upload/single-file-upload.component.mjs +39 -16
  130. package/esm2022/form-field/cleaner.mjs +3 -3
  131. package/esm2022/form-field/form-field.mjs +21 -15
  132. package/esm2022/form-field/form-field.module.mjs +4 -4
  133. package/esm2022/form-field/hint.mjs +20 -8
  134. package/esm2022/form-field/password-hint.mjs +24 -21
  135. package/esm2022/form-field/password-toggle.mjs +6 -6
  136. package/esm2022/form-field/prefix.mjs +3 -3
  137. package/esm2022/form-field/stepper.mjs +4 -4
  138. package/esm2022/form-field/suffix.mjs +3 -3
  139. package/esm2022/form-field/validate.directive.mjs +17 -12
  140. package/esm2022/icon/icon-button.component.mjs +7 -6
  141. package/esm2022/icon/icon-item.component.mjs +7 -6
  142. package/esm2022/icon/icon.component.mjs +18 -6
  143. package/esm2022/icon/icon.module.mjs +4 -4
  144. package/esm2022/input/input-number-validators.mjs +7 -7
  145. package/esm2022/input/input-number.mjs +12 -9
  146. package/esm2022/input/input-password.mjs +6 -6
  147. package/esm2022/input/input.mjs +9 -9
  148. package/esm2022/input/input.module.mjs +4 -4
  149. package/esm2022/link/link.component.mjs +5 -5
  150. package/esm2022/link/link.module.mjs +4 -4
  151. package/esm2022/list/list-selection.component.mjs +16 -16
  152. package/esm2022/list/list.component.mjs +9 -9
  153. package/esm2022/list/list.module.mjs +4 -4
  154. package/esm2022/loader-overlay/loader-overlay.component.mjs +15 -15
  155. package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
  156. package/esm2022/markdown/markdown.component.mjs +5 -5
  157. package/esm2022/markdown/markdown.module.mjs +4 -4
  158. package/esm2022/markdown/markdown.service.mjs +3 -3
  159. package/esm2022/modal/css-unit.pipe.mjs +3 -3
  160. package/esm2022/modal/modal-control.service.mjs +6 -6
  161. package/esm2022/modal/modal.component.mjs +22 -16
  162. package/esm2022/modal/modal.directive.mjs +12 -12
  163. package/esm2022/modal/modal.module.mjs +4 -4
  164. package/esm2022/modal/modal.service.mjs +5 -5
  165. package/esm2022/modal/modal.type.mjs +1 -1
  166. package/esm2022/navbar/navbar-item.component.mjs +69 -104
  167. package/esm2022/navbar/navbar.component.mjs +28 -17
  168. package/esm2022/navbar/navbar.module.mjs +6 -10
  169. package/esm2022/navbar/vertical-navbar.component.mjs +9 -13
  170. package/esm2022/popover/popover-confirm.component.mjs +11 -13
  171. package/esm2022/popover/popover.component.mjs +16 -11
  172. package/esm2022/popover/popover.module.mjs +4 -4
  173. package/esm2022/progress-bar/progress-bar.component.mjs +11 -11
  174. package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
  175. package/esm2022/progress-spinner/progress-spinner.component.mjs +12 -12
  176. package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
  177. package/esm2022/radio/radio.component.mjs +10 -10
  178. package/esm2022/radio/radio.module.mjs +4 -4
  179. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  180. package/esm2022/risk-level/risk-level.module.mjs +4 -4
  181. package/esm2022/scrollbar/index.mjs +2 -0
  182. package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +5 -0
  183. package/esm2022/scrollbar/public-api.mjs +5 -0
  184. package/esm2022/scrollbar/scrollbar.component.mjs +130 -0
  185. package/esm2022/scrollbar/scrollbar.directive.mjs +97 -0
  186. package/esm2022/scrollbar/scrollbar.module.mjs +20 -0
  187. package/esm2022/scrollbar/scrollbar.types.mjs +13 -0
  188. package/esm2022/select/select-option.directive.mjs +6 -6
  189. package/esm2022/select/select.component.mjs +43 -36
  190. package/esm2022/select/select.module.mjs +4 -4
  191. package/esm2022/sidebar/sidebar.component.mjs +11 -11
  192. package/esm2022/sidebar/sidebar.module.mjs +4 -4
  193. package/esm2022/sidepanel/sidepanel-animations.mjs +5 -5
  194. package/esm2022/sidepanel/sidepanel-container.component.mjs +11 -11
  195. package/esm2022/sidepanel/sidepanel-directives.mjs +26 -26
  196. package/esm2022/sidepanel/sidepanel-ref.mjs +1 -1
  197. package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
  198. package/esm2022/sidepanel/sidepanel.service.mjs +6 -6
  199. package/esm2022/splitter/splitter.component.mjs +17 -17
  200. package/esm2022/splitter/splitter.module.mjs +4 -4
  201. package/esm2022/table/table.component.mjs +3 -3
  202. package/esm2022/table/table.module.mjs +4 -4
  203. package/esm2022/tabs/paginated-tab-header.mjs +6 -6
  204. package/esm2022/tabs/tab-body.component.mjs +12 -12
  205. package/esm2022/tabs/tab-content.directive.mjs +4 -4
  206. package/esm2022/tabs/tab-group.component.mjs +21 -21
  207. package/esm2022/tabs/tab-header.component.mjs +7 -7
  208. package/esm2022/tabs/tab-label-wrapper.directive.mjs +6 -5
  209. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  210. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +12 -11
  211. package/esm2022/tabs/tab.component.mjs +5 -5
  212. package/esm2022/tabs/tabs.module.mjs +4 -4
  213. package/esm2022/tags/tag-input.mjs +31 -11
  214. package/esm2022/tags/tag-list.component.mjs +9 -8
  215. package/esm2022/tags/tag.component.mjs +16 -16
  216. package/esm2022/tags/tag.module.mjs +4 -4
  217. package/esm2022/textarea/textarea.component.mjs +36 -25
  218. package/esm2022/textarea/textarea.module.mjs +4 -4
  219. package/esm2022/timepicker/timepicker.directive.mjs +6 -6
  220. package/esm2022/timepicker/timepicker.module.mjs +4 -4
  221. package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
  222. package/esm2022/timezone/timezone-option.component.mjs +10 -9
  223. package/esm2022/timezone/timezone-option.directive.mjs +5 -5
  224. package/esm2022/timezone/timezone-select.component.mjs +9 -9
  225. package/esm2022/timezone/timezone.module.mjs +4 -4
  226. package/esm2022/timezone/timezone.utils.mjs +9 -4
  227. package/esm2022/timezone/utc-offset.pipe.mjs +6 -6
  228. package/esm2022/title/title.directive.mjs +6 -6
  229. package/esm2022/title/title.module.mjs +4 -4
  230. package/esm2022/toast/toast-animations.mjs +3 -3
  231. package/esm2022/toast/toast-container.component.mjs +7 -7
  232. package/esm2022/toast/toast.component.mjs +12 -11
  233. package/esm2022/toast/toast.module.mjs +4 -4
  234. package/esm2022/toast/toast.service.mjs +16 -8
  235. package/esm2022/toast/toast.type.mjs +1 -1
  236. package/esm2022/toggle/toggle.component.mjs +5 -5
  237. package/esm2022/toggle/toggle.module.mjs +4 -4
  238. package/esm2022/tooltip/tooltip.component.mjs +24 -24
  239. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  240. package/esm2022/tree/control/base-tree-control.mjs +4 -4
  241. package/esm2022/tree/control/flat-tree-control.filters.mjs +47 -0
  242. package/esm2022/tree/control/flat-tree-control.mjs +27 -45
  243. package/esm2022/tree/control/nested-tree-control.mjs +1 -1
  244. package/esm2022/tree/control/tree-control.mjs +1 -1
  245. package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
  246. package/esm2022/tree/node.mjs +5 -5
  247. package/esm2022/tree/outlet.mjs +4 -4
  248. package/esm2022/tree/padding.directive.mjs +6 -6
  249. package/esm2022/tree/public-api.mjs +2 -1
  250. package/esm2022/tree/toggle.mjs +12 -12
  251. package/esm2022/tree/tree-base.mjs +10 -10
  252. package/esm2022/tree/tree-option.component.mjs +12 -8
  253. package/esm2022/tree/tree-selection.component.mjs +6 -6
  254. package/esm2022/tree/tree.mjs +3 -3
  255. package/esm2022/tree/tree.module.mjs +4 -4
  256. package/esm2022/tree-select/tree-select.component.mjs +29 -19
  257. package/esm2022/tree-select/tree-select.module.mjs +9 -9
  258. package/fesm2022/koobiq-components-alert.mjs +16 -16
  259. package/fesm2022/koobiq-components-autocomplete.mjs +32 -20
  260. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  261. package/fesm2022/koobiq-components-badge.mjs +16 -15
  262. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  263. package/fesm2022/koobiq-components-button-toggle.mjs +15 -15
  264. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  265. package/fesm2022/koobiq-components-button.mjs +19 -16
  266. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  267. package/fesm2022/koobiq-components-card.mjs +8 -8
  268. package/fesm2022/koobiq-components-card.mjs.map +1 -1
  269. package/fesm2022/koobiq-components-checkbox.mjs +13 -13
  270. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  271. package/fesm2022/koobiq-components-code-block.mjs +40 -23
  272. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  273. package/fesm2022/koobiq-components-core.mjs +473 -350
  274. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  275. package/fesm2022/koobiq-components-datepicker.mjs +45 -45
  276. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  277. package/fesm2022/koobiq-components-divider.mjs +7 -7
  278. package/fesm2022/koobiq-components-dl.mjs +14 -14
  279. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  280. package/fesm2022/koobiq-components-dropdown.mjs +27 -26
  281. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  282. package/fesm2022/koobiq-components-ellipsis-center.mjs +19 -19
  283. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  284. package/fesm2022/koobiq-components-file-upload.mjs +128 -50
  285. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  286. package/fesm2022/koobiq-components-form-field.mjs +97 -72
  287. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  288. package/fesm2022/koobiq-components-icon.mjs +33 -19
  289. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  290. package/fesm2022/koobiq-components-input.mjs +34 -31
  291. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  292. package/fesm2022/koobiq-components-link.mjs +8 -8
  293. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  294. package/fesm2022/koobiq-components-list.mjs +27 -27
  295. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  296. package/fesm2022/koobiq-components-loader-overlay.mjs +18 -18
  297. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  298. package/fesm2022/koobiq-components-markdown.mjs +11 -11
  299. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  300. package/fesm2022/koobiq-components-modal.mjs +49 -43
  301. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  302. package/fesm2022/koobiq-components-navbar.mjs +108 -149
  303. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  304. package/fesm2022/koobiq-components-popover.mjs +30 -26
  305. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  306. package/fesm2022/koobiq-components-progress-bar.mjs +14 -14
  307. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  308. package/fesm2022/koobiq-components-progress-spinner.mjs +15 -15
  309. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  310. package/fesm2022/koobiq-components-radio.mjs +13 -13
  311. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  312. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  313. package/fesm2022/koobiq-components-scrollbar.mjs +256 -0
  314. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -0
  315. package/fesm2022/koobiq-components-select.mjs +49 -42
  316. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  317. package/fesm2022/koobiq-components-sidebar.mjs +14 -14
  318. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  319. package/fesm2022/koobiq-components-sidepanel.mjs +47 -47
  320. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  321. package/fesm2022/koobiq-components-splitter.mjs +20 -20
  322. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  323. package/fesm2022/koobiq-components-table.mjs +7 -7
  324. package/fesm2022/koobiq-components-tabs.mjs +72 -70
  325. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  326. package/fesm2022/koobiq-components-tags.mjs +56 -36
  327. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  328. package/fesm2022/koobiq-components-textarea.mjs +39 -28
  329. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  330. package/fesm2022/koobiq-components-timepicker.mjs +9 -9
  331. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  332. package/fesm2022/koobiq-components-timezone.mjs +42 -37
  333. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  334. package/fesm2022/koobiq-components-title.mjs +9 -9
  335. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  336. package/fesm2022/koobiq-components-toast.mjs +36 -27
  337. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  338. package/fesm2022/koobiq-components-toggle.mjs +8 -8
  339. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  340. package/fesm2022/koobiq-components-tooltip.mjs +27 -27
  341. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  342. package/fesm2022/koobiq-components-tree-select.mjs +36 -26
  343. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  344. package/fesm2022/koobiq-components-tree.mjs +132 -100
  345. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  346. package/file-upload/_file-upload-theme.scss +10 -1
  347. package/file-upload/file-drop.d.ts +2 -1
  348. package/file-upload/file-upload.d.ts +4 -1
  349. package/file-upload/multiple-file-upload.component.d.ts +14 -6
  350. package/file-upload/single-file-upload.component.d.ts +12 -6
  351. package/form-field/_form-field-theme.scss +8 -14
  352. package/form-field/form-field.d.ts +2 -0
  353. package/form-field/form-field.scss +12 -1
  354. package/form-field/hint.scss +1 -1
  355. package/form-field/password-hint.d.ts +7 -5
  356. package/icon/icon-button.component.d.ts +1 -0
  357. package/icon/icon-item.component.d.ts +1 -0
  358. package/icon/icon.component.d.ts +3 -0
  359. package/input/input-number.d.ts +3 -2
  360. package/link/_link-theme.scss +1 -0
  361. package/list/_list-theme.scss +1 -2
  362. package/list/list.scss +3 -3
  363. package/loader-overlay/loader-overlay.scss +2 -2
  364. package/modal/_modal-confirm.scss +0 -24
  365. package/modal/modal.component.d.ts +4 -2
  366. package/modal/modal.scss +32 -20
  367. package/modal/modal.type.d.ts +0 -1
  368. package/navbar/_navbar-item_horizontal.scss +97 -0
  369. package/navbar/_navbar-item_vertical.scss +98 -0
  370. package/navbar/_navbar-theme.scss +58 -60
  371. package/navbar/navbar-brand.scss +76 -16
  372. package/navbar/navbar-divider.scss +13 -4
  373. package/navbar/navbar-item.component.d.ts +6 -17
  374. package/navbar/navbar-item.scss +41 -87
  375. package/navbar/navbar.component.d.ts +3 -0
  376. package/navbar/navbar.module.d.ts +1 -1
  377. package/navbar/navbar.scss +13 -1
  378. package/navbar/vertical-navbar.scss +7 -14
  379. package/package.json +28 -20
  380. package/popover/popover-confirm.component.d.ts +0 -2
  381. package/popover/popover.component.d.ts +6 -1
  382. package/popover/popover.scss +4 -9
  383. package/prebuilt-themes/dark-theme.css +1 -1
  384. package/prebuilt-themes/light-theme.css +1 -1
  385. package/progress-spinner/progress-spinner.scss +10 -5
  386. package/scrollbar/_scrollbar-component-theme.scss +52 -0
  387. package/scrollbar/index.d.ts +1 -0
  388. package/scrollbar/public-api.d.ts +4 -0
  389. package/scrollbar/scrollbar.component.d.ts +33 -0
  390. package/scrollbar/scrollbar.component.scss +559 -0
  391. package/scrollbar/scrollbar.directive.d.ts +47 -0
  392. package/scrollbar/scrollbar.module.d.ts +8 -0
  393. package/scrollbar/scrollbar.types.d.ts +32 -0
  394. package/select/select.component.d.ts +4 -3
  395. package/select/select.scss +7 -0
  396. package/sidepanel/sidepanel-animations.d.ts +2 -2
  397. package/sidepanel/sidepanel-directives.d.ts +5 -5
  398. package/splitter/_splitter-theme.scss +5 -4
  399. package/tabs/_tabs-common.scss +1 -1
  400. package/tabs/_tabs-theme.scss +2 -2
  401. package/tags/tag-input.d.ts +9 -4
  402. package/tags/tag-list.scss +4 -0
  403. package/textarea/textarea.component.d.ts +4 -3
  404. package/timezone/_timezone-option-theme.scss +8 -0
  405. package/timezone/timezone-option.component.scss +4 -0
  406. package/timezone/timezone-select.component.scss +13 -0
  407. package/timezone/timezone.utils.d.ts +4 -0
  408. package/timezone/utc-offset.pipe.d.ts +3 -1
  409. package/toast/toast-animations.d.ts +1 -1
  410. package/toast/toast-container.component.scss +1 -9
  411. package/toast/toast.component.scss +0 -4
  412. package/toast/toast.service.d.ts +5 -3
  413. package/toast/toast.type.d.ts +1 -0
  414. package/tooltip/tooltip.component.d.ts +1 -1
  415. package/tooltip/tooltip.scss +0 -3
  416. package/tree/_tree-theme.scss +5 -5
  417. package/tree/control/base-tree-control.d.ts +1 -1
  418. package/tree/control/flat-tree-control.d.ts +5 -3
  419. package/tree/control/flat-tree-control.filters.d.ts +26 -0
  420. package/tree/control/tree-control.d.ts +1 -1
  421. package/tree/public-api.d.ts +1 -0
  422. package/tree/tree-option.scss +4 -4
  423. package/tree-select/tree-select.component.d.ts +8 -4
  424. package/tree-select/tree-select.module.d.ts +1 -1
  425. package/esm2022/navbar/vertical-navbar.animation.mjs +0 -10
  426. package/form-field/password-hint.scss +0 -11
  427. package/navbar/vertical-navbar.animation.d.ts +0 -2
@@ -133,17 +133,17 @@ export class KbqDecimalPipe {
133
133
  isSpecialFormatForRULocale(locale, value, grouping) {
134
134
  return ['ru', 'ru-RU'].includes(locale) && grouping === undefined && value < defaultValueForGroupingInRULocale;
135
135
  }
136
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDecimalPipe, deps: [{ token: KBQ_LOCALE_ID, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }, { token: KBQ_NUMBER_FORMATTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
137
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: KbqDecimalPipe, name: "kbqNumber", pure: false }); }
138
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDecimalPipe, providedIn: 'root' }); }
136
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqDecimalPipe, deps: [{ token: KBQ_LOCALE_ID, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }, { token: KBQ_NUMBER_FORMATTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
137
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqDecimalPipe, name: "kbqNumber", pure: false }); }
138
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqDecimalPipe, providedIn: 'root' }); }
139
139
  }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDecimalPipe, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqDecimalPipe, decorators: [{
141
141
  type: Injectable,
142
142
  args: [{ providedIn: 'root' }]
143
143
  }, {
144
144
  type: Pipe,
145
145
  args: [{ name: 'kbqNumber', pure: false }]
146
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
146
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
147
147
  type: Optional
148
148
  }, {
149
149
  type: Inject,
@@ -158,7 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
158
158
  }, {
159
159
  type: Inject,
160
160
  args: [KBQ_NUMBER_FORMATTER_OPTIONS]
161
- }] }]; } });
161
+ }] }] });
162
162
  export class KbqTableNumberPipe {
163
163
  constructor(id, localeService, options) {
164
164
  this.id = id;
@@ -209,17 +209,17 @@ export class KbqTableNumberPipe {
209
209
  throw Error(`InvalidPipeArgument: KbqTableNumberPipe for pipe '${JSON.stringify(error.message)}'`);
210
210
  }
211
211
  }
212
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTableNumberPipe, deps: [{ token: KBQ_LOCALE_ID, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }, { token: KBQ_NUMBER_FORMATTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
213
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: KbqTableNumberPipe, name: "kbqTableNumber", pure: false }); }
214
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTableNumberPipe, providedIn: 'root' }); }
212
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTableNumberPipe, deps: [{ token: KBQ_LOCALE_ID, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }, { token: KBQ_NUMBER_FORMATTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
213
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqTableNumberPipe, name: "kbqTableNumber", pure: false }); }
214
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTableNumberPipe, providedIn: 'root' }); }
215
215
  }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTableNumberPipe, decorators: [{
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTableNumberPipe, decorators: [{
217
217
  type: Injectable,
218
218
  args: [{ providedIn: 'root' }]
219
219
  }, {
220
220
  type: Pipe,
221
221
  args: [{ name: 'kbqTableNumber', pure: false }]
222
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
222
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
223
223
  type: Optional
224
224
  }, {
225
225
  type: Inject,
@@ -234,7 +234,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
234
234
  }, {
235
235
  type: Inject,
236
236
  args: [KBQ_NUMBER_FORMATTER_OPTIONS]
237
- }] }]; } });
237
+ }] }] });
238
238
  export function isWithin(startRange, endRange, valueToCheck) {
239
239
  return startRange <= valueToCheck && valueToCheck < endRange;
240
240
  }
@@ -326,17 +326,17 @@ export class KbqRoundDecimalPipe {
326
326
  });
327
327
  return currentUnit;
328
328
  }
329
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqRoundDecimalPipe, deps: [{ token: KBQ_LOCALE_ID, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
330
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: KbqRoundDecimalPipe, name: "kbqRoundNumber", pure: false }); }
331
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqRoundDecimalPipe, providedIn: 'root' }); }
329
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqRoundDecimalPipe, deps: [{ token: KBQ_LOCALE_ID, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
330
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqRoundDecimalPipe, name: "kbqRoundNumber", pure: false }); }
331
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqRoundDecimalPipe, providedIn: 'root' }); }
332
332
  }
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqRoundDecimalPipe, decorators: [{
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqRoundDecimalPipe, decorators: [{
334
334
  type: Injectable,
335
335
  args: [{ providedIn: 'root' }]
336
336
  }, {
337
337
  type: Pipe,
338
338
  args: [{ name: 'kbqRoundNumber', pure: false }]
339
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
339
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
340
340
  type: Optional
341
341
  }, {
342
342
  type: Inject,
@@ -346,5 +346,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
346
346
  }, {
347
347
  type: Inject,
348
348
  args: [KBQ_LOCALE_SERVICE]
349
- }] }]; } });
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL2Zvcm1hdHRlcnMvbnVtYmVyL2Zvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczRyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBUywyQkFBMkIsQ0FBQyxDQUFDO0FBRXBHLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFxQjtJQUNsRSxXQUFXLEVBQUUsSUFBSTtJQUNqQixvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZCLHFCQUFxQixFQUFFLENBQUM7SUFDeEIscUJBQXFCLEVBQUUsQ0FBQztDQUMzQixDQUFDO0FBR0YsU0FBUyxPQUFPLENBQUMsS0FBVTtJQUN2QixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxLQUFzQjtJQUN2QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDeEUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDeEI7SUFFRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxrQkFBa0IsQ0FBQyxD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cEMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUUzRCxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLENBQUM7YUFBRTtZQUNyRCxJQUFJLEdBQUcsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNoQyxXQUFXLEdBQUcsR0FBRyxDQUFDO2dCQUVsQixPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO2lJQXBHUSxtQkFBbUIsa0JBS0osYUFBYSw2QkFDYixrQkFBa0I7K0hBTmpDLG1CQUFtQjtxSUFBbkIsbUJBQW1CLGNBRk4sTUFBTTs7MkZBRW5CLG1CQUFtQjtrQkFGL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O2tCQUNqQyxJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7OzBCQU1wQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOm5hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBLQlFfREVGQVVMVF9MT0NBTEVfSUQsIEtCUV9MT0NBTEVfSUQsIEtCUV9MT0NBTEVfU0VSVklDRSwgS2JxTG9jYWxlU2VydmljZSB9IGZyb20gJy4uLy4uL2xvY2FsZXMnO1xuXG5cbmV4cG9ydCBjb25zdCBLQlFfTlVNQkVSX0ZPUk1BVFRFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0ticU51bWJlckZvcm1hdHRlck9wdGlvbnMnKTtcblxuZXhwb3J0IGNvbnN0IEtCUV9OVU1CRVJfRk9STUFUVEVSX0RFRkFVTFRfT1BUSU9OUzogUGFyc2VkRGlnaXRzSW5mbyA9IHtcbiAgICB1c2VHcm91cGluZzogdHJ1ZSxcbiAgICBtaW5pbXVtSW50ZWdlckRpZ2l0czogMSxcbiAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAzXG59O1xuXG5cbmZ1bmN0aW9uIGlzRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJyB8fCB2YWx1ZSAhPT0gdmFsdWU7XG59XG5cbmZ1bmN0aW9uIHN0clRvTnVtYmVyKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICFpc05hTihOdW1iZXIodmFsdWUpIC0gcGFyc2VGbG9hdCh2YWx1ZSkpKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt2YWx1ZX0gaXMgbm90IGEgbnVtYmVyYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgY29uc3QgTlVNQkVSX0ZPUk1BVF9SRUdFWFAgPSAvXihcXGQrKT9cXC4oKFxcZCspKC0oXFxkKykpPygtKHRydWV8ZmFsc2UpKT8pPyQvO1xuXG5jb25zdCBtaW5JbnRHcm91cFBvc2l0aW9uID0gMTtcbmNvbnN0IG1pbkZyYWN0aW9uR3JvdXBQb3NpdGlvbiA9IDM7XG5jb25zdCBtYXhGcmFjdGlvbkdyb3VwUG9zaXRpb24gPSA1O1xuY29uc3QgdXNlR3JvdXBpbmdQb3NpdGlvbiA9IDc7XG5cbmludGVyZmFjZSBOdW1iZXJGb3JtYXRPcHRpb25zIHtcbiAgICB1c2VHcm91cGluZzogYm9vbGVhbjtcblxuICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiBudW1iZXI7XG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG4gICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG4gICAgbWluaW11bVNpZ25pZmljYW50RGlnaXRzOiBudW1iZXI7XG4gICAgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzOiBudW1iZXI7XG5cbiAgICBsb2NhbGVNYXRjaGVyPzogc3RyaW5nO1xuICAgIHN0eWxlPzogc3RyaW5nO1xuXG4gICAgY3VycmVuY3k/OiBzdHJpbmc7XG4gICAgY3VycmVuY3lEaXNwbGF5Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUm91bmREZWNpbWFsT3B0aW9ucyB7XG4gICAgc2VwYXJhdG9yOiBzdHJpbmc7XG4gICAgZ3JvdXBTZXBhcmF0b3I6IHN0cmluZztcbiAgICB0aG91c2FuZHM/OiBzdHJpbmc7XG4gICAgdGVuVGhvdXNhbmQ/OiBzdHJpbmc7XG4gICAgbWlsbGlvbj86IHN0cmluZztcbiAgICBvbmVIdW5kcmVkTWlsbGlvbnM/OiBzdHJpbmc7XG4gICAgYmlsbGlvbj86IHN0cmluZztcbiAgICB0cmlsbGlvbjogc3RyaW5nO1xuICAgIHJ0bD86IGJvb2xlYW47XG59XG5cblxuLy8gdHNsaW50OmRpc2FibGU6bm8tbWFnaWMtbnVtYmVyc1xuY29uc3QgUk9VTkRJTkdfVU5JVFMgPSB7XG4gICAgdGhvdXNhbmQ6IDFlMyxcbiAgICB0ZW5UaG91c2FuZDogMTAgKiAxZTMsXG4gICAgbWlsbGlvbjogMWU2LFxuICAgIG9uZUh1bmRyZWRNaWxsaW9uczogMTAwICogMWU2LFxuICAgIGJpbGxpb246IDFlOSxcbiAgICB0cmlsbGlvbjogMWUxMlxufTtcblxuY29uc3QgaW50ZXJ2YWxzQ29uZmlnID0ge1xuICAgIHN1cHBvcnRlZExhbmd1YWdlczogWydydS1SVScsICdlbi1VUycsICdlcy1MQScsICdwdC1CUicsICdmYS1JUiddLFxuICAgIGludGVydmFsczogW1xuICAgICAgICB7IHN0YXJ0UmFuZ2U6IDEsIGVuZFJhbmdlOiBST1VORElOR19VTklUUy50aG91c2FuZCB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLnRob3VzYW5kLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMudGVuVGhvdXNhbmQsIHByZWNpc2lvbjogMSB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLnRlblRob3VzYW5kLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMubWlsbGlvbiB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLm1pbGxpb24sIGVuZFJhbmdlOiBST1VORElOR19VTklUUy5taWxsaW9uICogMTAsIHByZWNpc2lvbjogMSB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLm1pbGxpb24gKiAxMCwgZW5kUmFuZ2U6IFJPVU5ESU5HX1VOSVRTLmJpbGxpb24gfVxuICAgIF1cbn07XG4vLyB0c2xpbnQ6ZW5hYmxlOm5vLW1hZ2ljLW51bWJlcnNcblxuY2xhc3MgUGFyc2VkRGlnaXRzSW5mbyB7XG4gICAgdXNlR3JvdXBpbmc6IGJvb2xlYW47XG4gICAgbWluaW11bUludGVnZXJEaWdpdHM6IG51bWJlcjtcbiAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG51bWJlcjtcbiAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IG51bWJlcjtcbn1cblxuY29uc3QgZGVmYXVsdFZhbHVlRm9yR3JvdXBpbmdJblJVTG9jYWxlOiBudW1iZXIgPSAxMDAwMDtcblxuZnVuY3Rpb24gcGFyc2VEaWdpdHNJbmZvKGRpZ2l0c0luZm86IHN0cmluZyk6IFBhcnNlZERpZ2l0c0luZm8ge1xuICAgIGNvbnN0IHBhcnRzID0gZGlnaXRzSW5mby5tYXRjaChOVU1CRVJfRk9STUFUX1JFR0VYUCk7XG5cbiAgICBpZiAocGFydHMgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2RpZ2l0c0luZm99IGlzIG5vdCBhIHZhbGlkIGRpZ2l0IGluZm9gKTtcbiAgICB9XG5cbiAgICBjb25zdCBtaW5JbnRQYXJ0ID0gcGFydHNbbWluSW50R3JvdXBQb3NpdGlvbl07XG4gICAgY29uc3QgbWluRnJhY3Rpb25QYXJ0ID0gcGFydHNbbWluRnJhY3Rpb25Hcm91cFBvc2l0aW9uXTtcbiAgICBjb25zdCBtYXhGcmFjdGlvblBhcnQgPSBwYXJ0c1ttYXhGcmFjdGlvbkdyb3VwUG9zaXRpb25dO1xuICAgIGNvbnN0IHVzZUdyb3VwaW5nUGFydCA9IHBhcnRzW3VzZUdyb3VwaW5nUG9zaXRpb25dO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFBhcnNlZERpZ2l0c0luZm8oKTtcblxuICAgIGlmIChtaW5JbnRQYXJ0ICE9IG51bGwpIHtcbiAgICAgICAgcmVzdWx0Lm1pbmltdW1JbnRlZ2VyRGlnaXRzID0gcGFyc2VJbnQobWluSW50UGFydCk7XG4gICAgfVxuXG4gICAgaWYgKG1pbkZyYWN0aW9uUGFydCAhPSBudWxsKSB7XG4gICAgICAgIHJlc3VsdC5taW5pbXVtRnJhY3Rpb25EaWdpdHMgPSBwYXJzZUludChtaW5GcmFjdGlvblBhcnQpO1xuICAgIH1cblxuICAgIGlmIChtYXhGcmFjdGlvblBhcnQgIT0gbnVsbCkge1xuICAgICAgICByZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzID0gcGFyc2VJbnQobWF4RnJhY3Rpb25QYXJ0KTtcbiAgICB9IGVsc2UgaWYgKG1pbkZyYWN0aW9uUGFydCAhPSBudWxsICYmIHJlc3VsdC5taW5pbXVtRnJhY3Rpb25EaWdpdHMgPiByZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzKSB7XG4gICAgICAgIHJlc3VsdC5tYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSByZXN1bHQubWluaW11bUZyYWN0aW9uRGlnaXRzO1xuICAgIH1cblxuICAgIGlmICh1c2VHcm91cGluZ1BhcnQgIT0gbnVsbCkge1xuICAgICAgICByZXN1bHQudXNlR3JvdXBpbmcgPSB1c2VHcm91cGluZ1BhcnQgPT09ICd0cnVlJztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5AUGlwZSh7IG5hbWU6ICdrYnFOdW1iZXInLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIEticURlY2ltYWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0xPQ0FMRV9JRCkgcHJpdmF0ZSBpZDogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9MT0NBTEVfU0VSVklDRSkgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBLYnFMb2NhbGVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9OVU1CRVJfRk9STUFUVEVSX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUGFyc2VkRGlnaXRzSW5mb1xuICAgICkge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwgS0JRX05VTUJFUl9GT1JNQVRURVJfREVGQVVMVF9PUFRJT05TO1xuXG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZT8uY2hhbmdlc1xuICAgICAgICAgICAgLnN1YnNjcmliZSgobmV3SWQ6IHN0cmluZykgPT4gdGhpcy5pZCA9IG5ld0lkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIG51bWJlciB0byBiZSBmb3JtYXR0ZWQuXG4gICAgICogQHBhcmFtIGRpZ2l0c0luZm8gRGVjaW1hbCByZXByZXNlbnRhdGlvbiBvcHRpb25zLCBzcGVjaWZpZWQgYnkgYSBzdHJpbmdcbiAgICAgKiBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDo8YnI+XG4gICAgICogPGNvZGU+e21pbkludGVnZXJEaWdpdHN9LnttaW5GcmFjdGlvbkRpZ2l0c30te21heEZyYWN0aW9uRGlnaXRzfTwvY29kZT4uXG4gICAgICogICAtIGBtaW5JbnRlZ2VyRGlnaXRzYDogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGludGVnZXIgZGlnaXRzIGJlZm9yZSB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAxYC5cbiAgICAgKiAgIC0gYG1pbkZyYWN0aW9uRGlnaXRzYDogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAwYC5cbiAgICAgKiAgIC0gYG1heEZyYWN0aW9uRGlnaXRzYDogVGhlIG1heGltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAzYC5cbiAgICAgKiBAcGFyYW0gbG9jYWxlIEEgbG9jYWxlIGNvZGUgZm9yIHRoZSBsb2NhbGUgZm9ybWF0IHJ1bGVzIHRvIHVzZS5cbiAgICAgKiBXaGVuIG5vdCBzdXBwbGllZCwgdXNlcyB0aGUgdmFsdWUgb2YgYEtCUV9MT0NBTEVfSURgLCB3aGljaCBpcyBgcnVgIGJ5IGRlZmF1bHQuXG4gICAgICovXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGRpZ2l0c0luZm8/OiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaXNFbXB0eSh2YWx1ZSkpIHsgcmV0dXJuIG51bGw7IH1cblxuICAgICAgICBjb25zdCBjdXJyZW50TG9jYWxlID0gbG9jYWxlIHx8IHRoaXMuaWQgfHwgS0JRX0RFRkFVTFRfTE9DQUxFX0lEO1xuXG4gICAgICAgIGxldCBwYXJzZWREaWdpdHNJbmZvO1xuXG4gICAgICAgIGlmIChkaWdpdHNJbmZvKSB7XG4gICAgICAgICAgICBwYXJzZWREaWdpdHNJbmZvID0gcGFyc2VEaWdpdHNJbmZvKGRpZ2l0c0luZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uczogTnVtYmVyRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgIC4uLnBhcnNlZERpZ2l0c0luZm9cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5pc1NwZWNpYWxGb3JtYXRGb3JSVUxvY2FsZShjdXJyZW50TG9jYWxlLCB2YWx1ZSwgcGFyc2VkRGlnaXRzSW5mbz8udXNlR3JvdXBpbmcpKSB7XG4gICAgICAgICAgICBvcHRpb25zLnVzZUdyb3VwaW5nID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbnVtID0gc3RyVG9OdW1iZXIodmFsdWUpO1xuXG4gICAgICAgICAgICAvKiBHdWlkZWxpbmUgcmVxdWlyZXMgZm9yIGdyb3VwIHNlcGFyYXRvciB0byBiZSBgc3BhY2VgLCBhcyBpbiAncnUtUlUnIGxvY2FsZS5cbiAgICAgICAgICAgICAqIEJ1dCBieSBkZWZhdWx0IGluIGVzLUxBIGxvY2FsZSBpcyB1c2VkIGBjb21tYWAuXG4gICAgICAgICAgICAgKiBUbyByZWR1Y2UgZGF0YSBtYW5pcHVsYXRpb24sICdydS1SVScgbG9jYWxlIGlzIHVzZWQuICovXG4gICAgICAgICAgICBpZiAoY3VycmVudExvY2FsZSA9PT0gJ2VzLUxBJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBJbnRsLk51bWJlckZvcm1hdC5jYWxsKHRoaXMsICdydS1SVScsIG9wdGlvbnMpLmZvcm1hdChudW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBjdXJyZW50TG9jYWxlLCBvcHRpb25zKS5mb3JtYXQobnVtKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWRQaXBlQXJndW1lbnQ6IEticURlY2ltYWxQaXBlIGZvciBwaXBlICcke0pTT04uc3RyaW5naWZ5KGVycm9yLm1lc3NhZ2UpfSdgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzU3BlY2lhbEZvcm1hdEZvclJVTG9jYWxlKGxvY2FsZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyLCBncm91cGluZz86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFsncnUnLCAncnUtUlUnXS5pbmNsdWRlcyhsb2NhbGUpICYmIGdyb3VwaW5nID09PSB1bmRlZmluZWQgJiYgdmFsdWUgPCBkZWZhdWx0VmFsdWVGb3JHcm91cGluZ0luUlVMb2NhbGU7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuQFBpcGUoeyBuYW1lOiAna2JxVGFibGVOdW1iZXInLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIEticVRhYmxlTnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9MT0NBTEVfSUQpIHByaXZhdGUgaWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UpIHByaXZhdGUgbG9jYWxlU2VydmljZTogS2JxTG9jYWxlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTlVNQkVSX0ZPUk1BVFRFUl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFBhcnNlZERpZ2l0c0luZm9cbiAgICApIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zIHx8IEtCUV9OVU1CRVJfRk9STUFUVEVSX0RFRkFVTFRfT1BUSU9OUztcblxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5ld0lkOiBzdHJpbmcpID0+IHRoaXMuaWQgPSBuZXdJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBudW1iZXIgdG8gYmUgZm9ybWF0dGVkLlxuICAgICAqIEBwYXJhbSBkaWdpdHNJbmZvIERlY2ltYWwgcmVwcmVzZW50YXRpb24gb3B0aW9ucywgc3BlY2lmaWVkIGJ5IGEgc3RyaW5nXG4gICAgICogaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6PGJyPlxuICAgICAqIDxjb2RlPnttaW5JbnRlZ2VyRGlnaXRzfS57bWluRnJhY3Rpb25EaWdpdHN9LXttYXhGcmFjdGlvbkRpZ2l0c308L2NvZGU+LlxuICAgICAqICAgLSBgbWluSW50ZWdlckRpZ2l0c2A6IFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnRlZ2VyIGRpZ2l0cyBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgMWAuXG4gICAgICogICAtIGBtaW5GcmFjdGlvbkRpZ2l0c2A6IFRoZSBtaW5pbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgMGAuXG4gICAgICogICAtIGBtYXhGcmFjdGlvbkRpZ2l0c2A6IFRoZSBtYXhpbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgM2AuXG4gICAgICogQHBhcmFtIGxvY2FsZSBBIGxvY2FsZSBjb2RlIGZvciB0aGUgbG9jYWxlIGZvcm1hdCBydWxlcyB0byB1c2UuXG4gICAgICogV2hlbiBub3Qgc3VwcGxpZWQsIHVzZXMgdGhlIHZhbHVlIG9mIGBLQlFfTE9DQUxFX0lEYCwgd2hpY2ggaXMgYHJ1YCBieSBkZWZhdWx0LlxuICAgICAqL1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKGlzRW1wdHkodmFsdWUpKSB7IHJldHVybiBudWxsOyB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudExvY2FsZSA9IGxvY2FsZSB8fCB0aGlzLmlkIHx8IEtCUV9ERUZBVUxUX0xPQ0FMRV9JRDtcblxuICAgICAgICBsZXQgcGFyc2VkRGlnaXRzSW5mbztcblxuICAgICAgICBpZiAoZGlnaXRzSW5mbykge1xuICAgICAgICAgICAgcGFyc2VkRGlnaXRzSW5mbyA9IHBhcnNlRGlnaXRzSW5mbyhkaWdpdHNJbmZvKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IE51bWJlckZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICAuLi5wYXJzZWREaWdpdHNJbmZvXG4gICAgICAgIH07XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IHN0clRvTnVtYmVyKHZhbHVlKTtcblxuICAgICAgICAgICAgLyogR3VpZGVsaW5lIHJlcXVpcmVzIGZvciBncm91cCBzZXBhcmF0b3IgdG8gYmUgYHNwYWNlYCwgYXMgaW4gJ3J1LVJVJyBsb2NhbGUuXG4gICAgICAgICAgICAgKiBCdXQgYnkgZGVmYXVsdCBpbiBlcy1MQSBsb2NhbGUgaXMgdXNlZCBgY29tbWFgLlxuICAgICAgICAgICAgICogVG8gcmVkdWNlIGRhdGEgbWFuaXB1bGF0aW9uLCAncnUtUlUnIGxvY2FsZSBpcyB1c2VkLiAqL1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRMb2NhbGUgPT09ICdlcy1MQScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCAncnUtUlUnLCBvcHRpb25zKS5mb3JtYXQobnVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgY3VycmVudExvY2FsZSwgb3B0aW9ucykuZm9ybWF0KG51bSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkUGlwZUFyZ3VtZW50OiBLYnFUYWJsZU51bWJlclBpcGUgZm9yIHBpcGUgJyR7SlNPTi5zdHJpbmdpZnkoZXJyb3IubWVzc2FnZSl9J2ApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXaXRoaW4oc3RhcnRSYW5nZTogbnVtYmVyLCBlbmRSYW5nZTogbnVtYmVyLCB2YWx1ZVRvQ2hlY2s6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGFydFJhbmdlIDw9IHZhbHVlVG9DaGVjayAmJiB2YWx1ZVRvQ2hlY2sgPCBlbmRSYW5nZTtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbkBQaXBlKHsgbmFtZTogJ2ticVJvdW5kTnVtYmVyJywgcHVyZTogZmFsc2UgfSlcbmV4cG9ydCBjbGFzcyBLYnFSb3VuZERlY2ltYWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICByb3VuZGluZ09wdGlvbnM6IFJvdW5kRGVjaW1hbE9wdGlvbnM7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX0lEKSBwcml2YXRlIGlkOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFKSBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IEticUxvY2FsZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlPy5jaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuZXdJZDogc3RyaW5nKSA9PiB0aGlzLmlkID0gbmV3SWQpO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBsb2NhbGU/OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAoaXNFbXB0eSh2YWx1ZSkpIHsgcmV0dXJuIG51bGw7IH1cblxuICAgICAgICBjb25zdCBjdXJyZW50TG9jYWxlOiBzdHJpbmcgPSBsb2NhbGUgfHwgdGhpcy5pZCB8fCBLQlFfREVGQVVMVF9MT0NBTEVfSUQ7XG4gICAgICAgIHRoaXMucm91bmRpbmdPcHRpb25zID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZXNbY3VycmVudExvY2FsZV0uZm9ybWF0dGVycy5udW1iZXIucm91bmRpbmc7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IHN0clRvTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IHVuaXQgPSB0aGlzLmNhbGN1bGF0ZVVuaXQobnVtKTtcbiAgICAgICAgICAgIGlmICghdW5pdCkgeyByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBjdXJyZW50TG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KS5mb3JtYXQobnVtKTsgfVxuXG4gICAgICAgICAgICBsZXQgcGFydHM6IHsgbnVtPzogbnVtYmVyOyBmcmFjdGlvbj86IG51bWJlciB9ID0ge307XG5cbiAgICAgICAgICAgIGlmIChpbnRlcnZhbHNDb25maWcuc3VwcG9ydGVkTGFuZ3VhZ2VzLmluY2x1ZGVzKGN1cnJlbnRMb2NhbGUpKSB7XG4gICAgICAgICAgICAgICAgaW50ZXJ2YWxzQ29uZmlnLmludGVydmFsc1xuICAgICAgICAgICAgICAgICAgICAuZmluZCgoeyBzdGFydFJhbmdlLCBlbmRSYW5nZSwgcHJlY2lzaW9uIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHdpdGhpbiA9IGlzV2l0aGluKHN0YXJ0UmFuZ2UsIGVuZFJhbmdlLCBudW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpdGhpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVjaXNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMgPSB1bml0ID09PSAndGhvdXNhbmQnID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUGFydHNGb3JUaG91c2FuZHMobnVtKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtOiBNYXRoLnRydW5jKG51bSAvIFJPVU5ESU5HX1VOSVRTW3VuaXRdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFjdGlvbjogdGhpcy5jYWxjdWxhdGVEZWNpbWFsKG51bSwgUk9VTkRJTkdfVU5JVFNbdW5pdF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzID0geyBudW06IE1hdGgucm91bmQobnVtIC8gUk9VTkRJTkdfVU5JVFNbdW5pdF0pIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gd2l0aGluO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFydHMgPSBwYXJ0cy5udW0gPyBwYXJ0cyA6IHtcbiAgICAgICAgICAgICAgICBudW06IE1hdGgudHJ1bmMobnVtIC8gUk9VTkRJTkdfVU5JVFNbdW5pdF0pLFxuICAgICAgICAgICAgICAgIGZyYWN0aW9uOiB0aGlzLmNhbGN1bGF0ZURlY2ltYWwobnVtLCBST1VORElOR19VTklUU1t1bml0XSlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhwYXJ0cykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgcGFydHNba2V5XSA9IEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgY3VycmVudExvY2FsZSwgeyB1c2VHcm91cGluZzogZmFsc2UgfSkuZm9ybWF0KHBhcnRzW2tleV0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0ZWRWYWx1ZSA9IHBhcnRzLmZyYWN0aW9uXG4gICAgICAgICAgICAgICAgPyBgJHtwYXJ0cy5udW19JHt0aGlzLnJvdW5kaW5nT3B0aW9ucy5ncm91cFNlcGFyYXRvcn0ke3BhcnRzLmZyYWN0aW9ufWBcbiAgICAgICAgICAgICAgICA6IGAke3BhcnRzLm51bX1gO1xuXG4gICAgICAgICAgICByZXR1cm4gYCR7Y2FsY3VsYXRlZFZhbHVlfSR7dGhpcy5yb3VuZGluZ09wdGlvbnMuc2VwYXJhdG9yfSR7dGhpcy5yb3VuZGluZ09wdGlvbnNbdW5pdF19YDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWRQaXBlQXJndW1lbnQ6IEticVJvdW5kRGVjaW1hbFBpcGUgZm9yIHBpcGUgJyR7SlNPTi5zdHJpbmdpZnkoZXJyb3IubWVzc2FnZSl9J2ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVEZWNpbWFsKG51bTogbnVtYmVyLCBkaXZpZGVyOiBudW1iZXIpIHtcbiAgICAgICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW1hZ2ljLW51bWJlcnMgKi9cbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQobnVtIC8gZGl2aWRlciAlIDEgKiAxMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMiAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxNTAwLi4uMjUwMClcbiAgICAgKlxuICAgICAqIDIsMCAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxOTUwLi4uMjA1MClcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBhcnRzRm9yVGhvdXNhbmRzKG51bTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGRpdmlkZWRWYWx1ZSA9IG51bSAvIFJPVU5ESU5HX1VOSVRTLnRob3VzYW5kO1xuICAgICAgICBjb25zdCBkaXYgPSBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSkgKiBST1VORElOR19VTklUUy50aG91c2FuZDtcbiAgICAgICAgY29uc3QgZmlmdHkgPSA1MDtcblxuICAgICAgICByZXR1cm4gaXNXaXRoaW4oZGl2IC0gZmlmdHksIGRpdiArIGZpZnR5LCBudW0pXG4gICAgICAgICAgICA/IHsgbnVtOiBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSksIGZyYWN0aW9uOiAwIH1cbiAgICAgICAgICAgIDogeyBudW06IE1hdGgucm91bmQoZGl2aWRlZFZhbHVlKSB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlVW5pdChudW06IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGxldCBjdXJyZW50VW5pdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBsb2NhbGl6ZWRPcHRpb25zID0gT2JqZWN0LmtleXModGhpcy5yb3VuZGluZ09wdGlvbnMpO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKFJPVU5ESU5HX1VOSVRTKS5ldmVyeSgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWxvY2FsaXplZE9wdGlvbnMuaW5jbHVkZXMoa2V5KSkgeyByZXR1cm4gdHJ1ZTsgfVxuICAgICAgICAgICAgaWYgKG51bSAvIFJPVU5ESU5HX1VOSVRTW2tleV0gPj0gMSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRVbml0ID0ga2V5O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRVbml0O1xuICAgIH1cbn1cbiJdfQ==
349
+ }] }] });
350
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL2Zvcm1hdHRlcnMvbnVtYmVyL2Zvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczRyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBUywyQkFBMkIsQ0FBQyxDQUFDO0FBRXBHLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFxQjtJQUNsRSxXQUFXLEVBQUUsSUFBSTtJQUNqQixvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZCLHFCQUFxQixFQUFFLENBQUM7SUFDeEIscUJBQXFCLEVBQUUsQ0FBQztDQUMzQixDQUFDO0FBR0YsU0FBUyxPQUFPLENBQUMsS0FBVTtJQUN2QixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxLQUFzQjtJQUN2QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FB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OzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOm5hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBLQlFfREVGQVVMVF9MT0NBTEVfSUQsIEtCUV9MT0NBTEVfSUQsIEtCUV9MT0NBTEVfU0VSVklDRSwgS2JxTG9jYWxlU2VydmljZSB9IGZyb20gJy4uLy4uL2xvY2FsZXMnO1xuXG5cbmV4cG9ydCBjb25zdCBLQlFfTlVNQkVSX0ZPUk1BVFRFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0ticU51bWJlckZvcm1hdHRlck9wdGlvbnMnKTtcblxuZXhwb3J0IGNvbnN0IEtCUV9OVU1CRVJfRk9STUFUVEVSX0RFRkFVTFRfT1BUSU9OUzogUGFyc2VkRGlnaXRzSW5mbyA9IHtcbiAgICB1c2VHcm91cGluZzogdHJ1ZSxcbiAgICBtaW5pbXVtSW50ZWdlckRpZ2l0czogMSxcbiAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAzXG59O1xuXG5cbmZ1bmN0aW9uIGlzRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJyB8fCB2YWx1ZSAhPT0gdmFsdWU7XG59XG5cbmZ1bmN0aW9uIHN0clRvTnVtYmVyKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICFpc05hTihOdW1iZXIodmFsdWUpIC0gcGFyc2VGbG9hdCh2YWx1ZSkpKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt2YWx1ZX0gaXMgbm90IGEgbnVtYmVyYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgY29uc3QgTlVNQkVSX0ZPUk1BVF9SRUdFWFAgPSAvXihcXGQrKT9cXC4oKFxcZCspKC0oXFxkKykpPygtKHRydWV8ZmFsc2UpKT8pPyQvO1xuXG5jb25zdCBtaW5JbnRHcm91cFBvc2l0aW9uID0gMTtcbmNvbnN0IG1pbkZyYWN0aW9uR3JvdXBQb3NpdGlvbiA9IDM7XG5jb25zdCBtYXhGcmFjdGlvbkdyb3VwUG9zaXRpb24gPSA1O1xuY29uc3QgdXNlR3JvdXBpbmdQb3NpdGlvbiA9IDc7XG5cbmludGVyZmFjZSBOdW1iZXJGb3JtYXRPcHRpb25zIHtcbiAgICB1c2VHcm91cGluZzogYm9vbGVhbjtcblxuICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiBudW1iZXI7XG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG4gICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG4gICAgbWluaW11bVNpZ25pZmljYW50RGlnaXRzOiBudW1iZXI7XG4gICAgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzOiBudW1iZXI7XG5cbiAgICBsb2NhbGVNYXRjaGVyPzogc3RyaW5nO1xuICAgIHN0eWxlPzogc3RyaW5nO1xuXG4gICAgY3VycmVuY3k/OiBzdHJpbmc7XG4gICAgY3VycmVuY3lEaXNwbGF5Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUm91bmREZWNpbWFsT3B0aW9ucyB7XG4gICAgc2VwYXJhdG9yOiBzdHJpbmc7XG4gICAgZ3JvdXBTZXBhcmF0b3I6IHN0cmluZztcbiAgICB0aG91c2FuZHM/OiBzdHJpbmc7XG4gICAgdGVuVGhvdXNhbmQ/OiBzdHJpbmc7XG4gICAgbWlsbGlvbj86IHN0cmluZztcbiAgICBvbmVIdW5kcmVkTWlsbGlvbnM/OiBzdHJpbmc7XG4gICAgYmlsbGlvbj86IHN0cmluZztcbiAgICB0cmlsbGlvbjogc3RyaW5nO1xuICAgIHJ0bD86IGJvb2xlYW47XG59XG5cblxuLy8gdHNsaW50OmRpc2FibGU6bm8tbWFnaWMtbnVtYmVyc1xuY29uc3QgUk9VTkRJTkdfVU5JVFMgPSB7XG4gICAgdGhvdXNhbmQ6IDFlMyxcbiAgICB0ZW5UaG91c2FuZDogMTAgKiAxZTMsXG4gICAgbWlsbGlvbjogMWU2LFxuICAgIG9uZUh1bmRyZWRNaWxsaW9uczogMTAwICogMWU2LFxuICAgIGJpbGxpb246IDFlOSxcbiAgICB0cmlsbGlvbjogMWUxMlxufTtcblxuY29uc3QgaW50ZXJ2YWxzQ29uZmlnID0ge1xuICAgIHN1cHBvcnRlZExhbmd1YWdlczogWydydS1SVScsICdlbi1VUycsICdlcy1MQScsICdwdC1CUicsICdmYS1JUiddLFxuICAgIGludGVydmFsczogW1xuICAgICAgICB7IHN0YXJ0UmFuZ2U6IDEsIGVuZFJhbmdlOiBST1VORElOR19VTklUUy50aG91c2FuZCB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLnRob3VzYW5kLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMudGVuVGhvdXNhbmQsIHByZWNpc2lvbjogMSB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLnRlblRob3VzYW5kLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMubWlsbGlvbiB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLm1pbGxpb24sIGVuZFJhbmdlOiBST1VORElOR19VTklUUy5taWxsaW9uICogMTAsIHByZWNpc2lvbjogMSB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLm1pbGxpb24gKiAxMCwgZW5kUmFuZ2U6IFJPVU5ESU5HX1VOSVRTLmJpbGxpb24gfVxuICAgIF1cbn07XG4vLyB0c2xpbnQ6ZW5hYmxlOm5vLW1hZ2ljLW51bWJlcnNcblxuY2xhc3MgUGFyc2VkRGlnaXRzSW5mbyB7XG4gICAgdXNlR3JvdXBpbmc6IGJvb2xlYW47XG4gICAgbWluaW11bUludGVnZXJEaWdpdHM6IG51bWJlcjtcbiAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG51bWJlcjtcbiAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IG51bWJlcjtcbn1cblxuY29uc3QgZGVmYXVsdFZhbHVlRm9yR3JvdXBpbmdJblJVTG9jYWxlOiBudW1iZXIgPSAxMDAwMDtcblxuZnVuY3Rpb24gcGFyc2VEaWdpdHNJbmZvKGRpZ2l0c0luZm86IHN0cmluZyk6IFBhcnNlZERpZ2l0c0luZm8ge1xuICAgIGNvbnN0IHBhcnRzID0gZGlnaXRzSW5mby5tYXRjaChOVU1CRVJfRk9STUFUX1JFR0VYUCk7XG5cbiAgICBpZiAocGFydHMgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2RpZ2l0c0luZm99IGlzIG5vdCBhIHZhbGlkIGRpZ2l0IGluZm9gKTtcbiAgICB9XG5cbiAgICBjb25zdCBtaW5JbnRQYXJ0ID0gcGFydHNbbWluSW50R3JvdXBQb3NpdGlvbl07XG4gICAgY29uc3QgbWluRnJhY3Rpb25QYXJ0ID0gcGFydHNbbWluRnJhY3Rpb25Hcm91cFBvc2l0aW9uXTtcbiAgICBjb25zdCBtYXhGcmFjdGlvblBhcnQgPSBwYXJ0c1ttYXhGcmFjdGlvbkdyb3VwUG9zaXRpb25dO1xuICAgIGNvbnN0IHVzZUdyb3VwaW5nUGFydCA9IHBhcnRzW3VzZUdyb3VwaW5nUG9zaXRpb25dO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFBhcnNlZERpZ2l0c0luZm8oKTtcblxuICAgIGlmIChtaW5JbnRQYXJ0ICE9IG51bGwpIHtcbiAgICAgICAgcmVzdWx0Lm1pbmltdW1JbnRlZ2VyRGlnaXRzID0gcGFyc2VJbnQobWluSW50UGFydCk7XG4gICAgfVxuXG4gICAgaWYgKG1pbkZyYWN0aW9uUGFydCAhPSBudWxsKSB7XG4gICAgICAgIHJlc3VsdC5taW5pbXVtRnJhY3Rpb25EaWdpdHMgPSBwYXJzZUludChtaW5GcmFjdGlvblBhcnQpO1xuICAgIH1cblxuICAgIGlmIChtYXhGcmFjdGlvblBhcnQgIT0gbnVsbCkge1xuICAgICAgICByZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzID0gcGFyc2VJbnQobWF4RnJhY3Rpb25QYXJ0KTtcbiAgICB9IGVsc2UgaWYgKG1pbkZyYWN0aW9uUGFydCAhPSBudWxsICYmIHJlc3VsdC5taW5pbXVtRnJhY3Rpb25EaWdpdHMgPiByZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzKSB7XG4gICAgICAgIHJlc3VsdC5tYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSByZXN1bHQubWluaW11bUZyYWN0aW9uRGlnaXRzO1xuICAgIH1cblxuICAgIGlmICh1c2VHcm91cGluZ1BhcnQgIT0gbnVsbCkge1xuICAgICAgICByZXN1bHQudXNlR3JvdXBpbmcgPSB1c2VHcm91cGluZ1BhcnQgPT09ICd0cnVlJztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5AUGlwZSh7IG5hbWU6ICdrYnFOdW1iZXInLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIEticURlY2ltYWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0xPQ0FMRV9JRCkgcHJpdmF0ZSBpZDogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9MT0NBTEVfU0VSVklDRSkgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBLYnFMb2NhbGVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9OVU1CRVJfRk9STUFUVEVSX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUGFyc2VkRGlnaXRzSW5mb1xuICAgICkge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwgS0JRX05VTUJFUl9GT1JNQVRURVJfREVGQVVMVF9PUFRJT05TO1xuXG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZT8uY2hhbmdlc1xuICAgICAgICAgICAgLnN1YnNjcmliZSgobmV3SWQ6IHN0cmluZykgPT4gdGhpcy5pZCA9IG5ld0lkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIG51bWJlciB0byBiZSBmb3JtYXR0ZWQuXG4gICAgICogQHBhcmFtIGRpZ2l0c0luZm8gRGVjaW1hbCByZXByZXNlbnRhdGlvbiBvcHRpb25zLCBzcGVjaWZpZWQgYnkgYSBzdHJpbmdcbiAgICAgKiBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDo8YnI+XG4gICAgICogPGNvZGU+e21pbkludGVnZXJEaWdpdHN9LnttaW5GcmFjdGlvbkRpZ2l0c30te21heEZyYWN0aW9uRGlnaXRzfTwvY29kZT4uXG4gICAgICogICAtIGBtaW5JbnRlZ2VyRGlnaXRzYDogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGludGVnZXIgZGlnaXRzIGJlZm9yZSB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAxYC5cbiAgICAgKiAgIC0gYG1pbkZyYWN0aW9uRGlnaXRzYDogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAwYC5cbiAgICAgKiAgIC0gYG1heEZyYWN0aW9uRGlnaXRzYDogVGhlIG1heGltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAzYC5cbiAgICAgKiBAcGFyYW0gbG9jYWxlIEEgbG9jYWxlIGNvZGUgZm9yIHRoZSBsb2NhbGUgZm9ybWF0IHJ1bGVzIHRvIHVzZS5cbiAgICAgKiBXaGVuIG5vdCBzdXBwbGllZCwgdXNlcyB0aGUgdmFsdWUgb2YgYEtCUV9MT0NBTEVfSURgLCB3aGljaCBpcyBgcnVgIGJ5IGRlZmF1bHQuXG4gICAgICovXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGRpZ2l0c0luZm8/OiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaXNFbXB0eSh2YWx1ZSkpIHsgcmV0dXJuIG51bGw7IH1cblxuICAgICAgICBjb25zdCBjdXJyZW50TG9jYWxlID0gbG9jYWxlIHx8IHRoaXMuaWQgfHwgS0JRX0RFRkFVTFRfTE9DQUxFX0lEO1xuXG4gICAgICAgIGxldCBwYXJzZWREaWdpdHNJbmZvO1xuXG4gICAgICAgIGlmIChkaWdpdHNJbmZvKSB7XG4gICAgICAgICAgICBwYXJzZWREaWdpdHNJbmZvID0gcGFyc2VEaWdpdHNJbmZvKGRpZ2l0c0luZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uczogTnVtYmVyRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgIC4uLnBhcnNlZERpZ2l0c0luZm9cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5pc1NwZWNpYWxGb3JtYXRGb3JSVUxvY2FsZShjdXJyZW50TG9jYWxlLCB2YWx1ZSwgcGFyc2VkRGlnaXRzSW5mbz8udXNlR3JvdXBpbmcpKSB7XG4gICAgICAgICAgICBvcHRpb25zLnVzZUdyb3VwaW5nID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbnVtID0gc3RyVG9OdW1iZXIodmFsdWUpO1xuXG4gICAgICAgICAgICAvKiBHdWlkZWxpbmUgcmVxdWlyZXMgZm9yIGdyb3VwIHNlcGFyYXRvciB0byBiZSBgc3BhY2VgLCBhcyBpbiAncnUtUlUnIGxvY2FsZS5cbiAgICAgICAgICAgICAqIEJ1dCBieSBkZWZhdWx0IGluIGVzLUxBIGxvY2FsZSBpcyB1c2VkIGBjb21tYWAuXG4gICAgICAgICAgICAgKiBUbyByZWR1Y2UgZGF0YSBtYW5pcHVsYXRpb24sICdydS1SVScgbG9jYWxlIGlzIHVzZWQuICovXG4gICAgICAgICAgICBpZiAoY3VycmVudExvY2FsZSA9PT0gJ2VzLUxBJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBJbnRsLk51bWJlckZvcm1hdC5jYWxsKHRoaXMsICdydS1SVScsIG9wdGlvbnMpLmZvcm1hdChudW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBjdXJyZW50TG9jYWxlLCBvcHRpb25zKS5mb3JtYXQobnVtKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWRQaXBlQXJndW1lbnQ6IEticURlY2ltYWxQaXBlIGZvciBwaXBlICcke0pTT04uc3RyaW5naWZ5KGVycm9yLm1lc3NhZ2UpfSdgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzU3BlY2lhbEZvcm1hdEZvclJVTG9jYWxlKGxvY2FsZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyLCBncm91cGluZz86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFsncnUnLCAncnUtUlUnXS5pbmNsdWRlcyhsb2NhbGUpICYmIGdyb3VwaW5nID09PSB1bmRlZmluZWQgJiYgdmFsdWUgPCBkZWZhdWx0VmFsdWVGb3JHcm91cGluZ0luUlVMb2NhbGU7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuQFBpcGUoeyBuYW1lOiAna2JxVGFibGVOdW1iZXInLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIEticVRhYmxlTnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9MT0NBTEVfSUQpIHByaXZhdGUgaWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UpIHByaXZhdGUgbG9jYWxlU2VydmljZTogS2JxTG9jYWxlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTlVNQkVSX0ZPUk1BVFRFUl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFBhcnNlZERpZ2l0c0luZm9cbiAgICApIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zIHx8IEtCUV9OVU1CRVJfRk9STUFUVEVSX0RFRkFVTFRfT1BUSU9OUztcblxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5ld0lkOiBzdHJpbmcpID0+IHRoaXMuaWQgPSBuZXdJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBudW1iZXIgdG8gYmUgZm9ybWF0dGVkLlxuICAgICAqIEBwYXJhbSBkaWdpdHNJbmZvIERlY2ltYWwgcmVwcmVzZW50YXRpb24gb3B0aW9ucywgc3BlY2lmaWVkIGJ5IGEgc3RyaW5nXG4gICAgICogaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6PGJyPlxuICAgICAqIDxjb2RlPnttaW5JbnRlZ2VyRGlnaXRzfS57bWluRnJhY3Rpb25EaWdpdHN9LXttYXhGcmFjdGlvbkRpZ2l0c308L2NvZGU+LlxuICAgICAqICAgLSBgbWluSW50ZWdlckRpZ2l0c2A6IFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnRlZ2VyIGRpZ2l0cyBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgMWAuXG4gICAgICogICAtIGBtaW5GcmFjdGlvbkRpZ2l0c2A6IFRoZSBtaW5pbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgMGAuXG4gICAgICogICAtIGBtYXhGcmFjdGlvbkRpZ2l0c2A6IFRoZSBtYXhpbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgM2AuXG4gICAgICogQHBhcmFtIGxvY2FsZSBBIGxvY2FsZSBjb2RlIGZvciB0aGUgbG9jYWxlIGZvcm1hdCBydWxlcyB0byB1c2UuXG4gICAgICogV2hlbiBub3Qgc3VwcGxpZWQsIHVzZXMgdGhlIHZhbHVlIG9mIGBLQlFfTE9DQUxFX0lEYCwgd2hpY2ggaXMgYHJ1YCBieSBkZWZhdWx0LlxuICAgICAqL1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKGlzRW1wdHkodmFsdWUpKSB7IHJldHVybiBudWxsOyB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudExvY2FsZSA9IGxvY2FsZSB8fCB0aGlzLmlkIHx8IEtCUV9ERUZBVUxUX0xPQ0FMRV9JRDtcblxuICAgICAgICBsZXQgcGFyc2VkRGlnaXRzSW5mbztcblxuICAgICAgICBpZiAoZGlnaXRzSW5mbykge1xuICAgICAgICAgICAgcGFyc2VkRGlnaXRzSW5mbyA9IHBhcnNlRGlnaXRzSW5mbyhkaWdpdHNJbmZvKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IE51bWJlckZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICAuLi5wYXJzZWREaWdpdHNJbmZvXG4gICAgICAgIH07XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IHN0clRvTnVtYmVyKHZhbHVlKTtcblxuICAgICAgICAgICAgLyogR3VpZGVsaW5lIHJlcXVpcmVzIGZvciBncm91cCBzZXBhcmF0b3IgdG8gYmUgYHNwYWNlYCwgYXMgaW4gJ3J1LVJVJyBsb2NhbGUuXG4gICAgICAgICAgICAgKiBCdXQgYnkgZGVmYXVsdCBpbiBlcy1MQSBsb2NhbGUgaXMgdXNlZCBgY29tbWFgLlxuICAgICAgICAgICAgICogVG8gcmVkdWNlIGRhdGEgbWFuaXB1bGF0aW9uLCAncnUtUlUnIGxvY2FsZSBpcyB1c2VkLiAqL1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRMb2NhbGUgPT09ICdlcy1MQScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCAncnUtUlUnLCBvcHRpb25zKS5mb3JtYXQobnVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgY3VycmVudExvY2FsZSwgb3B0aW9ucykuZm9ybWF0KG51bSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkUGlwZUFyZ3VtZW50OiBLYnFUYWJsZU51bWJlclBpcGUgZm9yIHBpcGUgJyR7SlNPTi5zdHJpbmdpZnkoZXJyb3IubWVzc2FnZSl9J2ApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXaXRoaW4oc3RhcnRSYW5nZTogbnVtYmVyLCBlbmRSYW5nZTogbnVtYmVyLCB2YWx1ZVRvQ2hlY2s6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGFydFJhbmdlIDw9IHZhbHVlVG9DaGVjayAmJiB2YWx1ZVRvQ2hlY2sgPCBlbmRSYW5nZTtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbkBQaXBlKHsgbmFtZTogJ2ticVJvdW5kTnVtYmVyJywgcHVyZTogZmFsc2UgfSlcbmV4cG9ydCBjbGFzcyBLYnFSb3VuZERlY2ltYWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICByb3VuZGluZ09wdGlvbnM6IFJvdW5kRGVjaW1hbE9wdGlvbnM7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX0lEKSBwcml2YXRlIGlkOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFKSBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IEticUxvY2FsZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlPy5jaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuZXdJZDogc3RyaW5nKSA9PiB0aGlzLmlkID0gbmV3SWQpO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBsb2NhbGU/OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAoaXNFbXB0eSh2YWx1ZSkpIHsgcmV0dXJuIG51bGw7IH1cblxuICAgICAgICBjb25zdCBjdXJyZW50TG9jYWxlOiBzdHJpbmcgPSBsb2NhbGUgfHwgdGhpcy5pZCB8fCBLQlFfREVGQVVMVF9MT0NBTEVfSUQ7XG4gICAgICAgIHRoaXMucm91bmRpbmdPcHRpb25zID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZXNbY3VycmVudExvY2FsZV0uZm9ybWF0dGVycy5udW1iZXIucm91bmRpbmc7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IHN0clRvTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IHVuaXQgPSB0aGlzLmNhbGN1bGF0ZVVuaXQobnVtKTtcbiAgICAgICAgICAgIGlmICghdW5pdCkgeyByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBjdXJyZW50TG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KS5mb3JtYXQobnVtKTsgfVxuXG4gICAgICAgICAgICBsZXQgcGFydHM6IHsgbnVtPzogbnVtYmVyOyBmcmFjdGlvbj86IG51bWJlciB9ID0ge307XG5cbiAgICAgICAgICAgIGlmIChpbnRlcnZhbHNDb25maWcuc3VwcG9ydGVkTGFuZ3VhZ2VzLmluY2x1ZGVzKGN1cnJlbnRMb2NhbGUpKSB7XG4gICAgICAgICAgICAgICAgaW50ZXJ2YWxzQ29uZmlnLmludGVydmFsc1xuICAgICAgICAgICAgICAgICAgICAuZmluZCgoeyBzdGFydFJhbmdlLCBlbmRSYW5nZSwgcHJlY2lzaW9uIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHdpdGhpbiA9IGlzV2l0aGluKHN0YXJ0UmFuZ2UsIGVuZFJhbmdlLCBudW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpdGhpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVjaXNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMgPSB1bml0ID09PSAndGhvdXNhbmQnID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUGFydHNGb3JUaG91c2FuZHMobnVtKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtOiBNYXRoLnRydW5jKG51bSAvIFJPVU5ESU5HX1VOSVRTW3VuaXRdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFjdGlvbjogdGhpcy5jYWxjdWxhdGVEZWNpbWFsKG51bSwgUk9VTkRJTkdfVU5JVFNbdW5pdF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzID0geyBudW06IE1hdGgucm91bmQobnVtIC8gUk9VTkRJTkdfVU5JVFNbdW5pdF0pIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gd2l0aGluO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFydHMgPSBwYXJ0cy5udW0gPyBwYXJ0cyA6IHtcbiAgICAgICAgICAgICAgICBudW06IE1hdGgudHJ1bmMobnVtIC8gUk9VTkRJTkdfVU5JVFNbdW5pdF0pLFxuICAgICAgICAgICAgICAgIGZyYWN0aW9uOiB0aGlzLmNhbGN1bGF0ZURlY2ltYWwobnVtLCBST1VORElOR19VTklUU1t1bml0XSlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhwYXJ0cykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgcGFydHNba2V5XSA9IEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgY3VycmVudExvY2FsZSwgeyB1c2VHcm91cGluZzogZmFsc2UgfSkuZm9ybWF0KHBhcnRzW2tleV0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0ZWRWYWx1ZSA9IHBhcnRzLmZyYWN0aW9uXG4gICAgICAgICAgICAgICAgPyBgJHtwYXJ0cy5udW19JHt0aGlzLnJvdW5kaW5nT3B0aW9ucy5ncm91cFNlcGFyYXRvcn0ke3BhcnRzLmZyYWN0aW9ufWBcbiAgICAgICAgICAgICAgICA6IGAke3BhcnRzLm51bX1gO1xuXG4gICAgICAgICAgICByZXR1cm4gYCR7Y2FsY3VsYXRlZFZhbHVlfSR7dGhpcy5yb3VuZGluZ09wdGlvbnMuc2VwYXJhdG9yfSR7dGhpcy5yb3VuZGluZ09wdGlvbnNbdW5pdF19YDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWRQaXBlQXJndW1lbnQ6IEticVJvdW5kRGVjaW1hbFBpcGUgZm9yIHBpcGUgJyR7SlNPTi5zdHJpbmdpZnkoZXJyb3IubWVzc2FnZSl9J2ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVEZWNpbWFsKG51bTogbnVtYmVyLCBkaXZpZGVyOiBudW1iZXIpIHtcbiAgICAgICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW1hZ2ljLW51bWJlcnMgKi9cbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQobnVtIC8gZGl2aWRlciAlIDEgKiAxMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMiAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxNTAwLi4uMjUwMClcbiAgICAgKlxuICAgICAqIDIsMCAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxOTUwLi4uMjA1MClcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBhcnRzRm9yVGhvdXNhbmRzKG51bTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGRpdmlkZWRWYWx1ZSA9IG51bSAvIFJPVU5ESU5HX1VOSVRTLnRob3VzYW5kO1xuICAgICAgICBjb25zdCBkaXYgPSBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSkgKiBST1VORElOR19VTklUUy50aG91c2FuZDtcbiAgICAgICAgY29uc3QgZmlmdHkgPSA1MDtcblxuICAgICAgICByZXR1cm4gaXNXaXRoaW4oZGl2IC0gZmlmdHksIGRpdiArIGZpZnR5LCBudW0pXG4gICAgICAgICAgICA/IHsgbnVtOiBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSksIGZyYWN0aW9uOiAwIH1cbiAgICAgICAgICAgIDogeyBudW06IE1hdGgucm91bmQoZGl2aWRlZFZhbHVlKSB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlVW5pdChudW06IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGxldCBjdXJyZW50VW5pdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBsb2NhbGl6ZWRPcHRpb25zID0gT2JqZWN0LmtleXModGhpcy5yb3VuZGluZ09wdGlvbnMpO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKFJPVU5ESU5HX1VOSVRTKS5ldmVyeSgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWxvY2FsaXplZE9wdGlvbnMuaW5jbHVkZXMoa2V5KSkgeyByZXR1cm4gdHJ1ZTsgfVxuICAgICAgICAgICAgaWYgKG51bSAvIFJPVU5ESU5HX1VOSVRTW2tleV0gPj0gMSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRVbml0ID0ga2V5O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRVbml0O1xuICAgIH1cbn1cbiJdfQ==
@@ -2,13 +2,13 @@ import { NgModule } from '@angular/core';
2
2
  import { KbqForm, KbqFormElement } from './forms.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  export class KbqFormsModule {
5
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: KbqFormsModule, declarations: [KbqForm,
5
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqFormsModule, declarations: [KbqForm,
7
7
  KbqFormElement], exports: [KbqForm,
8
8
  KbqFormElement] }); }
9
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFormsModule }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqFormsModule }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFormsModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqFormsModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  exports: [
@@ -18,10 +18,10 @@ export class KbqFormElement {
18
18
  this.hasLegend = this.element.nativeElement.firstElementChild.classList.contains('kbq-form__legend');
19
19
  }
20
20
  }
21
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFormElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
22
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqFormElement, selector: ".kbq-form__row, .kbq-form__fieldset, .kbq-form__legend", host: { properties: { "class.kbq-form-row_margin": "margin" } }, queries: [{ propertyName: "elements", predicate: KbqFormElement }], exportAs: ["kbqFormElement"], ngImport: i0 }); }
21
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqFormElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqFormElement, selector: ".kbq-form__row, .kbq-form__fieldset, .kbq-form__legend", host: { properties: { "class.kbq-form-row_margin": "margin" } }, queries: [{ propertyName: "elements", predicate: KbqFormElement }], exportAs: ["kbqFormElement"], ngImport: i0 }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFormElement, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqFormElement, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: '.kbq-form__row, .kbq-form__fieldset, .kbq-form__legend',
@@ -30,7 +30,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
30
30
  '[class.kbq-form-row_margin]': 'margin'
31
31
  }
32
32
  }]
33
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { elements: [{
33
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { elements: [{
34
34
  type: ContentChildren,
35
35
  args: [KbqFormElement]
36
36
  }] } });
@@ -47,10 +47,10 @@ export class KbqForm {
47
47
  element.margin = !!(nextElement && !nextElement.hasLegend);
48
48
  });
49
49
  }
50
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqForm, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqForm, selector: ".kbq-form-vertical, .kbq-form-horizontal", host: { classAttribute: "kbq-form" }, queries: [{ propertyName: "elements", predicate: KbqFormElement }], exportAs: ["kbqForm"], ngImport: i0 }); }
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqForm, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqForm, selector: ".kbq-form-vertical, .kbq-form-horizontal", host: { classAttribute: "kbq-form" }, queries: [{ propertyName: "elements", predicate: KbqFormElement }], exportAs: ["kbqForm"], ngImport: i0 }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqForm, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqForm, decorators: [{
54
54
  type: Directive,
55
55
  args: [{
56
56
  selector: '.kbq-form-vertical, .kbq-form-horizontal',
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
63
63
  type: ContentChildren,
64
64
  args: [KbqFormElement]
65
65
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL2Zvcm1zL2Zvcm1zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDOztBQVV2QixNQUFNLE9BQU8sY0FBYztJQVV2QixZQUE2QixPQUFnQztRQUFoQyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQVQ3RCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWYsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUkyQyxDQUFDO0lBRWpFLGtCQUFrQjtRQUNkLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUV2RCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFM0QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFO1lBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3hHO0lBQ0wsQ0FBQztpSUF2QlEsY0FBYztxSEFBZCxjQUFjLHdMQVFOLGNBQWM7OzJGQVJ0QixjQUFjO2tCQVAxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3REFBd0Q7b0JBQ2xFLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDRiw2QkFBNkIsRUFBRSxRQUFRO3FCQUMxQztpQkFDSjtpR0FTb0MsUUFBUTtzQkFBeEMsZUFBZTt1QkFBQyxjQUFjOztBQTBCbkMsTUFBTSxPQUFPLE9BQU87SUFHaEIsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFtQztRQUM5QyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hDLE1BQU0sV0FBVyxHQUErQixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUV4RSxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QztZQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztpSUFqQlEsT0FBTztxSEFBUCxPQUFPLCtJQUNDLGNBQWM7OzJGQUR0QixPQUFPO2tCQVBuQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQ0FBMEM7b0JBQ3BELFFBQVEsRUFBRSxTQUFTO29CQUNuQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLFVBQVU7cUJBQ3BCO2lCQUNKOzhCQUVvQyxRQUFRO3NCQUF4QyxlQUFlO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJy5rYnEtZm9ybV9fcm93LCAua2JxLWZvcm1fX2ZpZWxkc2V0LCAua2JxLWZvcm1fX2xlZ2VuZCcsXG4gICAgZXhwb3J0QXM6ICdrYnFGb3JtRWxlbWVudCcsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmticS1mb3JtLXJvd19tYXJnaW5dJzogJ21hcmdpbidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUZvcm1FbGVtZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgbWFyZ2luID0gZmFsc2U7XG5cbiAgICBpc1JvdyA9IGZhbHNlO1xuICAgIGlzRmllbGRTZXQgPSBmYWxzZTtcbiAgICBoYXNMZWdlbmQgPSBmYWxzZTtcbiAgICBpc0hvcml6b250YWwgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oS2JxRm9ybUVsZW1lbnQpIGVsZW1lbnRzOiBRdWVyeUxpc3Q8S2JxRm9ybUVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2xhc3NMaXN0ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xuXG4gICAgICAgIHRoaXMuaXNSb3cgPSBjbGFzc0xpc3QuY29udGFpbnMoJ2ticS1mb3JtX19yb3cnKTtcbiAgICAgICAgdGhpcy5pc0hvcml6b250YWwgPSBjbGFzc0xpc3QuY29udGFpbnMoJ2ticS1ob3Jpem9udGFsJyk7XG5cbiAgICAgICAgdGhpcy5pc0ZpZWxkU2V0ID0gY2xhc3NMaXN0LmNvbnRhaW5zKCdrYnEtZm9ybV9fZmllbGRzZXQnKTtcblxuICAgICAgICBpZiAodGhpcy5pc0ZpZWxkU2V0ICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkKSB7XG4gICAgICAgICAgICB0aGlzLmhhc0xlZ2VuZCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmNsYXNzTGlzdC5jb250YWlucygna2JxLWZvcm1fX2xlZ2VuZCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnLmticS1mb3JtLXZlcnRpY2FsLCAua2JxLWZvcm0taG9yaXpvbnRhbCcsXG4gICAgZXhwb3J0QXM6ICdrYnFGb3JtJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLWZvcm0nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFGb3JtIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihLYnFGb3JtRWxlbWVudCkgZWxlbWVudHM6IFF1ZXJ5TGlzdDxLYnFGb3JtRWxlbWVudD47XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFuZGxlRWxlbWVudHModGhpcy5lbGVtZW50cyk7XG4gICAgfVxuXG4gICAgaGFuZGxlRWxlbWVudHMoZWxlbWVudHM6IFF1ZXJ5TGlzdDxLYnFGb3JtRWxlbWVudD4pOiB2b2lkIHtcbiAgICAgICAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRFbGVtZW50OiBLYnFGb3JtRWxlbWVudCB8IHVuZGVmaW5lZCA9IGVsZW1lbnRzLmdldChpbmRleCArIDEpO1xuXG4gICAgICAgICAgICBpZiAoZWxlbWVudC5pc0ZpZWxkU2V0ICYmICFlbGVtZW50LmlzSG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRWxlbWVudHMoZWxlbWVudC5lbGVtZW50cyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGVsZW1lbnQubWFyZ2luID0gISEobmV4dEVsZW1lbnQgJiYgIW5leHRFbGVtZW50Lmhhc0xlZ2VuZCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL2Zvcm1zL2Zvcm1zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDOztBQVV2QixNQUFNLE9BQU8sY0FBYztJQVV2QixZQUE2QixPQUFnQztRQUFoQyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQVQ3RCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWYsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUkyQyxDQUFDO0lBRWpFLGtCQUFrQjtRQUNkLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUV2RCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFM0QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekcsQ0FBQztJQUNMLENBQUM7aUlBdkJRLGNBQWM7cUhBQWQsY0FBYyx3TEFRTixjQUFjOzsyRkFSdEIsY0FBYztrQkFQMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0RBQXdEO29CQUNsRSxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0YsNkJBQTZCLEVBQUUsUUFBUTtxQkFDMUM7aUJBQ0o7K0VBU29DLFFBQVE7c0JBQXhDLGVBQWU7dUJBQUMsY0FBYzs7QUEwQm5DLE1BQU0sT0FBTyxPQUFPO0lBR2hCLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBbUM7UUFDOUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNoQyxNQUFNLFdBQVcsR0FBK0IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFeEUsSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBRUQsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO2lJQWpCUSxPQUFPO3FIQUFQLE9BQU8sK0lBQ0MsY0FBYzs7MkZBRHRCLE9BQU87a0JBUG5CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztvQkFDcEQsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsVUFBVTtxQkFDcEI7aUJBQ0o7OEJBRW9DLFFBQVE7c0JBQXhDLGVBQWU7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnLmticS1mb3JtX19yb3csIC5rYnEtZm9ybV9fZmllbGRzZXQsIC5rYnEtZm9ybV9fbGVnZW5kJyxcbiAgICBleHBvcnRBczogJ2ticUZvcm1FbGVtZW50JyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3Mua2JxLWZvcm0tcm93X21hcmdpbl0nOiAnbWFyZ2luJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRm9ybUVsZW1lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBtYXJnaW4gPSBmYWxzZTtcblxuICAgIGlzUm93ID0gZmFsc2U7XG4gICAgaXNGaWVsZFNldCA9IGZhbHNlO1xuICAgIGhhc0xlZ2VuZCA9IGZhbHNlO1xuICAgIGlzSG9yaXpvbnRhbCA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihLYnFGb3JtRWxlbWVudCkgZWxlbWVudHM6IFF1ZXJ5TGlzdDxLYnFGb3JtRWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbGFzc0xpc3QgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3Q7XG5cbiAgICAgICAgdGhpcy5pc1JvdyA9IGNsYXNzTGlzdC5jb250YWlucygna2JxLWZvcm1fX3JvdycpO1xuICAgICAgICB0aGlzLmlzSG9yaXpvbnRhbCA9IGNsYXNzTGlzdC5jb250YWlucygna2JxLWhvcml6b250YWwnKTtcblxuICAgICAgICB0aGlzLmlzRmllbGRTZXQgPSBjbGFzc0xpc3QuY29udGFpbnMoJ2ticS1mb3JtX19maWVsZHNldCcpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzRmllbGRTZXQgJiYgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgIHRoaXMuaGFzTGVnZW5kID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xhc3NMaXN0LmNvbnRhaW5zKCdrYnEtZm9ybV9fbGVnZW5kJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICcua2JxLWZvcm0tdmVydGljYWwsIC5rYnEtZm9ybS1ob3Jpem9udGFsJyxcbiAgICBleHBvcnRBczogJ2ticUZvcm0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtZm9ybSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUZvcm0gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAQ29udGVudENoaWxkcmVuKEticUZvcm1FbGVtZW50KSBlbGVtZW50czogUXVlcnlMaXN0PEticUZvcm1FbGVtZW50PjtcblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYW5kbGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgICB9XG5cbiAgICBoYW5kbGVFbGVtZW50cyhlbGVtZW50czogUXVlcnlMaXN0PEticUZvcm1FbGVtZW50Pik6IHZvaWQge1xuICAgICAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV4dEVsZW1lbnQ6IEticUZvcm1FbGVtZW50IHwgdW5kZWZpbmVkID0gZWxlbWVudHMuZ2V0KGluZGV4ICsgMSk7XG5cbiAgICAgICAgICAgIGlmIChlbGVtZW50LmlzRmllbGRTZXQgJiYgIWVsZW1lbnQuaXNIb3Jpem9udGFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFbGVtZW50cyhlbGVtZW50LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZWxlbWVudC5tYXJnaW4gPSAhIShuZXh0RWxlbWVudCAmJiAhbmV4dEVsZW1lbnQuaGFzTGVnZW5kKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -8,16 +8,16 @@ export function escapeRegExp(value) {
8
8
  }
9
9
  export class KbqHighlightPipe {
10
10
  transform(value, args) {
11
- if (!args) {
11
+ if (!args || typeof args !== 'string') {
12
12
  return value;
13
13
  }
14
14
  return value.replace(new RegExp(`(${escapeRegExp(args)})`, 'gi'), '<mark class="kbq-highlight">$1</mark>');
15
15
  }
16
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqHighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: KbqHighlightPipe, name: "mcHighlight" }); }
16
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqHighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqHighlightPipe, name: "mcHighlight" }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqHighlightPipe, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqHighlightPipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{ name: 'mcHighlight' }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvaGlnaGxpZ2h0L2hpZ2hsaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWE7SUFDdEMsSUFBSSxLQUFLLEVBQUU7UUFDUCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDdkQ7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBR0QsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixTQUFTLENBQUMsS0FBVSxFQUFFLElBQVM7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7UUFFNUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsdUNBQXVDLENBQUMsQ0FBQztJQUMvRyxDQUFDO2lJQUxRLGdCQUFnQjsrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5AUGlwZSh7IG5hbWU6ICdtY0hpZ2hsaWdodCcgfSlcbmV4cG9ydCBjbGFzcyBLYnFIaWdobGlnaHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICghYXJncykgeyByZXR1cm4gdmFsdWU7IH1cblxuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKGAoJHtlc2NhcGVSZWdFeHAoYXJncyl9KWAsICdnaScpLCAnPG1hcmsgY2xhc3M9XCJrYnEtaGlnaGxpZ2h0XCI+JDE8L21hcms+Jyk7XG4gICAgfVxufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvaGlnaGxpZ2h0L2hpZ2hsaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWE7SUFDdEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQUdELE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFTO1FBQzNCLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFBQyxPQUFPLEtBQUssQ0FBQztRQUFDLENBQUM7UUFFeEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsdUNBQXVDLENBQUMsQ0FBQztJQUMvRyxDQUFDO2lJQUxRLGdCQUFnQjsrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5AUGlwZSh7IG5hbWU6ICdtY0hpZ2hsaWdodCcgfSlcbmV4cG9ydCBjbGFzcyBLYnFIaWdobGlnaHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICghYXJncyB8fCB0eXBlb2YgYXJncyAhPT0gJ3N0cmluZycpIHsgcmV0dXJuIHZhbHVlOyB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cChgKCR7ZXNjYXBlUmVnRXhwKGFyZ3MpfSlgLCAnZ2knKSwgJzxtYXJrIGNsYXNzPVwia2JxLWhpZ2hsaWdodFwiPiQxPC9tYXJrPicpO1xuICAgIH1cbn1cbiJdfQ==
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
3
3
  import { KbqHighlightPipe } from './highlight.pipe';
4
4
  import * as i0 from "@angular/core";
5
5
  export class KbqHighlightModule {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: KbqHighlightModule, declarations: [KbqHighlightPipe], imports: [CommonModule], exports: [KbqHighlightPipe] }); }
8
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqHighlightModule, imports: [CommonModule] }); }
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqHighlightModule, declarations: [KbqHighlightPipe], imports: [CommonModule], exports: [KbqHighlightPipe] }); }
8
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqHighlightModule, imports: [CommonModule] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqHighlightModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqHighlightModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
6
6
  * counted by checking the query list's length.
7
7
  */
8
8
  export class KbqLine {
9
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqLine, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqLine, selector: "[kbq-line], [mcLine]", host: { classAttribute: "kbq-line" }, ngImport: i0 }); }
9
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqLine, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqLine, selector: "[kbq-line], [mcLine]", host: { classAttribute: "kbq-line" }, ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqLine, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqLine, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[kbq-line], [mcLine]',
@@ -55,11 +55,11 @@ export class KbqLineSetter {
55
55
  }
56
56
  }
57
57
  export class KbqLineModule {
58
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
59
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: KbqLineModule, declarations: [KbqLine], exports: [KbqLine] }); }
60
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqLineModule }); }
58
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
59
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqLineModule, declarations: [KbqLine], exports: [KbqLine] }); }
60
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqLineModule }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqLineModule, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqLineModule, decorators: [{
63
63
  type: NgModule,
64
64
  args: [{
65
65
  imports: [],
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
67
67
  declarations: [KbqLine]
68
68
  }]
69
69
  }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9saW5lL2xpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDOztBQUczRTs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLE9BQU87aUlBQVAsT0FBTztxSEFBUCxPQUFPOzsyRkFBUCxPQUFPO2tCQUpuQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7aUJBQzlCOztBQUdEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQW9CLE1BQTBCLEVBQVUsUUFBb0I7UUFBeEQsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQ3hFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUM5QixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxLQUFLLEtBQUssa0JBQWtCLElBQUksS0FBSyxLQUFLLGtCQUFrQixFQUFFO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM1QzthQUFNLElBQUksS0FBSyxHQUFHLGtCQUFrQixFQUFFO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxRQUFRLENBQUMsU0FBaUIsRUFBRSxLQUFjO1FBQzlDLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMzRDtJQUNMLENBQUM7Q0FDSjtBQU9ELE1BQU0sT0FBTyxhQUFhO2lJQUFiLGFBQWE7a0lBQWIsYUFBYSxpQkE5Q2IsT0FBTyxhQUFQLE9BQU87a0lBOENQLGFBQWE7OzJGQUFiLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixZQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuLyoqXG4gKiBTaGFyZWQgZGlyZWN0aXZlIHRvIGNvdW50IGxpbmVzIGluc2lkZSBhIHRleHQgYXJlYSwgc3VjaCBhcyBhIGxpc3QgaXRlbS5cbiAqIExpbmUgZWxlbWVudHMgY2FuIGJlIGV4dHJhY3RlZCB3aXRoIGEgQENvbnRlbnRDaGlsZHJlbihLYnFMaW5lKSBxdWVyeSwgdGhlblxuICogY291bnRlZCBieSBjaGVja2luZyB0aGUgcXVlcnkgbGlzdCdzIGxlbmd0aC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxLWxpbmVdLCBbbWNMaW5lXScsXG4gICAgaG9zdDogeyBjbGFzczogJ2ticS1saW5lJyB9XG59KVxuZXhwb3J0IGNsYXNzIEticUxpbmUge31cblxuLyoqXG4gKiBIZWxwZXIgdGhhdCB0YWtlcyBhIHF1ZXJ5IGxpc3Qgb2YgbGluZXMgYW5kIHNldHMgdGhlIGNvcnJlY3QgY2xhc3Mgb24gdGhlIGhvc3QuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBLYnFMaW5lU2V0dGVyIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9saW5lczogUXVlcnlMaXN0PEticUxpbmU+LCBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuc2V0TGluZUNsYXNzKHRoaXMuX2xpbmVzLmxlbmd0aCk7XG5cbiAgICAgICAgdGhpcy5fbGluZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRMaW5lQ2xhc3ModGhpcy5fbGluZXMubGVuZ3RoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMaW5lQ2xhc3MoY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBtaW5MaW5lQ2xhc3NOdW1iZXIgPSAyO1xuICAgICAgICBjb25zdCBtYXhMaW5lQ2xhc3NOdW1iZXIgPSAzO1xuICAgICAgICB0aGlzLnJlc2V0Q2xhc3NlcygpO1xuICAgICAgICBpZiAoY291bnQgPT09IG1pbkxpbmVDbGFzc051bWJlciB8fCBjb3VudCA9PT0gbWF4TGluZUNsYXNzTnVtYmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNldENsYXNzKGBrYnEtJHtjb3VudH0tbGluZWAsIHRydWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvdW50ID4gbWF4TGluZUNsYXNzTnVtYmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNldENsYXNzKGBrYnEtbXVsdGktbGluZWAsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldENsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3MoJ2ticS0yLWxpbmUnLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3MoJ2ticS0zLWxpbmUnLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3MoJ2ticS1tdWx0aS1saW5lJywgZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcsIGlzQWRkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0FkZCkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW10sXG4gICAgZXhwb3J0czogW0ticUxpbmVdLFxuICAgIGRlY2xhcmF0aW9uczogW0ticUxpbmVdXG59KVxuZXhwb3J0IGNsYXNzIEticUxpbmVNb2R1bGUge31cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9saW5lL2xpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDOztBQUczRTs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLE9BQU87aUlBQVAsT0FBTztxSEFBUCxPQUFPOzsyRkFBUCxPQUFPO2tCQUpuQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7aUJBQzlCOztBQUdEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQW9CLE1BQTBCLEVBQVUsUUFBb0I7UUFBeEQsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQ3hFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUM5QixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxLQUFLLEtBQUssa0JBQWtCLElBQUksS0FBSyxLQUFLLGtCQUFrQixFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxJQUFJLEtBQUssR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLFFBQVEsQ0FBQyxTQUFpQixFQUFFLEtBQWM7UUFDOUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFPRCxNQUFNLE9BQU8sYUFBYTtpSUFBYixhQUFhO2tJQUFiLGFBQWEsaUJBOUNiLE9BQU8sYUFBUCxPQUFPO2tJQThDUCxhQUFhOzsyRkFBYixhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbi8qKlxuICogU2hhcmVkIGRpcmVjdGl2ZSB0byBjb3VudCBsaW5lcyBpbnNpZGUgYSB0ZXh0IGFyZWEsIHN1Y2ggYXMgYSBsaXN0IGl0ZW0uXG4gKiBMaW5lIGVsZW1lbnRzIGNhbiBiZSBleHRyYWN0ZWQgd2l0aCBhIEBDb250ZW50Q2hpbGRyZW4oS2JxTGluZSkgcXVlcnksIHRoZW5cbiAqIGNvdW50ZWQgYnkgY2hlY2tpbmcgdGhlIHF1ZXJ5IGxpc3QncyBsZW5ndGguXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticS1saW5lXSwgW21jTGluZV0nLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdrYnEtbGluZScgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFMaW5lIHt9XG5cbi8qKlxuICogSGVscGVyIHRoYXQgdGFrZXMgYSBxdWVyeSBsaXN0IG9mIGxpbmVzIGFuZCBzZXRzIHRoZSBjb3JyZWN0IGNsYXNzIG9uIHRoZSBob3N0LlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgS2JxTGluZVNldHRlciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfbGluZXM6IFF1ZXJ5TGlzdDxLYnFMaW5lPiwgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICB0aGlzLnNldExpbmVDbGFzcyh0aGlzLl9saW5lcy5sZW5ndGgpO1xuXG4gICAgICAgIHRoaXMuX2xpbmVzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0TGluZUNsYXNzKHRoaXMuX2xpbmVzLmxlbmd0aCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGluZUNsYXNzKGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWluTGluZUNsYXNzTnVtYmVyID0gMjtcbiAgICAgICAgY29uc3QgbWF4TGluZUNsYXNzTnVtYmVyID0gMztcbiAgICAgICAgdGhpcy5yZXNldENsYXNzZXMoKTtcbiAgICAgICAgaWYgKGNvdW50ID09PSBtaW5MaW5lQ2xhc3NOdW1iZXIgfHwgY291bnQgPT09IG1heExpbmVDbGFzc051bWJlcikge1xuICAgICAgICAgICAgdGhpcy5zZXRDbGFzcyhga2JxLSR7Y291bnR9LWxpbmVgLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb3VudCA+IG1heExpbmVDbGFzc051bWJlcikge1xuICAgICAgICAgICAgdGhpcy5zZXRDbGFzcyhga2JxLW11bHRpLWxpbmVgLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENsYXNzKCdrYnEtMi1saW5lJywgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldENsYXNzKCdrYnEtMy1saW5lJywgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldENsYXNzKCdrYnEtbXVsdGktbGluZScsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENsYXNzKGNsYXNzTmFtZTogc3RyaW5nLCBpc0FkZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoaXNBZGQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtLYnFMaW5lXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtLYnFMaW5lXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFMaW5lTW9kdWxlIHt9XG4iXX0=
@@ -1,28 +1,31 @@
1
1
  export const enUSLocaleData = {
2
- 'en-US': {
3
- select: { hiddenItemsText: 'one more' },
4
- datepicker: {
5
- placeholder: 'yyyy-mm-dd',
6
- dateInput: 'yyyy-MM-dd'
7
- },
8
- formatters: {
9
- number: {
10
- rounding: {
11
- separator: '',
12
- groupSeparator: '.',
13
- thousand: 'K',
14
- million: 'M',
15
- billion: 'B',
16
- trillion: 'T'
17
- }
18
- }
2
+ select: { hiddenItemsText: '{{ number }} more' },
3
+ datepicker: {
4
+ placeholder: 'yyyy-mm-dd',
5
+ dateInput: 'yyyy-MM-dd'
6
+ },
7
+ timepicker: {
8
+ placeholder: {
9
+ full: 'hh:mm:ss',
10
+ short: 'hh:mm'
11
+ }
12
+ },
13
+ fileUpload: {
14
+ single: {
15
+ captionText: 'Drag file here or {{ browseLink }}',
16
+ browseLink: 'choose'
19
17
  },
20
- input: {
21
- number: {
22
- groupSeparator: [','],
23
- fractionSeparator: '.'
18
+ multiple: {
19
+ captionText: 'Drag here or {{ browseLink }}',
20
+ captionTextWhenSelected: 'Drag more files or {{ browseLink }}',
21
+ captionTextForCompactSize: 'Drag files or {{ browseLink }}',
22
+ browseLink: 'choose',
23
+ title: 'Upload files',
24
+ gridHeaders: {
25
+ file: 'File',
26
+ size: 'Size'
24
27
  }
25
28
  }
26
29
  }
27
30
  };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4tVVMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvbG9jYWxlcy9lbi1VUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsT0FBTyxFQUFFO1FBQ0wsTUFBTSxFQUFFLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRTtRQUN2QyxVQUFVLEVBQUU7WUFDUixXQUFXLEVBQUUsWUFBWTtZQUN6QixTQUFTLEVBQUUsWUFBWTtTQUMxQjtRQUNELFVBQVUsRUFBRTtZQUNSLE1BQU0sRUFBRTtnQkFDSixRQUFRLEVBQUU7b0JBQ04sU0FBUyxFQUFFLEVBQUU7b0JBQ2IsY0FBYyxFQUFFLEdBQUc7b0JBQ25CLFFBQVEsRUFBRSxHQUFHO29CQUNiLE9BQU8sRUFBRSxHQUFHO29CQUNaLE9BQU8sRUFBRSxHQUFHO29CQUNaLFFBQVEsRUFBRSxHQUFHO2lCQUNoQjthQUNKO1NBQ0o7UUFDRCxLQUFLLEVBQUU7WUFDSCxNQUFNLEVBQUU7Z0JBQ0osY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDO2dCQUNyQixpQkFBaUIsRUFBRSxHQUFHO2FBQ3pCO1NBQ0o7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IGNvbnN0IGVuVVNMb2NhbGVEYXRhID0ge1xuICAgICdlbi1VUyc6IHtcbiAgICAgICAgc2VsZWN0OiB7IGhpZGRlbkl0ZW1zVGV4dDogJ29uZSBtb3JlJyB9LFxuICAgICAgICBkYXRlcGlja2VyOiB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogJ3l5eXktbW0tZGQnLFxuICAgICAgICAgICAgZGF0ZUlucHV0OiAneXl5eS1NTS1kZCdcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0dGVyczoge1xuICAgICAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICAgICAgcm91bmRpbmc6IHtcbiAgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBTZXBhcmF0b3I6ICcuJyxcbiAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmQ6ICdLJyxcbiAgICAgICAgICAgICAgICAgICAgbWlsbGlvbjogJ00nLFxuICAgICAgICAgICAgICAgICAgICBiaWxsaW9uOiAnQicsXG4gICAgICAgICAgICAgICAgICAgIHRyaWxsaW9uOiAnVCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICBudW1iZXI6IHtcbiAgICAgICAgICAgICAgICBncm91cFNlcGFyYXRvcjogWycsJ10sXG4gICAgICAgICAgICAgICAgZnJhY3Rpb25TZXBhcmF0b3I6ICcuJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4tVVMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvbG9jYWxlcy9lbi1VUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsTUFBTSxFQUFFLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFDO0lBQy9DLFVBQVUsRUFBRTtRQUNSLFdBQVcsRUFBRSxZQUFZO1FBQ3pCLFNBQVMsRUFBRSxZQUFZO0tBQzFCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLE9BQU87U0FDakI7S0FDSjtJQUNELFVBQVUsRUFBRTtRQUNSLE1BQU0sRUFBRTtZQUNKLFdBQVcsRUFBRSxvQ0FBb0M7WUFDakQsVUFBVSxFQUFFLFFBQVE7U0FDdkI7UUFDRCxRQUFRLEVBQUU7WUFDTixXQUFXLEVBQUUsK0JBQStCO1lBQzVDLHVCQUF1QixFQUFFLHFDQUFxQztZQUM5RCx5QkFBeUIsRUFBRSxnQ0FBZ0M7WUFDM0QsVUFBVSxFQUFFLFFBQVE7WUFDcEIsS0FBSyxFQUFFLGNBQWM7WUFDckIsV0FBVyxFQUFFO2dCQUNULElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxNQUFNO2FBQ2Y7U0FDSjtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgY29uc3QgZW5VU0xvY2FsZURhdGEgPSB7XG4gICAgc2VsZWN0OiB7IGhpZGRlbkl0ZW1zVGV4dDogJ3t7IG51bWJlciB9fSBtb3JlJ30sXG4gICAgZGF0ZXBpY2tlcjoge1xuICAgICAgICBwbGFjZWhvbGRlcjogJ3l5eXktbW0tZGQnLFxuICAgICAgICBkYXRlSW5wdXQ6ICd5eXl5LU1NLWRkJ1xuICAgIH0sXG4gICAgdGltZXBpY2tlcjoge1xuICAgICAgICBwbGFjZWhvbGRlcjoge1xuICAgICAgICAgICAgZnVsbDogJ2hoOm1tOnNzJyxcbiAgICAgICAgICAgIHNob3J0OiAnaGg6bW0nXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGZpbGVVcGxvYWQ6IHtcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgICBjYXB0aW9uVGV4dDogJ0RyYWcgZmlsZSBoZXJlIG9yIHt7IGJyb3dzZUxpbmsgfX0nLFxuICAgICAgICAgICAgYnJvd3NlTGluazogJ2Nob29zZSdcbiAgICAgICAgfSxcbiAgICAgICAgbXVsdGlwbGU6IHtcbiAgICAgICAgICAgIGNhcHRpb25UZXh0OiAnRHJhZyBoZXJlIG9yIHt7IGJyb3dzZUxpbmsgfX0nLFxuICAgICAgICAgICAgY2FwdGlvblRleHRXaGVuU2VsZWN0ZWQ6ICdEcmFnIG1vcmUgZmlsZXMgb3Ige3sgYnJvd3NlTGluayB9fScsXG4gICAgICAgICAgICBjYXB0aW9uVGV4dEZvckNvbXBhY3RTaXplOiAnRHJhZyBmaWxlcyBvciB7eyBicm93c2VMaW5rIH19JyxcbiAgICAgICAgICAgIGJyb3dzZUxpbms6ICdjaG9vc2UnLFxuICAgICAgICAgICAgdGl0bGU6ICdVcGxvYWQgZmlsZXMnLFxuICAgICAgICAgICAgZ3JpZEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBmaWxlOiAnRmlsZScsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ1NpemUnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
@@ -1,35 +1,30 @@
1
1
  export const esLALocaleData = {
2
- 'es-LA': {
3
- select: { hiddenItemsText: 'más' },
4
- datepicker: {
5
- placeholder: 'dd/mm/aaaa'
6
- },
7
- timepicker: {
8
- placeholder: {
9
- full: 'hh:mm:ss',
10
- short: 'hh:mm'
11
- }
12
- },
13
- formatters: {
14
- number: {
15
- rounding: {
16
- separator: '',
17
- groupSeparator: ',',
18
- thousand: 'K',
19
- million: 'M',
20
- billion: 'MRD',
21
- trillion: 'B'
22
- }
23
- }
2
+ select: { hiddenItemsText: '{{ number }} más' },
3
+ datepicker: {
4
+ placeholder: 'dd/mm/aaaa'
5
+ },
6
+ timepicker: {
7
+ placeholder: {
8
+ full: 'hh:mm:ss',
9
+ short: 'hh:mm'
10
+ }
11
+ },
12
+ fileUpload: {
13
+ single: {
14
+ captionText: 'Arrastre el archivo aquí o {{ browseLink }}',
15
+ browseLink: 'elija'
24
16
  },
25
- input: {
26
- number: {
27
- // nbsp is generated automatically and used by default in spec
28
- // tslint:disable-next-line:no-irregular-whitespace
29
- groupSeparator: [' ', ' '],
30
- fractionSeparator: ','
17
+ multiple: {
18
+ captionText: 'Arrastre aquí o {{ browseLink }}',
19
+ captionTextWhenSelected: 'Arrastre más archivos aquí o {{ browseLink }}',
20
+ captionTextForCompactSize: 'Arrastre archivos o {{ browseLink }}',
21
+ browseLink: 'elija',
22
+ title: 'Cargue los archivos',
23
+ gridHeaders: {
24
+ file: 'Archivo',
25
+ size: 'Tamaño'
31
26
  }
32
27
  }
33
28
  }
34
29
  };
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtTEEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvbG9jYWxlcy9lcy1MQS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsT0FBTyxFQUFFO1FBQ0wsTUFBTSxFQUFFLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBQztRQUNqQyxVQUFVLEVBQUU7WUFDUixXQUFXLEVBQUUsWUFBWTtTQUM1QjtRQUNELFVBQVUsRUFBRTtZQUNSLFdBQVcsRUFBRTtnQkFDVCxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsS0FBSyxFQUFFLE9BQU87YUFDakI7U0FDSjtRQUNELFVBQVUsRUFBRTtZQUNSLE1BQU0sRUFBRTtnQkFDSixRQUFRLEVBQUU7b0JBQ04sU0FBUyxFQUFFLEVBQUU7b0JBQ2IsY0FBYyxFQUFFLEdBQUc7b0JBQ25CLFFBQVEsRUFBRSxHQUFHO29CQUNiLE9BQU8sRUFBRSxHQUFHO29CQUNaLE9BQU8sRUFBRSxLQUFLO29CQUNkLFFBQVEsRUFBRSxHQUFHO2lCQUNoQjthQUNKO1NBQ0o7UUFDRCxLQUFLLEVBQUU7WUFDSCxNQUFNLEVBQUU7Z0JBQ0osOERBQThEO2dCQUM5RCxtREFBbUQ7Z0JBQ25ELGNBQWMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQzFCLGlCQUFpQixFQUFFLEdBQUc7YUFDekI7U0FDSjtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgY29uc3QgZXNMQUxvY2FsZURhdGEgPSB7XG4gICAgJ2VzLUxBJzoge1xuICAgICAgICBzZWxlY3Q6IHsgaGlkZGVuSXRlbXNUZXh0OiAnbcOhcyd9LFxuICAgICAgICBkYXRlcGlja2VyOiB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogJ2RkL21tL2FhYWEnXG4gICAgICAgIH0sXG4gICAgICAgIHRpbWVwaWNrZXI6IHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB7XG4gICAgICAgICAgICAgICAgZnVsbDogJ2hoOm1tOnNzJyxcbiAgICAgICAgICAgICAgICBzaG9ydDogJ2hoOm1tJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBmb3JtYXR0ZXJzOiB7XG4gICAgICAgICAgICBudW1iZXI6IHtcbiAgICAgICAgICAgICAgICByb3VuZGluZzoge1xuICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3I6ICcnLFxuICAgICAgICAgICAgICAgICAgICBncm91cFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgICAgICB0aG91c2FuZDogJ0snLFxuICAgICAgICAgICAgICAgICAgICBtaWxsaW9uOiAnTScsXG4gICAgICAgICAgICAgICAgICAgIGJpbGxpb246ICdNUkQnLFxuICAgICAgICAgICAgICAgICAgICB0cmlsbGlvbjogJ0InXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICAgICAgLy8gbmJzcCBpcyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBhbmQgdXNlZCBieSBkZWZhdWx0IGluIHNwZWNcbiAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taXJyZWd1bGFyLXdoaXRlc3BhY2VcbiAgICAgICAgICAgICAgICBncm91cFNlcGFyYXRvcjogWyfCoCcsICcgJ10sXG4gICAgICAgICAgICAgICAgZnJhY3Rpb25TZXBhcmF0b3I6ICcsJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtTEEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvbG9jYWxlcy9lcy1MQS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsTUFBTSxFQUFFLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFDO0lBQzlDLFVBQVUsRUFBRTtRQUNSLFdBQVcsRUFBRSxZQUFZO0tBQzVCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLE9BQU87U0FDakI7S0FDSjtJQUNELFVBQVUsRUFBRTtRQUNSLE1BQU0sRUFBRTtZQUNKLFdBQVcsRUFBRSw2Q0FBNkM7WUFDMUQsVUFBVSxFQUFFLE9BQU87U0FDdEI7UUFDRCxRQUFRLEVBQUU7WUFDTixXQUFXLEVBQUUsa0NBQWtDO1lBQy9DLHVCQUF1QixFQUFFLCtDQUErQztZQUN4RSx5QkFBeUIsRUFBRSxzQ0FBc0M7WUFDakUsVUFBVSxFQUFFLE9BQU87WUFDbkIsS0FBSyxFQUFFLHFCQUFxQjtZQUM1QixXQUFXLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFFBQVE7YUFDakI7U0FDSjtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgY29uc3QgZXNMQUxvY2FsZURhdGEgPSB7XG4gICAgc2VsZWN0OiB7IGhpZGRlbkl0ZW1zVGV4dDogJ3t7IG51bWJlciB9fSBtw6FzJ30sXG4gICAgZGF0ZXBpY2tlcjoge1xuICAgICAgICBwbGFjZWhvbGRlcjogJ2RkL21tL2FhYWEnXG4gICAgfSxcbiAgICB0aW1lcGlja2VyOiB7XG4gICAgICAgIHBsYWNlaG9sZGVyOiB7XG4gICAgICAgICAgICBmdWxsOiAnaGg6bW06c3MnLFxuICAgICAgICAgICAgc2hvcnQ6ICdoaDptbSdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZmlsZVVwbG9hZDoge1xuICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICAgIGNhcHRpb25UZXh0OiAnQXJyYXN0cmUgZWwgYXJjaGl2byBhcXXDrSBvIHt7IGJyb3dzZUxpbmsgfX0nLFxuICAgICAgICAgICAgYnJvd3NlTGluazogJ2VsaWphJ1xuICAgICAgICB9LFxuICAgICAgICBtdWx0aXBsZToge1xuICAgICAgICAgICAgY2FwdGlvblRleHQ6ICdBcnJhc3RyZSBhcXXDrSBvIHt7IGJyb3dzZUxpbmsgfX0nLFxuICAgICAgICAgICAgY2FwdGlvblRleHRXaGVuU2VsZWN0ZWQ6ICdBcnJhc3RyZSBtw6FzIGFyY2hpdm9zIGFxdcOtIG8ge3sgYnJvd3NlTGluayB9fScsXG4gICAgICAgICAgICBjYXB0aW9uVGV4dEZvckNvbXBhY3RTaXplOiAnQXJyYXN0cmUgYXJjaGl2b3MgbyB7eyBicm93c2VMaW5rIH19JyxcbiAgICAgICAgICAgIGJyb3dzZUxpbms6ICdlbGlqYScsXG4gICAgICAgICAgICB0aXRsZTogJ0Nhcmd1ZSBsb3MgYXJjaGl2b3MnLFxuICAgICAgICAgICAgZ3JpZEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBmaWxlOiAnQXJjaGl2bycsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ1RhbWHDsW8nXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19