@koobiq/components 18.21.0 → 18.23.0

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 (311) hide show
  1. package/alert/_alert-theme.scss +4 -0
  2. package/alert/alert-tokens.scss +1 -1
  3. package/alert/alert.component.d.ts +8 -2
  4. package/badge/badge.component.d.ts +0 -1
  5. package/breadcrumbs/breadcrumbs.d.ts +19 -22
  6. package/breadcrumbs/breadcrumbs.scss +13 -4
  7. package/breadcrumbs/breadcrumbs.types.d.ts +22 -0
  8. package/breadcrumbs/public-api.d.ts +1 -0
  9. package/button/button.component.d.ts +11 -16
  10. package/checkbox/checkbox.d.ts +18 -23
  11. package/core/animation/animation.d.ts +5 -2
  12. package/core/common-behaviors/checkbox.d.ts +5 -0
  13. package/core/common-behaviors/color.d.ts +11 -0
  14. package/core/common-behaviors/index.d.ts +2 -1
  15. package/core/option/action.d.ts +5 -7
  16. package/core/option/optgroup.d.ts +6 -7
  17. package/core/pop-up/pop-up-trigger.d.ts +11 -3
  18. package/core/pop-up/pop-up.d.ts +8 -2
  19. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -12
  20. package/core/utils/utils.d.ts +5 -0
  21. package/dropdown/dropdown-item.component.d.ts +6 -8
  22. package/empty-state/_empty-state-theme.scss +15 -5
  23. package/empty-state/empty-state-tokens.scss +12 -2
  24. package/empty-state/empty-state.component.d.ts +7 -2
  25. package/empty-state/empty-state.scss +29 -0
  26. package/esm2022/accordion/accordion-trigger.component.mjs +1 -1
  27. package/esm2022/actions-panel/actions-panel-container.mjs +2 -2
  28. package/esm2022/actions-panel/actions-panel.mjs +1 -1
  29. package/esm2022/alert/alert.component.mjs +11 -5
  30. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +1 -1
  31. package/esm2022/badge/badge.component.mjs +2 -5
  32. package/esm2022/breadcrumbs/breadcrumbs.mjs +55 -22
  33. package/esm2022/breadcrumbs/breadcrumbs.types.mjs +2 -0
  34. package/esm2022/breadcrumbs/public-api.mjs +2 -1
  35. package/esm2022/button/button.component.mjs +23 -27
  36. package/esm2022/button-toggle/button-toggle.component.mjs +4 -3
  37. package/esm2022/checkbox/checkbox.mjs +27 -28
  38. package/esm2022/code-block/code-block-highlight.mjs +1 -1
  39. package/esm2022/code-block/code-block.mjs +2 -2
  40. package/esm2022/core/animation/animation.mjs +4 -1
  41. package/esm2022/core/common-behaviors/checkbox.mjs +2 -0
  42. package/esm2022/core/common-behaviors/color.mjs +35 -1
  43. package/esm2022/core/common-behaviors/disabled.mjs +2 -1
  44. package/esm2022/core/common-behaviors/error-state.mjs +2 -1
  45. package/esm2022/core/common-behaviors/index.mjs +3 -2
  46. package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
  47. package/esm2022/core/formatters/number/formatter.mjs +1 -1
  48. package/esm2022/core/forms/validators.mjs +1 -1
  49. package/esm2022/core/line/line.mjs +1 -1
  50. package/esm2022/core/option/action.mjs +17 -12
  51. package/esm2022/core/option/optgroup.mjs +18 -12
  52. package/esm2022/core/option/option.mjs +1 -1
  53. package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
  54. package/esm2022/core/pop-up/pop-up-trigger.mjs +27 -12
  55. package/esm2022/core/pop-up/pop-up.mjs +18 -5
  56. package/esm2022/core/select/common.mjs +1 -1
  57. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +10 -19
  58. package/esm2022/core/services/measure-scrollbar.service.mjs +1 -1
  59. package/esm2022/core/utils/utils.mjs +11 -1
  60. package/esm2022/core/version.mjs +2 -2
  61. package/esm2022/datepicker/calendar-header.component.mjs +2 -2
  62. package/esm2022/datepicker/datepicker-input.directive.mjs +1 -1
  63. package/esm2022/datepicker/datepicker-toggle.component.mjs +1 -1
  64. package/esm2022/datepicker/datepicker.component.mjs +1 -1
  65. package/esm2022/datepicker/month-view.component.mjs +1 -1
  66. package/esm2022/dropdown/dropdown-item.component.mjs +19 -14
  67. package/esm2022/dropdown/dropdown-trigger.directive.mjs +1 -1
  68. package/esm2022/dropdown/dropdown.component.mjs +1 -1
  69. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +1 -1
  70. package/esm2022/empty-state/empty-state.component.mjs +13 -8
  71. package/esm2022/file-upload/file-drop.mjs +1 -1
  72. package/esm2022/file-upload/file-upload.mjs +1 -1
  73. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  74. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  75. package/esm2022/filter-bar/filter-bar-button.mjs +2 -1
  76. package/esm2022/filter-bar/filter-bar.mjs +14 -1
  77. package/esm2022/filter-bar/filter-bar.module.mjs +5 -3
  78. package/esm2022/filter-bar/filter-bar.types.mjs +27 -2
  79. package/esm2022/filter-bar/filter-refresher.mjs +2 -2
  80. package/esm2022/filter-bar/filter-reset.mjs +16 -6
  81. package/esm2022/filter-bar/filter-search.mjs +19 -6
  82. package/esm2022/filter-bar/filters.mjs +22 -6
  83. package/esm2022/filter-bar/pipe-add.mjs +11 -2
  84. package/esm2022/filter-bar/pipe.directive.mjs +7 -25
  85. package/esm2022/filter-bar/pipes/base-pipe.mjs +23 -3
  86. package/esm2022/filter-bar/pipes/pipe-button.mjs +12 -6
  87. package/esm2022/filter-bar/pipes/pipe-date.mjs +26 -8
  88. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +27 -8
  89. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +7 -2
  90. package/esm2022/filter-bar/pipes/pipe-select.mjs +7 -2
  91. package/esm2022/filter-bar/pipes/pipe-state.mjs +2 -1
  92. package/esm2022/filter-bar/pipes/pipe-text.mjs +7 -3
  93. package/esm2022/filter-bar/pipes/pipe-title.mjs +2 -1
  94. package/esm2022/form-field/cleaner.mjs +1 -1
  95. package/esm2022/form-field/form-field.mjs +13 -22
  96. package/esm2022/form-field/hint.mjs +10 -18
  97. package/esm2022/form-field/password-hint.mjs +7 -7
  98. package/esm2022/form-field/password-toggle.mjs +1 -1
  99. package/esm2022/form-field/stepper.mjs +1 -1
  100. package/esm2022/form-field/validate.directive.mjs +1 -1
  101. package/esm2022/icon/icon-button.component.mjs +13 -21
  102. package/esm2022/icon/icon-item.component.mjs +8 -15
  103. package/esm2022/icon/icon.component.mjs +15 -27
  104. package/esm2022/input/input-number.mjs +1 -1
  105. package/esm2022/input/input-password.mjs +20 -5
  106. package/esm2022/input/input.mjs +21 -22
  107. package/esm2022/link/link.component.mjs +46 -14
  108. package/esm2022/list/list-selection.component.mjs +19 -15
  109. package/esm2022/loader-overlay/loader-overlay.component.mjs +14 -9
  110. package/esm2022/markdown/markdown.component.mjs +2 -2
  111. package/esm2022/modal/modal.component.mjs +2 -2
  112. package/esm2022/modal/modal.directive.mjs +1 -1
  113. package/esm2022/modal/modal.service.mjs +1 -1
  114. package/esm2022/navbar/navbar-item.component.mjs +2 -2
  115. package/esm2022/navbar/navbar.component.mjs +9 -12
  116. package/esm2022/navbar/vertical-navbar.component.mjs +9 -13
  117. package/esm2022/overflow-items/overflow-items.mjs +1 -1
  118. package/esm2022/popover/popover-confirm.component.mjs +2 -2
  119. package/esm2022/popover/popover.component.mjs +5 -4
  120. package/esm2022/progress-bar/progress-bar.component.mjs +14 -21
  121. package/esm2022/progress-spinner/progress-spinner.component.mjs +17 -24
  122. package/esm2022/radio/radio.component.mjs +26 -36
  123. package/esm2022/scrollbar/scrollbar.component.mjs +1 -1
  124. package/esm2022/scrollbar/scrollbar.directive.mjs +1 -1
  125. package/esm2022/select/select.component.mjs +56 -37
  126. package/esm2022/sidepanel/sidepanel-directives.mjs +2 -2
  127. package/esm2022/sidepanel/sidepanel.service.mjs +1 -1
  128. package/esm2022/splitter/splitter.component.mjs +1 -1
  129. package/esm2022/tabs/paginated-tab-header.mjs +7 -4
  130. package/esm2022/tabs/tab-body.component.mjs +1 -1
  131. package/esm2022/tabs/tab-group.component.mjs +23 -19
  132. package/esm2022/tabs/tab-header.component.mjs +3 -3
  133. package/esm2022/tabs/tab-label-wrapper.directive.mjs +16 -13
  134. package/esm2022/tabs/tab-nav-bar.mjs +2 -2
  135. package/esm2022/tabs/tab.component.mjs +17 -12
  136. package/esm2022/tags/tag-input.mjs +1 -1
  137. package/esm2022/tags/tag-list.component.mjs +27 -22
  138. package/esm2022/tags/tag.component.mjs +7 -14
  139. package/esm2022/textarea/textarea.component.mjs +21 -22
  140. package/esm2022/timepicker/timepicker.directive.mjs +1 -1
  141. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  142. package/esm2022/toast/toast.component.mjs +2 -2
  143. package/esm2022/toggle/toggle.component.mjs +111 -31
  144. package/esm2022/tree/control/base-tree-control.mjs +1 -1
  145. package/esm2022/tree/control/flat-tree-control.filters.mjs +1 -1
  146. package/esm2022/tree/control/nested-tree-control.mjs +1 -1
  147. package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
  148. package/esm2022/tree/padding.directive.mjs +1 -1
  149. package/esm2022/tree/toggle.mjs +19 -14
  150. package/esm2022/tree/tree-base.mjs +1 -1
  151. package/esm2022/tree/tree-option.component.mjs +1 -1
  152. package/esm2022/tree/tree-selection.component.mjs +1 -1
  153. package/esm2022/tree-select/tree-select.component.mjs +58 -38
  154. package/fesm2022/koobiq-components-accordion.mjs +1 -1
  155. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-actions-panel.mjs +1 -1
  157. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-alert.mjs +10 -4
  159. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-badge.mjs +2 -5
  162. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  163. package/fesm2022/koobiq-components-breadcrumbs.mjs +54 -21
  164. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  165. package/fesm2022/koobiq-components-button-toggle.mjs +3 -3
  166. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  167. package/fesm2022/koobiq-components-button.mjs +23 -27
  168. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  169. package/fesm2022/koobiq-components-checkbox.mjs +27 -28
  170. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-code-block.mjs +1 -1
  172. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-core.mjs +130 -51
  174. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-datepicker.mjs +2 -2
  176. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-dropdown.mjs +18 -13
  178. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  179. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-empty-state.mjs +12 -7
  181. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-file-upload.mjs +2 -2
  183. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-filter-bar.mjs +1381 -1233
  185. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-form-field.mjs +26 -43
  187. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-icon.mjs +33 -57
  189. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-input.mjs +40 -25
  191. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-link.mjs +46 -14
  193. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-list.mjs +19 -15
  195. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-loader-overlay.mjs +13 -8
  197. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  199. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-modal.mjs +2 -2
  201. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-navbar.mjs +17 -24
  203. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  205. package/fesm2022/koobiq-components-popover.mjs +5 -4
  206. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  207. package/fesm2022/koobiq-components-progress-bar.mjs +13 -20
  208. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  209. package/fesm2022/koobiq-components-progress-spinner.mjs +16 -23
  210. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  211. package/fesm2022/koobiq-components-radio.mjs +26 -36
  212. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  213. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  214. package/fesm2022/koobiq-components-select.mjs +56 -37
  215. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  216. package/fesm2022/koobiq-components-sidepanel.mjs +1 -1
  217. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  219. package/fesm2022/koobiq-components-tabs.mjs +60 -44
  220. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  221. package/fesm2022/koobiq-components-tags.mjs +32 -34
  222. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  223. package/fesm2022/koobiq-components-textarea.mjs +21 -22
  224. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  225. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  226. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  227. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  228. package/fesm2022/koobiq-components-toast.mjs +1 -1
  229. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  230. package/fesm2022/koobiq-components-toggle.mjs +111 -31
  231. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  232. package/fesm2022/koobiq-components-tree-select.mjs +57 -37
  233. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  234. package/fesm2022/koobiq-components-tree.mjs +21 -15
  235. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  236. package/file-upload/multiple-file-upload.component.d.ts +2 -2
  237. package/file-upload/single-file-upload.component.d.ts +2 -2
  238. package/filter-bar/filter-bar-button.d.ts +1 -0
  239. package/filter-bar/filter-bar.d.ts +14 -0
  240. package/filter-bar/filter-bar.types.d.ts +13 -3
  241. package/filter-bar/filter-reset.d.ts +6 -2
  242. package/filter-bar/filter-search.d.ts +17 -10
  243. package/filter-bar/filters.d.ts +26 -11
  244. package/filter-bar/pipe-add.d.ts +10 -0
  245. package/filter-bar/pipe.directive.d.ts +5 -5
  246. package/filter-bar/pipes/base-pipe.d.ts +28 -2
  247. package/filter-bar/pipes/pipe-button.d.ts +6 -1
  248. package/filter-bar/pipes/pipe-date.d.ts +30 -10
  249. package/filter-bar/pipes/pipe-date.scss +29 -27
  250. package/filter-bar/pipes/pipe-datetime.d.ts +31 -10
  251. package/filter-bar/pipes/pipe-multi-select.d.ts +7 -0
  252. package/filter-bar/pipes/pipe-select.d.ts +7 -0
  253. package/filter-bar/pipes/pipe-state.d.ts +1 -0
  254. package/filter-bar/pipes/pipe-text.d.ts +5 -0
  255. package/form-field/form-field.d.ts +4 -12
  256. package/form-field/hint.d.ts +3 -12
  257. package/form-field/password-hint.d.ts +3 -3
  258. package/icon/icon-button.component.d.ts +5 -8
  259. package/icon/icon-item.component.d.ts +3 -7
  260. package/icon/icon.component.d.ts +7 -14
  261. package/input/input-password.d.ts +8 -2
  262. package/input/input.d.ts +9 -18
  263. package/link/_link-theme.scss +31 -8
  264. package/link/link.component.d.ts +13 -9
  265. package/list/list-selection.component.d.ts +8 -10
  266. package/loader-overlay/_loader-overlay-theme.scss +18 -8
  267. package/loader-overlay/loader-overlay-tokens.scss +6 -3
  268. package/loader-overlay/loader-overlay.component.d.ts +7 -2
  269. package/loader-overlay/loader-overlay.scss +19 -5
  270. package/markdown/markdown.scss +0 -4
  271. package/navbar/navbar.component.d.ts +2 -2
  272. package/navbar/vertical-navbar.component.d.ts +3 -3
  273. package/package.json +5 -5
  274. package/prebuilt-themes/dark-theme.css +1 -1
  275. package/prebuilt-themes/light-theme.css +1 -1
  276. package/prebuilt-themes/theme.css +1 -1
  277. package/progress-bar/progress-bar.component.d.ts +4 -12
  278. package/progress-spinner/progress-spinner.component.d.ts +4 -12
  279. package/radio/radio.component.d.ts +11 -25
  280. package/radio/radio.scss +0 -1
  281. package/schematics/collection.json +10 -0
  282. package/schematics/migrations/css-selectors/README.md +19 -0
  283. package/schematics/migrations/deprecated-icons/README.md +21 -0
  284. package/schematics/migrations/empty-state-size-attr/README.md +62 -0
  285. package/schematics/migrations/empty-state-size-attr/index.js +74 -0
  286. package/schematics/migrations/empty-state-size-attr/schema.json +15 -0
  287. package/schematics/migrations/loader-overlay-size-attr/README.md +62 -0
  288. package/schematics/migrations/loader-overlay-size-attr/index.js +74 -0
  289. package/schematics/migrations/loader-overlay-size-attr/schema.json +15 -0
  290. package/schematics/migrations/new-icons-pack/README.md +21 -0
  291. package/schematics/ng-add/index.js +3 -3
  292. package/schematics/utils/angular-parsing.js +153 -0
  293. package/schematics/utils/ast.js +28 -0
  294. package/schematics/utils/package-config.js +46 -0
  295. package/schematics/utils/typescript.js +171 -0
  296. package/select/select.component.d.ts +26 -25
  297. package/tabs/paginated-tab-header.d.ts +2 -1
  298. package/tabs/tab-group.component.d.ts +11 -13
  299. package/tabs/tab-header.component.d.ts +1 -1
  300. package/tabs/tab-label-wrapper.directive.d.ts +6 -8
  301. package/tabs/tab.component.d.ts +7 -8
  302. package/tags/tag-list.component.d.ts +15 -18
  303. package/tags/tag.component.d.ts +3 -10
  304. package/textarea/textarea.component.d.ts +8 -17
  305. package/toggle/_toggle-theme.scss +12 -3
  306. package/toggle/toggle-tokens.scss +2 -2
  307. package/toggle/toggle.component.d.ts +28 -14
  308. package/toggle/toggle.scss +37 -0
  309. package/tree/toggle.d.ts +7 -9
  310. package/tree/tree-selection.component.d.ts +2 -2
  311. package/tree-select/tree-select.component.d.ts +24 -26
@@ -1,5 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, Directive, ElementRef, Input, ViewEncapsulation } from '@angular/core';
2
- import { KbqComponentColors, mixinColor } from '@koobiq/components/core';
1
+ import { ChangeDetectionStrategy, Component, Directive, Input, ViewEncapsulation } from '@angular/core';
2
+ import { KbqColorDirective, KbqComponentColors } from '@koobiq/components/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  let id = 0;
@@ -31,16 +31,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
31
31
  }
32
32
  }]
33
33
  }] });
34
- /** @docs-private */
35
- export class KbqProgressSpinnerBase {
36
- constructor(elementRef) {
37
- this.elementRef = elementRef;
38
- }
39
- }
40
- /** @docs-private */
41
- export const KbqProgressSpinnerMixinBase = mixinColor(KbqProgressSpinnerBase, KbqComponentColors.Theme);
42
34
  const MAX_DASH_ARRAY = 295;
43
- export class KbqProgressSpinner extends KbqProgressSpinnerMixinBase {
35
+ export class KbqProgressSpinner extends KbqColorDirective {
44
36
  get size() {
45
37
  return this._size;
46
38
  }
@@ -48,32 +40,33 @@ export class KbqProgressSpinner extends KbqProgressSpinnerMixinBase {
48
40
  this._size = value;
49
41
  this.svgCircleRadius = value === 'big' ? '47%' : '42.5%';
50
42
  }
51
- constructor(elementRef) {
52
- super(elementRef);
53
- this.id = `kbq-progress-spinner-${id++}`;
54
- this.value = 0;
55
- this.mode = 'determinate';
56
- this._size = 'compact';
57
- this.svgCircleRadius = '42.5%';
58
- }
59
43
  get percentage() {
60
44
  return Math.max(MIN_PERCENT, Math.min(MAX_PERCENT, this.value)) / MAX_PERCENT;
61
45
  }
62
46
  get dashOffsetPercent() {
63
47
  return `${MAX_DASH_ARRAY - this.percentage * MAX_DASH_ARRAY}%`;
64
48
  }
65
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinner, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
66
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: { color: "color", id: "id", value: "value", mode: "mode", size: "size" }, host: { properties: { "class.kbq-progress-spinner_big": "size === 'big'", "class.kbq-progress-spinner_indeterminate": "mode === 'indeterminate'", "attr.id": "id" }, classAttribute: "kbq-progress-spinner" }, usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-progress-spinner__inner\">\n <svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle\n cx=\"50%\"\n cy=\"50%\"\n stroke-linecap=\"round\"\n class=\"kbq-progress-spinner__circle\"\n [attr.r]=\"svgCircleRadius\"\n [ngStyle]=\"{ 'stroke-dashoffset': mode === 'determinate' ? dashOffsetPercent : null }\"\n />\n </svg>\n</div>\n\n<div class=\"kbq-progress-spinner__content\">\n <ng-content select=\"[kbq-progress-spinner-text]\" />\n <ng-content select=\"[kbq-progress-spinner-caption]\" />\n</div>\n", styles: ["@keyframes kbq-progress-spinner-indeterminate{to{transform:rotate(270deg)}}.kbq-progress-spinner{display:flex;flex-direction:row}.kbq-progress-spinner__circle{fill:none;stroke:#000;stroke-dasharray:295%;stroke-width:13%;transition:stroke-dashoffset .3s;transform-origin:center center}.kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-compact-size);height:var(--kbq-progress-spinner-size-compact-size);transform:rotate(-90deg);font-size:0}.kbq-progress-spinner__content .kbq-progress-spinner-text{margin-bottom:var(--kbq-progress-spinner-size-compact-content-gap-vertical)}.kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-compact-content-gap-horizontal)}.kbq-progress-spinner_big .kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-big-size);height:var(--kbq-progress-spinner-size-big-size)}.kbq-progress-spinner_big .kbq-progress-spinner__circle{stroke-width:6%}.kbq-progress-spinner_big .kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-big-content-gap-horizontal)}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner{animation:kbq-progress-spinner-indeterminate 1.5s cubic-bezier(.455,.03,.515,.955) infinite}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner .kbq-progress-spinner__circle{stroke-dashoffset:80%}.kbq-progress-spinner .kbq-progress-spinner__circle{stroke:var(--kbq-progress-spinner-circle-background)}.kbq-progress-spinner-text{color:var(--kbq-progress-spinner-text-color)}.kbq-progress-spinner-caption{color:var(--kbq-progress-spinner-caption-color)}.kbq-progress-spinner-text{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-spinner-caption{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-spinner{--kbq-progress-spinner-size-compact-size: var(--kbq-size-l);--kbq-progress-spinner-size-compact-stroke-width: 2px;--kbq-progress-spinner-size-compact-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-compact-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-size-big-size: var(--kbq-size-5xl);--kbq-progress-spinner-size-big-stroke-width: 3px;--kbq-progress-spinner-size-big-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-big-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-circle-background: var(--kbq-icon-theme);--kbq-progress-spinner-text-color: var(--kbq-foreground-contrast);--kbq-progress-spinner-caption-color: var(--kbq-foreground-contrast-secondary)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
+ constructor() {
50
+ super();
51
+ this.id = `kbq-progress-spinner-${id++}`;
52
+ this.value = 0;
53
+ this.mode = 'determinate';
54
+ this._size = 'compact';
55
+ this.svgCircleRadius = '42.5%';
56
+ this.color = KbqComponentColors.Theme;
57
+ }
58
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: { id: "id", value: "value", mode: "mode", size: "size" }, host: { properties: { "class.kbq-progress-spinner_big": "size === 'big'", "class.kbq-progress-spinner_indeterminate": "mode === 'indeterminate'", "attr.id": "id" }, classAttribute: "kbq-progress-spinner" }, usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-progress-spinner__inner\">\n <svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle\n cx=\"50%\"\n cy=\"50%\"\n stroke-linecap=\"round\"\n class=\"kbq-progress-spinner__circle\"\n [attr.r]=\"svgCircleRadius\"\n [ngStyle]=\"{ 'stroke-dashoffset': mode === 'determinate' ? dashOffsetPercent : null }\"\n />\n </svg>\n</div>\n\n<div class=\"kbq-progress-spinner__content\">\n <ng-content select=\"[kbq-progress-spinner-text]\" />\n <ng-content select=\"[kbq-progress-spinner-caption]\" />\n</div>\n", styles: ["@keyframes kbq-progress-spinner-indeterminate{to{transform:rotate(270deg)}}.kbq-progress-spinner{display:flex;flex-direction:row}.kbq-progress-spinner__circle{fill:none;stroke:#000;stroke-dasharray:295%;stroke-width:13%;transition:stroke-dashoffset .3s;transform-origin:center center}.kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-compact-size);height:var(--kbq-progress-spinner-size-compact-size);transform:rotate(-90deg);font-size:0}.kbq-progress-spinner__content .kbq-progress-spinner-text{margin-bottom:var(--kbq-progress-spinner-size-compact-content-gap-vertical)}.kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-compact-content-gap-horizontal)}.kbq-progress-spinner_big .kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-big-size);height:var(--kbq-progress-spinner-size-big-size)}.kbq-progress-spinner_big .kbq-progress-spinner__circle{stroke-width:6%}.kbq-progress-spinner_big .kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-big-content-gap-horizontal)}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner{animation:kbq-progress-spinner-indeterminate 1.5s cubic-bezier(.455,.03,.515,.955) infinite}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner .kbq-progress-spinner__circle{stroke-dashoffset:80%}.kbq-progress-spinner .kbq-progress-spinner__circle{stroke:var(--kbq-progress-spinner-circle-background)}.kbq-progress-spinner-text{color:var(--kbq-progress-spinner-text-color)}.kbq-progress-spinner-caption{color:var(--kbq-progress-spinner-caption-color)}.kbq-progress-spinner-text{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-spinner-caption{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-spinner{--kbq-progress-spinner-size-compact-size: var(--kbq-size-l);--kbq-progress-spinner-size-compact-stroke-width: 2px;--kbq-progress-spinner-size-compact-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-compact-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-size-big-size: var(--kbq-size-5xl);--kbq-progress-spinner-size-big-stroke-width: 3px;--kbq-progress-spinner-size-big-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-big-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-circle-background: var(--kbq-icon-theme);--kbq-progress-spinner-text-color: var(--kbq-foreground-contrast);--kbq-progress-spinner-caption-color: var(--kbq-foreground-contrast-secondary)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
67
60
  }
68
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinner, decorators: [{
69
62
  type: Component,
70
- args: [{ selector: 'kbq-progress-spinner', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color'], host: {
63
+ args: [{ selector: 'kbq-progress-spinner', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
71
64
  class: 'kbq-progress-spinner',
72
65
  '[class.kbq-progress-spinner_big]': `size === 'big'`,
73
66
  '[class.kbq-progress-spinner_indeterminate]': `mode === 'indeterminate'`,
74
67
  '[attr.id]': 'id'
75
68
  }, template: "<div class=\"kbq-progress-spinner__inner\">\n <svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle\n cx=\"50%\"\n cy=\"50%\"\n stroke-linecap=\"round\"\n class=\"kbq-progress-spinner__circle\"\n [attr.r]=\"svgCircleRadius\"\n [ngStyle]=\"{ 'stroke-dashoffset': mode === 'determinate' ? dashOffsetPercent : null }\"\n />\n </svg>\n</div>\n\n<div class=\"kbq-progress-spinner__content\">\n <ng-content select=\"[kbq-progress-spinner-text]\" />\n <ng-content select=\"[kbq-progress-spinner-caption]\" />\n</div>\n", styles: ["@keyframes kbq-progress-spinner-indeterminate{to{transform:rotate(270deg)}}.kbq-progress-spinner{display:flex;flex-direction:row}.kbq-progress-spinner__circle{fill:none;stroke:#000;stroke-dasharray:295%;stroke-width:13%;transition:stroke-dashoffset .3s;transform-origin:center center}.kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-compact-size);height:var(--kbq-progress-spinner-size-compact-size);transform:rotate(-90deg);font-size:0}.kbq-progress-spinner__content .kbq-progress-spinner-text{margin-bottom:var(--kbq-progress-spinner-size-compact-content-gap-vertical)}.kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-compact-content-gap-horizontal)}.kbq-progress-spinner_big .kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-big-size);height:var(--kbq-progress-spinner-size-big-size)}.kbq-progress-spinner_big .kbq-progress-spinner__circle{stroke-width:6%}.kbq-progress-spinner_big .kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-big-content-gap-horizontal)}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner{animation:kbq-progress-spinner-indeterminate 1.5s cubic-bezier(.455,.03,.515,.955) infinite}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner .kbq-progress-spinner__circle{stroke-dashoffset:80%}.kbq-progress-spinner .kbq-progress-spinner__circle{stroke:var(--kbq-progress-spinner-circle-background)}.kbq-progress-spinner-text{color:var(--kbq-progress-spinner-text-color)}.kbq-progress-spinner-caption{color:var(--kbq-progress-spinner-caption-color)}.kbq-progress-spinner-text{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-spinner-caption{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-spinner{--kbq-progress-spinner-size-compact-size: var(--kbq-size-l);--kbq-progress-spinner-size-compact-stroke-width: 2px;--kbq-progress-spinner-size-compact-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-compact-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-size-big-size: var(--kbq-size-5xl);--kbq-progress-spinner-size-big-stroke-width: 3px;--kbq-progress-spinner-size-big-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-big-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-circle-background: var(--kbq-icon-theme);--kbq-progress-spinner-text-color: var(--kbq-foreground-contrast);--kbq-progress-spinner-caption-color: var(--kbq-foreground-contrast-secondary)}\n"] }]
76
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { id: [{
69
+ }], ctorParameters: () => [], propDecorators: { id: [{
77
70
  type: Input
78
71
  }], value: [{
79
72
  type: Input
@@ -82,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
82
75
  }], size: [{
83
76
  type: Input
84
77
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3Byb2dyZXNzLXNwaW5uZXIvcHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3Byb2dyZXNzLXNwaW5uZXIvcHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBMEIsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQU9qRyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFWCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDO0FBUXhCLE1BQU0sT0FBTyxzQkFBc0I7aUlBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsMkJBQTJCO3FCQUNyQztpQkFDSjs7QUFTRCxNQUFNLE9BQU8seUJBQXlCO2lJQUF6Qix5QkFBeUI7cUhBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLDhCQUE4QjtxQkFDeEM7aUJBQ0o7O0FBR0Qsb0JBQW9CO0FBQ3BCLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7Q0FDaEQ7QUFFRCxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWlELFVBQVUsQ0FDL0Ysc0JBQXNCLEVBQ3RCLGtCQUFrQixDQUFDLEtBQUssQ0FDM0IsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQztBQWdCM0IsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDJCQUEyQjtJQUsvRCxJQUNJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLEtBQW1DO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0QsQ0FBQztJQU1ELFlBQVksVUFBc0I7UUFDOUIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBcEJiLE9BQUUsR0FBVyx3QkFBd0IsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUM1QyxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLFNBQUksR0FBd0IsYUFBYSxDQUFDO1FBYTNDLFVBQUssR0FBaUMsU0FBUyxDQUFDO1FBRXhELG9CQUFlLEdBQVcsT0FBTyxDQUFDO0lBSWxDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztJQUNsRixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsR0FBRyxDQUFDO0lBQ25FLENBQUM7aUlBOUJRLGtCQUFrQjtxSEFBbEIsa0JBQWtCLG9YQ3hEL0IseW9CQWlCQTs7MkZEdUNhLGtCQUFrQjtrQkFkOUIsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxVQUM3QixDQUFDLE9BQU8sQ0FBQyxRQUNYO3dCQUNGLEtBQUssRUFBRSxzQkFBc0I7d0JBQzdCLGtDQUFrQyxFQUFFLGdCQUFnQjt3QkFDcEQsNENBQTRDLEVBQUUsMEJBQTBCO3dCQUN4RSxXQUFXLEVBQUUsSUFBSTtxQkFDcEI7K0VBR1EsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0YsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkNvbG9yLCBDYW5Db2xvckN0b3IsIEticUNvbXBvbmVudENvbG9ycywgbWl4aW5Db2xvciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcblxuZXhwb3J0IHR5cGUgUHJvZ3Jlc3NTcGlubmVyTW9kZSA9ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZSc7XG5cbi8vQFRPRE8gdXNlIEV4Y2x1ZGU8S2JxRGVmYXVsdFNpemVzLCAnbm9ybWFsJz4gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnIGluc3RlYWRcbmV4cG9ydCB0eXBlIFByb2dyZXNzU3Bpbm5lclNpemUgPSAnY29tcGFjdCcgfCAnYmlnJztcblxubGV0IGlkID0gMDtcblxuY29uc3QgTUlOX1BFUkNFTlQgPSAwO1xuY29uc3QgTUFYX1BFUkNFTlQgPSAxMDA7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticS1wcm9ncmVzcy1zcGlubmVyLXRleHRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXByb2dyZXNzLXNwaW5uZXItdGV4dCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVByb2dyZXNzU3Bpbm5lclRleHQge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxLXByb2dyZXNzLXNwaW5uZXItY2FwdGlvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtcHJvZ3Jlc3Mtc3Bpbm5lci1jYXB0aW9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxUHJvZ3Jlc3NTcGlubmVyQ2FwdGlvbiB7fVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNsYXNzIEticVByb2dyZXNzU3Bpbm5lckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IEticVByb2dyZXNzU3Bpbm5lck1peGluQmFzZTogQ2FuQ29sb3JDdG9yICYgdHlwZW9mIEticVByb2dyZXNzU3Bpbm5lckJhc2UgPSBtaXhpbkNvbG9yKFxuICAgIEticVByb2dyZXNzU3Bpbm5lckJhc2UsXG4gICAgS2JxQ29tcG9uZW50Q29sb3JzLlRoZW1lXG4pO1xuXG5jb25zdCBNQVhfREFTSF9BUlJBWSA9IDI5NTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtcHJvZ3Jlc3Mtc3Bpbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLXNwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLXNwaW5uZXIuc2NzcycsICcuL3Byb2dyZXNzLXNwaW5uZXItdG9rZW5zLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGlucHV0czogWydjb2xvciddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtcHJvZ3Jlc3Mtc3Bpbm5lcicsXG4gICAgICAgICdbY2xhc3Mua2JxLXByb2dyZXNzLXNwaW5uZXJfYmlnXSc6IGBzaXplID09PSAnYmlnJ2AsXG4gICAgICAgICdbY2xhc3Mua2JxLXByb2dyZXNzLXNwaW5uZXJfaW5kZXRlcm1pbmF0ZV0nOiBgbW9kZSA9PT0gJ2luZGV0ZXJtaW5hdGUnYCxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVByb2dyZXNzU3Bpbm5lciBleHRlbmRzIEticVByb2dyZXNzU3Bpbm5lck1peGluQmFzZSBpbXBsZW1lbnRzIENhbkNvbG9yIHtcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gYGticS1wcm9ncmVzcy1zcGlubmVyLSR7aWQrK31gO1xuICAgIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgPSAwO1xuICAgIEBJbnB1dCgpIG1vZGU6IFByb2dyZXNzU3Bpbm5lck1vZGUgPSAnZGV0ZXJtaW5hdGUnO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgc2l6ZSgpOiBQcm9ncmVzc1NwaW5uZXJTaXplIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gICAgfVxuXG4gICAgc2V0IHNpemUodmFsdWU6IFByb2dyZXNzU3Bpbm5lclNpemUgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuc3ZnQ2lyY2xlUmFkaXVzID0gdmFsdWUgPT09ICdiaWcnID8gJzQ3JScgOiAnNDIuNSUnO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NpemU6IFByb2dyZXNzU3Bpbm5lclNpemUgfCBzdHJpbmcgPSAnY29tcGFjdCc7XG5cbiAgICBzdmdDaXJjbGVSYWRpdXM6IHN0cmluZyA9ICc0Mi41JSc7XG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIGdldCBwZXJjZW50YWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heChNSU5fUEVSQ0VOVCwgTWF0aC5taW4oTUFYX1BFUkNFTlQsIHRoaXMudmFsdWUpKSAvIE1BWF9QRVJDRU5UO1xuICAgIH1cblxuICAgIGdldCBkYXNoT2Zmc2V0UGVyY2VudCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7TUFYX0RBU0hfQVJSQVkgLSB0aGlzLnBlcmNlbnRhZ2UgKiBNQVhfREFTSF9BUlJBWX0lYDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwia2JxLXByb2dyZXNzLXNwaW5uZXJfX2lubmVyXCI+XG4gICAgPHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCI+XG4gICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgIGN4PVwiNTAlXCJcbiAgICAgICAgICAgIGN5PVwiNTAlXCJcbiAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgY2xhc3M9XCJrYnEtcHJvZ3Jlc3Mtc3Bpbm5lcl9fY2lyY2xlXCJcbiAgICAgICAgICAgIFthdHRyLnJdPVwic3ZnQ2lyY2xlUmFkaXVzXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ3N0cm9rZS1kYXNob2Zmc2V0JzogbW9kZSA9PT0gJ2RldGVybWluYXRlJyA/IGRhc2hPZmZzZXRQZXJjZW50IDogbnVsbCB9XCJcbiAgICAgICAgLz5cbiAgICA8L3N2Zz5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwia2JxLXByb2dyZXNzLXNwaW5uZXJfX2NvbnRlbnRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJba2JxLXByb2dyZXNzLXNwaW5uZXItdGV4dF1cIiAvPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtcHJvZ3Jlc3Mtc3Bpbm5lci1jYXB0aW9uXVwiIC8+XG48L2Rpdj5cbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3Byb2dyZXNzLXNwaW5uZXIvcHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3Byb2dyZXNzLXNwaW5uZXIvcHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQU9oRixJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFWCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDO0FBUXhCLE1BQU0sT0FBTyxzQkFBc0I7aUlBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsMkJBQTJCO3FCQUNyQztpQkFDSjs7QUFTRCxNQUFNLE9BQU8seUJBQXlCO2lJQUF6Qix5QkFBeUI7cUhBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLDhCQUE4QjtxQkFDeEM7aUJBQ0o7O0FBR0QsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO0FBZTNCLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFLckQsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFtQztRQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzdELENBQUM7SUFNRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztJQUNsRixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsR0FBRyxDQUFDO0lBQ25FLENBQUM7SUFFRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBNUJILE9BQUUsR0FBVyx3QkFBd0IsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUM1QyxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLFNBQUksR0FBd0IsYUFBYSxDQUFDO1FBYTNDLFVBQUssR0FBaUMsU0FBUyxDQUFDO1FBRXhELG9CQUFlLEdBQVcsT0FBTyxDQUFDO1FBYTlCLElBQUksQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7aUlBaENRLGtCQUFrQjtxSEFBbEIsa0JBQWtCLG9XQzVDL0IseW9CQWlCQTs7MkZEMkJhLGtCQUFrQjtrQkFiOUIsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixLQUFLLEVBQUUsc0JBQXNCO3dCQUM3QixrQ0FBa0MsRUFBRSxnQkFBZ0I7d0JBQ3BELDRDQUE0QyxFQUFFLDBCQUEwQjt3QkFDeEUsV0FBVyxFQUFFLElBQUk7cUJBQ3BCO3dEQUdRLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUdGLElBQUk7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLYnFDb2xvckRpcmVjdGl2ZSwgS2JxQ29tcG9uZW50Q29sb3JzIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQcm9ncmVzc1NwaW5uZXJNb2RlID0gJ2RldGVybWluYXRlJyB8ICdpbmRldGVybWluYXRlJztcblxuLy9AVE9ETyB1c2UgRXhjbHVkZTxLYnFEZWZhdWx0U2l6ZXMsICdub3JtYWwnPiBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZScgaW5zdGVhZFxuZXhwb3J0IHR5cGUgUHJvZ3Jlc3NTcGlubmVyU2l6ZSA9ICdjb21wYWN0JyB8ICdiaWcnO1xuXG5sZXQgaWQgPSAwO1xuXG5jb25zdCBNSU5fUEVSQ0VOVCA9IDA7XG5jb25zdCBNQVhfUEVSQ0VOVCA9IDEwMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxLXByb2dyZXNzLXNwaW5uZXItdGV4dF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtcHJvZ3Jlc3Mtc3Bpbm5lci10ZXh0J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxUHJvZ3Jlc3NTcGlubmVyVGV4dCB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnEtcHJvZ3Jlc3Mtc3Bpbm5lci1jYXB0aW9uXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1wcm9ncmVzcy1zcGlubmVyLWNhcHRpb24nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFQcm9ncmVzc1NwaW5uZXJDYXB0aW9uIHt9XG5cbmNvbnN0IE1BWF9EQVNIX0FSUkFZID0gMjk1O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS1wcm9ncmVzcy1zcGlubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3Mtc3Bpbm5lci5zY3NzJywgJy4vcHJvZ3Jlc3Mtc3Bpbm5lci10b2tlbnMuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1wcm9ncmVzcy1zcGlubmVyJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtcHJvZ3Jlc3Mtc3Bpbm5lcl9iaWddJzogYHNpemUgPT09ICdiaWcnYCxcbiAgICAgICAgJ1tjbGFzcy5rYnEtcHJvZ3Jlc3Mtc3Bpbm5lcl9pbmRldGVybWluYXRlXSc6IGBtb2RlID09PSAnaW5kZXRlcm1pbmF0ZSdgLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxUHJvZ3Jlc3NTcGlubmVyIGV4dGVuZHMgS2JxQ29sb3JEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSBga2JxLXByb2dyZXNzLXNwaW5uZXItJHtpZCsrfWA7XG4gICAgQElucHV0KCkgdmFsdWU6IG51bWJlciA9IDA7XG4gICAgQElucHV0KCkgbW9kZTogUHJvZ3Jlc3NTcGlubmVyTW9kZSA9ICdkZXRlcm1pbmF0ZSc7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBzaXplKCk6IFByb2dyZXNzU3Bpbm5lclNpemUgfCBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgICB9XG5cbiAgICBzZXQgc2l6ZSh2YWx1ZTogUHJvZ3Jlc3NTcGlubmVyU2l6ZSB8IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zaXplID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5zdmdDaXJjbGVSYWRpdXMgPSB2YWx1ZSA9PT0gJ2JpZycgPyAnNDclJyA6ICc0Mi41JSc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2l6ZTogUHJvZ3Jlc3NTcGlubmVyU2l6ZSB8IHN0cmluZyA9ICdjb21wYWN0JztcblxuICAgIHN2Z0NpcmNsZVJhZGl1czogc3RyaW5nID0gJzQyLjUlJztcblxuICAgIGdldCBwZXJjZW50YWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heChNSU5fUEVSQ0VOVCwgTWF0aC5taW4oTUFYX1BFUkNFTlQsIHRoaXMudmFsdWUpKSAvIE1BWF9QRVJDRU5UO1xuICAgIH1cblxuICAgIGdldCBkYXNoT2Zmc2V0UGVyY2VudCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7TUFYX0RBU0hfQVJSQVkgLSB0aGlzLnBlcmNlbnRhZ2UgKiBNQVhfREFTSF9BUlJBWX0lYDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmNvbG9yID0gS2JxQ29tcG9uZW50Q29sb3JzLlRoZW1lO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJrYnEtcHJvZ3Jlc3Mtc3Bpbm5lcl9faW5uZXJcIj5cbiAgICA8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIj5cbiAgICAgICAgPGNpcmNsZVxuICAgICAgICAgICAgY3g9XCI1MCVcIlxuICAgICAgICAgICAgY3k9XCI1MCVcIlxuICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICBjbGFzcz1cImticS1wcm9ncmVzcy1zcGlubmVyX19jaXJjbGVcIlxuICAgICAgICAgICAgW2F0dHIucl09XCJzdmdDaXJjbGVSYWRpdXNcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnc3Ryb2tlLWRhc2hvZmZzZXQnOiBtb2RlID09PSAnZGV0ZXJtaW5hdGUnID8gZGFzaE9mZnNldFBlcmNlbnQgOiBudWxsIH1cIlxuICAgICAgICAvPlxuICAgIDwvc3ZnPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJrYnEtcHJvZ3Jlc3Mtc3Bpbm5lcl9fY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtcHJvZ3Jlc3Mtc3Bpbm5lci10ZXh0XVwiIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1wcm9ncmVzcy1zcGlubmVyLWNhcHRpb25dXCIgLz5cbjwvZGl2PlxuIl19